数据链路层也有很多协议,其中一个比较常见常用的就是"以太网协议"。
认识以太网
"以太网" 不是一种具体的网络,而是一种技术标准;既包含了数据链路层的内容,也包含了 一些物理层的内容。例如:规定了网络拓扑结构,访问控制方式,传输速率等; 例如以太网中的网线必须使用双绞线;传输速率有10M,100M,1000M等。 以太网是当前应用最广泛的局域网技术;和以太网并列的还有令牌环网,无线LAN等;
通过网线/光纤来通信,使用的就是以太网协议。
以太网数据帧
以太网数据帧格式: 帧头 + 载荷(IP数据报) + 帧尾
目的地址和源地址:这里的地址不再是指的IP地址,而是网卡上的硬件地址(也叫MAC地址),长度是48位,是在网卡出厂时固化的。MAC地址由于有6个字节,表示的范围(2^48)比IP地址大了很多,IP地址虽然早就不够用了,但MAC地址还是要够用的,目前来说,每个设备都有唯一的MAC地址。MAC也可以用来作为一台网络设备的身份标识。
MAC地址通常是用十六进制表示,两个十六进制数字就是一个字节,字节与字节之间通常使用"-"或者":"来分割。
IP地址和MAC地址各自的用途是什么?
IP协议立足于全局,完成整个通信过程中的路径规划工作;而以太网则是关注于局部,相邻两个设备之间的通信过程。
类型:描述荷载数据是一个什么样的数据。类型字段有三种值,对应IP、ARP、RARP;
帧末尾是CRC校验码。
传输层关注的是源地址到目的地址; 网络层关注的是源地址到目的地址过程中的路径是什么样的;而数据链路层关注的数据传输时在"相邻节点"之间是如何转发的。
比如:
MTU:数据链路层的数据报能携带的最大载荷长度。
在以太网帧中,IP数据报的最大长度不能超过1500字节。IP数据报的分包分组大概率是因为MTU引起的,而不是触发64kb上限引起的。不过不同数据链路层的协议的MTU是不一样的,也会和物理层介质有关。
ARP协议和RARP协议不是传输"业务数据",而是辅助转发的协议。
像交换机这样的设备,收到以太网数据帧的时候就需要进行转发.这个转发过程就需要能够根据MAC地址判定出数据需要走哪个网口(这里的网口是物理以上的插网线的网口)。具体如何转发呢?
交换机内部也有一个数据结构"转发表",转发表是一个简单的像hash这样的映射,这个表不一定是软件实现的,也可能是硬件实现的。转发表的构造,是通过ARP协议来生成的,有兴趣的小伙伴可以自行了解,这里就不过多讲述了。
好啦,这次的内容就简单介绍到这里,有什么问题小伙伴们可以积极留言讨论,我们一起共勉~