TCP/IP协议族(2)

链路层

目的:
1. 接收和发送IP数据报
2. 接收ARP应答和发送ARP请求
3. 接收RARP应答和发送RARP请求

SLIP (Serial Line IP) 串行线路IP

它是一种在串行线路上对IP数据报进行封装的简单形式。
SLIP协议定义的帧格式:

1.**IP数据报以一个称作**END(0xc0)的特殊字符结束。同时,为了防止数据报到来之前的线路噪声被当成数据报内容,大多数在数据报的开始处也传一个END字符(如果有线路噪声,那么END字符将结束这份错误的报文。这样当前的报文得以正确地传输,而前一个错误报文交给上层后,会发现其内容毫无意义而被丢弃)。
2. 如果IP报文中某个字符为END,那么就要连续传输两个字节0xdb和0xdc来取代它。0xdb这个特殊字符被称作SLIP的ESC字符,但是它的值与ASCII码的ESC字符(0x1b)不同。

3.如果IP报文中某个字符为SLIP的ESC字符,那么就要连续传输两个字节 0xdb和0xdd来取代它。



缺陷:

1) 每一端必须知道对方的I P地址。没有办法把本端的IP地址通知给另一端。

2) 数据帧中没有类型字段(类似于以太网中的类型字段)。如果一条串行线路用于SLIP,
那么它不能同时使用其他协议。

3)SLIP没有在数据帧中加上检验和(类似于以太网中的CRC字段)。如果SLIP传输的报文被线路噪声影响而发生错误,只能通过上层协议来发现(另一种方法是,新型的调制解调器可以检测并纠正错误报文)。

PPP:点对点协议

主要包括:

1) 在串行链路上封装IP数据报的方法。PPP既支持数据为8位和无奇偶检验的异步模式
(如大多数计算机上都普遍存在的串行接口) ,还支持面向比特的同步链接。

2) 建立、配置及测试数据链路的链路控制协议(LCP:Link Control Protocol) 。它允许通信双方进行协商,以确定不同的选项。

3) 针对不同网络层协议的网络控制协议(NCP:Network Control Protocol)体系。当前RFC定义的网络层有IP、OSI网络层、DECnet以及AppleTalk。

总的来说,PPP比SLIP具有下面这些优点:(1) PPP支持在单根串行线路上运行多种协议,
不只是IP协议;(2) 每一帧都有循环冗余检验; (3) 通信双方可以进行IP地址的动态协商(使用IP网络控制协议);(4) 与CSLIP类似,对TCP和IP报文首部进行压缩; (5) 链路控制协议可以对多个数据链路选项进行设置。为这些优点付出的代价是在每一帧的首部增加 3个字节,当建立链路时要发送几帧协商数据,以及更为复杂的实现。

最大传输单元MTU

以太网和802.3对数据帧的长度都有一个限制,其最大值分别是1500和1492字节。链路层的这个特性称作MTU,最大传输单元。不同类型的网络大多数都有一个上限。

路径MTU

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

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

你可能感兴趣的:(TCP/IP协议族(2))