TCP/IP详解 卷1:协议 第2章 链路层

链路层的三个主要作用
  1. 为IP模块发送和接收IP数据报
  2. 为ARP模块发送ARP请求和接收ARP应答
  3. 为RARP发送RARP请求和接收RARP应答
SLIP(Serial Line IP)
  • 一种在串行线路上对IP数据报进行封装的简单形式,以END(0xc0)的特殊字符结束,同时为了防止数据报到来之前的线路噪声被当成数据报内容,大多数实现在数据报的开始处也传一个END字符,当出现线路噪声,那么END字符将结束这份错误的报文,这样当前的报文得以正确地传输,而前一个错误报文交给上层处理,会发现内容毫无意义而被丢弃。
CSLIP(压缩的SLIP) 通常对于有堆多小的TCP分组,为了1字节的数据,需要20个字节的IP首部和20个字节的TCP首部,CSLIP可将40个字节压缩到3/5个字节。
PPP 点对点协议(补充修改了SLIP协议中的缺陷)优势总结如下:
  1. PPP支持在单根串行线路上运行多种协议,不只是IP协议
  2. 每一帧都有循环冗余娇艳
  3. 通信双方可以进行IP的动态协商(使用IP网络控制协议)
  4. 与CSLIP类似对TCP/IP报文首部进行压缩
  5. 链路控制协议可以对多个数据链路选项进行设置
    • 为了以上优势付出的代价是每一帧首部增加3个字节,当建立链路时需要发送几帧协商数据,以及更为复杂的实现
      环回接口
    • 允许运行在同一台主机上的客户程序和服务器程序通过TCP/IP进行通信;A类网络号127就是为环回接口预留的。127.0.0.1/localhost 就是为换回接口预留的,一个传给环回接口的IP数据报不能在任何网络上出现。
      最大传输单元MTU
    • 以太网和802.3对数据帧的长度都有一个限制,其最大值分别是1500和1492字节,链路层的这个特性称作MTC最大传输单元,不同类型的网络大多数都有一个上限。
      路径MTU
    • 当两台主机相互通信时,该网络中的MTU非常重要,重要的是两台通信主机路径中的最小MTU,被称为路径MTU。两台机器A->B的最小MTU与B->A的最小MTU有可能不同,因为有可能路由是不同的。
      串行线路吞吐量计算
    • 思考: 所谓的压缩算法比如SLIP和PPP的封装格式,的确减少了在线路上传输的字节数,但是纠错机制又会增加传输的时间,如何进行合理决策的入口呢?
      总结
    • SLIP和PPP用于低俗的链路,提供了压缩报文的方法,使得交互性能得到提高
    • 环回接口,127.0.0.1 通过发送IP数据报给主机,当环回数据回到上层的协议栈中,它以及经过传输层和IP完成的处理过程。
    • MTU,路径MTU,最小路径MTU