计算机网络-数据链路层-点对点信道

发布于:2021-09-23 22:55:50

数据链路层
使用的信道主要两种:点对点信道广播信道?? 一对多
包含的内容
点对点/广播- 特点,所用协议的特点三个基本问题:封装成帧、透明传输、差错检测以太网MAC层的硬件地址适配器 转发器 集线器 网桥 以太网交换机 的作用 使用场合


点对点信道

数据链路
在一条线路上传送数据,一条物理线路是必要的,还要 通信协议??来控制数据的传输。实现这些协议的软硬件加到链路上,构成数据链路。
常用网络适配器来实现协议


帧是协议数据单元
帧:帧头 帧尾 物理层地址 校验值

数据链路层在进行通信主要步骤
(1)结点A的数据链路层把网络层给的IP数据报 添加 首部、尾部 封装成帧
(2)A把封装好的帧发给B
(3)如果B收到的帧无差错,则提取出IP数据报给上面的网络层;否则丢弃


三个基本问题
1.封装成帧
在一段数据前后分别添加首部、尾部,构成一个帧接收端收到 比特流后??根据首部、尾部标记??识别帧的开始、结束
2.透明传输
是指不管所传数据是什么样的比特组合,都能按照原样没有差错的通过这个数据链路层。帧中有首部和尾部,如果帧的数据部分含有和首部尾部相同的内容,那么帧的开始和结束位置就会被错误的判定。当所传数据中的比特组合恰巧与某一个控制信息完全一样时(即出现帧定界错误时),就必须采取适当措施,使接收方不会将这样的数据误认为是某种控制信息。为解决透明传输问题,得尽量使出现的 SOH EOT 在接收端不被解释为控制字符:
在发送端数据中出现 SOH EOT 前面插入一个 转义字符 “ESC” ,(1B/00011011)。在接收端删除ESC??称为字节填充。
若ESC出现在数据中,方法就是在ESC前再插入一个ESC,接收端收到这样的连续两个ESC,删除一个就行了。这个过程透明传输的内容是转义字符,用户察觉不到转义字符的存在。就变成了: ESC SOH 数据 ESC EOT
3.差错检测
使用循环冗余检验CRC??检错技术
原理

1.在发送端把数据划分为组,每组k比特
在数据M后添加供差错检测的n位冗余码,构成一个帧(k+n)位发送出去。

2.用二进制的模2运算(异或,相同为0,不同为1。加法时不进位)。
事先商定好长度为(n+1)位的除数P,在M后添加n个0后除以P得到余数R(n位)。余数R作为冗余码接在M后发送出去。

帧检验序列:FCS,在数据后面添加的冗余码

3.接收端把收到的帧除以同样的除数P,得到余数R。
若余数R=0,判定此帧没有差错,接受。
若余数R≠0,判定此帧有差错(无法确定哪一位或哪几位出差错),丢弃。

步骤:
分组??每组k比特??加n位冗余码??k+n位
模2运算??n+1位 除数p??每组后加n个0,除以p??得余数R??R加在M后面
收到??除以除数P??得到余数R??为0??可以??不为0??有错??丢弃


仅采用CRC校验不能使数据链路层变成可靠传输。因为CRC校验只能做到对帧的无错接受,但不能保证帧没有丢失、重复或失序。



PPP协议
是用户计算机和ISP进行通信时所使用的数据链路层协议??ISP即互联网服务提供商

特点

1、简单:接收那边,每收到一个帧,就CRC检验;正确,接收;错误,丢弃就vans了嗷,无后续操作。
2、封装成帧:规定特殊字符作为帧定界符,使接收端能从比特流中找出帧开始、结束位置
3、透明性:见“透明传输”,要有措施能解决与帧定界符雷同的情况的方法
4、多种网络层协议:得能在同一条物理链路上同时支持多种网络层协议(IP、IPX)
5、多种类型链路:能在多种类型链路上运行
6、差错检测
7、检测连接状态:及时(<几分钟)自动检测链路是否处于正常工作状态
8、最大传送单元
9、网络层地址协商
10、数据压缩协商


PPP协议不需满足的要求:

1、纠错
2、流量控制
3、序号
4、多点线路
5、半双工或单工链路


PPP组成
PPP协议有三个组成部分:
1、一个将IP数据报封装到串行链路的方法:PPP支持异步或同步链路
2、一个用来建立、配置 测试数据链路连接的链路控制协议?LCP,LCP建议并维护数据链路连接,身份验证、计费功能,只有这层通了,网络层才能通信。
3、一套网络控制协议NCP,其中每个协议支持不同的网络层协议(一套,多个的意思)
帧格式
1、各字段的意义


PPP帧的首部
首部中的标志字段F(Flag),规定为0x7E,标志字段表示一个帧的开始。(符号0x表示它后面的字符是用十六进制表示的。十六进制的7E的二进制表示是01111110)首部中的地址字段A规定为0xFF(即11111111)。首部中的控制字段C规定为0x03(即00000011)。首部中的2字节的协议字段:
(1)当协议字段为0x0021时,PPP帧的信息字段就是IP数据报。
(2)当协议字段为0xC021时,PPP帧的信息字段就是PPP链路控制协议LCP的数据。
(3)当协议字段为0x8021时,PPP帧的信息字段就是网络层的控制数据。
PPP帧的信息字段部分

信息字段的长度是可变的,不超过1500字节。


PPP帧的尾部
尾部中的第一个字段(2个字节)是使用CRC的帧检验序列FCS。尾部中的标志字段F(Flag),规定为0x7E,标志字段表示一个帧的结束。(符号0x表示它后面的字符是用十六进制表示的。十六进制的7E的二进制表示是01111110)注:标志字段就是PPP帧的定界符。连续两帧之间只需要用一个标志字段。如果连续出现两个标志字段,就表示这是一个空帧,应当丢弃。
2、字节填充 ?? PPP使用异步传输
当PPP使用异步传输(逐个字符的传送)时,它把转义符定义为0x7D,并使用字节填充。RFC1662规定了如下填充方法:
(1)把信息字段中出现的每一个0x7E字节转变为2字节序列(0x7D,0x5E)。
(2)若信息字段中出现一个0x7D的字节(即出现了和转义字符一样的比特组合),则把转义字符0x7D转变为2字节序列(0x7D,0x5D)。
(3)若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时将该字符的编码加以改变。例如,出现0x03(在控制字符中是“传输结束”ETX)就要把它转变为2字节序列的(0x7D,0x31)。由于在发送端进行了字节填充,因此在链路上传送的信息字节数就超过了原来的信息字节数。但接收端在接收到数据后再进行与发送端字节填充相反的变换,就可以正确地恢复出原来的信息。
3、零比特填充??PPP使用同步传输
当PPP使用同步传输(一连串的比特连续传送)时,使用零比特填充实现透明传输。零比特填充的具体方法:

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


因此通过这种零比特填充后的数据,就可以保证在信息字段中不会出现连续6个1。

工作状态
右侧箭头说明,PPP协议涉及物理层、网络层
PPP链路初始化过程:用户拨号进入ISP,建立物理连接:用户到ISP;用户向ISP发送LCP分组(封装成多个PPP帧),以便建立 LCP连接 。再 配置网络层 ,NCP给新用户 分配 临时 IP地址 。这样,用户电脑成为互联网上的一个有IP地址的主机了。当用户通信完了,NCP释放网络层的连接,回收IP地址;然后LCP释放数据链路层连接;最后释放物理层的连接。
总结
链路静止-建立物理层-链路建立-pc发LCP-NCP分配IP地址-链路打开,网络层建立。(释放时倒过来)
详解

起始、终止状态都是 “链路静止” 状态,用户电脑与ISP路由器之间没有物理层的连接

用户通过调*獾髌骱艚新酚善鳎ㄈ缡蟊甑慊髁影磁ィ酚善骷觳獾秸飧鲈夭ㄐ藕拧K浇⑽锢聿懔雍螅琍PP进入 “链路连接” 状态, 目的建立链路层LCP连接

LCP就协商配置,就是发送LCP的配置请求帧,是个PPP帧;链路另一端可发这几种响应之一:
1)配置确认帧??接受所有选项
2)配置否认帧??理解但不接受所有选项
3)配置拒绝帧??有的选项无法识别/无法接受,要协商

协商结束后,就建立了LCP链路,进入了 “鉴别” 状态;开始去鉴别身份:失败?? “链路终止” ;成功?? “网络层协议”

“网络层协议” 状态:PPP两端的网络层可运行不同的网络层协议,但又仍然可以用同一个PPP进行通信

配置完成后,进入可进行 数据通信“链路打开” 状态:两端可以向对方发送分组,还有回送请求LCP分组、回送回答LCP分组,来 检查链路的状态

数据传输结束,由一端发出 终止请求 LCP分组请求终止链路连接,收到终止确认 LCP分组后,转到 “链路终止” 状态。
若有故障,也会从“链路打开”转到“链路终止”。

当调*獾髌髟夭ㄍV购螅氐 “链路静止” 状态

相关推荐

最新更新

猜你喜欢