Transport Layer——传输层

  • 传输层(运输层)

  1. 数据链路层为结点之间提供逻辑通信,网络层为主机之间提供逻辑通信,而运输层为应用程序(主机中的进程)之间提供端到端的逻辑通信,用一个16位端口号(65535个)来标志一个端口,端口号只具有本地意义

    • 服务器端使用的端口号分为两类

      • 熟知端口号(系统端口号)数值为0~1023

      • 登记端口号数值为1024~49151,必须在IANA登记防止重复

    • 客户端使用的端口号(短暂端口号)数值为49152~65535

  2. 运输层两个主要协议TCP和UDP都有复用和分用,以及差错检测功能

    • UDP 用户数据报协议,主要特点是:

      (1)无连接所以不需要套接字

      (2)尽最大努力交付

      (3)面向报文

      (4)无拥塞控制

      (5)支持一对一、一对多、多对一和多对多的交互通信

      (6)首部开销小,只有四个字段:源端口、目的端口、长度、校验和

    • TCP 传输控制协议,主要特点是:

      (1)面向连接

      (2)提供可靠交付的服务

      (3)面向字节流

      (4)提供全双工通信

      (5)每一条TCP连接只能有两个端点(只能是一对一的)

      • TCP连接的端点叫做套接字(socket),端口号拼接到IP地址即构成了套接字,即:

        套接字socket=(IP地址:端口号)

        TCP连接::={socket1,socket2}={(IP1:port1),(IP2:port2)}

  3. 可靠传输的工作原理

    • 停止等待协议,每发送完一个分组就停止发送,等待对方的确认,收到确认后再发送下一个分组,分组需要编号;如果等待一段时间(根据RTT计算)仍没有收到确认,则超时重传,若接收方重复收到分组,就丢弃该分组,但同时还要发送确认(运输层不使用停止等待协议,效率低,但使用超时重传)

    • 连续ARQ协议,发送方维持一个发送窗口,位于发送窗口内的分组可以连续发送出去不必等待确认,接收方采用累计确认,对按序到达的最后一个分组进行确认

    • MSS 最大报文段长度=TCP报文长度-TCP首部长度,默认为536字节,所有在互联网上的主机至少都应能接受536+20(固定首部长度)=556字节,规定MSS的原因是防止TCP报文段过小导致降低网络利用率、过大导致网络层分片

  4. 可靠传输的实现

    • TCP的流量控制,是点对点通信量的控制,让发送方的发送窗口不超过接收方的接收窗口(每一方都有发送窗口和接收窗口,TCP的窗口单位是字节,不是报文段)

    • TCP的拥塞控制,是全局性的过程,涉及到所有主机、路由器、以及与降低网络传输性能有关的所有因素,防止过多的数据注入网络,发送方让自己的发送窗口取拥塞窗口(cwnd)和接收方的接收窗口(rwnd)中较小的一个(窗口值动态变化),采用四种算法(慢开始、拥塞避免、快重传、快恢复)

    • TCP的运输连接管理,分为三个阶段(连接建立、数据传送、连接释放)

    • ACK=1的时候,确认号字段才有效,若确认号=N,则表明到序号N-1为止所有的数据已正确收到,希望发送方下一个报文段的第一个数据字节的序号为N

    • TCP的计时器有四种,分别是重传计时器、持续计时器、保活计时器、时间等待计时器

猜你喜欢

转载自blog.csdn.net/m0_48066270/article/details/106307040