zoukankan      html  css  js  c++  java
  • 链路层

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

      数据链路层负责将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在两个方向上不一定是一致的。

  • 相关阅读:
    android_SurfaceView 画图
    android_activity_研究(二)
    android_sdcard读写(一)
    双缓冲的小程序
    C++运算符重载小程序
    再练
    菜鸟的第一个博客(用java写的个小文本框)
    LUCENE第一个小程序(有错)
    蜗牛在奔跑
    指定目录下的java文件存储到一个Txt文本文件中
  • 原文地址:https://www.cnblogs.com/tianzeng/p/12368878.html
Copyright © 2011-2022 走看看