究竟是什么样的两层关系值得三次握手、四次挥手?
传输层协议介绍
1. TCP协议
1.1 TCP报文段
1.2 TCP连接
1.3 TCP端口号及功能
2. UDP协议
1. TCP协议
TCP是面向连接的、可靠的进程到进程通信的协议
TCP提供全双工服务,即数据可在同一时间双向传输
1.1 TCP报文段
TCP将若干个字节构成一个分组,叫报文段
TCP报文段封装在IP数据报中
| 源端口号(16) | 目标端口号(16) | |||||||
| 序号(32) | ||||||||
| 确认号(32) | ||||||||
| 首部长度(4) | 保留(6) | URG | ACK | PSH | RST | SYN | FIN | 窗口大小(16) |
| 校验和(16) | 紧急指针(16) | |||||||
| 选项 | ||||||||
序号:发送端为每个字节进行编号,便于接受端正确重组
确认号:用于确认发送端的信息
窗口大小:用于说明本地可接受数据段的数目,窗口大小是可变的
SYN:同步序号位,TCP需要建立连接时将该值设为1
ACK:确认序号位,当该位为1时,用于确认发送方的数据
FIN:当TCP断开连接时将该位置为1
1.2 TCP连接
TCP建立连接的过程称为三次握手

TCP断开连接的四次握手

半关闭:当TCP中A向B发送FIN请求关闭,另一端B回应ACK后,并没有立即发送给FIN给A,A处于边连接状态(半开关),此时A可以接受B发送的数据,但是A已经不能再向B发送数据了。
半连接:发生在三次握手中
如果A向B发起连接,B也按照正常情况响应了,但是A不能进行三次握手,这就是半连接。半连接会造成B分配的内存资源就一直这么耗着,直到资源耗尽(SYN攻击)。
1.3 TCP端口号及功能
| 端口 | 协议 | 说明 |
| 21 | FTP | FTP服务器所开放的控制端口 |
| 23 | TELNET | 用于远程登录,可以远程控制管理目标计算机 |
| 25 | SMTP | SMTP服务器开放的端口,用于发送邮件 |
| 80 | HTTP | 超文本传输协议 |
| 110 | POP3 | 用于邮件的接收 |
2. UDP协议
无连接、不可靠的传输协议
花费的开销小
UDP报文的首部格式
| 源端口号(16) | 目标端口号(16) |
| UDP长度(16) | UDP校验和(16) |

浙公网安备 33010602011771号