TCP/IP网络协议——链路层


一、链路层协议作用

链路层协议紧紧贴近物理层,有效数据包含IP协议头。

链路层主要目的:

  1. 为IP模块发送和接收IP数据;
  2. 为ARP模块发送ARP请求和接收ARP应答;
  3. 为RARP发送RARP请求和接收RARP应答;

链路层协议由网络所使用的硬件决定,包括:

  • 以太网;
  • 令牌环网;
  • FDDI(光纤分布式数据接口);
  • RS-232串行线路;
    IEEE 802.2/802.3和以太网的封装格式

以太网IP数据报的封装是在RFC894中定义的,主机需求RFC要求每台Internet主机都与一个10Mb/s的以太网电缆相连接。

简单说,传输层协议就是封装在数据(各层协议)最外层的协议。

下面介绍两种传输层协议SLIPPPP协议。

二、SLIP协议和PPP协议

1.SLIP协议

SLIP全称Serial Line IP。是一种在串行线路上对IP数据报进行封装的简单形式。SLIP适用于家用PCRS-232串口和调制解调器接入的Internet,是一种网传串口的协议封装。

SLIP协议规则:

  1. IP数据报以一个“END”(0xC0)的特殊字符结束。同时,为防止数据报到来之前的线路噪声被当成数据报内容,大多数实现在数据报的开始处也传一个“END”;
  2. 如果IP报文中出现“END”字符,就连续传输两个字节“0xdb”和“0xdd”来取代。“0xdb”被称作SLIP协议的“ESC”字符;
  3. 如果IP报文出现“0xdb”字符,就连续传输两个字节“0xdb”和“0xdd”来取代它;

SLIP报文封装
SLIP协议缺陷:

扫描二维码关注公众号,回复: 13135407 查看本文章
  1. 每一端必须知道对方的IP地址,没有办法吧本端IP地址通知给另一端;
  2. 数据帧中没有类型字段,如果一条串行线路用于SLIP,则不能同时用于其他协议;
  3. SLIP没有在数据帧上加检验和。如果SLIP传输的报文被线路噪声影响发生错误,只能通过上层协议发现;

2. PPP协议

PPP,点对点协议修改了SLIP协议中的缺陷:

  1. 在串行链路上封装IP数据报的方法:PPP 既支持数据位8位和无奇偶校验的异步模式(串口),还支持面向比特的同步链接;
  2. 建立、配置及测试数据链路的链路控制协议;
  3. 针对不同网络层协议的网络控制协议体系。

PPP数据帧格式

  • 每一帧以“0x7e”开始和结束,接着是地址字节“0xff”,然后是一个值“0x03”控制字节;
  • 协议字段,类似于以太网中的类型字段功能,当值为“0x0021”时,表示为一个IP数据报;当值为“0xc021”时,表示信息字段是链路控制数据;值为0x8021时,表示信息字段是网络控制数据;
  • CRC字段(或FCS,帧检验序列)是一个循环冗余校验码,以检验数据帧中的错误;
  • 当信息字段中,出现标识字符值为“0x7e”,则PPP需要对其进行转义;

3. 小结

PPP协议比SLIP协议具有优势:

  1. PPP支持在单根线路上运行多种协议,不只是IP协议;
  2. 每一帧有循环冗余校验;
  3. 通信双方可以进行IP地址的动态协商;
  4. 对TCP和IP报文首部进行压缩;
  5. 链路控制协议可以对多个数据链路选项进行设置

这些优点的代价是每一帧首部增加了3字节,当建立链路时要发送几帧协商数据。

三、最大传输单元MTU

几种常见的MTU
点到点的链路层(SLIP和PPP)的MTU并非指的是网络媒体的物理特性。相反,是一个逻辑限制,目的是为交互使用提供足够块的响应时间。

四、路径MTU

两台通信主机路径中的最小MTU值,被称为路径MTU。


猜你喜欢

转载自blog.csdn.net/zhouxiangjun11211/article/details/109360523
今日推荐