引言
数据链路层负责的工作:两个相邻节点之间数据的传输。
传输层:管理两个节点之间的数据传递,即只考虑起点和终点,不考虑中间过程。
网络层:地址管理和路由选择,即规划好路径。
数据链路层:互联设备之间传送和识别数据帧,交换机的工作就在数据链路层。即负责两个相邻节点之间数据的传输。
举个例子:如果说小明从上海出发去安徽合肥。
传输层:
起始位置:上海
目标位置:合肥
网络层:
可选路线1:上海 -> 无锡 -> 南京 -> 安徽
可选路线2:上海 -> 泰州-> 扬州-> 安徽
…
数据链路层:
可选路线1:从上海到无锡,可以坐大巴,从无锡到南京,可以坐高铁…
可选路线2:…
…
可以看到数据链路层是更加的详细,它只负责对两个相邻的节点进行数据传输。
以太网帧格式
数据链路层的核心协议:以太网 ( 涉及到数据链路层 + 物理层协议 )
MAC 地址
MAC:Media Access Control Address ( 媒体存取控制位址 )
MAC 地址也叫物理地址、硬件地址。
网络层负责 IP地址,而数据链路层负责 MAC位址。
MAC 地址共 6个字节,显而易见,它的表示范围要比 IPv4 的地址要大得多。
IP地址 是动态分配,即连上设备的网络才会被分配地址;而 MAC 地址由网络设备制造商生产时写在硬件内部,所以 MAC 地址是写死的,即当网卡出厂的时候,就被默认为是唯一的了。
因为 MAC地址 是 6个字节,48位的,通常表示为 12个 十六进制数,每 2个 十六进制数之间用冒号隔开,如 00:01:20:0A:5C:6D 就是一个 MAC地址。
MAC 地址的数据传输
在下图中,我们看到 MAC 地址只负责两个节点之间的传输,这一点与 IP 事先决定好的起点终点有很大不同。
拓展
另外,在不同的 TCP / IP 层级上,描述一个数据使用的术语,其实是不一样的。
传输层:segement ( 数据段 )
例如:同步报文段(SYN),确认报文段(ACK),结束报文段(FIN),复位报文段(RST)
网络层:packet ( 数据包 )
数据链路层:frame ( 数据帧 )