TCP/IP 第二章 链路层

链路层主要有三个目的

(1)为IP模块发送和接收IP数据报。

(2)为ARP模块发送ARP请求和接收ARP应答。

(3)为RARP模块发送RARP请求和接收RARP应答。

 

 

48bit的目的地址和源地址(硬件地址)

 

 

 

(802的)长度字段,指定的是红框中的长度。2字节的范围:0000 ~ 05dc

 

 

(以太网的)类型字段,定义了数据的类型。

 

因为802的有效长度值和以太网的有效类型值无一相同,因此就能够区分两种帧。

 

在802帧格式中,长度字段后面紧跟着3字节的802.2 LLC5字节的802.2 SNAP

 

DSAP:目的服务访问点,值为0xaa

SSAP:源服务访问点,值为0xaa

cntl:控制字段,值为3

org code:值为0

类型:意义跟以太网的类型字段一样。

CRC:循环冗余码检验(检验和)(又称FCS或帧检验序列)

 

由于802帧以太网帧对于数据长度都有最低要求,因此,必须在不满足要求时,通过填充的手段来满足要求。

802帧,最低38字节:

 

因为ARP请求和应答的长度只有28字节,因此,必须填充10个字节以达到最低要求38字节。

 

 

以太网帧也是如此,也要填充18字节,以达到最低要求46字节。

 

首先,是在原IP数据报的开头和结尾,添加END字符,值为c0

如果原IP数据报中有c0,为了和开头结尾的(c0)区分开,需要用db和dc来替代原IP数据报中的c0

db被称为SLIP的ESC字符,因此也是一个特殊字符,专属于SLIP的

所以,如果原IP数据报中有db,也得进行替换,这里是通过db和dd来替换的

 

在上图中,原IP数据报中,就包含了2个特殊字符,c0和db,因此要对这俩特殊字符进行转义

最终,转义后的封装结构,比原IP数据报多出了4个字节

 

SLIP的缺陷:

1、通信两端必须提前知道对方的IP地址,无法在后续动态知道彼此的IP地址。

2、由于在SLIP数据帧的结构中,没有类型字段一说,因此,如果一条串行线路被用于SLIP了,就无法再使用其他协议了。

3、SLIP没有在数据帧中加上校验和

 

串行线路:同一时间,只准一个方向传递数据。也就是单向的。

你说一句,你就独占这个线路;然后轮到我回话,此时我独占这个线路。

这叫做交互式。

串行线路的速率:19200 (b/s)

为了传送1个字节的数据,需要20个字节的IP首部20个字节的TCP首部,这有点大材小用了,或者说,杀鸡用了牛刀

即,为了护送1个人,需要动用40位保镖。

CSLIP压缩SLIP协议,能将40位保镖压缩到3~5位保镖。(节省人力成本)

 

posted @ 2022-06-21 23:28  道霖  阅读(71)  评论(0编辑  收藏  举报