zoukankan      html  css  js  c++  java
  • 计算机网络05 传输层

    传输层

    功能:为相互通信的进程提供逻辑通信

    OSI和DOD模型

    传输层两个协议

    • TCP传输控制协议
      需要将要传输的文件分段 传输 建立回话 可靠传输 流量控制
    • UDP用户数据报协议
      一个数据包就能完成数据通信 不分段 不需要建立会话 不需要流量控制 不可靠传输

    查看会话 netstat -n
    查看会话来源 netstat -nb

    传输层协议和应用层协议之间的关系

    常见的应用层协议使用的端口

    • http=TCP+80
    • https=TCP+443
    • RDP=TCP+3389 远程桌面
    • ftp=TCP+21
    • 共享文件夹=TCP+445
    • SMTP=TCP+25
    • POP3=TCP+110
    • telnet=TCP+23
    • SQL=TCP+1433
    • DNS=UDP+53

    服务和应用层协议之间的关系

    • 服务使用TCP或UDP的端口真挺客户端请求
    • 客户端使用IP地址定位服务器
      使用目标端口定位服务
    • 可以再服务器网卡上设置只开放必要的端口
      实现服务器网络安全

    如何查看服务侦听的端口

    • netstat -an
    • netstat -n 查看建立的会话
    • netstat -nb 查看建立会话的进程
    • telnet 192.168.80.100 1189 测试远程计算机某个端口是否打开

    传输层的端口

    • 协议号

      • TCP 6
      • UDP 17
      • IGMP 1

    端口 0-65535

    • 熟知端口 0-1023

    • 登记端口 1024-49151

    • 客户端端口 49152-65535

      netstat -n |find "ESTABLISHED"
      查询建立连接的端口

    UDP主要特点

    • UDP是无连接的,即发送数据前不需要简历连接
    • UDP使用尽最大努力交付,即不保证可靠交付,也不使用拥塞控制
    • UDP是面向报文的
    • UDP没有拥塞控制,适合多媒体通信的要求
    • UDP支持一对一、一对多、多对一和多对多的交互通信
    • UDP的首部开销小,只有8个字节

    用户数据宝协议 UDP

    UDP的首部

    TCP主要特点

    • TCP是面向连接的传输层协议
    • 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的(一对一)
    • TCP提供可靠交付的服务
    • TCP提供全双工通信
    • 面向字节流


    将要传输的数据转换为字节流,按照顺序分块在缓存中存放

    TCP如何实现可靠传输

    上述机制被称为自动重传请求,ARQ


    要想提高信道利用率,就要提升传输时间 TD

    流水线传输

    • 发送方可连续发送多个分组,不必没法玩一个分组就停顿下来等待对方确认
    • 由于信道上一直有数据不间断地传送,这种传输方式可获得很高的信道利用率

    累计确认

    接受方一般采用累计确认的方式

    • 优点:容易实现,信道利用率高
    • 缺点:不能像发送方反应出接收方已经正确收到的所有分组的信息

    TCP报文段的首部格式

    • 固定部分(20字节)

      • 序号
        分段的数据包开头的第一个字节在字节流中排第几,序号就是几
      • 确认号
        让发送者下一个分段发送第n个字节
      • 数据偏移
        记录数据包从多少位开始有数据
        四位二进制,最大15
        一位代表4个字节
        最大60(固定20字节,所以可变长度最多40字节)
      • 记录
        • URG
          如果是1的话可以不排队,直接传输停止
        • ACK
          0的话确认号无效,1有效
        • SYN
          建立会话请求
        • PSH
          为1的话在接收端可以插队,直接放到最前
        • RST
          若为1,说明TCP会话发生了严重的错误,要中断
        • FIN
          传完要释放连接的时候FIN设为1
      • 窗口
        接受缓存的最大长度
    • 可变部分

    TCP具体如何实现可靠传输

    1. 以字节为单位的滑动窗口技术

    超时重传时间的选择

    TCP没法送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的重传时间到了但是还没有收到确认,就要重传这段报文

    超时重传时间应率大于上面的出的加权平均往返时间RTTs

    RFC2988推荐的α值为1/8
    越小的话说明设置的越精确

    TCP如何实现流量控制





    TCP如何避免网络拥塞

  • 相关阅读:
    Jzoj4765 Crisis
    Jzoj4764 Brothers
    Jzoj4764 Brothers
    Jzoj4756 幻象
    Jzoj4756 幻象
    Jzoj4755 快速荷叶叶变换
    Jzoj4755 快速荷叶叶变换
    力扣算法题—059螺旋矩阵
    力扣算法题—058最后一个单词长度
    力扣算法题—057插入区间
  • 原文地址:https://www.cnblogs.com/laoduancode/p/13284769.html
Copyright © 2011-2022 走看看