zoukankan      html  css  js  c++  java
  • 计算机网络——数据链路层

    • 信道类型

      1. 点到点信道(一对一的点对点通信方式)
      2. 广播信道(主机多,需要专用的共享信道协议来协调主机的数据发送)
    • 三个基本问题

      1. 封装成帧(数据前后加帧头帧尾)

        但可能会出现以下问题

      2. 透明传输

        字节填充/字符填充:发送端在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(16进制数1B),接收端的数据链路层在数据送往网络层之前删除插入的转义字符。

      3. 差错检验(传输过程中1变0,0变1)

        循环冗余检验CRC(只能做到无差错接收)

        1. 根据多项式写出除数(例如P(x)=x^4+x+1, 除数P=10011(n位数))
        2. 被除数后加(n-1)个0
        3. 被除数➗除数(相同为0,不同为1)
        4. 所得余数R作为FCS(帧检验序列)
        5. 接收端计算原数据加上FCS除以P,若余数为0则无差错,否则丢弃

        二进制模2除法

        https://blog.csdn.net/weixin_39450145/article/details/83987836

    • 两种情况下的数据链路层

      1. 使用点对点信道的数据链路层(广域网)

        • LCP(身份验证和欠费管理)

        • PPP协议帧格式

          标志字段 F=0X7E

          地址字段 A=0XFF

          控制字段 C=0X03(地址字段与控制字段为固定部分)

        • 字节填充(此时信息部分是以字节为单位的)

          0X7E --> (0X7D,0X5E)

          0X7D -->(0X7D,0X5D)

          ASCII控制字符即小于0X20字符,前面加入0X7D

        • 0比特填充(此时信息部分是二进制流)

          发送端只要发现5个连续的1,则填充一个0

      2. 使用广播信道的数据链路层(局域网)

        • 拓扑类型:星形网,总线网,环形网,树形网

        • 以太网(总线型):具有广博特性的总线上实现了一对一通信,这种方式不安全

        • 带冲突检测的载波监听(CSMA/CD):多点接入、载波监听

        • 碰撞检测(冲突检测):边发送数据边检测电压,单程端到端传播时延为τ,2τ时间内可能碰撞

        • CSMA/CD只能进行半双工通信不能进行全双工通信

        • 争用期:2τ,若2τ之内为碰撞,则之后也不会

        • 以太网的争用期:64byte(最短有效帧长)

        • 二进制指数类型退避算法

          基本退避时间:2τ

          k = min [重传次数,10]

          从(0, 1, ……,2^k-1)中随机取一数记为r,重传所需时延即r倍的2τ

          重传达16次,则丢弃该帧

    • 以太网

      • 2个标准:DIX Ethernet V2、IEEE 802.3
      • 2个子层:LLC(Logical Link Control)、MAC(Medium Access Control)
      • 星形拓扑结构:物理上是星形、逻辑上是总线型
      • 信道利用率:a=t/T0(t为单程端到端时延,包括无数个2τ争用期,T0为发送时间),a越小,碰撞检测越快,信道利用率越高
      • MAC层:硬件地址=物理地址=MAC地址(48位),前24位为厂家信息,后24位厂家自定义
      • 扩展以太网:透明网桥、生成树算法(避免产生回路)

    补充:交换机和集线器的区别

    1. 集线器工作在物理层,交换机工作在数据链路层;
    2. 集线器工作原理广播形式,无论哪个端口收到数据后,都要广播到所有端口,接入设备较多时,网络性能受到很大的影响;交换机根据MAC地址转发数据包;
    3. 集线器内部采用总线型拓扑,CSMA/CD协议,半双工模式下,所有数据包的发送与接收为单向;交换机全双工通信
  • 相关阅读:
    在CentOS 6.4中编译安装gcc 4.8.1
    uc_client是如何与UCenter进行通信的
    使用Discuz关键词服务器实现PHP中文分词
    新浪博客
    simple_html_dom使用小结
    提高网站权重,快速增加百度收录量
    TokuDB的特点验证
    Linux shell判断文件和文件夹是否存在
    比较满意设计的一次作业 JDBC宠物管理
    乱码问题
  • 原文地址:https://www.cnblogs.com/rainbow-ran/p/12687080.html
Copyright © 2011-2022 走看看