浅谈链路层

链路层主要有三个目的:

(1)为I P模块发送和接收I P数据报;

(2)为A R P模块发送 A R P请求和接收 A R P应答;

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

T C P / I P支持多种不同的链路层协议,这取决于网络所使用的硬件,如以太网、令牌环网、 F D D I(光纤分布式数据接口)及 R S-2 3 2串行线路等。

以太网采用一种称作 C S M A / C D的媒体接入方法,其意思是带冲突检测的载波侦听多路接入(Carrier Sense, Multiple Access with Collision Detection)。它的速率为10 Mb/s,地址为48 bit
8 0 2委员会公布了一个稍有不同的标准集,其中8 0 2 . 3针对整个C S M A / C D网络 8 0 2 . 4针对令牌总线网络8 0 2 . 5针对令牌环网络。这三者的共同特性由8 0 2 . 2标准来定义,那就是 8 0 2网络共有的逻辑链路控制(L L C)。不幸的是, 8 0 2 . 2和
8 0 2 . 3定义了一个与以太网不同的帧格式.

主机需求 R F C要求每台I n t e r n e t主机都与一个10 Mb/s的以太网电缆相连接:

1) 必须能发送和接收采用 RFC 894(以太网)封装格式的分组。
2) 应该能接收与RFC 894混合的RFC 1042(IEEE 802)封装格式的分组。
3) 也许能够发送采用 RFC 1042格式封装的分组。如果主机能同时发送两种类型的分组数据,那么发送的分组必须是可以设置的,而且默认条件下必须是 RFC 894分组。

最常使用的封装格式是 RFC 894定义的格式。
两种帧格式都采用48 bit(6字节)的目的地址和源地址(8 0 2 . 3允许使用16 bit的地址,但一般是48 bit地址)

接下来的 2个字节在两种帧格式中互不相同。在 8 0 2标准定义的帧格式中,长度字段是指它后续数据的字节长度,但不包括 C R C检验码。以太网的类型字段定义了后续数据的类型。在8 0 2标准定义的帧格式中,类型字段则由后续的子网接入协议( Sub-network AccessP r o t o c o l, S N A P)的首部给出。幸运的是, 8 0 2定义的有效长度值与以太网的有效类型值无一相同,这样,就可以对两种帧格式进行区分.

在以太网帧格式中,类型字段之后就是数据;而在 8 0 2帧格式中,跟随在后面的是 3字节的802.2 LLC和5字节的 802.2 SNAP。目的服务访问点(Destination Service Access Point,D S A P)和源服务访问点(Source Service Access Point, SSAP)的值都设为0 x a a。 Ct r l字段的值设为3。随后的3个字节o rg code都置为0。再接下来的2个字节类型字段和以太网帧格式一样(其他类型字段值可以参见 RFC 1340 [Reynolds and Postel 1992])。
C R C字段用于帧内后续字节差错的循环冗余码检验(检验和)(它也被称为 F C S或帧检验序列)。
8 0 2 . 3标准定义的帧和以太网的帧都有最小长度要求。 8 0 2 . 3规定数据部分必须至少为 3 8字节,而对于以太网,则要求最少要有 4 6字节。为了保证这一点,必须在不足的空间插入填充(p a d)字节。

 

图中需要指出的关键点是:
1) 传给环回地址(一般是 1 2 7 . 0 . 0 . 1)的任何数据均作为 I P输入。
2) 传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以太网上。这是
因为广播传送和多播传送的定义(第 1 2章)包含主机本身。
3 ) 任何传给该主机I P地址的数据均送到环回接口。

看上去用传输层和 I P层的方法来处理环回数据似乎效率不高,但它简化了设计,因为环回接口可以被看作是网络层下面的另一个链路层。网络层把一份数据报传送给环回接口,就像传给其他链路层一样,只不过环回接口把它返回到 I P的输入队列中。

图中隐含的意思是送给主机本身 I P地址的I P数据报一般不出现在相应的网络上。

最大传输单元MTU
以太网和 8 0 2 . 3对数据帧的长度都有一个限制,其最大值分别是1 5 0 0和1 4 9 2字节。链路层的这个特性称作M T U,最大传输单元。不同类型的网络大多数都有一个上限。

如果 I P层有一个数据报要传,而且数据的长度比链路层的 M T U还大,那么 I P层就需要进行分片(f r a g m e n t a t i o n),把数据报分成若干片,这样每一片都小于 M T U。
路径MTU
当在同一个网络上的两台主机互相进行通信时,该网络的 M T U是非常重要的。但是如果两台主机之间的通信要通过多个网络,那么每个网络的链路层就可能有不同的 M T U。重要的不是两台主机所在网络的 M T U的值,重要的是两台通信主机路径中的小 M T U。它被称作路径M T U
两台主机之间的路径 M T U不一定是个常数。它取决于当时所选择的路由。而选路不一定是对称的(从A到B的路由可能与从B到A的路由不同),因此路径M T U在两个方向上不一定是一致的。
RFC 1191[Mogul and Deering 1990]描述了路径M T U的发现机制,即在任何时候确定路径M T U的方法
串行线路吞吐量计算
如果线路速率是9600 b/s,而一个字节有 8 bit,加上一个起始比特和一个停止比特,那么线路的速率就是960 B/s(字节/秒)。以这个速率传输一个 1 0 2 4字节的分组需要1066 ms。如果用S L I P链接运行一个交互式应用程序,同时还运行另一个应用程序如 F T P发送或接收 1 0 2 4字节的数据,那么一般来说就必须等待一半的时间(533 ms)才能把交互式应用程序的分组数据发送出去。

假定交互分组数据可以在其他“大块”分组数据发送之前被发送出去。大多数的 S L I P实现确实提供这类服务排队方法,把交互数据放在大块的数据前面。交互通信一般有 Te l n e t、R l o g i n以及F T P的控制部分(用户的命令,而不是数据)
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值