数据链路层相关知识总结

1. 以太⽹帧

1.1 格式

  • 源地址和⽬的地址是指⽹卡的硬件地址(也叫MAC地址),⻓度是48位,是在⽹卡出⼚时固化的;
  • 帧协议类型字段有三种值,分别对应IP、ARP、RARP;
  • 帧末尾是CRC校验码。

1.2 认识MAC地址

MAC地址,即 Media Access Control Address,⽤于标识⽹络设备的硬件物理地址。

  • 主机具有⼀个或多个⽹卡,路由器具有两个或两个以上⽹卡;其中每个⽹卡都有唯⼀的⼀个MAC地址。(可理解为每个人的身份证号,无论去哪里,身份证号不变)
  • ⽹络通信,即⽹络数据传输,本质上是⽹络硬件设备,将数据发送到⽹卡上,或从⽹卡接收数据。
  • 硬件层⾯,只能基于MAC地址识别⽹络设备的⽹络物理地址。(可理解为坐高铁得刷身份证不能报名字)
  • MAC地址⽤来识别数据链路层中相连的节点
  • ⻓度为48位,即6个字节。⼀般⽤16进制数字加上冒号的形式来表示(例如:08:00:27:03:fb:19
  • 在⽹卡出⼚时就确定了,不能修改。虚拟机中的MAC地址不是真实的MAC地址,可能会冲突(可理解为在游戏世界里创建的角色都有一个专属ID,这个ID只在游戏世界里有用);也有些⽹卡⽀持⽤户配置MAC地址。

特殊的MAC地址

⼴播数据报:发送⼀个⼴播数据报,表示对同⽹段所有主机发送数据报。⼴播数据报的MAC地址

为:FF:FF:FF:FF:FF:FF

2. 认识MTU

最⼤传输单元(Maximum Transmission Unit, MTU )

MTU相当于发快递时对包裹尺⼨的限制。这个限制是不同的数据链路对应的物理层,产⽣的限

制。

  • 以太⽹帧中的数据⻓度规定最⼩46字节,最⼤1500字节,ARP数据包的⻓度不够46字节,要在后⾯补填充位(可以理解为发货的快递箱内不能太空,得塞泡沫避免中途损坏);
  • 最⼤值1500称为以太⽹的最⼤传输单元(MTU),不同的⽹络类型有不同的MTU;
  • 如果⼀个数据包从以太⽹路由到拨号链路上,数据包⻓度⼤于拨号链路的MTU了,则需要对数据包进⾏分⽚(fragmentation)(可理解为一个快递箱放不下得分成两个快递箱发货);
  • 不同的数据链路层标准的MTU是不同的(可理解为不同的快递公司快递箱的尺寸标准不同);

MTU对IP协议的影响

由于数据链路层MTU的限制,对于较⼤的IP数据包要进⾏分片。

  • 将较⼤的IP包分成多个⼩包,并给每个⼩包打上标签(可理解为一个快递箱放不下得分成两个快递箱,并且是两个快递箱分别发货,有两张快递单);
  • 每个⼩包IP协议头的 16位标识(id) 都是相同的(可理解为拆成两个快递分别发货,但两份快递单中的地址,收件人和联系电话都一致);
  • 每个⼩包的IP协议头的3位标志字段中,第2位置为0,表示允许分⽚,第3位来表示结束标记(当前是否是最后⼀个⼩包,是的话置为1,否则置为0);
  • 到达对端时再将这些⼩包,会按顺序重组,拼装到⼀起返回给传输层(可理解为发过来的是一个未组装好的家具,拿到手后得先将其组装好后才能使用);
  • ⼀旦这些⼩包中任意⼀个⼩包丢失,接收端的重组就会失败。但是IP层不会负责重新传输数据(可理解拿快递的时候弄丢任何一个包裹,收货人无法正常组装家具,但快递员不会重新送货);

3. 总结:

回顾全文,我们其实只讲了两件简单的事:地址 和包装。

  1. 关于地址 :MAC地址就像人的身份证号,与生俱来、全球唯一。在网络世界里,硬件设备只认这个号码。

  2. 关于包装 :MTU就像快递公司的箱子尺寸限制。以太网的箱子最大装1500字节,太小了还得塞泡沫(填充位)。如果数据包太大,路由器就得拆箱(IP分片),拆的时候要贴上相同的订单号(16位标识),还要标注"未完待续"还是"最后一件"(标志位)。

相关推荐
花间相见6 小时前
【计算基础|网络14】网络层:IP、ICMP 与 ping
网络·网络协议·tcp/ip
半杯咖啡半行码8 小时前
Linux 驱动开发入门:内核模块编程基础
linux·服务器·网络
智能直播8 小时前
RK3528 V4L2 框架 UVC 接口自动获取 H.264 / MJPEG / YUYV 格式:从内核采集到硬解分发
java·网络·实时音视频·视频编解码·h.264
睿智の男孩8 小时前
MIG IP核对DDR3的输出时序分析记录
网络·网络协议·tcp/ip
艾芯微科技8 小时前
高充放电流锂电充放 SoC:ETA9885E10,便携储能、小移动电源 BOM 选型笔记
网络·单片机·嵌入式硬件·集成测试·51单片机
2401_868534789 小时前
数据交换方式
服务器·网络
艾芯微科技9 小时前
钰泰 ETA6973PQ3Y|QFN3×3 2A 同步降压 Buck,I2C 可配置多档输出,动态调压 PMIC
网络·单片机·嵌入式硬件·fpga开发·集成测试·51单片机
默|笙9 小时前
【Linux网络】_udp_socket(认识)
linux·网络·udp
2401_8685347810 小时前
以太网物理层标准
服务器·网络