1.链路层概述
在学习了网络层提供的任意两台主机之间的通信服务之后,我们自然而然的想弄明白,IP数据报是如何跨域一系列的通信链路进行传输的,有的是有线链路,有的是无线链路。从源主机开始,通过一系列的分组交换机(路由器和交换机),在目的主机结束。
所以,我们应该带着以下几个问题,进行本章的学习
- 为了在单条链路上传输,网络层的IP数据报是怎么被封装进链路层帧的。
- 沿着源到目的主机,IP数据报会通过一系列的链路,那么,不同的链路可以采用不同的链路层协议吗。
- 在广播链路中,如何协调多个发送方和接收方一起进行通信,即如何解决
碰撞
问题。(MAC协议
) - 链路层存在编址吗,如果需要,那么它如何与网络层的编址一起运行。(
ARP
) - 交换机和路由器之间的区别在哪
1.1链路层概念
首先,我们学习几个有用的术语
结点
:运行链路层协议的任何设备都可以称为结点。比如主机、路由器、交换机等等。
链路
:沿着通信链路,连接两个相邻结点的通信信道称为链路。链路分为有线和无线的。
链路层帧
:链路层传输单位,在通过特定的链路时,传输结点将数据报封装进链路层帧中,并将该帧发送到链 路中。
所以,为了将一个数据报从源主机传输到目的主机,数据报必须通过沿着端到端路径上的各种链路
。
如图所示:
一台笔记本访问一个Web网站将通过6条链路(红色的数字
)
值得注意的是,这6条链路可能采用不同的链路层协议(认识到这点很重要)。
1.2 链路层提供的服务
任何一条链路的基本服务都是将IP数据报通过单条通信链路从一个结点运输到相邻结点,但所提供的服务细节是随着链路层协议的不同而不同的。链路层协议能够提供的服务如下:
- 成帧:每个网络层的数据报经过链路传输之前,都会在链路层封装成帧,帧的格式由链路层协议规定,一般由帧头、数据字段和帧尾构成,IP数据报就被放在数据字段中。
- 链路接入:MAC协议规定了帧在链路上传输的规则,协调多个结点之间的帧传输。
- 可靠交付:链路层可靠交付通常用于易于产生高差错率的链路,比如无线链路。然而,有线链路由于低比特差错,所以通常不会提供可靠交付服务
- 差错检验和纠正:当帧中的一个比特作为1传输时,接收方结点的链路层硬件不能正确判断它,这是比特差错是由信号衰减和电磁噪声导致的,这时链路层的差错检验和纠正技术就派上用场了。链路层的差错检查比起运输层和网络层的因特网校验和技术,更为复杂,更重要的是链路层差错检查,有硬件的参与,能够准确地确定帧中的差错出现的地方,从而能够纠正它。