TCP的URG和PSH详解----区别

再看这个问题之前,先了解一下TCP。说起TCP大家并不陌生,它是运输层的通信协议,位于IP层之上,应用层之下。传输层以下的层都不提供可靠的通信,只有传输层的TCP提供可靠的服务和通信。

一、TCP简介:
1.TCP是什么?
即传输控制协议,它是运输层的通信协议,位于IP层之上,应用层之下。传输层以下的层都不提供可靠的通信,只有传输层的TCP提供可靠的服务和通信。

2.TCP的可靠性主要体现在以下方面:
1) 请求与应答;
2) 按序到达;
3) 重发机制;
4) 面向连接;
5) 流量控制;
6) 超时传送;
7) 网络拥塞避免;

3.TCP的主要特点:
1) 面向连接的运输层协议;
2) 每一条连接斗志点对点的(一对一);
3) 面向字节流的;
4) 提供可靠交付;
5) 提供全双工通信;

4.TCP报头:

1)源端口和目的端口:各占2个字节,分别写入源主机和目的主机的端口号;
2)32位序号:自己为了保证自己发的数据按序到达的确认;
3)32位确认号:确认对方的数据按序到达的确认;
4)数据偏移:指TCP报文段的数据起始位置距TCP报文段的起始位置有多远,即TCP的报文段的首部长度;
5)保留:目前置为0,位日后使用;
6)紧急URG:当URG=1时,紧急指针有效,即此报文时紧急报文优先发送,不再按序发送。此时与后面的紧急指针配合,向后偏移至此报文处,发送此报文;
7)ACK确认:当ACK=1确认字段有效,一般建立连接之后ACK为1;当ACK=0时,确认字段无效;
8)PSH推送:当TCP收到PSH=1的报文时时,不等缓冲区填满就把消息推送給一方;
9)RST复位:为保证出现错误或者长时间连接但不用,TCP就会将之断开连接,然后其会退出或者重新连接;
10)SYN同步:建立连接时,当SYN=1,ACK=0时表示这是一个连接请求报文段;当SYN和ACK都为1时,则双方都同意建立连接;
11)FIN终止:释放一个连接;
12)16位窗口:发送本报文段的一方的接收窗口;
13)16位检验和:TCP检验和包含首部和数据部分;
14)16位紧急指针:只有的那个URG=1时才有效,即此报文时紧急报文优先发送,不再按序发送;
15)选项:长度可变,当不使用选项时,TCP首部长度为20个字节;

二、URG和PSH

1、 什么是URG?
URG是紧急标志位。当URG=1时,表示紧急指针有效,即此报文时紧急报文优先发送,不再按序发送。此时与后面的紧急指针配合,向后偏移至此报文处,发送此报文。

2、 URG的特点:
其紧急数据仅在报文中。

3、如何使用?
应与PSH配合使用。

4、什么是PSH?
催促标志位。当发送端将PSH置为1时,TCP就会立即创建一个报文并发送。接收端收到PSH为1的报文后就立即将接受缓冲区数据向上交付给应用程序,而不是等缓冲区满了才交付。

5、PSH的特点:
PSH的紧急报文不仅在报文中还在缓冲区内。

6、如何使用?
应与URG配合使用。

7、URG和PSH的区别:
URG是紧急标志位,当URG=1时,表示此报文段中含有紧急数据,并且紧急数据排在其他数据前面发送,当接收端收到此数据时必须先优先发送紧急数据,然后处理普通数据,而不是再按序发送。

PSH是催促标志位。当发送端将PSH置为1时,TCP就会立即创建一个报文并发送。接收端收到PSH为1的报文后就立即将接受缓冲区数据向上交付给应用程序,而不是等缓冲区满了才交付。

两者只是处理方法不一样而已。URG紧急数据仅在报文中,而PSH的紧急报文不仅在报文中还在缓冲区内。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ashley zhao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值