zoukankan      html  css  js  c++  java
  • 第三章 数据链路层

    数据链路层并不关心物理层的内容.

    只关心帧的开头结尾和校验值,接收发送.

     

    数据链路层的信道类型

    数据链路层使用的信道主要有以下两种类型:
        ■点对点信道。这种信道使用一对一的点对点通信方式。
        ■广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。
     

    链路和数据链路的区别

    链路就是一条点到点的物理线路段.
    数据链路除了物理线路外,还必须有通信协议来控制这些数据的传输.物理链路+实现这些协议的硬件和软件.
     
    帧 帧头 帧尾 物理层地址 校验值
    物理层是比特,数据链路层是帧.
     

    数据链路层要解决的三个问题:

    1.封装成帧 进行帧界定 SOH,EOT开始结束
    2.透明传输 若出现帧标志,即数据中若出现SOH和EOT和ESC,则往前插入ESC.并不是所有的封装成帧都是这些控制字符.
    3.差错检测 只负责无差错的接收,不对就扔.帧检验序列,循环冗余检验(CRC)求出余数FCS帧检验序列.判断的数据加上FCS然后CRC如果余数为0,则没有错.常用的差错检测算法.但是不知道哪错了.
     

    PPP协议

    点对点通信协议 解决那三个问题.面向字节,长度都是整数字节,8比特=1字节.支持实名认证,账号密码.

    封装成帧:

    透明传输:

    如果是字节流 转义 字节填充
    ■将信息字段中出现的每个0x7E字节转变成为2字节序列(0x7D,0x5E)。
    ■若信息字段中出现一个0x7D的字节,则将其转变成为2字节序列(0x7D,0x5D)。
    ■若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时将该字符的编码加以改变。
    如果传的不是字节流 0比特填充法 五个连续1后面填一个0.
     
    PPP协议不使用序号和确认机制(错了直接丢,不返回通知)
    PPP协议之所以不使用序号和确认机制是出于以下的考虑:
        ■在数据链路层出现差错的概率不大时,使用比
    较简单的PPP协议较为合理。
        ■在因特网环境下,PPP 的信息字段放入的数据是IP数据报。数据链路层的可靠传输并不能够
    保证网络层的传输也是可靠的。
        ■帧检验序列FCS字段可保证无差错接受。
     

    以太网

    以太网就是局域网的一种,满足CSMA/CD
    广播信道和集线器差不多,两台电脑联系,多台电脑收到.
     

    CSMA/CD

    局域网 使用广播信道的数据链路层协议  CSMA/CD 载波监听多点接入/碰撞检测
    “多点接入”表示许多计算机以多点接入的方式连接在一 根总线上。
    “载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
    “载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。
    “碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小. 当两个发送信号冲突就会让电压变大,然后广播互相检测到后都停止当前工作等待.
     

    重要特性

    使用CSMA/CD协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信),如果使用hub(集线器)也一样。
    每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。
    这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率(因为会发生碰撞)。
    对于10M带宽,只发送大于等于64字节的帧,小于64字节的就是无效的.也就是有一个争用期.
    解决碰撞冲突的办法: 二进制指数类型退避算法
     
    以太网与数据链路层的两个子层
    逻辑链路控制LLC子层(已经取消)
    媒体接入控制MAC子层
     

    MAC帧

    MAC地址又叫物理地址,48位二进制,前面24位代表厂家
    MAC帧格式
     
    MAC帧必须达到64字节,如果数据没有46字节就会填充字段.
    前同步码和帧开始定界符不属于MAC帧.
    如果不是整数个字节的帧就是无效的.
     
    帧间最小的时间间隔是9.6us,相当于96bit的发送时间,这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备.
     

    扩展优化以太网

    在物理层扩展

    距离扩展 
    100M 扩展到几公里用光纤 光电调制解调器
    集线器级联 使网络中计算机数量增加 组建了一个大的冲突域.

    在数据链路层优化

    使用网桥,网桥工作在数据链路层,具有过滤帧的功能,会根据mac允不允许其通过.有学习记忆功能,必须有第一次发送的目的地址才能判断其允不允许.
    后面网桥用的多了,很多口了,直接连电脑了,就变成交换机了.
    所以交换机的前身就是网桥.交换机是存储转发,可以排队,可以用全双工通信,带宽独享,安全,端口的mac地址决定由这个口发出去.
     

    高速以太网

    100Base-T 100M带宽 可全双工 帧格式一样 支持CSMA/CD,但如果用这个就不能全双工了.
    吉比特以太网 1000Base-T 可全双工 帧格式一样 支持CSMA/CD,但如果用这个就不能全双工了.
    10吉比特以太网 1000Base-T 可全双工 帧格式一样 支持CSMA/CD,但如果用这个就不能全双工了.
    可扩展的,灵活的,易安装的
    配置举例
  • 相关阅读:
    LeetCode OJ:Merge Two Sorted Lists(合并两个链表)
    LeetCode OJ:Remove Nth Node From End of List(倒序移除List中的元素)
    LeetCode OJ:Find Peak Element(寻找峰值元素)
    LeetCode OJ:Spiral MatrixII(螺旋矩阵II)
    LeetCode OJ:Longest Palindromic Substring(最长的回文字串)
    利用生产者消费者模型实现大文件的拷贝
    Linux下用c语言实现whereis.
    Huffman编码实现文件的压缩与解压缩。
    修改MySQL数据库存储位置datadir
    python中pickle简介
  • 原文地址:https://www.cnblogs.com/2462478392Lee/p/14225911.html
Copyright © 2011-2022 走看看