计算机网络 数据链路层

目录

数据链路层的地位

数据链路层的几个共同问题

数据链路和帧

三个基本问题

(1)封装成帧

(2)透明传输

(3)差错检测

点对点协议 PPP

使用广播信道的数据链路层

CSMA/CD协议

多点接入

载波监听

碰撞检测



属于计算机网络的低层,数据链路层使用的信道主要有两种类型:

(1)点对点信道

这种信道使用一对一的点对点通信方式

(2)广播信道

这种信道使用一对多的广播通信方式,过程比较复杂,广播信道上连接的主机比较多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。

数据链路层的地位

数据链路层的几个共同问题

数据链路和帧

链路是从一个节点到相邻节点的一段物理线路(有线或无线),而中间没有其他任何的交换节点。在进行数据通信时,两台计算机之间的通信路径往往要经过很多段这样的链路。可见链路只是一条路径的组成部分。

数据链路是另一个概念。这是因为当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须有一些必要的通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加在链路上,就构成了数据链路。

点对点信道的数据链路层的协议数据单元———帧

数据链路层把网络层交下来的数据构成帧发送到链路上,以及把接受到的帧中的数据取出并上交给网络层。在互联网中,网络层协议数据单元就是IP数据报(简称为数据报,分组或包)。

数据链路层的协议中,每一段链路都可以看作是节点和节点的通信,而每个节点都有三层———网络层,数据链路层和物理层。

点对点信道的数据链路层在进行通信时的主要步骤:

(1)节点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧。

(2)节点A把封装好的帧发送给节点B的数据链路层。

(3)若节点B的数据链路层收到的帧无差错,则从收到的帧中提取出IP数据报文给上面的网络层,否则丢弃这个帧。

三个基本问题

数据链路层的协议有许多种,但又三个基本问题则是共同的。

(1)封装成帧

封装成帧就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧,接受端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。在分组交换中,所有在互联网传送的数据都以分组(即IP数据报)为传送单位。网络层的IP数据报传送到数据链路层就成了帧的数据部分。在帧的数据部分的前面和后面分别添加上首部和尾部,构成了一个完整的帧,这样的帧就是数据链路层的数据传送单元。一个帧的帧长等于帧的数据部分长度加上帧首部和帧尾部的长度。为了提高帧的传输,应当使帧的数据部分长度尽可能地大于首部和尾部的长度。但是,每一种链路层协议都规定了所能传送的帧的数据部分长度上限——最大传送单元MTU。

(2)透明传输

由于帧的开始和结束的标记使用专门指明的控制字符,因此,所传输的数据中的任何8比特的组合一定不允许和用作帧定界的控制字符的比特编码一样,否则就会出现帧定界的错误。

“在数据链路层透明传送数据”表示无论什么样的比特组合的数据,都能够按照原样没有差错地通过这个数据链路层。

具体方法为:发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”,而在接收端的数据链路层在把数据送往网络层之前删除这个插入的转义字符。这个方法称为字节填充或字符填充,如果转义字符也出现在数据当中,那么解决方法仍然是在转义字符的前面插入一个转义字符。因此,当接受端收到连续两个转义字符时,就删除前面其中一个。

(3)差错检测

现实的通信链路都不会是理想的,比特在传输过程中可能会产生差错,1可能会变成0,0也可能变为1,这就叫做比特差错,比特差错是传输差错的一种,目前在数据链路层广泛使用了循环冗余检验CRC的检错技术。

另一类差错是收到的帧没有出现比特差错,但却出现了帧丢失,帧重复或帧失序。

点对点协议 PPP

实现链路层的可靠传输

PPP协议应满足的需求

(1)简单

(2)封装成帧

PPP协议必须规定特殊的字符作为帧定界符(即标志一个帧的开始和结束的字符),以便使接收端从收到的比特流中能准确地帧的开始和结束位置。

(3)透明性

PPP协议必须保证数据传输的透明性,这就是说,如果数据中碰巧出现了和帧界定符一样的比特组合时,,都要采用有效的措施来解决。

(4)多种网络层协议

PPP协议必须能够在同一条物理链路上同时支持多种网络层协议(如IP或IPX)的运行。当点对点链路所连接的是局域网或路由器时,PPP协议必须同时支持在链路所连接的局域网或路由器上运行的各种网络层协议。

(5)多种类型链路

串行的,并行的,同步的,异步的等等点对点链路。

(6)差错检测

PPP协议必须能够对接收端收到的帧进行检测,并立即丢弃有差错的帧

(7)检测连接状态

(8)最大传送单元

PPP协议必须对每一种类型的点对点链路设置最大传送单元MTU的标准默认值,MTU是数据链路层的帧可以载荷的数据部分的最大长度,而不是帧的总长度。

(9)网络层地址协商

(10)数据压缩协商

PPP协议的帧格式

字节填充(PPP使用异步传输)

当信息字段中出现和标志字段一样的比特(0x7E)组合时,就必须采用一些措施使这种形式上和标志字段一样的比特组合不出现在信息字段中。

当PPP使用异步传输时,,它把转义符定义为0x7D,并使用字节填充。

零比特填充(PPP使用同步传输)

PPP协议

(1)在发送端先扫描整个信息字段(通常使用硬件实现,但也可以用软件实现,但是会慢一些。 (2)只要发现有5个连续的1,则立即填入一个0。 (3)接收端在收到一个帧时,先找到标志字段F以确定帧的边界,接着再用硬件对其中的比特流进行扫描,每当发现5个连续1时,就把5个连续1后的一个0删除,以还原成原来的信息比特流。

PPP协议的工作状态

使用广播信道的数据链路层

CSMA/CD协议

总线的特点

最早的以太网是将许多计算机都连接到一条总线上。当一台计算机发送数据时,总线上的所有计算机都能检测到这个数据。这种就是广播通信方式。 但是并不总是要在局域网上进行一对多的广播通信。 为了在总线上实现一对一的通信,可以使每一台计算机的适配器拥有一个与其他适配器都不同的地址。在发送数据帧时,在帧的首部写明接收站的地址。现在的电子技术是很容易做到:仅当数据帧中的目的地址和适配器ROM中的硬件地址一致时,该适配器才能接收这个数据帧。适配器对不是发送给自己的数据帧就丢弃。这样,具有广播特性的总线上就实现了一对一的通信。

为了通信方便,以太网采取了以下两种措施: 采用较为灵活的无连接的工作方式,即不必建立连接就可以直接发送数据。网卡对发送的数据帧不进行编号,也不要求对方发回确认。这样做可以使以太网工作起来非常简单。以太网所提供的服务是尽最大努力的交付,即不可靠的服务。

以太网发送的数据都是使用曼彻斯特编码的信号,使用曼彻斯特编码的优点是可以很方便的解决接收端接收连续的0或者1时无法提取同步信号的问题;缺点就是因为曼彻斯特编码的规则导致每秒需要传输的码元数量增加了一倍,所以它占的频带宽度也比原始的基带信号增加了一倍。

以太网是一种基带总线局域网

CSMA/CD协议,用于协调总线上各计算机的工作

CSMA/CD协议的要点

多点接入

说明这是总线型网络,许多计算机以多点接入的方式连接在一根总线上,。协议的实质是“载波监听”,“碰撞检测”。

载波监听

也就是边发送监听,即每一个站发送之前先要检测一下总线上是否有其他站在发送数据,如果有,则暂时不要发送数据,要等到信道变为空闲时再发送。在发送中检测信道,是为了及时发现如果有其他站也在发送,就立即中断本站的发送。这就称为“碰撞检测”。

碰撞检测

适配器边发送数据边检测信道上的信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。当几个站同时在总线上发送数据时,总线上的信号电压变化幅度将会增大(相互叠加)。当适配器检测到的信号电压变化幅度超过一定阀值时,就认为总线上至少有两个站在同时发送数据,表明产生了碰撞。一旦发现总线上发生了碰撞,适配器就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。

监听之后仍然会数据在总线上碰撞的原因

电磁波在1km电缆的传播时延约为5us 在使用CSMA/CD协议时,一个站不可能同时进行发送和接收,进行的是半双工通信。 从图中可以看出,每个站在自己发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。(这个时间是2t,t由两站之间的距离决定)这是以太网发送的不确定性。正是这种不确定性使得以太网的平均通信量远小于以太网的最高数据率。

以太网的MAC层

在局域网中,硬件地址又称为物理地址或MAC地址(因为这个地址用在MAC帧中),I3E 802标准中规定了一种48位的全球地址,此地址固化在适配器的ROM中(所以称为物理地址)。无线LAN、蓝牙、以太网、FDDI、ATM等设备都使用相同规格的MAC地址。

适配器具有过滤功能,当适配器从网络上每收到一个MAc帧就先用硬件检查MAC帧中的目的地址,如果是发往本站的帧则收下,然后再进行其他处理,否则就将此帧丢弃,“发往本站的帧“包括三种:

(1)单播(一对一)

数据报帧地址与本机地址相同(收到的帧的MAC地址与本站MAC地址相同)

(2)广播(一对全体)

广播地址适用于本地所有地址

(3)多播(一对多)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值