计算机网络-数据链路层(1)

数据链路层使用的信道有以下两种类型:
(1)点对点信道
(2)广播信道
网络层在讨论的问题是同一个局域网分组怎样从一个网络通过路由发送到另一个网络。
数据链路层是分组怎样从一个主机传送到另一个主机(不经过路由器)
数据链路层模型:
在这里插入图片描述
在这里插入图片描述

1 使用点对点信道的数据链路层

(1) 数据链路和帧
链路:一条无源的点到点的物理线路段,中间没有任何其他的交换结点
数据链路:除物理链路外,还必须加入通信协议来控制这些数据的传输
帧:数据链路层的协议数据单元
网络层协议数据单元就是IP数据报
点对点的数据链路层:
在这里插入图片描述
点对点的数据链路层通信是的主要步骤如下:
1)结点A的数据链路层把网络层交下来的IP数据报添加到首部和尾部
2)结点A把封装好的帧发送给结点B的数据链路层
3)若接收的帧无差错,则提出IP数据报上交给上面的网络层,否则丢失这个帧
(2)三个问题
1)封装成帧
一段数据的前后分别添加首部和尾部,这样就构成了一个帧
2)通明传输
由于在帧开始和结束时使用的时专门指明的控制字符,在传输数据的时候就有可能出现控制字符一样的字符,所以要在数据中插入一个转义字符,然后在接受段的数据链路层在送往网络层之前将插入的转义字符删除
3)差错检测
在数据链路层广泛使用是循环冗余检验CRC(Cyclic Redundancy Check)

例如:
帧检验序列FCS(Frame Check Sequence)
CRC是一种检错方法,FCS是添加在数据后面的冗余码
在这里插入图片描述
这里对101001添加的0的个数比除数少一位,比如这里除数是4位,那么就添加三个0
如果传输过程无差错,那么CRC检验后得出的余数R肯定是0,例如这里的101001000除以1101得到的余数为0
注意:
1)这只是一种检测方法,并不是纠错方法
2)“无差错接受”是指:凡是接收端数据链路层接受的帧,我们都以非常接近于1的概率认为这些帧在传输过程中没有产生差错
3)要做到“可靠传输”,就必须再加上确认重传机制

2 点对点协议PPP

2.1 PPP协议是目前使用最广泛的数据链路层协议

(1)特点
用户计算机和ISP进行通信时所用的数据链路层协议
1)简单-首要的需求
2)封装成帧-规定特殊的字符作为帧定界符,在接受段可以找到帧开始和结束的位置
3)通明性-保证数据传输的通明性
4)多种网络层协议-同一条物理链路上同时支持多种网络层协议
5)多种数据链路-在多种类型的链路上运行
6)差错检测-能够对接收端收到的帧进行检测,并立即丢弃有差错的帧
7)检测连接状态-一种机制能够及时自动检测出链路是否处于正常工作状态
8)最大传送单元(MTU)-默认值是1500字节
9)网络层地址协商-通信的两个网络层的实体能够通过协商知道或者能够配置彼此的网络层地址
10)数据压缩协商
PPP协议只支持点对点的链路通信,也只支持全双工链路
(2)组成
1)一个将IP数据报封装到串行链路的方法
2)一个用来建立、配置和测试数据链路连接的链路控制协议(LCP)
3)一套网络控制协议NCP

2.2 帧格式

2.2.1 各字段的意义

标志字段F,规定为0x7E
地址字段A,规定为0xFF
控制字段C,规定为0x03
在这里插入图片描述

2.2.2 字节填充

当信息字段出现和标志字段一样的比特组合时,采用字节填充方法,使得这样的字段不出现在信息字段中。
当PPP用在异步传输时,使用字符填充法:
1)信息字段出现每一个0x7E字节转变成为2字节(0x7D,0x5E)
2)信息字段出现一个0x7D字节转变成为2字节(0x7D,0x5D)
3)信息字段出现ASCII码的控制字符(数值小于0x20的字符),在该字符前面加入一个0x7D字节,同时编码加以改变,转变成为2字节

2.2.3 零比特填充

PPP协议用在SONET/SDH链路时,使用同步传输,这是PPP协议采用零比特填充方法实现透明传输
做法:在发送端,先扫描整个信息字段,只要出现5一个连续的1,就填入一个0

2.3 工作状态

用户拨号接入ISP后,建立一条从用户PC到ISP的物理连接。接着,用户PC向ISP发送一系列的链路控制协议LCP分组,以便建立ISP连接。这些分组及其响应选择了将要使用的一些PPP参数。接着还要进行网络层配置,网络控制协议NCP给新接入的用户PC分配一个临时的IP地址。
当用户通信完毕时,NCP释放网络层连接,收回原来分配出去的ip地址,接着LCP释放数据链路层连接,最后释放物理层连接。
PPP协议状态图:
在这里插入图片描述

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

广播信道可以进行一对多的通信

3.1 局域网的数据链路层

局域网的工作层次跨越了数据链路层和物理层。
局域网按网络拓扑结构进行分类:
在这里插入图片描述
在合理方便的共享媒体资源,在技术上有两种方法:
1)静态划分信道
频分复用、时分复用、波分复用和码分复用等,但是这些划分信道方法较高,不适合局域网使用。
2)动态媒体接入控制(多点接入)
随机接入:所有用户随机发送信息,但如果有两个或者多个用户同一时刻发送信息,那么在共享媒体上就会产生碰撞,所有必须解决碰撞的网络协议
受控接入:用户不能随机发送信息而是必须服从一定的控制

下面都是对随机接入的以太网的讨论
以太网的两个标准:
以太网是美国施乐(Xerox)公司的Palo Alto研究中心与1975年研制成功的。

  1. DIX Ethernet V2是世界上第一个局域网产品(以太网)的规约
  2. IEEE 的802.3标准

这两个标准只有很小的差别,可以将802.3局域网简称为“以太网”,严格说,
“以太网”应当指符合DIX Ethernet V2 标准的局域网
IEEE 802委员会将局域网的数据链路层拆成两个子层,逻辑链路控制LLC子层和媒体接入控制MAC子层,接入到传输媒体有关的内容都放在MAC子层,而LLC子层则与传输媒体无关,不管采用何种协议的局域网对LLC子层来说都是透明的如下图:在这里插入图片描述
由于竞争激烈的局域网市场,以太网在局域网市场中已经取得了垄断地位,由于TCP/IP体系经常使用的局域网是DIX Ethernet V2而不是802.3标准中的几种局域网,所以IEEE 802委员会制定的逻辑链路控制子层LLC的作用已经消失了,很多的厂商生产的适配器上就仅装有MAC协议而没有LLC协议
适配器的作用
计算机与外界局域网的连接是通过通信适配器通信适配器又称网络接口卡或简称网卡
重要功能:
1) 进行串行/并行转换
2)对数据进行缓存(装有处理器和存储器)
3)在计算机的操作系统安装设备驱动程序
4)实现以太网协议
在这里插入图片描述

3.2 CSMA/CD协议

广播通信方式:当一台计算机发送数据时,总线上所有计算机都能检测到这个数据
总线上实现一对一的通信,可以是每台计算机的适配器拥有一个与其他适配器不同的地址,在发送数据帧时,在帧的首部写明接收站的地址,但数据帧中的目的地址与适配器ROM中存放的硬件地址一样是,适配器才接收这个数据帧,不是自己的就丢失。
为了通信的简便,以太网采用了两种措施:

  1. 采用较为灵活的无连接的工作方式
  2. 以太网发送的数据都是使用曼切斯特编码的信号

多点接入” 表示许多计算机以多点接入的方式连接在一根总线上。
载波监听” 指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有就暂时不发送数据,以免碰撞。总线上并没有什么载波,这里只是借用一下“载波”这个名词而已。因此载波监听就是检测信道。
碰撞检测” 就是计算机边发送数据边检测信道上的信号电压大小
检测碰撞 - 当一个站检测到的信号电压摆动超过一定的门限值时,总线上至少有两个站同时在发送数据,表明产生了碰撞
碰撞后 - 总线上传输的信号会失真,一旦发现总线上出现碰撞,停止发送,等一段时间在发送。
在这里插入图片描述
使用CSMA/CD协议,不能同时收发数据,所有只能半双工通信
争用期:以太网的端到端往返时间2τ,也叫碰撞窗口

截断二进制指数退避算法:
发送碰撞的站在停止发送数据后,要推辞一个随机时间再发送数据。

  1. 确定基本退避时间,一般是取争用期2τ
  2. 定义重传k,k≤10,
    k = M i n [ 10 ] k=Min[重传次数,10]
  3. 从整数集合 [ 0 , 1 , . . . . , ( 2 k 1 ) ] [0,1,....,(2^k-1)] 中随机取一个数,记为r。重传所需的时延就是r倍的基本退避时间。
  4. 重传达16次仍不能成功时丢弃该帧,并向高层报告。

争用期长度
以太网取51.2μs为争用期的长度
对于10Mb/s以太网,在争用期可发送512bit,即64字节

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

一旦发现发生了碰撞时,除了立即停止发送数据外,还要再发送32比特或48比特的人为干扰信号,以便所有用户都知道现在已经发送碰撞

以太网还规定了帧间最小间隔为9.6μs,相当于96比特时间。这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理

CSMA/CD协议要点归纳如下:
1)准备发送:适配器从网络层获得一个分组,加上以太网的首部和尾部,组成以太网帧,放入适配器的缓存中。但在发送之前,必须先检测信道
2)检测信道:如检测信道忙,则应不停的检测,一直等到空闲。去空闲并在96比特时间内信道保持空闲,就发送这个帧
3)发送过程中仍不停地检测信道,即网络适配器要边发送边监听,这里有两种可能:
一是发送成功:在争用期内一直没有检测到碰撞,这个帧发送成功,然后换回1
二是发送失败:在争用期内检测到碰撞。这时立即停止发送数据,并按规定发送人为干扰信号。适配器接着就执行指数退避算法。但若重传达16次仍不成功,则停止重传向上一级报错。

猜你喜欢

转载自blog.csdn.net/qq_42711815/article/details/88029571