《图解TCP/IP》学习——第六章TCP与UDP
发布日期:2021-05-08 18:02:57 浏览次数:14 分类:精选文章

本文共 1940 字,大约阅读时间需要 6 分钟。

一、传输层的作用

1.传输层定义

传输层主要负责在网络层和应用层之间提供通信服务。在TCP/IP协议组中,传输层有两种协议:TCP(传输控制协议)和UDP(用户数据报协议)。TCP提供可靠的通信传输服务,而UDP则常被用于广播和细节控制交给应用的通信传输。

TCP协议通过端口号来识别应用程序,确保数据能够正确地送达目标应用程序。IP首部中的协议字段标识使用的传输层协议。

2.通信处理

TCP/IP协议组的应用协议大多以客户端/服务端模式运行。服务端程序需要提前启动,准备接收客户端的请求。以HTTP为例,服务端程序如httpd运行在服务器上,作为守护进程接收客户端的HTTP请求。

UNIX系统中,服务端程序称为守护进程。例如,HTTP的守护进程是httpd,SSH的守护进程是sshd。Unix中通常启动一个inetd服务程序(超级守护进程),该程序接收客户端请求并根据需要启动对应的守护进程。

3.传输层协议TCP与UDP

TCP在传输过程中保证数据的有序性和可靠性,通过序列号、确认应答、重发控制等机制实现可靠性传输。TCP的数据传输以段为单位进行,发送端可以在数据中设置间隔字段信息。

UDP协议不提供复杂的控制机制,直接将应用程序发来的数据以原始形式发送到网络上。UDP适用于高速传输和实时性要求较高的通信,或广播/多播通信。

4.TCP与UDP的区分

TCP和UDP各有优劣,选择哪种协议取决于具体应用需求。TCP的优势在于可靠传输,适用于需要顺序控制的通信。而UDP的优势在于传输效率高,适用于实时通信或广播通信。

二、端口号

1.端口号的定义

端口号用于区分同一台计算机中运行的不同应用程序。它与IP地址共同识别通信的终点,组成五元组:源IP地址、目标IP地址、协议号、源端口号、目标端口号。

2.根据端口号识别应用

端口号的确定分为标准既定端口号和时序分配法。标准既定端口号由IANA管理,例如HTTP的80端口,FTP的21端口等。

3.通过IP地址、端口号、协议号进行通信识别

网络层协议(如TCP或UDP)、源IP地址、目标IP地址、源端口号、目标端口号共同唯一确定一条通信链路。任何一项不同,都视为不同的通信。

4.端口号如何确定

端口号的确定遵循标准既定和时序分配法。服务端程序需提前确定监听端口号,而客户端程序不需要确定端口号。对于UDP,服务端程序也无需确定端口号。

三、TCP

1.TCP的特点及目的

TCP是面向连接的协议,建立连接前需进行准备工作,包括SYN确认和FIN断开。TCP通过序列号、确认应答、重发控制、窗口控制等机制实现可靠性传输。

2.通过序列号与确认应答提高可靠性

TCP发送端在接收到确认应答后,才能继续发送下一条数据。丢失的数据包会被重发,直到确认接收成功。

3.如何确定超市重发的时间

TCP通过计算往返时间及其偏差,决定重发的时间间隔。这种机制有助于减少网络拥塞,提高通信效率。

4.连接管理

TCP连接的建立需要发送SYN和ACK包,断开连接需发送FIN包。一个连接的建立至少需要来回发送7个包,完成三次握手。

5.TCP以段为单位发送数据

TCP在建立连接时确定最大消息长度(MSS),以段为单位发送数据,确保数据不会被IP层分片处理。

6.利用窗口控制提高速度

窗口控制机制允许多个段同时进行确认应答,提高通信效率。窗口大小由接收端决定,动态调整以适应网络状况。

7.窗口控制与重发控制:在窗口控制中,出现段丢失咋办?

窗口控制下,段丢失时无需重发,除非丢失多个段。对于某个段丢失,采用高速重发控制。

8.流控制

流控制通过接收端通知发送端当前能接收的数据量,控制发送数据量。窗口大小即接收端通知的数据量上限。

9.拥塞控制

TCP通过慢启动算法控制发送数据量,避免网络拥塞。拥塞窗口大小动态调整,根据确认应答和重复确认应答等因素。

10.提高网络利用率的规范

Nagle算法减少数据包数量,延迟确认应答提高网络利用率,捎带应答减少数据包传输量。

四、其他传输层协议

1.UDP-Lite:轻量级的用户数据报协议

UDP-Lite在UDP协议基础上增加了可靠性控制,适用于对传输可靠性要求较高但带宽敏感的场景。

2.SCTP:流控制传输协议

SCTP结合了TCP的可靠性和流控制机制,适用于多媒体通信和对可靠性要求较高的场景。

3.DCCP:数据报拥塞控制协议

DCCP通过拥塞控制机制实现数据报的可靠性传输,适用于对传输效率和可靠性要求较高的应用。

五、TCP首部的格式

TCP数据段格式包括序列号、确认应答字段、校验和、窗口大小、紧急指示等字段。校验和用于确保数据完整性,防止数据 corruption。

上一篇:《图解TCP/IP》学习——第七章路由协议
下一篇:注册表清理说明

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年03月30日 15时00分16秒