计算机网络 第三章_运输层

文章详细介绍了运输层的作用,特别是TCP和UDP协议的功能和区别。TCP提供了可靠的连接服务,包括端口号用于标识进程,流量控制确保发送速率适中,拥塞控制防止网络过载,以及连接的建立与释放过程。同时,文章还提及了TCP报文段的首部格式和超时重传策略。
摘要由CSDN通过智能技术生成

3.1 运输层概述

  • 物理层、数据链路层以及网络层共同解决了将主机通过异构网络互联起来所面临的问题,实现了主机到主机的通信
  • 但实际上在计算机网络中进行通信的真正实体是位于通信两端主机中的进程
  • 如何为运行在不同主机上的应用进程提供直接的通信服务是运输层的任务,运输层协议又称为端到端协议

在这里插入图片描述
在这里插入图片描述

  • 运输层向高层用户屏蔽了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等),使应用进程看见的就好像是在两个运输层实体之间有一条端到端的逻辑通信信道
  • 根据应用需求的不同,运输层提供了两种不同的运输协议,即面向连接的TCP无连接的UDP

3.2 运输层端口号、复用和分用

3.2.1 运输层端口号

  • 运行在计算机上的进程使用进程标识符PID来标志
  • 不同的操作系统(Windows、Linux、Mac OS)使用不同格式的进程标识符
  • 为了使不同操作系统的计算机的应用进程之间能够进行网络通信,就必须使用统一的方法对TCP/IP体系的应用进程进行标识。
  • TCP/IP体系的运输层使用端口号来区分不同应用进程
    • 端口号用16比特表示,取值范围0~65535
      • 熟知端口号:0~1023,IANA把这些端口号派给最重要的一些应用协议,例如:FTP使用21/20,HTTP使用80,DNS使用53
      • 登记端口号:1024~49151,为没有熟知端口号的应用进程使用。使用这些端口号必须在IANA按照规定的手续登记,以防止重复。例如:Microsoft RDP微软远程桌面使用的端口号是3389
      • 短暂端口号:49152~65535,留给客户进程选择短暂使用。当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号。通信结束后,这个端口号可供其他用户使用。
    • 端口号只具有本地意义,即端口号是为了标识本计算机应用层中的各进程,在因特网中,不同计算机的相同端口号是没有联系的

3.2.2 复用和分用

在这里插入图片描述
在这里插入图片描述

3.3 TCP和UDP的对比

用户数据报协议UDP(User Datagram Protocol)
传输控制协议TCP(Transmission Control Protocol)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4 TCP的流量控制

  • 所谓流量控制(flow control)就是让发送方的发送速率不要太快,让接收方来得及接收
  • 利用滑动窗口机制可以很方便地实现TCP连接上对发送方的流量控制
    • TCP接收方利用自己的接受窗口大小来限制发送窗口的大小
    • TCP发送方收到接收方的零窗口通知时,应启动持续计时器。持续计时器超时后,向接收方发送零窗口探测报文

在这里插入图片描述
在这里插入图片描述

3.4.1 练习

在这里插入图片描述

3.5 TCP的拥塞控制

  • 在某段时间内,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏。这种情况就叫做拥塞(congestion).
    • 在计算机网络中的链路容量(带宽)、交换结点中的缓存和处理机等,都是网络的资源
  • 若出现拥塞而不进行控制,整个网络的吞吐量将随输入负荷的增大而下降

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 慢开始和拥塞避免算法是1988年提出的TCP拥塞控制算法(TCP Tahoe版本)
  • 1990年增加了快重传和快恢复(TCP Reno版本),改进了TCP的性能
  • 所谓快重传,就是让发送方尽快进行重传,而不是等超时重传计时器超时再重传
    • 要求接收方不等待自己发送数据时才进行捎带确认,而是要立即发送确认
    • 即使收到了失序的报文段也要立即发出对己收到的报文段的重复确认
    • 发送方一旦收到3个连续的重复确认,就将相应的报文段立即重传

在这里插入图片描述

  • 发送方一旦收到3个重复确认,就知道只是丢失了个别报文段。于是不启动慢开始算法,而执行快恢复算法。
    • 发送方将慢开始门限ssthresh值和拥塞窗口cwnd值调整为当前窗口的一半;开始执行拥塞避免算法
    • 也有的快恢复实现是把快恢复开始时的拥塞窗口cwnd值再增大一点,即等于新的ssthresh+3。

在这里插入图片描述

3.5.1 练习

在这里插入图片描述

3.6 TCP超时重传时间的选择

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.7 TCP可靠传输的实现

  • TCP基于以字节为单位的滑动窗口来实现可靠传输

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.7.1 练习

在这里插入图片描述
在这里插入图片描述

3.8 TCP的运输连接管理

在这里插入图片描述

3.8.1 TCP的连接建立

  • TCP的连接建立要解决以下三个问题:

    1. 使TCP双方能够确知对方的存在
    2. 使TCP双方能够协商一些参数(如最大窗口值、是否使用窗口扩大选项和时间戳选项以及服务质量等)
    3. 使TCP双方能够对运输实体(如缓存大小、连接表中的项目)进行分配
  • TCP使用"三报文握手"建立连接

在这里插入图片描述

3.8.2 TCP的连接释放

  • TCP 使用"四报文挥手"进行连接释放

在这里插入图片描述
在这里插入图片描述

3.8.3 练习

在这里插入图片描述

3.9 TCP报文段的首部格式

  • 为了实现可靠传输,TCP采用了面向字节流的方式
  • 但TCP在发送数据时,是从发送缓存取出一部分或全部字节并给其添加一个首部使之成为TCP报文段后进行发送
    • 一个TCP报文段由首部和数据载荷两部分构成
    • TCP的全部功能都体现在它首部中各字段的作用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值