1、TCP协议
2、UDP协议
TCP协议
回顾
1、传输层的功能:定义应用层协议数据报文的端口号,流量控制、差错检验
2、对原始数据进行分段处理
传输层所提供的服务
1、传输连接服务(针对会话层)
- 对每一个传输连接,去建立相应的连接(TCP,UDP不需要)
2、数据传输服务
- 流量控制
- 差错控制
- 序列控制
一、传输层的TCP协议
1、面向连接的传输协议(TCP)
- 要求数据在传输之前,必须建立连接,数据传输完成后,必须释放连接
- 仅支持单播传输:在两个终端之间建立的点对点连接
2、用户数据报协议(UDP)
二、TCP的报文字段
常用的控制位:ACK(确认)、RST(重新建立连接)、SYN(建立连接)、FIN(释放连接)
1、 ACK:请求/应答状态。0为请求,1为应答;
2、 RST:连线复位,首先断开连接,然后重建;
3、 SYN:同步连接序号,TCP SYN报文就是把这个标志设置为1,来请求建立连接;
4、 FIN:结束连线。如果FIN为0是结束连线请求,FIN为1表示结束连线;
1、TCP建立连接的三次握手
seq:表示序列号
ack:表示确认的序列号
当 SYN=1,ACK=0 时,表示这是一个请求建立连接的报文段;当 SYN=1,ACK=1 时,表示对方同意建立连接。SYN=1 时,说明这是一个请求建立连接或同意建立连接的报文。只有在前两次握手中 SYN 才为 1。
2、TCP释放连接的四次挥手
注:有时只会有三次挥手,即将原来的第二次和第三次合并,详情看
TCP的三次挥手_没事重启一下的博客-CSDN博客_tcp三次挥手
TCP中断可以用3次挥手吗? - 知乎 (zhihu.com)
3、TCP半关闭状态
TCP 连接只有一方发送了 FIN,另一方没有发出 FIN 包,仍然可以在一个方向上正常发送数据。当四次挥手完成两次的时候,就相当于实现了半关闭。
4、TCP半连接状态
属于DOS攻击的一种,三次握手完成了两次,又重新开始握手
5、常见的TCP端口号
- 21——FTP
- 22——SSH
- 23——TELNET
- 25——SMTP
- 53——DNS
- 80——HTTP
- 110——POP3
- 143——IMAP4
- 443——HTTPS
- 3306——MYSQL
- 3389——RDP