目录
在学习完ip协议后知道,网络层解决的问题是提供跨网络发送数据的能力,链路层解决的则是两台相连主机之间的通信问题。
以太网协议
认识以太网
"以太网" 不是一种具体的网络, 而是一种技术标准; 既包含了数据链路层的内容, 也包含了一些物理层的 内容.
例如: 规定了网络拓扑结构, 访问控制方式, 传输速率等; 例如以太网中的网线必须使用双绞线; 传输速率有10M, 100M, 1000M等;
以太网是当前应用最广泛的局域网技术, 和以太网并列的还有令牌环网, 无线LAN等。
虽然网络中各个局域网采用的通信技术可能并不相同,但是IP屏蔽了底层网络的差异,对于网络通信双方的IP层及其往上的协议来说,它们并不需要关心底层具体使用的是哪种局域网技术。
- 数据在发送之前会先进行数据封装,此时链路层会给数据封装上对应的局域网的报头。
- 如果数据要进行跨网络传输,那么就需要经过路由器转发。
- 当数据在路由器进行向上交付时,会将该数据对应的局域网报头去掉。
- 而当路由器该数据转发给下一跳之前,又会给该数据封装上下一跳网络所对应的局域网报头。
但以太网中所有的主机都是共享一个通信信道的,当局域网中的一台主机发送数据后,该局域网中所有的主机都是可以接受到该数据的(可以选择丢弃,当识别到数据不是发送给自己时,不会进行向上交付)。
由于以太网中所有主机共享一个通信信道,所以主机不能同时发送数据,否则数据之间会产生干扰。这里有碰撞避免算法解决这个问题。(碰撞避免算法就是主机等待一段时间后重新发送数据,因此以太网底层也有重传机制,只不过以太网的重传机制只是为了保证将数据从局域网中的一台主机发送到另一台主机。)
以太网帧格式
- 源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度是48位,是在网卡出厂时固化的。
- 帧协议类型字段有三种值,分别对应IP协议、ARP协议和RARP协议。
- 帧末尾是CRC校验码。
MAC帧如何决定将有效载荷交付给上层的哪一个协议?
由于MAC帧是定长的,当底层收到一个MAC帧后,直接提取出MAC帧当中固定长度的帧头和帧尾,此时剩下的就是有效载荷了。当局域网中的一个主机收到该MAC帧后,会提取它的目的MAC地址与自己的MAC地址进行比对。成功后就会将有效载荷交付给上层IP层进行进一步处理。而其它主机则会丢弃这个数据。
认识MAC地址
MAC地址用来识别数据链路层中相连的节点。
长度为48位,及6个字节,一般用16进制数字