网络层的详解

网络层的详解,第1张

在TCP/IP协议族中,链路层主要有三个目的:

(1)为IP模块发送和接受IP数据

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

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

以太网是当今TCP/IP采用的主要的局域网技术。它采用一种称作CSMA/CD的额媒体接入方法,其意思是带冲突检测的载波侦听多路接入。它的速率为10MB/S,地址为48bit。

主机需求RFC要求每个Internet主机都与10MB/s的以太网电缆相连接:

1)必须能发送和接受采用RFC894(以太网)封装格式的分组

2)应该能接受与RFC894混合的RFC1024(IEEE082)封装格式的分组

3)也许能够发送采用RFC1024格式封装的分组

最常使用的封装格式是RFC 894定义的格式。下图显示了两种形式的封装格式。图中每个方框下面的数字是它们的字节长度。

两种帧格式都采用48bit(6字节)的目的地址和源地址。ARP和RARP协议对32位bit的IP地址和48bit的硬件地址进行映射。

接下来两个字节在两种帧格式中互不相同。RFC1024定义的长度字段是指它后续数据的字节长度,但不包括CRC校验码。RFC894定义了后续数据的类型。RFC1024的有效长度和RFC894有效类型值都不相同,所以,可以对两种帧格式进行区分。

RFC894类型后面就是数据;而RFC1024后有哦3个字节的8022LLC和5个字节的8022SNAP。目的服务访问点和源服务访问点的值都设为0Xaa。Ctrl字段的值设为3。随后的3个字节org code都置为0。再接下来两个字节类型和以太网格式一样。

CRC字段用于帧内后续字节差错的循环冗余码检验。

RFC893描述了另一种用于以太网的封装格式,称作尾部封装。

在以太网数据帧中,开始的那部分是边长的字段;将其移动到尾部(CRC之前),这样将数据复制到内核时,就可以把数据帧的数据部分映射到一个硬件页面,节省内存到内存的赋值过程

SLIP全称是Serial Line IP。它是一种在串行线路行对IP数据报进行封装的简单形式。SLIP适用于家庭中每台计算机几乎都有的RS-232串行端口和高速调制解调器接入Internet。

下面的规则描述了SLIP协议定义的帧格式:

1)IP数据报以一个END(0xc0)的特殊字符结束。同时,为了防止数据报到来之前的线路噪声也被当成数据报内容,大多数实现在数据报的开始处也传一个END字符。

2)如果IP数据报的某个数据是END,那么就要联系传输两个字节0xdb和0Xdc来取代它。0xdb称为SLIP的ESC字符,但是它的值和ASCII码的ESC字符0x1b不同。

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

SLIP的图示:

SLIP的缺陷:

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

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

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

SLIP线路行有许多小的TCP分组进行交换。为了传送1个字节的数据需要20个字节的IP首部和20个字节的TCP首部,总数超过40个字节。

于是有了CSLIP的新协议,即压缩SLIP。一般可以把上面40个字节压缩到3-5个字节。

PPP点对点协议,包含了一下三个部分:

1)在串行链路上封装IP数据报的方法。PPP既支持数据为8位的无奇偶校验的异步模式,还支持面向比特的同步链接。

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

3)针对不同网络层协议的网络控制协议体系。

PPP数据帧都是以标志字符0x7e开始和结束。紧接着是一个地址字节,值始终为0x03的字节字符。

接下来是协议字段,类似于以太网中类型字段的功能。0X0021代表IP数据报;0XV021代表链路控制数据;0x8021代表信息是网络控制数据。

CRC字段,是一个循环冗余校验码,以检测数据帧中的错误。

总的来说,PPP比SLIP具有以下优点:

1PPP支持单根串行线路上运行多种协议;

2每一帧都有循环冗余校验;

3通信双方可以进行IP地质的动态协商(使用IP网络控制协议);

4与CSLIP类似,对TCP和IP报文首部进行压缩;

5链路控制协议可以对多个数据链路选项进行设置。

大多数产品都支持环回接口,以允许运行在同一主机上的客户程序和服务器程序通过TCP/IP进行通信。A类网络号127是为环回接口预留的。根据惯例,大多数系统把IP地址127001分配给这个接口,并命名为localhost。

图中的关键点是:

1)传给环回地址(一般是127001)的任何数据均作为IP输入。

2)创个广播地址和多播地址的数据报复制一份传给环回接口,然后送到以太网上。这是因为广播传送和多播传送的定义包含主机本身。

3)任何传给主机地址的数据均送到环回接口。

链路层的数据帧的最大传输字节称作MTU,最大传输单元。不同类型的网络大多数都有一个上限。

如果IP层有一个数据报要传,而且数据的长度比链路层的MTU还大,那么IP层就需要进行分片,把数据报分成若干份,这样每一片都小于MTU。

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

以上就是关于网络层的详解全部的内容,包括:网络层的详解、匿名类与内部类、TCP-IP详解卷1:协议读书笔记_2等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9586315.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存