计算机网络(传输层)

    技术2025-10-06  3

    传输层

    传输层功能、协议、特点,网络层功能上差别,端口号

    端到端的通信,向它上面的应用层提供通信服务,面向通信部分的最高层,用户功能中的最低层。 功能:

    提供应用程序间的逻辑通信。差错检测:对收到的报文的首部和3数据部分均进行差错检测。提供无连接(UDP)或面向对象的服务(TCP)。复用和分用:复用,发送方不同的应用程序都可以使用同一个传输层协议传输数据。分用,接收方的传输层在剥去报文的首部后能够把这些数据正确交付到目的的应用程序。

    端口:传输层服务访问点。 软件端口:应用层的各种协议进程与传输实体进行层间交互的一种地址。

    传输协议: 面向连接的 TCP(传输控制协议) 无连接的 UDP(用户数据报协议 )

    ★★★ 用户数据报协议 UDP 特点、数据报格式、校验

    不可靠的逻辑信道 只在 IP 的数据报服务上增加了端口的功能(为了找到进程)和差错检测功能。

    特点:

    无连接尽最大努力交付面向报文没有拥塞控制,适合多媒体通信的要求支持一对一、一对多、多对一和多对多的交互通信首部开销小,只有 8 个字节

    结构:

    UDP 校验 伪首部仅用于验证校验和,既不向下传送,也不向上递交。 两个数二进制反码求和运算后,当无差错时其结果应该为全 1,否则表示有差错出现,丢弃这个 UDP 报文。

    二进制反码求和运算 先求反码再相加,如果最高位产生进位则要对结果加 1。

    ★★★ 传输控制协议 TCP 报文格式

    全双工的可靠的逻辑信道。 TCP 连接的端点叫做套接字或插口。 首部的最小长度是 20 字节。

    结构:

    特点:

    面向连接的传输层协议,不提供广播和多播服务。每一条 TCP 连接只能有两个端点,每一条 TCP 连接只能是点对点的。可靠交付。TCP 提供全双工通信。报文段头部长,传输开销大。
    停止等待协议,连续 ARQ 协议,信道利用率的计算,可靠通信的实现,选择确认协议

    停止等待协议:每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。 优点:简单。 缺点:信道利用率太低。

    自动重传请求 ARQ:自动重传请求,重传的请求是自动进行的,接收方不需要请求发送方重传某个出错的分组。

    连续 ARQ 协议:发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。

    信道利用率 U = T D T D + R T T + T A U =\frac {T_D} {T_D + RTT + T_A} U=TD+RTT+TATD 发送分组需要的时间为TD,分组确认时间为TA,往返时间为RTT。

    TCP 可靠通信的具体实现: 两个窗口,一个发送窗口、一个接收窗口。 可靠传输机制用字节的序号进行控制。 四个窗口经常处于动态变化之中。 连接的往返时间 RTT 不是固定不变的。需要使用特定的算法估算较为合理的重传时间。

    ★ 滑动窗口机制;

    以字节为单位的,假定 A 收到了 B 发来的确认报文段,其中窗口是 20 字节,而确认号是 31(这表明 B 期望收到的下一个序号是 31,而序号 30 为止的数据已经收到了)。根据这两个数据,A 就构造出自己的发送窗口。

    ★★★★★ TCP的流量控制算法、机制

    流量控制:让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞。

    利用滑动窗口机制可以很方便地在 TCP 连接上实现流量控制。

    机制控制 TCP 报文段的发送时机:

    第一种机制是 TCP 维持一个变量,它等于最大报文段长度 MSS。只要缓存中存放的数据达到 MSS 字节时,就组装成一个 TCP 报文段发送出去。第二种机制是由发送方的应用进程指明要求发送报文段,即 TCP 支持的推送 (push)操作。第三种机制是发送方的一个计时器期限到了,这时就把当前已有的缓存数据装入报文段(但长度不能超过 MSS)发送出去。

    Nagle 算法

    ★★★★★ TCP 的拥塞控制算法、分类、机制

    对资源的总需求 > 可用资源

    拥塞控制就是防止过多的数据注入到网络中,使网络中的路由器或链路不致过载。 拥塞控制所要做的都有一个前提,就是网络能够承受现有的网络负荷。 拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。

    流量控制往往指点对点通信量的控制,是个端到端的问题(接收端控制发送端)。 流量控制所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收。 加法增大;乘法减小

    拥塞控制本身可能成为引起网络性能恶化甚至发生死锁的原因。

    TCP 采用基于窗口的方法进行拥塞控制。该方法属于闭环控制方法。 TCP 发送方维持一个拥塞窗口 CWND。 真正的发送窗口值 = Min(公告窗口值,拥塞窗口值)

    TCP 会为每个连接维持两个变量: 拥塞窗口:cwnd 慢开始门限:ssthresh

    TCP 拥塞控制算法:

    慢开始 (slow-start):每收到一个对新的报文段的确认后,可以把拥塞窗口增加最多一个 SMSS 的数值。 拥塞窗口 cwnd 每次的增加量 = min (N, SMSS)。拥塞避免 (congestion avoidance):让拥塞窗口 cwnd 缓慢地增大,即每经过一个往返时间 RTT 就把发送方的拥塞窗口 cwnd 加 1,使拥塞窗口 cwnd 按线性规律缓慢增长。“加法增大”特点。快重传 (fast retransmit):让发送方尽早知道发生了个别报文段的丢失,要求接收方立即发送确认,收到了失序的报文段也要立即发出对已收到的报文段的重复确认。发送方只要一连收到三个重复确认,就知道接收方确实没有收到报文段,因而应当立即进行重传。快恢复 (fast recovery):当发送端收到连续三个重复的确认 ACK 时,由于发送方现在认为网络很可能没有发生拥塞,因此现在不执行慢开始算法,而是执行快恢复算法: (1) 慢开始门限 ssthresh = 当前拥塞窗口 cwnd / 2。 (2) 新拥塞窗口 cwnd = 慢开始门限 ssthresh。 (3) 开始执行拥塞避免算法,使拥塞窗口缓慢地线性增大。只要发送方判断网络出现拥塞(重传定时器超时): ssthresh = max(cwnd / 2,2) cwnd = 1 执行慢开始算法。

    加法增大:拥塞避免 乘法减小:当出现超时或3个重复的确认时,就要把门限值设置为当前拥塞窗口值的一半,并大大减小拥塞窗口的数值。 加法增大 + 乘法减小 = AIMD

    发送窗口的上限值

    发送窗口的上限值 Min [rwnd, cwnd] 当 rwnd < cwnd 时,是接收方的接收能力限制发送窗口的最大值。 当 cwnd < rwnd 时,则是网络的拥塞限制发送窗口的最大值。

    ★ TCP 传输连接的三个阶段、连接管理机制、三次握手原理。

    TCP 是面向连接的协议。 传输连接有三个阶段: 连接建立 数据传送 连接释放

    传输连接的管理就是使传输连接的建立和释放都能正常地进行。 TCP 建立连接的过程叫做握手。 握手需要在客户和服务器之间交换三个 TCP 报文段。称之为三报文握手。 采用三报文握手主要是为了防止已失效的连接请求报文段突然又传送到了,因而产生错误。

    数据传输结束后,通信的双方都可释放连接。 TCP 连接释放过程是四报文握手。

    ★★★★ TCP 连接释放

    三次握手: 四次握手:

    Processed: 0.014, SQL: 9