网络编程:TCP 三次握手、四次挥手

1、端口号

FTP:     21(控制端口)、20(数据端口)

SMTP:  25

HTTP:  80

SSH:    22

2、TCP和UDP

TCP:面向连接的可靠数据包传输,可以建立端到端的连接

UDP:面向无连接的不可靠数据包传输,

3、三次握手

1、SYN 1000(0) —— SYN是包的标志位,代表客户端向服务器建立连接,1000是包的序列号,(0)表示包携带的数据大小。

2、SYN 2000(0), ACK 1001 —— 标志ACK代表对SYN的回应,1001字节数据已收到,实际是在1000基础上加上1个SYN,SYN消耗一个序号。标志SYN表示服务器同时向客户端建立连接。

3、ACK 2001 —— 这仅仅是一个确认包,2001字节数据已收到。

4、数据发送

1、1001(20), ACK 2001 —— 1001是包的序列号,(20)表示包携带的数据大小。

2、2001(10), ACK 1021 —— ACK 1021确认1021字节数据已收到,实际是在1001基础上加上20个字节的数据;2001(10)是发送10个字节的数据。

3、ACK 2011 —— 确认2011字节数据已收到。

5、四次挥手

1、FIN 1021(0), ACK 2011 —— 标志位FIN代表要断开客户端到服务器的连接;

2、ACK 1022 —— 确认断开,之后处于半断开状态,客户端不能发送,只能接受;

3、FIN 2011(0), ACK 1022 —— 标志位FIN代表要断开服务器到客户端的连接;

4、ACK 2012 —— 确认断开,完全断开。

 

TCP是全双工的,且允许半关闭,因此每个方向上必须单独地进行关闭。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值