《TCP/IP协议详解 卷1》--- 链路层

链路层主要有三个目的:
(1)为IP模块发送和接收IP数据报;
(2)为ARP模块发送ARP请求和接收ARP应答;
(3)为RARP发送RARP请求和接收RARP应答。

以太网链路层协议包含:串行接口链路层协议(SLIP、PPP),环回(loopback)驱动程序。

以太网和IEEE802封装
这里写图片描述
目的地址和源地址长度为48bit(6字节),为硬件地址。
接着,802标准中,2字节的长度指后续数据的字节长度,不包含CRC校验码。以太网中为2字节的类型字段。
802.3标准,数据部分最少为38字节,以太网为46字节。

SLIP:串行线路IP
SLIP的全称是Serial Line IP。它是一种在串行线路上对I P数据报进行封装的简单形式,在RFC 1055[Romkey 1988]中有详细描述。
SLIP协议定义的帧格式:
1) IP数据报以一个称作END(0xc0)的特殊字符结束。
2) 如果IP报文中某个字符为END,那么就要连续传输两个字节0xdb(SLIP的ESC字符)和0xdc来取代它。
3) 如果IP报文中某个字符为SLIP的ESC字符,那么就要连续传输两个字节 0xdb和0xdd来取代它。
这里写图片描述
SLIP协议缺陷:
1) 每一端必须知道对方的IP地址。没有办法把本端的IP地址通知给另一端。
2) 数据帧中没有类型字段(类似于以太网中的类型字段)。如果一条串行线路用于SLIP,那么它不能同时使用其他协议。
3 ) SLIP没有在数据帧中加上检验和(类似于以太网中的 CRC字段)。

压缩的SLIP
为传送一个字节的数据,需20个字节的IP首部和20个字节的TCP首部,超过40字节,CSLIP可将40个字节压缩到3或5个字节,在CSLIP的每一端维持多达16个TCP连接。

PPP:点对点协议
修改了SLIP的所有缺陷,包括三部分:
1) 在串行链路上封装IP数据报的方法。PPP既支持数据为8位和无奇偶检验的异步模式还支持面向比特的同步链接。
2) 建立、配置及测试数据链路的链路控制协议( LCP:Link Control Protocol)。它允许通信双方进行协商,以确定不同的选项。
3) 针对不同网络层协议的网络控制协议( NCP:Network Control Protocol)体系。
这里写图片描述
每一帧以0x7e开始和结束。紧接着是一个地址字节,值始终是0xff,然后是一个值为0x03的控制字节。接下来是协议字段。
相对于SLIP帧格式,增加了3个字节:1个字节留给协议字段,另2个为CRC。

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

最大传输单元MTU
以太网和802.3对数据帧的长度都有一个限制,其最大值分别是1500和1492字节。链路层的这个特性称作MTU,最大传输单元。
如果IP层有一个数据报要传,且数据的长度比链路层的MTU还大,那么IP层就需要进行分片(fragmengtation),把数据
报分成若干片,这样每一片都小于MTU。
这里写图片描述
路径MTU:两台通信主机路径中的最小MTU。

猜你喜欢

转载自blog.csdn.net/u012319493/article/details/80865713