计算机网络 数据链路层

1.使用点对点信道的数据链路层

1.1.数据链路和帧

  • 链路:一个节点到相邻节点的一段物理线路
  • 数据链路:链路+协议的硬件和软件(网络适配器来实现协议)
  • 早期的数据通信协议层叫做通信规程
  • 数据链路层的协议数据单元——帧
  • 点对点信道的数据链路层通信步骤:
    1. 将网络层交下来的ip数据报添加首部和尾部封装成帧
    2. 发送到另一节点的数据链路层
    3. 检错(上交或丢弃)

1.2.三个基本问题:封装成帧、透明传输、差错检测

1.2.1.封装成帧

  • 所有在互联网上传送的数据都以ip数据包报为传送单位
  • 在帧的数据部分添加首部和尾部,构成完整的帧
  • 首尾部作用:帧定界

1.2.2.透明传输

  • 字符填充、字节填充

  • 控制字符:SOH(首)、EOT(尾)

  • 转义字符:ESC

1.2.3.差错检测

  • 比特差错:1变0,0变1
    • 误码率BER:传输错误的比特占传输比特总数的比率
    • 循环冗余检验CRC
    • 帧检验序列FCS:为了检错而添加的冗余码
    • 数据链路层不提供可靠传输(只检不修)
  • 传输差错:帧丢失、帧重复、帧失序
    • 解决方式:帧编号、确认、重传机制
  • 对于通信质量良好的有线传输链路,数据链路层协议不使用用确认和重传
  • 对于通信质量不好的无线传输链路,数据链路层协议使用用确认和重传

2.点对点协议PPP

2.1.PPP应满足的需求

  • 简单、封装成帧、透明、多层网络协议、多种类型链路、差错检测······
  • 多层网络协议:同一条物理链路上同时支持多种网络层协议的运行

2.2.PPP协议的组成

  • 封装IP数据报到串行链路的方法
  • 链路控制协议LCP
  • 网络控制协议NCP

2.3.PPP协议的帧格式

  • 7E表示开始或结束
  • 连续两帧之间只需要1个标志字段
  • 如果出现连续两个7E,则表示这是一个空帧,应当丢弃
  • 首部5字节 F A C 协议(2)
  • 数据部分(IP数据报)不超过1500字节
  • 尾部3字节 FCS(2) F

2.3.1.字节填充(针对信息部分)

  • 7D转为7D5D
  • 7E 转为7D5E

2.3.2.零比特填充

  • 连续出现5个1,就在后面加0

3.使用广播信道的数据链路层

3.1.局域网的数据链路层

  • 局域网的特点:网络被一个的那位所用用,且地理范围和站点数目有限
  • 共享信道在技术上有两种方法
    • 静态划分信道
    • 动态媒体介入控制(多点接入)
    • 随机接入:所有用户可随机发送信息,会产生碰撞,必须有解决碰撞的网络协议
    • 受控接入:用户不能随机的发送信息,必须服从一定的控制,轮询或者探询方式
  • 局域网的数据链路层被分为两个子层
    • 逻辑链路控制L L C
    • 媒体介入控制MAC
  • 适配器(网卡):与外界局域网的通信所需要的

3.2.CSMA/CD协议

  • 译:载波监听多点接入/碰撞检测
  • 为了通信方便,以太网采取了两种措施
    • 无连接方式:不必先建立连接就可以直接发送数据。
    • 不编号,也不要求发回确认
    • 尽最大努力交付,不可靠的交付
    • 曼彻斯特编码信号
  • 协议要点:多点接入,载波监听,碰撞检测
    • 碰撞检测时间,要考虑最坏情况,所以取往返时间或者二倍的单程时间
  • 半双工通信

3.3.集线器拓扑

  • 集线器特点:
    • 使用集线器的以太网在逻辑上仍是一个总线网,各站共享逻辑上的总线,使用的还是CSMA/CD协议,并在同一时刻至多只允许一个站发送数据
    • 一个集线器有多个接口
    • 集线器工作在物理层
    • 集线器本身必须非常可靠

3.4.MAC层

  • 物理地址,硬件地址,MAC层
  • 现在实际使用的都是6字节
  • 帧格式
    • 662 + (46-1500)+4
    • 目的地址,源地址,类型+数据报+FCS

3.4.1.在数据链路层拓展以太网(交换机)

3.4.1.1.以太网交换机的特点

  • 多接口网桥
  • 全双工方式
  • 并行性
  • 独占传输媒体,无碰撞的传输数据
  • 内部有交换表,通过自学习算法建立
  • 有存储器,缓存功能,存储转发
  • 也有一些交换机采用 直通,不缓存,直接转发,提高了转发速度(不检查差错)
  • 生成树协议STP:不改变网络的实际拓扑,但从逻辑上切断了某些链路,使得从一台主机到所有其他主机的路径是无环路的树状结构

3.4.2.虚拟局域网Vlan

  • vlan是局域网给用户提供的一种服务,不是新型局域网
  • vlan是用户和网络资源的逻辑组合

Leave a Comment