zoukankan      html  css  js  c++  java
  • 【计算机网络】第三章 传输层(2)

    三.UDP协议

    1. UDP:用户数据报协议

    1)基于Internet IP协议增加了复用/分用功能和简单的错误校验

    2)提供“尽力而为”的服务:没有数据恢复,可能丢失、非按序到达

    3)无连接:不需要握手,每个UDP段的处理独立于其他段

    2. UDP存在的价值

    1)不需连接 -> 减少延迟

    2)实现简单 -> 无需维护连接状态,头部开销少

    3)没有拥塞控制 -> 应用可更好地控制发送时间和速率

    3. UDP的应用:流媒体应用、DNSSNMP

    4. UDP实现可靠数据传输

    1)在应用层增加可靠性机制

    2)应用特定的错误回复机制

    5. UDP校验和checksum:监测UDP在传输中是否发生错误

     

    1)发送方:将段的内容视为16-bit整数,计算所有整数的和,进位加在后面,得到的值按位求反,得到校验和,放入校验和字段

    2)接收方:计算所收到段的校验和,将其与校验和字段进行对比,不相等则有错误,相等则没有检测出错误

    3)示例:

     

     

    四.可靠数据传输原理

    1. 可靠数据传输协议

    1)信道的不可靠特性决定了可靠数据传输协议的复杂性

    2)提供服务:向应用层提供可靠信道,向传输层提供正确交互

     

    (3)基本结构:接口

     

    (4)渐进地设计可靠数据传输协议的发送方和接收方

    (5)只考虑单向数据流动,但控制信息双向流动

    (6)利用状态机(FSM)刻画传输协议

     

    2. Rdt 1.0:可靠信道上的可靠数据传输

    (1)底层信道完全可靠:不会发生错误,不会丢弃分组

    (2)发送方和接收方的FSM独立

     

    3. Rdt 2.0:产生位错误的信道

    (1)利用校验和检测底层信道位错误

    (2)从错误中恢复

      ·确认机制(ACK):接收方显式地告诉发送方分组已正确接收

      ·NAK:接收方显式地告诉发送方分组有错误,发送方收到后重传分组

    (3)基于该重传机制的Rdt协议称为ARQ

    (4)引入的新机制:差错检测、接收方反馈控制消息ACK/NAK、重传

    (5)FSM规约

     

    (6)缺陷

      ·ACK/NAK消息被破坏

      ·重传时产生重复分组

    4. Rdt 2.1

    (1)改进Rdt 2.0

      ·为ACK/NAK增加校验和,检错纠错

      ·添加额外的控制消息告诉发送方错在何处

      ·发送方给每个分组增加序列号,接收方丢弃重复分组

    (2)接收方FSM

     

    5. Rdt 2.2:无NAK消息协议

    (1)ACK消息中显式地加入被确认分组地序列号

    (2)告知发送方最后一个正确接收的分组

    6. Rdt 3.0:增加定时器

    (1)如果信道既可能发生错误,也可能丢失分组,则等待合理时间后重传

    (2)ACK并未丢失,只是延迟,则接收方丢弃重复分组即可

     

    (3)时延过短,可能产生早熟

    (4)性能分析:正确工作,性能较差

     

  • 相关阅读:
    Elastic Search查询DSL的生成器
    清除Git仓库未托管的文件
    在Asp.net Core 中配置HTTPS支持
    VUE3的新构建工具Vite使用简介
    文档驱动 —— 表单组件(六):基于AntDV的Form表单的封装,目标还是不写代码
    文档驱动 —— 查询组件:使用 vue3.0 的新特性,重构代码
    文档驱动 —— 表单组件(五):基于Ant Design Vue 的表单控件的demo,再也不需要写代码了。
    文档驱动 —— 表单组件(四):基于Ant Design Vue封装一些表单域控件
    文档驱动 —— 表单组件(三):基于原生html的表单组件demo
    文档驱动 —— 表单组件(二):meta生成器,告别书写代码
  • 原文地址:https://www.cnblogs.com/zhangyushuqing/p/9795958.html
Copyright © 2011-2022 走看看