TCP协议和UDP协议

Posted on 2021-05-20 10:52  闪光的exia  阅读(159)  评论(0)    收藏  举报

一、 简介

        TCP(Transmission Control Protocol)是传输控制协议

                TCP是双向连接的、可靠的进程到进程通信协议

                TCP提供全双工服务,即数据可在同一时间双向传输

        UDP(User Datagram Protocol)是用户数据协议

               UDP是无连接、不可靠的传输协议

               花费的开销小

               UDP报文的首部格式

               

源端口号(16bit

目标端口号(16bit

UDP长度(16bit

UDP16bit

        它们都是传输层的协议

二、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

用于邮件的接收

  

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3