传输层的协议介绍

传输层的协议介绍

     一、TCP/IP协议簇的传输层协议

     二、TCP协议

     三、TCP报文段

     四、三次握手

     五、状态转换和安全问题

     六、四次挥手

     七、TCP连接

     八、UDP协议

     1)UDP协议

     2)UDP报文的首部格式

     3)常用的UDP端口号及功能

 

 

一、TCP/IP协议簇的传输层协议

TCP(Transmission  Control  Protocol)

传输控制协议

UDP(User  Datagram  Protocol)

用户数据报协议

 

二、TCP协议

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

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

TCP报文段

▪TCP将若干个字节构成一个分组,叫报文分段(Segment)

▪TCP报文段封装在IP数据报中

三、TCP报文段

序号:  发送端为每个字节进行编号,便于接收端正确重组。

确认号: 用于确认发送端的信息。

窗口大小:用于说明本地接收端数据段的数目,窗口大小是可变的。

SYN:   同步序号位,TCP需要建立连接时,将该值设为“1”

ACK:   确认序号位,当该位为“1”时,用于确认发送方的数据。

FIN:   当TCP断开连接时将该位置射为“1”

源端口号(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)
选项

四、三次握手

TCP建立连接的过程称为三次握手。

建立TCP连接时,需要客户端和服务器共发送3个包。

第一次:客户端发送初始序号xsyn=1请求标志

第二次:服务器发送请求标志syn,发送确认标志ACK,发送自己的序号seq=y,发送客户端的确认序号ack=x+1

第三次:客户端发送ACK确认号,发送自己的序号seq=x+1,发送对方的确认号ack=y+1

五、状态转换和安全问题

半关闭

当TCP链接中,A向B发送FIN请求关闭,另一端B回应ACK后,并没有立即向A发送FIN,A处于半连接状态(半开关),此时A可以接收B发送的数据,但A不能向B发送数据。

半连接

发生在TCP三次握手中

如果A向B发起链接,B按照正常情况响应,但A不进行三次握手,这就是半连接。

半连接攻击:半连接会造成B分配的内存资源就这么一直耗着,直到资源耗尽。(SYN攻击)

半打开

如果一方关闭或者异常关闭(断电、断网),而另一方并不知情,这样的链接称为半打开。处于半打开连接,如果双方不进行数据通信,是发现不了问题的,只有通信才能真正的察觉到这个连接已经处于半打开状态,如果双方不传输数据的话,仍处于连接状态的一方就不会检测另一方已经出现异常。

解决方法:

如何解决半打开问题,引入心跳机制就可以察觉半打开。

如果需要发数据的话,这边收到之后,其实发现这个连接并不存在了,就会回复RST包报告,这个时候就需要重新建立连接了!

六、四次挥手

TCP断开连接的过程称为四次挥手。

第一次挥手:客户端发出释放FIN=1,自己序列号seq=u,进入FIN-WAIT-1状态

第二次挥手:服务器收到客户端的后,发出ACK=1确认标志和客户端的确认号ack=u+1,自己的序列号seq=v,进入CLOSE-WAIT状态

第三次挥手:客户端收到服务器确认结果后,进入FIN-WAIT-2状态。此时服务器发送释放FIN=1信号,确认标志ACK=1,确认序号ack=u+1,自己序号seq=w,服务器进入LAST-ACK(最后确认态)

第四次挥手:客户端收到回复后,发送确认ACK=1ack=w+1,自己的seq=u+1,客户端进入TIME-WAIT(时间等待)。客户端经过2个最长报文段寿命后,客户端CLOSE;服务器收到确认后,立刻进入CLOSE状态。

七、TCP连接

常见的TCP端口号及功能

端口          协议                                       说明

21               FTP              FTP服务器所开放的控制端口。

23               TELNET       用于远程登录,可以远程控制管理目标计算机。

25               SMTP           SMTP服务器开放的端口,用于发送邮件。

80               HTTP           超文本传输协议。

110             POP3           用于接收邮件。

八、UDP协议

1)UDP协议

无连接,不可靠的传输协议。

花费的开销小。

2)UDP报文的首部格式

源端口号(16) 目标端口号(16)
UDP长度(16) UDP校验和(16)

UDP长度:用来指出UDP的总长度,为首部加上数据。

校验和: 用来完成对UDP数据的差错校验,它是UDP协议提供的唯一的可靠机制。

3)常用的UDP端口号及功能

端口          协议                                       说明

69              TFTP             简单文件传输协议。(网卡都带TFTP服务,必须把69端口号放空)

111             RPC                远程过程调用。(用的不多)

123             NTP                 网络时间协议。(搭一个NTP服务,使时间保持一致)

posted @ 2021-05-27 09:37  盖旭昇  阅读(789)  评论(0编辑  收藏  举报