udp端口范围_零基础学网络,网络小白入门须知,传输层TCP及UDP协议详解

一、传输层【重点掌握TCP三次握手四次挥手】

传输层定义了主机应用程序之间端到端的连通性。传输层中最为常见的两个协议分别是传输控制协议TCP(Transmission Control Protocol)和用户数据包协议UDP(User Datagram Protocol)。

9cd2ff77393f6bc0a9f2c18cea22dc52.png

lTCP是一种面向连接的传输层协议,可提供可靠的传输服务。

二、TCP端口号

08b718f42c58e9898c4574ff29718707.png

TCP端口号

1、端口分为知名端口和动态端口。

2、有些网络服务会使用固定的端口,这类端口称为知名端口,端口号范围为0-1023。如FTP、HTTP、Telnet、SNMP服务均使用知名端口。

3、动态端口号范围从1024到65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。

总结:一句话,端口号用来区分不同的网络服务。

三、TCP头部&UDP头部

e4107200211e8c28ca0afbf40d2dcab7.png

TCP头部

TCP通常使用IP作为网络层协议,这时TCP数据段被封装在IP数据包内。

TCP数据段由TCP Header(头部)和TCP Data(数据)组成。TCP最多可以有60个字节的头部,如果没有Options字段,正常的长度是20字节。

TCP Header是由如上图标识的一些字段组成,这里列出几个常用字段。

1.16位源端口号:源主机的应用程序使用的端口号。

2.16位目的端口号:目的主机的应用程序使用的端口号。每个TCP头部都包含源和目的端的端口号,这两个值加上IP头部中的源IP地址和目的IP地址可以唯一确定一个TCP连接。

3.32位序列号:用于标识从发送端发出的不同的TCP数据段的序号。数据段在网络中传输时,它们的顺序可能会发生变化;接收端依据此序列号,便可按照正确的顺序重组数据。

4.32位确认序列号:用于标识接收端确认收到的数据段。确认序列号为成功收到的数据序列号加1。

5.4位头部长度:表示头部占32bit字的数目,它能表达的TCP头部最大长度为60字节。

6.16位窗口大小:表示接收端期望通过单次确认而收到的数据的大小。由于该字段为16位,所以窗口大小的最大值为65535字节,该机制通常用来进行流量控制。

7.16位校验和:校验整个TCP报文段,包括TCP头部和TCP数据。该值由发送端计算和记录并由接收端进行验证。

f7bc93f2ab9d40e129494fc674771709.png

UDP头部

UDP报文分为UDP报文头和UDP数据区域两部分。报头由源端口、目的端口、报文长度以及校验和组成。UDP适合于实时数据传输,如语音和视频通信。相比于TCP,UDP的传输效率更高、开销更小,但是无法保障数据传输的可靠性。UDP头部的标识如下:

1.16位源端口号:源主机的应用程序使用的端口号。

2.16位目的端口号:目的主机的应用程序使用的端口号。

3.16位UDP长度:是指UDP头部和UDP数据的字节长度。因为UDP头部长度为8字节,所以该字段的最小值为8。

4.16位UDP校验和:该字段提供了与TCP校验字段同样的功能;该字段是可选的。

四、TCP建立连接的过程

cabee34daa80f6f2b76d5725fefa2323.png

为了方便TCP三次握手理解记忆可以参考下图进行理解:

928c416af8c68a8caab099cd9f5d1b4b.png

TCP三次握手

TCP是一种可靠的,面向连接的全双工传输层协议。

1.主机A(通常也称为客户端)发送一个标识了SYN的数据段,表示期望与服务器A建立连接,此数据段的序列号(seq)为a。

2.服务器A回复标识了SYN+ACK的数据段,此数据段的序列号(seq)为b,确认序列号为主机A的序列号加1(a+1),以此作为对主机A的SYN报文的确认。

3.主机A发送一个标识了ACK的数据段,此数据段的序列号(seq)为a+1,确认序列号为服务器A的序列号加1(b+1),以此作为对服务器A的SYN报文的确认。

五、TCP关闭连接

b5034e8cb68f9c78603740a3ef498fd7.png

为了方便TCP四次挥手理解记忆可以参考下图进行理解:

b727d9960d0ea2b5df36f4ce96a63382.png

TCP断开连接

专栏视频中有配合以上图文进行详细的讲解,更加详细完整理论讲解,同时配合抓包实战演示都在专栏视频中欢迎学网络的小伙伴们订阅!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值