TCP/IP详解(二)链路层

TCP/IP协议族中链路层主要是
1
)为IP模块发送和接收IP数据报
2)为ARP模块发送和接收ARP请求和回复
3
)为RARP模块发送和接收RARP请求和回复。


以太网和 IEEE802 封装

以太网(Ethernet)这个术语通常指1982年由DECIntelXerox三家公司发布的一个标准,今天,它已经成为TCP/IP局域网组网的一个主要形式。它使用的了叫做CSMA/CD的技术,即带冲突检测的载波侦听多路访问。后来IEEE802委员会制定了一个稍有不同的标准,802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络。802.2定义了它们三者共同的逻辑链路控制logical link controlLLC)。

RFC1042,定义了IEEE 802网络的IP数据报封装格式;RFC894,定义了以太网的IP数据报的封装格式。封装格式分别如图所示:

TCP/IP详解(二)链路层_第1张图片

它们的帧格式都使用48位的硬件地址。

802网络的长度字段指后续数据的长度,但不包括最后的CRC字段。而以太网封装格式的这个位置是一个类型字段,指定后续数据的类型。802帧将类型放到了它的SNAP(子网访问协议)字段中。

以太网帧中,类型字段后面紧跟着数据;而802帧的长度字段后面是3个字节的802.2 LLC5个字节的802.2 SNAP,然后才是数据。

802帧数据的最小长度是38字节;以太网帧是46字节。数据不足长度,就需要填充字节。


SLIP 串行线路IP

串行线路IP是串行线路上IP数据报封装的一种简单形式。封装规则如下:

1)  END字符(0xc0)结束,为防止线路噪声的干扰,往往在IP数据报前面也加上END

2)  如果IP数据报的某字节是0xc0END字符),则用0xdb0xdc两个字节表示,其中0xdbSLIP的转义符;

3)  如果IP数据报的某字节是oxdbSLIP转义符),则用0xdb0xdc两个字节表示。

SLIP的缺陷:

1)  需要事先知道对方的IP,无法将自己的IP通知给对方;

2)  没有类型字段,如果串行线路用作了SLIP,则它不能被其他的协议同时使用;

3)  无检验和。


压缩的SLIP

通过减小TCP和IP header的长度,来改进交互响应的时间。


PPP 点对点协议

PPP改正了SLIP的所有缺陷,由三部分组成:

1)  在串行线路上封装IP数据报的方法;

2)  建立、配置和测试数据链路连接的链路控制协议;

3)  用于指定不同网络层协议的网络控制协议(NCPs)族。

PPP帧格式如下:

TCP/IP详解(二)链路层_第2张图片

字节0x7e用字节序列0x7d0x5e传输;0x7d用两个字节0x7d0x5d传输;默认的,小于0x20的字节也往往以两个字节转义的形式传输,如0x01传输时是0x7d0x21的形式。

PPP相对于SLIP有以下优点:

1)  在单个串行线路上支持多个协议;

2)  加上了循环冗余检验

3)  可以进行IP地址的动态协商

4)  类似于CSLIPTCP IP  header的压缩

5)  通过链路控制协议可以对许多链路控制选项进行协商


回环接口Loopback interface

localhost 127.0.0.1


最大传输单元MTU

无论是以太网封装还是802封装,帧的长度都有一个上限,数据链路层的这一特征称为MTU。如果IP数据报的长度超过了MTU,则还要执行分片(fragmentation操作。netstat来检查MTU。

路径MTU

traceroute程序可以确定到某个目标的路径MTU

 

你可能感兴趣的:(TCP/IP,网络,header,interface,tcp,测试)