有南昌网站优化公司,wordpress 404页面插件,建网站能挣钱吗,建设网站思维导图文章目录 一、端口1. 端口的定义和作用2.服务端和客户端的区别3.常见的知名端口号有 二、TCP的原理1.TCP头部封装格式2.TCP可靠性机制三次握手确认机制四次挥手RST结束连接窗口机制 3.完整性校验4.TCP特征5.TCP的适用场景 三、UDP的原理1.UDP头部封装格式2.UDP特征3.UDP的适用场… 文章目录 一、端口1. 端口的定义和作用2.服务端和客户端的区别3.常见的知名端口号有 二、TCP的原理1.TCP头部封装格式2.TCP可靠性机制三次握手确认机制四次挥手RST结束连接窗口机制 3.完整性校验4.TCP特征5.TCP的适用场景 三、UDP的原理1.UDP头部封装格式2.UDP特征3.UDP的适用场景 四、TCP与UDP的对比 首先可以看下思维导图以便更好的理解接下来的内容。 一、端口
在计算机网络中端口是一种虚拟数据结构用于网络应用程序与底层网络协议如TCP或UDP进行通信的途径。端口可以被看作是网络地址的一部分有助于路由器和交换机将数据传送到正确的应用程序。
1. 端口的定义和作用
端口是计算机网络中的关键概念它为应用程序提供了一种标识和区分不同通信会话的方式。在网络通信中数据需要通过网络传输到达目标应用程序而端口就是这个过程中的关键。
2.服务端和客户端的区别 服务端服务端使用知名端口号通常是固定的用于特定的服务或协议。知名端口号范围通常是0-1023这些端口被IANAInternet Assigned Numbers Authority指定给了特定的服务。常见的知名端口号包括HTTP的80端口、FTP的20和21端口等。 客户端客户端使用大于等于1024的随机端口号用于临时的数据传输。 3.常见的知名端口号有
TCP 80 HTTP 超文本传输协议。
TCP 20 21 FTP 文件传输协议。
TCP 23 Telnet 远程登录。
TCP 25 SMTP 简单邮件传输协议。
UDP 53 DNS 域名解析协议。
TCP 443 HTTPS HTTP over SSL/TLS。二、TCP的原理
1.TCP头部封装格式
TCP头部包含了多种信息这些信息帮助在发送和接收数据时维持连接的可靠性和顺序。 其中包括
Source Port (源端口) #表示数据包的发送方的端口号。帮助接收端知道哪个进程发送了这个数据包。
Destination Port (目的端口) #表示数据包的接收方的端口号。确保数据包被正确地路由到接收机上的适当进程。
Sequence Number (序列号) #用于标识发送的数据在整个数据流中的位置。允许接收端按正确的顺序重新组织接收的数据包。
Acknowledgement Number (确认号) #用于确认接收到的数据。告诉发送方哪些数据已被成功接收。
Data Offset (数据偏移) #显示TCP头部的长度。告诉接收端数据部分从哪里开始。
Reserved (保留位) #为将来的使用而预留的位。保证向前兼容为未来的扩展预留空间。
Control Bits (控制位) #包含URG, ACK, PSH, RST, SYN, FIN等标志位用于流控制。URG (紧急位)设置为1时表示“紧急指针”字段是有效的。ACK (确认位)当设置为1时表示“确认号”字段是有效的。PSH (推送位)告诉接收端应该立即将数据推送到应用程序而不是等待缓冲区填满。RST (复位位)用于复位连接通常在错误发生时使用。SYN (同步位)用于建立连接时的同步。在三次握手过程中使用。FIN (结束位)用于关闭连接表示发送方已完成数据发送。Window (窗口) #定义了发送方愿意接收的数据量。实现流量控制防止接收端被发送端的数据淹没。
Checksum (校验和) #用于数据完整性校验。确保数据在传输过程中没有被篡改或损坏。
Urgent Pointer (紧急指针) #当URG标志被设置时使用。指出紧急数据的结束位置。
Options (选项) #可选字段。为TCP提供附加的功能如最大段大小、时间戳等。
Padding (填充) #确保TCP头部的长度是32位的倍数。为了对齐头部字段。
Data (数据) #实际要传输的数据。传输应用程序的数据。2.TCP可靠性机制
TCP的设计目的是提供一个可靠的、面向连接的通信服务。为了实现这一目标TCP使用了以下几种主要机制。
三次握手
三次握手在建立连接之前发送方和接收方之间进行三次握手以确保双方都准备好交换数据。 第一次 SYN置位 A-B 第二次 SYNACK置位 B-A 第三次 ACK置位 A-B 确认机制 确认机制每当数据被接收接收方都会发送一个确认回发送方。 Seq上一次ack Ack上一次的seqlength 超时重传 如果没有接收到或接收到的是不完整数据会再次发送Ack请求对方重发
四次挥手
四次挥手当一方想要终止连接时双方会进行四次挥手来安全地关闭连接。 第一次 FIN置位 A-B 第二次 ACK置位 B-A 第三次 FIN置位 B-A 第四次 ACK置位 A-B RST结束连接 RST结束连接一种异常结束连接的方式当接收到带RST标志的数据包时连接立即被终止。 收到RST置位的包后立即结束TCP连接 收到RST置位的包后不必等待对方的确认直接结束TCP连接 窗口机制 滑动窗口机制一种流量控制机制它允许发送方调整发送数据的速度以匹配接收方的接收能力。 滑动窗口 通过通告对方本机接收能力来实现流量控制 3.完整性校验 完整性校验通过Checksum字段来确保数据的完整性。 通过Checksum来检查数据完整性 4.TCP特征 优点 可靠性高TCP通过确认机制和滑动窗口机制确保数据的可靠传输。 顺序传输TCP确保数据包的顺序与发送顺序一致。 缺点 占用带宽高由于确认机制和滑动窗口机制TCP可能会产生额外的网络开销。 传输延迟高三次握手和四次挥手增加了建立和终止连接的时间。 5.TCP的适用场景 对数据完整性要求高但是对传输延迟要求低 TCP是一个重量级的协议适用于对数据完整性和顺序有严格要求的应用场景例如文件传输、邮件发送和Web浏览。 三、UDP的原理 UDP是一个简单的、无连接的协议与TCP相比它牺牲了可靠性以换取更低的延迟和开销。 1.UDP头部封装格式
与TCP相比UDP的头部简洁得多它只包含了最基本的信息。
2.UDP特征 优点 占用带宽低UDP没有确认机制因此网络开销更小。 传输延迟低UDP发送数据时不需要建立连接。 缺点 没有任何可靠性机制UDP不保证数据的顺序、完整性或可靠性。 3.UDP的适用场景 对传输延迟要求高但数据完整性要求低 UDP适用于那些对传输速度有要求但不需要完全可靠的数据传输的场景例如在线视频流、语音通话和某些实时游戏。 四、TCP与UDP的对比 如有不详或错误敬请指出。