计算机网络之数据链路层
一:数据链路层
- 概念:
1、链路:一条点到点的屋里现路段,没有其他的交换节点
2、数据链路:除了物理线路,还有通信协议来控制这些数据的传播(网线不是数据链路,网线接网卡就是数据链路)
- 功能:
链路管理、帧同步、流量控制、差错控制、数据和控制信息分开、透明传输和寻址
- 三个基本问题:
1、封装成帧
1.帧:数据链路层的传输单位
2.结构:在ip数据包的基础上加上帧头,帧尾和检验
3.MTU:在数据链路上,帧的最大长度
2、透明传输
1.针对PPP协议(面向字符):加转义字符,区别于帧头或帧尾,解决透明传输的问题
2.针对HDLC协议(面向比特):用字节填充
零比特填充:有5个连续的1,就在后面插入一个0
注:接收端务必删除转义字符再传给网络层
3、差错控制(循环冗余检验CRC){帧检验出错,拒绝接受但不会联系重发}
特点:循环冗余校验CRC不能检测错误的地方,但是差错检测出错率少
二:流量的控制和可靠传输机制
- 滑动窗口机制:
1、变量设置
1.发送端有一个发送窗口SWS
2.接收端有一个接收窗口RWS
3.发送窗口的大小:在没有收到确认的情况下,发送端最多可以发送帧的个数(停止等待协议中SWS=1)
4.接收窗口的大小:表示能接收帧的序号的上限
2、发送窗口
1.发送窗口的左侧是已经发送且确认了的帧,右侧是不可以发送的帧,中间是待发送或者已发送伟确认的帧
2.发送一个帧但未收到确认,发送窗口不能向右移动,只有确认了之后才能向右滑动
3.发送窗口里所有的帧都发出去但都未被确认,此时不可以发送
3.接收窗口
1.可以捎带确认
2.连续收到几个帧,只需要确认最后一个帧
3.接收窗口移动,接收窗口才能移动
- 停止等待协议:
发送接收窗口都为1
超时重传,确认之后才发下一个(ARQ自动重传请求)
注:发送完一个分组,要保留该分组的副本;分组必须编号;超时计时器要比分组传输往返时间长一点
使用的信道:
点对点通信,广播信道
点对点通信:PPP协议(用户通过电话线上网就是使用PPP协议)
包括:网络控制协议NCP,链路控制协议LCP(身份验证),高级数据链路控制协议HDLC
帧头帧尾都以7E为标志,有两个字节的协议字段
- 载波监听多路访问CSMA
发送数据前,要监听总线,总线空闲则发送,总线忙就隔一段时间等待再重新监听总线确定是否发送
CSMA/CD(以太网):
1、前提:在总线上以广播的形式发送
2、CD碰撞检测:一边发送一边检测,碰撞后停止发送
3、特点:不需要提前连接;不需要编号也不需要对方确认(不可靠传输);只能半双工通信
4、争用期:时间为2T;以太网取51.2us;如果发生冲突一定是在前64个字节(最短有效帧长为64字节,不够要填充)
CSMA/CA(局域网):
1、原因:无线局域网不能用CSMA/CD,因为CSMA/CD要不间断检查,在无线局域花销太大
2、CA碰撞避免:增加停止等待协议
3、帧间间隔IFS:所有的站发送完成之后要等待一段时间再发送(分优先级,优先级高的时间短)
4、特点:检测到信道空闲依然要等待一段间隔再发;一定要收到ACK确认,否则重传