计算机网络(数据链路层)

369 阅读3分钟

数据链路层实现的3个基本功能

数据链路和帧

封装成帧

透明传输

发送端数据链路层会将原始数据加上转义字符,而接收端会根据转义字符从知道真正的结束符和开始符

差错检测

FCS总结就是发送端和接收端用同一个除数,然后被除数加上除数长度-1个0,然后求余数

点到点信道数据链路层

特点

  1. 简单
  2. 封装成帧
  3. 透明传输
  4. 差错检测
  5. 支持多种网络层协议
  6. 多种类型链路 (光纤,铜线,同步传输,异步传输,串行,并行)
  7. 检测连接状态
  8. 最大传送单元 最大传输单元 1500字节
  9. 网络层地址协商 能够为拨号的一段分配ip地址,子网掩码,网关和dns
  10. 数据压缩协商

ppp协议的组成

  1. HDLC一般是用来把并行传输的数据封装为串行数据,短距离可以用并行,但是长距离需要用串行,因为这样成本就比较低了
  2. LCP用来点到点之间协商一些参数,比如身份验证
  3. NCP网络控制协议为了封装上层是用的什么协议

PPP协议的帧格式

同步传输

注意: 短距离传输的时候会有专门的一根线路进行同步时钟频率,而长距离就是专门有一段同步时钟进行传输

异步传输

总结: 异步传输就是1个字节进行最小单位传输,中间用空闲位转0进行知道开始,从地位转到空闲知道结束

ppp协议的填充方式

  1. 异步传输,用字节填充
  2. 同步传输,用0比特填充
异步传输

同步传输

广播信道

协议: 带冲突检测的载波侦听多路访问 (CSMA/CD) 以太网

以太网最短帧

总结: 最短帧就是2倍的发送距离所用的时间乘以发送速率

以太网发生碰撞解决办法---退避算法

总结: 每次2方都取[0 , 1 , (2^k - 1)]中的随机数,k = 冲突次数,当次数大于10那就当10,当k大于15就丢帧并报告

以太网帧格式

www.cnblogs.com/larry-luo/p…

注意:

  1. 以太网使用的是曼彻斯特编码,只要发现没有跳变就认为帧结束,前导码是同步时钟
  2. 当数据字段小于46字节的时候,数据链路层会在数据字段加入一个整数字节的填充字段,用于保证以太网mac帧长不小于64字节,然后大于1500字节也会认为无效,整体mac帧长度范围为(64-1518)
  3. 帧的长度不是整数字节会认为无效
  4. 以太类型字段和可选的用于说明VLAN成员关系和传输优先级的IEEE 802.1QVLAN 标签
以太帧类型

以太帧有很多种类型。不同类型的帧具有不同的格式和MTU值。但在同种物理媒体上都可同时存在。

  1. 以太网第二版或者称之为Ethernet II 帧,DIX帧,是最常见的帧类型。并通常直接被IP协议使用。
  2. Novell的非标准IEEE 802.3帧变种。
  3. IEEE 802.2逻辑链路控制(LLC) 帧
  4. 子网接入协议(SNAP)帧

以太网信道利用率

有冲突的情况

理想情况

网卡工作的流程

  1. cpu将数据通过总线并行通讯发送给网卡软件
  2. 网卡驱动软件接收到数据将其封装成帧
  3. 驱动软件并监听(CSMA/CD)信道是否有冲突
  4. 驱动软件将帧交给物理层
  5. 物理层进行曼彻斯特编码成电信号然后发送

生成树协议

生成树协议为了消除广播风暴,当前路径发生故障时,激活冗余备份链路,恢复网络的连通性

具体协议详解: blog.csdn.net/qq_34104227…