计算机网络-链路层(0)链路层综述

数据链路层负责通过一条链路从一个节点向另一个物理链路直接相连的相邻结点传送数据报。主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路。
沿着通信路径连接相邻结点的通信信道:链路(link)
主机和路由器:结点(nodes)
在通过特定的链路时,传输结点将数据报封装在链路层帧(frame)中,并将该帧传送到链路中。
    有线链路(wired links)
    无线链路(wireless links)
    局域网(LANs)
 
点对点链路(point-to-point link)由链路一端的单个发送方和链路另一端的单个接收方组成。许多链路层协议都是为点对点链路设计的,如点对点协议(point-to-point protocol,PPP)和高级数据链路控制(high-level data link control,HDLC)
广播链路(broadcast link)它能够让多个发送和接收结点都连接到相同的、单一的、共享的广播信道上。当任何一个结点传输一个帧时,信道广播该帧,每个其他结点都收到一个副本。如以太网和无线局域网。
 
链路层服务:
  • 组帧(framing)
封装数据报构成数据帧,加首部和尾部,帧定界
帧同步
透明传输
  • 链路接入(link access)
如果是共享介质,需要解决信道接入(channel access)
帧首部中的MAC地址,用于标识帧的源和目的
  • 为网络层提供服务
数据链路层的基本任务是将源机器中的来自网络层的数据传输到目标机器的网络层,其为网络层提供的服务有:无确认的无连接服务(适用于实时通信或误码率低的通信信道,如以太网)、有确认的无连接服务(适用于误码率较高的通信信道,如无线通信)、有确认的面向连接服务(适用于通信要求较高的场合)。
注意:有连接就一定要确认,不存在无确认的面向连接服务。
  • 流量控制(flow control)
协调(pacing)相邻的发送结点和接收
在链路层中流量控制机制和可靠传输机制是交织在一起的
  • 差错检测(error detection)
接收端检测到差错(信号衰减和噪声会引起差错),通知发送端重传或者直接丢弃帧
自动重传请求(ARQ)方式:出错直接丢弃,发送方超时重传。该方法只需返回很少控制信息就能确认所发数据帧是否被正确接收。
传统的自动重传请求分为停等式ARQ、后退N步ARQ、选择性重传ARQ。后两者是滑动窗口技术与请求重发技术的结合,又称连续ARQ协议(窗口尺寸足够大时,帧在线路上可以连续的流动)
  • 差错纠正(error correction)
前向纠错(FEC)方式:接收端不但能发现差错,而且能确定二进制数码的错误位置
  • 全双工和半双工通信控制
全双工:链路两端结点同时双向传输
半双工:链路两端结点交替双向传输
 
链路层的主体部分是在网络适配器(network adapter) 中实现的,网络适配器有时也称为网络接口卡(Network Interface Card,NIC) 。
位于网络适配器核心的是链路层控制器,该控制器通常是一个实现了许多链路层服务(成帧、链路接入、差错检测等)的专用芯片。
链路层控制器的许多功能是用硬件实现的:Intel的8254x控制器实现了以太网协议;ALheros AR5006控制器实现了802. 11 WiFi协议
发送端:
    将数据报封装成帧
    增加差错检测比特,实现可靠数据传输和流量控制等
接收端:
    检测差错,实现可靠数据传输和流量控制等
    提取数据报,交付上层协议实体
原文地址:https://www.cnblogs.com/yangyuliufeng/p/10713760.html