3.18 TCP协议

132 阅读2分钟

TCP协议

tcp/ip 模型

应用层

传输层

网络层

接口层

tcp和udp的区别

tcp:面向连接,在传递数据之前,会测试主机的联通性,如果通才会传输真实数据

udp:无连接,不会测试主机的联通性,直接传递真实数据

tcp / ip 协议族

1机确定应用程序依靠pid号(pid号是系统随机产生的,每打开一个程序,系统会自动分配给你一个pid号)

2.涉及到网络传输的应用程序,需要依靠端口号来进行区别

客户端程序的端口号,是随机产生的 服务端程序的端口号一般是固定

端口号:

1.服务端一般固定,客户端随机产生

2.前1024端口号被知名程序使用

3.端口号的范围 2^16=65,536 0 - 65535

4.一个端口号只能被一个应用程序使用 tcp 80 只有一个

5.协议最终体现形式是某个程序

确认号:

确定对面收到了我的包,并且约定我下一个包的序号需要加一

屏幕截图 2024-03-18 170735.png

控制位: 目前两台电脑处于什么阶段

SYN(同步位): 请求建立连接

FIN(断开位): 断开连接

ACK (确认位):确认同意连接 确认断开连接

syn=1 请求建立连接

syn=1 ack=1 同意建立连接

fin=1 ack=1 同意断开

tcp三次握手

屏幕截图 2024-03-18 181244.png

屏幕截图 2024-03-18 182423.png 客户端:closed syn-sent estab

服务端:closed listen syn-rcvd estab

屏幕截图 2024-03-18 183242.png

fin-wait1 pc1 发送 断开请求给pc2 pc1处于此状态

close-wait pc1 收到pc1断开请求 pc2处于此状态 半断开

fin-wait2 pc1 收到pc2的确认报文但是没有同意断开 pc1处于

last-ACK pc2 发送同意断开报文后所处在的状态

time-wait 2msl pc1也同意分手后处于的状态

telent协议: 测试远端服务器的端口是否打开

udp端口号

tftp 69

rpc 111

ntp 123

dns 53

dhcp 67

tcp端口号

http 80

ftp 20 21

https 443

ssh 22

dns 53

telnet 23

mysql 3306

redis 6379

tomcat 8080