TCP/IP协议族的传输层协议
TCP(Transmission Control Protocol)传输控制协议
UDP(User Datagram Protocol)用户数据协议
源端口号(16) | 目标端口号(16) | |||||||
序号(32) | ||||||||
确认号(32) | ||||||||
首部长度(4) | 保留(6) | URG | ACK | PSH | RST | SYN | FIN | 窗口大小(16) |
校验和(16) | 紧急指针(16) | |||||||
选项 |
序号:发送端为每个字节进行编号,便于接收端正确重组
确认号:用于确认发送端的信息
窗口大小:用于说明本地可接收数据段的数目,窗口大小是可变的
SYN:同步序号位,TCP需要建立连接时将该位置设为1
ACK:确认序号位,当该位为1时,用于确认发送方的数据
FIN:当TCP断开连接时将该位置为1
1、TCP建立连接的过程称为三次握手
2、TCP断开连接的四次挥手
半关闭:当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 | 用于邮件的接收 |
1、UDP协议:无连接、不可靠的传输协议,花费的开销小
2、UDP报文的首部格式
源端口号(16) | 目标端口号(16) |
UDP长度(16) | UDP校验和(16) |
UDP长度:用来指出UDP的总长度,为首部加上数据
校验和:用来完成对UDP数据的差错检验,他是UDP协议提供的唯一的可靠机制
端口 | 协议 | 说明 |
69 | TFFP | 简单文件传输协议 |
111 | RPC | 远程过程调用 |
123 | NTP | 网络时间协议 |