zoukankan      html  css  js  c++  java
  • 链路层Introduce

    1.网络层的数据单元是IP数据报,数据链路层的工作是将IP数据报封装为帧frame,发往链路;

    当链路层接受到帧的时候,将IP数据报提取出,送往网络层。

    frame struct:

    [frame head|  IP data |frame tail]

    2.传输控制

    a>差错控制

    反馈重发:检查差错编码(奇偶校验码orCRC码);若出错,重发,正确为止。

    b>计时器timer

    为避免发送失败导致的传输过程停滞,引入timer。发送出一帧,同时启动timer,在限定的时间内

    未收到返回信息,则认为帧出错or丢失,重发。

    c>序号

    防止多次接受同一帧并传到网络层,编号用来区分新帧还是重发帧。

    3.流量控制(发送方)

    必要性:由于收发双方的设备工作速率和缓存存储空间的差异,可能导致帧淹没的情况出现,造成帧丢失。

    4.以太网帧

    |dest MAC|src MAC| type |   data   |CRC

    |       6       |      6      |   2   |   46-1500|4

    5.SLIP协议(串行线路IP)

    a>Rules:

    帧开始和结束处都用END(0xc0);

    IP数据报中的END在帧用0xdb,0xdc代替,ESC在帧中用0xdb,0xdd代替

    b>缺陷:

    无法将本端IP传递给对端

    无type字段,线路中存在SLIP时不能使用其他协议

    无checksum,通过上层协议发现错误

    6.PPP协议

     作用:为2个对等节点之间IP流量传输提供封装协议,用来同步调制

    实质:fix SLIP协议的缺陷

      支持异步校验(8位,无奇偶校验)和同步链接

      支持LCP双方协商(链路)

      支持NCP双方协商(网络)

    与SLIP不同:

      PPP以0x7e开始和结束,then 0xff 的地址字节,then 0x03控制字节

      data中含有0x7e时,用0x7d,0x5d来替代

    7.MTU 最大传输单元

    当IP数据报的长度大于链路的MTU的时候,网络层将数据报分片,小于MTU

    接口MTU:允许发送的最大长度

    路径MTU:2台主机路径最小的MTU值,此MTU不对称。

    可用netstat -in 查看

  • 相关阅读:
    使用SharePoint PeopleEditor控件
    python快排的三种写法
    js获取浏览器屏幕高度、宽度等
    Spring总结> 第一结 概述
    js设置body高度、宽度为浏览器窗口高度、宽度
    简单的Spring调用jdbc.porperties配置信息,以mysql为例
    SSM(Spring + Spring MVC + MyBatis)整合
    【原创】MS SQL2005 存储过程分页(简洁型)后续完善更新中......
    【转载】动态sql语句基本语法
    Provider模式Demo
  • 原文地址:https://www.cnblogs.com/chieh/p/5269432.html
Copyright © 2011-2022 走看看