二分网络上的链路预测_计算机网络知识总结(三)数据链路层(上)

1、数据链路层基本概念及基本问题

数据链路层使用的信道主要有一下两种类型:

  • 点对点信道:一对一
  • 广播信道:一对多(集线器),必须使用专用的共享信道协议来协调这些主机的数据发送
d73713dfb826fd804b4d18d185a9f616.png

点对点信道的数据链路层

数据链路和帧

链路:一条点到点的物理线段,中间没有任何其他节点

一条链路只是一条通路的一个组成部分

数据链路:除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路

现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件
一般的适配器都包括了数据链路层物理层这两层的功能

数据链路层传送的是帧

帧由网络层的IP数据报加上帧头和帧尾构成

09dadb687616a49c48693aef6e4e9249.png

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

  • 结点A 的数据链路层把网络层交下来的 IP 数据报添加首部和尾部封装成帧
  • 结点 A 把封装好的帧发送给结点 B 的数据链路层
  • 若结点B 的数据链路层收到的帧无差错,则从收到的帧中提取出IP数据报交给上面的网络层,否则丢弃这个帧

三个基本问题

1. 封装成帧

在一段数据(这个数据是从网络层下来的数据报)的前后分别添加首部和尾部,这样就构成了一个帧。
接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。

帧的首部和尾部的一个重要的作用就是进行帧定界
帧的首部和尾部还包含了许多必要的控制信息。最大传送单元MTU:每一种链路层协议都规定了所能传送的帧的数据部分长度上限

31603782a8a86963564722f88a2438c1.png

当数据是由可打印的ASCII 码组成的文本文件时,帧定界可以使用特殊的帧定界符。 ASCII码是7位编码,一共可组成128个不同的ASCII 码,其中可打印的有95个。 控制字符

-

SOH:放在一帧的最前面表示帧的首部开始,十六进制为01(00000001) EOT:表示帧的结束,十六进制为04(00000100)
SOH(EOT)并不是S、O、H(E、O、T)三个字符 发送方

-

假设发送端在发送一个帧时突然出了故障,中断了发送,但随后又恢复了正常,于是又重新从头开始发送刚才未发送完的帧。 接收方由于使用了帧界定符,接收端就知道前面收到的数据是个不完整的帧,必须丢弃,而后面收到的数据有明确的帧界定符,因此是一个完整的帧,应当收下。

2. 透明传输

指对于发送者和接收者来说,不知道中间曾经增加过转义字符

字节填充:帧首部(SOH)和帧尾部(EOT)一般为不可打印字符,数据内容一般为可打印字符,若数据内容中出现用于表示帧首部和帧尾部的字符,在SOH和EOT前面加上ESC的ACSII码(其十六进制为1B),若出现ESC,也在其前面增加ESC字符,当接收端的数据链路层向网络层传输数据时,则须删除转义字符(ESC),若出现连续两个转义字符,则删除前面一个。

a7007275d6edd883fcc5213d8288dae8.png

3. 差错检测

传输过程中可能会产生比特差错:1变成0,0变成1
在一段时间内,传输错误的比特占所传输比特总数的比率为误码率BER(Bit Error Rate),设法提高信噪比,就可以使误码率减小。
误码率与信噪比有很大的关系。

为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施

循环冗余检验(CRC)

数据链路层只负责没有差错的接收,若包传输错误,则丢掉,数据链路层不要求重传,程序层次(发送端和接收端的应用程序)要求重传

CRC只能做到无差错接受:即接受的都是对的,但是要做到“可靠传输”,还要加上确认和重传(考虑帧重复,帧丢失,帧乱序),CRC是无比特差错,而不是无传输差错的检测机制

OSI/RM模型认为:数据链路层要做到无传输差错,但这只是理想情况

2、点对点协议PPP

用户计算机和ISP进行通信时所使用的数据链路层协议

f2074d7fbdef030f6c472d680617b256.png

PPP协议分为三个部分:

  1. 一个将IP数据报封到串行链路的方法。PPP既支持异步链路(无奇偶校验的8比特数据),也支持面向比特的同步链路。
  2. 一个用来建立、配置和测试数据链路的链路控制协议LCP(Link Control Protocol)。通信的双方可协商一些选项。在[RFC 1661]中定义了11种类型的LCP分组。
  3. 一套网络控制协议NCP(Network Control Protocol),支持不同的网络层协议,如IP、OSI的网络层、DECnet、AppleTalk等。

PPP协议的帧格式

异步传字节

59b7a6fb60609b0f9d652d6ec9c5d614.png

7E:(01111110)代表开始和结尾FF:代表目标地址(由于是点对点,目标地址没有用,所以FF是固定的)03:固定的协议:2个字节,用来表示信息部分是哪种类型的数据信息部分透明传输若出现7E,则变成7D,5E ;若出现7D,则变成7D,5D;若出现ASCII中的控制字符(即数值小于0x20的字符),在前面增加7D用于转义FCS:帧检验序列

同步比特流

PPP如果传比特流(不是8的倍数(1字节为8bit)),则用零比特填充方法实现透明传输:只要发现有5个连续的1,则填入一个0,这样就不会出现开始和结束标识符(7E(01111110))

b09934e915e3f0d470e01b43391208e5.png

PPP协议的工作状态

建立物理连接:用户拨号接入ISP,路由器的调制解调器对拨号做出确认
建立数据链路层连接:PC机向路由器发送一系列LCP分组(封装成多个PPP帧)
建立网络层配置:分组和响应来选择一些PPP参数,NCP给PC机房分配临时额IP地址,使PC机成为因特网的一个主机

通信完毕:
NCP释放网络层协议收回IP地址
LCP释放链路层连接
释放物理层连接

1809067b8ead1d2dd4f7a55377d81586.png

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

局域网的数据链路层

局域网特点:网络为一个单位所有,且地理范围和站点数目均有限,具有广播功能

局域网的优点:

  1. 具有广播功能
  2. 便于系统的扩展和逐渐地演变
  3. 提高了系统的可靠性、可用性和生存性

共享通信媒体:链路为所有计算机所共享

静态划分信道:在任意两台计算机之间都要建立信道(不方便)频分复用 时分复用 波分复用 码分复用

动态媒体介入控制(多点接入)

  • 随机接入(一接就通)(以太网采用)
  • 受控接入,如多点线路探询,或轮询(现很少用)

CSMA/CD协议

这个解决许多计算机都连接在一根线上通信冲突的问题

载波监听:每一个站在发送数据之前先利用电子技术检测总线上是否有其他计算机发送的数据信号,如果有,则暂时不发送数据,一面发生碰撞

多点接入:许多计算机以多点接入的方式连接在一根总线上

碰撞检测:计算机边发送数据边检测信道上额信号电压大小

当几个站同时在总线上发送数据时,总线上的信号电压摆幅增大,从而可以检测到,发生碰撞时,总线上传输的信号严重失真且无法恢复,此时应停止发送避免浪费网路资源

56855850e8c7ad3dc78bab4d11b0c5a9.png

使用CSMA/CD协议额以太网不能进行全双工通信只能进行半双工通信

每个站在发送数据之后额一小段时间内,存在着遭遇碰撞的可能性,这种发送的不确定性是的整个以太网的平均通信量远小于以太网的最高数据率

争用期:2τ = 51.2μs(两倍的端到端的往返时延)

经过争用期这段时间还没有检测到碰撞,可以保证这次发送不会发送碰撞

2τ:对于10Mb/s的以太网来说可以发送512bit,即64字节

最短有效帧长:64字节,以太网规定凡长度小于64字节的帧都是由于冲突而异常中止的无效帧

二进制指数类型退避算法(CSMA/CD协议实现的):

发生碰撞的站在停止发送数据后,要推迟一个数据时间才能再发送数据

(1)基本确定时间:一般取值争用期2τ

(2)定义参数k:k=Min[重传次数,10]

(3)从整数集合[0,1,2…(2k-1)]中随机地取出一个数,记为r,重传时延为r倍的基本退避时间

CSMA/CD协议的要点归纳如下:
(1)准备发送:适配器从网络层获得一个分组,加上以太网的首部和尾部(见本章的3.4.3节),组成以太网帧,放入适配器的缓存中。但在发送之前,必须先检测信道。
(2)检测信道:若检测到信道忙,则应不停地检测,一直等待信道转为空闲。若检测到信道空闲,并在96比特时间内信道保持空闲(保证了帧间最小间隔),就发送这个帧。
(3)在发送过程中仍不停地检测信道,即网络适配器要边发送边监听。这里只有两种可能性:
一是发送成功:在争用期内一直未检测到碰撞。这个帧肯定能够发送成功。发送完毕后,其他什么也不做。然后回到(1)。
二是发送失败:在争用期内检测到碰撞。这时立即停止发送数据,并按规定发送人为干扰信号。适配器接着就执行指数退避算法,等待,倍512比特时间后,返回到步骤(2),继续检测信道。但若重传达16次仍不能成功,则停止重传而向上报错。
以太网每发送完一帧,一定要把已发送的帧暂时保留一下。如果在争用期内检测出发生了碰撞,那么还要在推迟一段时间后再把这个暂时保留的帧重传一次。

集线器

7b163681c832b8f2e9cdf387cb0bccfb.png

集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。集线器使用了大规模集成电路芯片,因此这样的硬件设备的可靠性大大提高了。
使用集线器的以太网在逻辑上仍是一个总网线,各工作站使用的还是CSMA/CD协议,并共享逻辑上的总线。
集线器很像一个多接口的转发器,工作在物理层

f34f5defb68b58ec07573cf85a7b3e4b.png

集线器是工作在物理层的傻瓜设备,只负责转发数据,传递电信号

文章内容来源于网络 作者:赫凯

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值