链路层

  有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节

  数据链路层负责将0、1序列划分为数据帧从一个节点传输到临近的另一个节点,这些节点是通过MAC来唯一标识的(MAC,物理地址,一个主机会有一个MAC地址)。

  1. 封装成帧: 把网络层数据报加头和尾,封装成帧,帧头中包括源MAC地址和目的MAC地址。

  2. 透明传输:零比特填充、转义字符。

  3. 可靠传输: 在出错率很低的链路上很少用,但是无线链路WLAN会保证可靠传输。

  4. 差错检测(CRC):接收者检测错误,如果发现差错,丢弃该帧。

       在TCP/IP协议族中,链路层主要有三个目的:
  1. 为IP模块发送和接收IP数据报。
  2. 为ARP模块发送ARP请求和接收ARP应答。
  3. 为RARP发送RARP请求和接收RARP应答。 

回环接口

  大多数的产品都支持环回接口( Loopback Interface),以允许运行在同一台主机上的客户程序和服务器程序通过tcp/ip进行通信。A类网络号127就是为环回接口预留的。根据惯例,多数系统把I P地址127.0.0.1分配给这个接口,并命名为localhost。一个传给环回接口的I P数据报不能在任何网络上出现。

  我们想象,一旦传输层检测到目的端地址是环回地址时,应该可以省略部分传输层和所有网络层的逻辑操作。但是大多数的产品还是照样完成传输层和网络层的所有过程,只是当IP数据报离开网络层时把它返回给自己。

  1. 传给环回地址(一般是127.0.0.1)的任何数据均作为I P输入。
  2. 传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以太网上。这是为广播传送和多播传送的定义(第1 2章)包含主机本身。
  3. 任何传给该主机I P地址的数据均送到环回接口。


  看上去用传输层和I P层的方法来处理环回数据似乎效率不高,但它简化了设计,因为环回接口可以被看作是网络层下面的另一个链路层。网络层把一份数据报传送给环回接口,就像传给其他链路层一样,只不过环回接口把它返回到I P的输入队列中。

  另一个隐含的意思是送给主机本身I P地址的I P数据报一般不出现在相应的网络上。例如,在一个以太网上,分组一般不被传出去然后读回来。

最大传输单元MTU

  链路层的这个特性称作MTU,最大传输单元。如果IP层有一个数据报要传,而且数据的长度比链路层的MTU还大,那么IP层就需要进行分片,把数据报分成若干片,这样每一片都小于MTU。

路径MTU

  当在同一个网络上的两台主机互相进行通信时,该网络的MTU是非常重要的。但是如果两台主机之间的通信要通过多个网络,那么每个网络的链路层就可能有不同的MTU。重要的是两台主机所在网络的MTU的值,重要的是两台通信主机路径中的最小MTU。它被称作路径MTU。

  两台主机之间的路径MTU不一定是个常数。它取决于当时所选择的路由。而选路不一定是对称的(从A到B的路由可能与从B到A的路由不同),因此路径MTU在两个方向上不一定是一致的。

posted on 2020-02-26 20:35  tianzeng  阅读(267)  评论(0编辑  收藏  举报

导航