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