博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据链路层之服务与成帧
阅读量:5128 次
发布时间:2019-06-13

本文共 773 字,大约阅读时间需要 2 分钟。

服务:

1.无确认的无连接服务

2.有确认的无连接服务

3.有确认的有连接服务

 

成帧:

通常的做法是,将比特流拆分成多个离散的帧,为每个帧计算一个称为校验和的短令牌,并将该校验和和放在帧中一起传输。接收方同样计算校验和,核对。

拆分比特流,有以下方法:

1.字节计数法

方法:每个帧第一字节标识帧的大小。以此确定帧的边界。

缺点:一旦首字节损坏,找不到下一个帧,方法失效。

应用:很少用到。

2.字节填充的标志字节法

方法:每个帧采用一些特殊的字节作为帧的开始和结束边界,这些字节称为标志字节FLAG(如同c语言里字符串的结尾0)。考虑到这些字节可能出现在数据中,需要额外的转义字节ESC,与c语言类似,构成【ESC FLAG】。当然,数据中遇到转义字节,也要进行转义【ESC ESC】。这些FLAG和ESC都属于额外填充的字节,故而帧大小不确定。

缺点:只能使用8bit的字节;帧大小不定。

应用:PPP协议

3.比特填充的标志比特法

方法:帧的划分可以在bit级完成。每个帧采用一个特殊字节,作为边界,它是01111110或0x7E标记。帧的大小是任意大小bit数,而不一定是8的倍数(不完整字节)。发送方在数据里每遇到5个连续的1,就填充一个0。如果数据中有标志字节01111110,会被填充后成为011111010。故而保证标志字节是唯一的,只能出现在边界。

缺点:帧大小不定。

应用:USB(通用串行总线),以太网,802.11(实际使用中,FLAG并不是一个字节)

4.物理层编码违禁法

方法:物理层比特编码成信号通常会加些冗余,意味着一些信号不表示数据。可以利用这些非数据信号来表示帧边界,实际上,采用“编码违法”来区分帧的边界。

 

转载于:https://www.cnblogs.com/jiu0821/p/7414524.html

你可能感兴趣的文章
QR code 乱谈(一)
查看>>
shit IE & no table `border-collapse: collapse;`
查看>>
华为实习记录第二天
查看>>
element-ui国际化探索(大型项目适用)
查看>>
2014 Multi-University Training Contest 6 部分题目解题报告
查看>>
Effective.Java第78-90条(同步相关)
查看>>
【mysql优化1】表的优化与列类型选择
查看>>
Java面试题集(三)
查看>>
linux修改系统编码
查看>>
this指针详解
查看>>
js面试题-----安全类
查看>>
gpexpand分析
查看>>
利用Scrapy爬取所有知乎用户详细信息并存至MongoDB
查看>>
SQL Server 监控统计阻塞脚本信息
查看>>
分析linux进程模型
查看>>
iOS7 故事版创建tanbar
查看>>
Hibernate 的原生 SQL 查询
查看>>
PHP 环境搭建及zabbix安装遇到的一些坑.
查看>>
MYSQL常用函数(系统信息函数)
查看>>
class 模拟继承
查看>>