传输层协议介绍
1.TCP协议
TCP/IP协议族的传输层协议
- TCP(Transmission Control Protocol)传输控制协议
- UDP(User Datagram Protocol)用户数据报协议

TCP协议
- TCP是面向连接的、可靠的进程到通信的协议
- TCP提供双工服务,即数据可在同一时间双向传输
- TCP报文段
①TCP将若干个字节构成一个分组,叫报文段(Segment)
②TCP报文段尘封装在IP数据报中
TCP报文段
| 源端口号(16) | 目标端口号(16) | ||||||||||||||||||||
| 序号(32) | |||||||||||||||||||||
| 确认号(32) | |||||||||||||||||||||
| 首部长度(4) | 保留(6) | URG | ACK | PSH | RST | SYN | FIN | 窗口大小(16) | |||||||||||||
| 校验和(16) | 紧急指针(16) | ||||||||||||||||||||
| 选项(32) | |||||||||||||||||||||
- 序号:发送段为每个字节进行编号,便于接收端正确重组
- 确认号:用于确认发送端的信息
- 窗口大小:用于说明本地可接收数据段的数目,窗口大小是可变的
TCP连接:
TCP建立连接的过程称为三次握手


TCP断开连接的四次挥手


- SYN:同步序号位,TCP需要建立连接时将该值设为1
- ACK:确认序号位,当改位为1时,用于确认发送方 的数据
- FIN:当TCP断开连接时将该位置为1
- 半关闭:当TCP链接中A向B发送FIN请求关闭,另一端B回应ACK之后,并没有立即发出FIN给A,A方处于半连接状态(半开关),此时A可以接收B发送的数据,但是A已经不能再向B发送数据
- 半连接:发生在TCP三次握手中,如果A向B发起链接,B也按照正常情况响应了,但是A不进行三次握手,这就是半连接
- 半连接攻击:半连接,会造成B分配的内存资源就一直这么耗着,知道资源耗尽(SYN攻击)
常用的TCP端口号及其功能
| 端口 | 协议 | 说明 |
| 21 | FTP | FTP服务器所开放的控制端口 |
| 23 | TELNET | 用于远程登录,可以远程控制管理目标计算机 |
| 25 | SMTP | SMTP服务器开放的端口,用于发送邮件 |
| 80 | HTTP |
超文本传输协议 |
| 110 | POP3 |
用于邮件的接收 |
2.UDP协议:
- 无连接,不可靠的传输协议
- 花费的开销小
常用的UDP端口号及其功能
| 端口 | 协议 | 说明 |
| 69 | TFTP | 简单文件传输协议 |
| 111 | RPC | 远程过程调用 |
| 123 | NTP | 网络时间协议 |
3.自我总结
- TCP是一个可靠的面向连接的协议
- TCP建立连接经历三次握手
- TCP断开连接要经历四次挥手
- UDP是一个不可靠无连接的协议
浙公网安备 33010602011771号