DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 134|回复: 0
打印 上一主题 下一主题

网络通信的数据包(帧)的结构及原理

[复制链接]
跳转到指定楼层
楼主
发表于 2011-4-28 18:05:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在网络通信中,"包"(Packet)和"帧"(Frame)的概念相同,均指通信中的一个数据块.对于具体某种通信网络,一般使用术语"帧".一种网络的帧格式可能与另一种网络不同,通常使用术语"包"来指一般意义的帧.串行通信的数据格式有面向字符型的数据格式,如单同步、双同步、外同步;也有面向比特型的数据格式,这以帧为单位传输,每帧由六个部分组成,分别是标志区、地址区、控制区、信息区、帧校验区和标志区.
串行通信协议属于ISO国际参考标准的第三层,数据链路层.数据链路层必须使用物理层提供给它的服务.物理层所做的工作是接收个一个原始的比特流,并准备把它交给目的地.不能保证这个比特流无差错.所接收的比特的数量也许少于,也许等于或多于所传递的比特的数量,它们具有不同的值.一直要上到数据链路层才能进行检测,如果需要的话,纠正错误.对于数据层,通常的方法是把比特流分成离散的帧,并对每一帧计算出校验和…….当一帧到达目的地后重新计算校验和时,如果新算出的校验和不同于帧中所包括的值,数据链路层就知道出现差错了,从而会采取措施处理差错(即,丢弃坏帧,并发回一个差错报告).
数据链路层的任务是在两个相邻接点间的线路上无差错地传送以帧为单位的数据.每一帧包括数据和必要的控制信息.人们发现,对于经常产生误码的实际链路,只要加上合适的控制规程,就可以使通信变为比较可靠的.如IBM公司推出了著名的体系结构SNA,在SNA的数据链路规程采用了面向比特的规程SDLC,后来ISO把它修改后称为HDLC,译为高级数据链路控制.在INTERNET中,用户与ISP(INTERNET服务提供者)之间的链路上使用得最多的协议就是SLIP和PPP.
下面就简单介绍HDLC帧结构以及PPP帧结构:
1.HDLC的帧结构:
从网络层交下来的分组,变成为数据链路层的数据.这就是图1中的信息字段.信息字段的长度没有具体规定.数据链路层在信息字段的头尾各加上24bit的控制信息,这样就构成了一个完整的帧.HDLC规定了一个帧的开头(即首部中的第一个字节)和结尾(即尾部中的最后一个字节)各放入一个特殊的标记,作为一个帧的边界.这个标记就叫做标志字段F.标志字段F为6个连续1加上两边各一个0共8位.地址字段A也是8个比特,它一般被写入次站的地址.帧校验序列FSC字共占16位,采用CRC-CCITT生成多项式.控制字段功8位,是最复杂的字段,HDLC的许多重要功能都要靠控制字段来实现.根据其前面两个比特的取值,可将HDLC的许多帧划分为三大类,即信息帧、监督帧和无编号帧.
2.点对点协议PPP的帧结构:
PPP帧格式和HDLC的相似,PPP帧的前3个字段和最后两个字段和HDLC的格式是一样的.PPP不是面向比特的,因而所有的PPP帧的长度都是整数个字节.与HDLC不同的是多了一个2个字节的协议字段.当协议字段为0X0021时,信息字段就是IIP数据报.若为0XC021,则信息字段是链路控制数据,而0X8021表示这是网络控制数据.

3.例子:异步通信的数据格式
可以看出,按标准的饿异步通信数据格式,1个字符在传输事,除了传输实际编码信息外,还要传输几个外加数位.具体说,在一个字符开始传输前,输出线必须在逻辑上处于"1"状态,这称为标识态.传输一开始,输出线由标识态变为"0"状态,从而作为起始位.起始位后面为5~8个信息位,信息位有低往高排列,即第一位为字符的最低位,在同意个传输系统中,信息位的数目是固定的.信息位后面为校验位,校验位可以按奇校验设置,也可以按偶校验设置,也可以不设置.最后的位数为"1",它作为停止位,停止位可为1位、1.5位或者2位.如果传输1个字符以后,立即传输下一个字符,那么,后一个字符的起始位变紧挨着前一个字符的停止位了,否则,输出线又会进入标识态.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2026-7-25 23:05 , 耗时 0.269806 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表