一、 简介
TCP(Transmission Control Protocol)是传输控制协议
TCP是双向连接的、可靠的进程到进程通信协议
TCP提供全双工服务,即数据可在同一时间双向传输
UDP(User Datagram Protocol)是用户数据协议
UDP是无连接、不可靠的传输协议
花费的开销小
UDP报文的首部格式
|
源端口号(16bit) |
目标端口号(16bit) |
|
UDP长度(16bit) |
UDP(16bit) |
它们都是传输层的协议
二、TCP
|
源端口号(16) |
目标端口号(16) |
||||||||
|
序号(32) |
|||||||||
|
确认号(32) |
|||||||||
|
部首长度(4) |
保留(6) |
U R G |
A C K |
P S H |
R S T |
S Y N |
F I N |
窗口大小(16) |
|
|
检验和(16) |
紧急指针(16) |
||||||||
|
选项 |
|||||||||
序号:发送端为每个字节进行编号,便于接收端正确重组
确认号:用于确认发送端的信息
窗口大小:用于说明本地可接收数据段的数目,窗口大小是可变的
SYN:同步序号位,TCP需要建立连接时将该值设为1
ACK:确认序号位,当该位为1时,用于确认发送方的数据
FIN:当TCP断开连接时将该值置为1
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 |
用于邮件的接收 |
浙公网安备 33010602011771号