王道计算机网络--3.1数据链路层的功能...3.4

1.数据链路层的功能:加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成逻辑上无差错的链路,

⑴为网络层提供服务:数据链路层基本任务是将源机器中来自网络层的数据传输到目标机器网络层。其为网络层提供服务有

①无确认的无连接服务(不需先建立链路连接,接收到帧后不需发回确认,对于丢失的帧,交给上层处理,适合实时通信误码率低的通信信道,比如以太网

②有确认的无连接服务(...,但收到帧后必须回确认,源机器在规定时间内没收到确认,重发,以提高可靠性。适合误码率较高的信道,如无线通信

③有确认的面向连接服务(建立数据链路、传输帧、释放数据链路。对每一帧都进行确认,源机器收到确认后才能发送下一帧,适合通信要求高的场所)

⑵链路管理:数据链路层连接的建立、维持和释放过程。主要用于面向连接的服务

进行通信前,必须首先确认对方已处于就绪状态,并交换一些必要的信息以对帧序号初始化,然后才能建立连接,传输时维持连接,结束后释放连接

多个站点共享统一物理信道(如局域网),如何再要求通信的站点间分配和管理信道,也是此范畴内

⑶帧定界、帧同步、透明传输

帧定界:讲一段数据的前后分别添加首部和尾部,就构成了帧,首尾部包含很多控制信息,其中一个重要作用是确定帧的界限,即帧定界

帧同步:接收方应能从接收到的二进制比特流中区分帧的起始和终止。

透明传输:不管出现什么样的比特组合,都应当能再链路上传送。(解决数据中恰好出现与帧定界符相同的比特组合的问题)

⑷流量控制:限制发送方的数据流量,使其发送速率不致超过接收方的接收能力(通过反馈机制来实现)(并不是数据链路层特有的功能,很多高层协议也提供此功能)

⑸差错控制:用以使发送方确定接收方是否正确收到了它发送的数据的方法

位错:帧中某些位出现了差错,通常采用循环亢余检验(CRC)方式检错,通过自动重传请求(ARQ)重传出错的帧

帧错:帧的丢失、重复、失序等错误,再数据链路层引入定时器和编号机制,可保证每一帧最终都有且仅有依次正确交付给目的站点

2.组帧:为了在出错时只重发出错的帧,而不必全部重发,组帧主要解决帧定界、帧同步、透明传输等问题,有四种方法实现组帧

⑴字符计数法:在帧头部使用一个计数字段来标明帧内字符数。当目的节点的数据链路层接收到字节计数值时就值得后面跟随的字节数,从而定界(计数包括自身所占的一个字节),最大的问题是如果计数字段出错,就失去了帧边界划分依据,造成灾难性后果

⑵字符填充的首尾定界符法:使用一些特定的字符来定界一帧的开始(DLE STX)与结束(DLE ETX);

为使信息位中出现的特殊字符不被误认为帧的首尾界定符,可以再特殊字符的前面填充一个转义字符(DLE),以实现透明运输

⑶比特填充的首尾标志法:允许数据帧包含任意个数的比特,也允许每个字符的编码包含任意个数的比特,

通过01111110来标志界限,信息位中每遇到5个连续的1时,后插入一个0,而接受方没收到5个1,则自动删除后面紧跟的0

容易由硬件实现,优于字符填充方法

⑷违规编码法:不需要任何填充技术,便能实现数据传输的透明性,但他只适用于采集亢余编码的特殊编码环境。IEEE 802

物理层比特编码通常采用违规编码法,比如曼彻斯特编码中,1代表高-低电平对,0代表低-高电平对,而高-高电平对和低-低电平对是违规的(没有采用)。可以借用这些违规编码来定界帧的起始和终止。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值