[线程与网络] 网络编程与通信原理(五): 深入立即网络层IP协议与数据链路层以太网协议-2. 数据链路层以太网协议

在以太网中,既包含数据链层的内容,也包含一些物理层的内容.以太网不是一种具体的网络,而是一种技术标准.

2.1 以太网帧格式

在这里插入图片描述

  • 目的地址与源地址: 这里的地址类型是mac地址,或者说是物理地址,每个地址是6个字节,48个比特位.

什么是mac地址.
在前面的IP地址中,IP地址进行选择时候,IP层决定下一个路由器要找谁,到了数据链路层,就要决定具体要怎么找到下一个路由器.即数据报要从路由器中的哪个接口发送出去.
路由器在数据链路层也维护了一张表,这个表中就记录的是每个网口以及网口对端设备mac地址的关联关系.

  • 类型: 描述后面载荷的数据类型.
  • CRC: 是以太网帧的帧尾,其中也使用CRC校验和来验证数据报的正确性.
  • 0800类型数据载荷:这个数据载荷就是真真实实携带数据的载荷,最大占1500个字节.
  • 0806类型与8035类型:这两种数据类型都不会携带任何业务上的载荷,只是针对转发数据过程中起到辅助的作用.
  • ARP请求/应答:ARP协议给每个路由器或者交换机建立转发表(注意不是路由表),这张表是由硬件层面来维护的,直接通过转发芯片来记录.这张表中记录的是IP地址与mac地址的映射关系.数据转发过程中的每一跳,先查路由表,知道下一跳的IP地址,之后再查转发表,知道IP地址对应的mac地址,之后再转发.

2.2 IP地址与mac地址对比

  • IP地址描述的是路途总体的起点与终点.
  • mac地址描述的是路途中每一个区间的起点和终点.

举例说明:从太原到哈尔滨
从太原到哈尔滨的路线假设是: 太原—>北京—>沈阳—>哈尔滨
假如我们取出北京—>沈阳这一段:

  • 源IP: 太原
  • 目的IP:哈尔滨
  • 源mac:北京
  • 目的mac:沈阳

它们之间的传输作用其实就对应的是我们之前在网络初步的时候提到的TCP/IP五层模型中网络层与数据链层的传输作用.当时我们使用送快递的例子来说明了.这里我们再重复一次.
https://blog.****.net/2301_80050796/article/details/138972120?spm=1001.2014.3001.5501

  • 应用层: 和具体的应用程序相关,传输的数据干啥用,如何使用,有何意义.
  • 传输层: 关注的是通信双方的"起点"和"终点",终端到终端的传输.
  • 网络层: 关注的是通信中通信路径的规划,规划出的路径确定了数据要经过哪些"点到点的传输".
  • 数据链层: 关注的是通信过程中,相邻两个点之间的通信.
  • 物理层: 物理层就是网线和网口等硬件方面的东西.

举例说明: 网上购物
某人在淘宝上买了一箱面包.商家接到订单.

  • 应用层: 他买来这箱面包是用来吃的,绝对不是其他的什么用途~~.就像我们通过网络拿到数据之后,来干嘛用.
  • 传输层: 商家从仓库出库商品之后,寄到快递驿站,驿站揽收之后,快递单就会打印收货的地址.这时候就是只关注寄件地址和收件地址.也就是通信双方的"起点"的"终点".
  • 网络层: 揽收之后,商家就要对运输的路径进行规划,比如要从深圳市寄到北京市.可以是在深圳发件之后,在保定中转,之后到达北京,也可以在天津中转,最后到达北京.
  • 数据链层: 运输途中,两个结点之间该用什么样的交通方式,比如从深圳到北京比较远,可以采用铁路运输,从天津到北京比较近,可以采用大卡车运输.
    在这里插入图片描述

2.3 MTU

MTU相当于发快递时对包裹尺寸的限制.这个限制是不同的数据链路对应的物理层,产生的限制.
• 以太网帧中的数据长度规定最小46字节,最大1500字节,ARP数据包的长度不够46字节,要在后面补填
充位;
• 最大值1500称为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU;
• 如果⼀个数据包从以太网路由到拨号链路上,数据包长度大于拨号链路的MTU了,则需要对数据包进
行分片(fragmentation);
• 不同的数据链路层标准的MTU是不同的;

上一篇:禁止某个网段访问网络


下一篇:保研面试408复习 6——计组存储器、数据结构、离散数学、特征值