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是全双工的,且允许半关闭,因此每个方向上必须单独地进行关闭。