浅析TCP协议中URG和PSH的区别与联系。URG:(紧急标志位)表示本报文段中发送的数据是否包含紧急数据。URG=1时,表示有紧急数据。后面的16位紧急指针字段只有在URG=1时才有效。

URG:(紧急标志位)表示本报文段中发送的数据是否包含紧急数据。URG=1时,表示有紧急数据。后面的16位紧急指针字段只有在URG=1时才有效。

以上为TCP的段格式,今天来主要看看图中URG和PSH 这两个标志位的区别和联系:

PSH:(急迫标志位)在一个交互程序中,当客户发送一个命令给服务器时,它设置PSH标志并停下来等待服务器的响应。通过允许客户应用程序通知其TCP设置PSH标志,客户进程通知TCP在向服务器发送一个报文段时不要因等待额外数据而使已提交数据在缓存中滞留。类似地,当服务器的TCP接收到一个设置了PSH标志的报文段时,它需要立即将这些数据(包括以前存中滞留的数据)递交给服务器进程而不能等待判断是否还会有额外的数据到达。 PSH=1,只对接收方的接收缓冲区起作用,发送方通过使用PUSH位来通知接收方将所有收到的数据立即提交给服务器进程,而不需要等待额外数据(将缓存填满)而让数据在缓存中停留。

接下来看看两者的区别和联系:

联系:两者的存在都是为了提高报文段的优先级,使报文段更先推送给上层。

区别:URG是通过置1来让后面的紧急指针字段有效,从而让报文段更先发送。

PSH是通过置1来告诉对方在接收到报文段后应该立即把数据发给上层而不是缓存起来

URG=1,表示紧急指针指向包内数据段的某个字节(数据从第一字节到指针所指字节就是紧急数据),不进入接收缓冲就直接交给上层进程,余下的数据都是要进入接收缓冲的;一般来说TCP是要等到整个缓存都填满了后再向上交付,但是如果PSH=1的话,就不用等到整个缓存都填满,直接交付,但是这里的交付仍然是从缓冲区中交付的,URG是不要经过缓冲区的

你想要通俗的答案有!可以用快递来比喻。1、URG就想是有个很急的快递从仓库出发,被标记了URG的快件直接交给一个快递员直接送到你手中,不跟其他货件配送,这是单独紧急配送到你手中的。2、PSH可以用在总站坐车来比喻,客人甲是被标记成PSH的人,我在总站一上车,汽车就发车了(无论汽车是否满载),去到第二个城市客运站过安检,队列看到你直接把你和你前面的人安排成一批次人统一处理(不用再等你后面的人来了再处理)

浅析TCP协议中URG和PSH的区别与联系相关推荐

  1. 从TCP三次握手说起——浅析TCP协议中的疑难杂症

    PeterWang_bupt 贡献值:2 等級:L1 0 发布 0 评论 1 顶 发布链接发布图文   全部主题 我关注的主题 GEEKNEWS Rust Swift 全栈工程师 /home Pres ...

  2. 从TCP三次握手说起–浅析TCP协议中的疑难杂症(2)

    在"从TCP三次握手说起–浅析TCP协议中的疑难杂症(1)"文章中,我们提到第6个疑问:TCP的头号疼症TIME_WAIT状态,下面我们继续这个问题的解答: 6. 疑症(6) TC ...

  3. TCP报文段中URG和PSH的区别

    TCP报文段首部最小长度是20个字节 TCP报文段的首部格式 紧急URG(URGent): 当URG = 1时表明紧急指针字段有效,他告诉系统此报文段中有紧急数据,应尽快传送,而不要按原来的排队顺序来 ...

  4. 从TCP三次握手说起——浅析TCP协议中的疑难杂症(转载)

    [转载] 原博文来自:https://blog.csdn.net/qiansg123/article/details/80126677 作者:黄日成,手Q游戏中心后台开发,腾讯高级工程师. 因为写得太 ...

  5. TCP首部中URG与PSH的联系与区别以及6个控制位

    URG与PSH的联系与区别 联系: 都是一种对数据的处理方式. 区别: URG交付给进程的数据: 1.只有紧急数据: 2.紧急数据不进入接收缓冲区而直接交付给进程,余下数据要进入接收缓冲区: 3.UR ...

  6. TCP协议中的URG和PSH位

    相关背景知识 http://blog.csdn.net/double_happiness/article/details/74025156 在探讨TCP协议中的URG和PSH控制位时,我们先来简单的复 ...

  7. Python常见面试题:TCP 协议中的三次握手与四次挥手相关概念详解

    今天来聊聊Python常见面试题中面试频率特别高的一个题目:TCP 协议中的三次握手与四次挥手. 涉及到的知识点有: 1.TCP.UDP 协议的区别 2.TCP 头部结构 3.三次握手与四次挥手过程详 ...

  8. tcp 协议中发送窗口的大小应该是_TCP 协议中的三次握手与四次挥手

    今天来聊聊面试频率特别高的一个题目:TCP 协议中的三次握手与四次挥手.涉及到的知识点有: 1.TCP.UDP 协议的区别 2.TCP 头部结构 3.三次握手与四次挥手过程详解 4.什么是 TIME_ ...

  9. 计算机网络sequence number,TCP协议中SequenceNumber和Ack Numbe

    Sequence Number lzyws7393074532892018-04-25 Number Sequence qq_391789932452017-09-21 理解TCP序列号(Sequen ...

最新文章

  1. HTML5标签学习之~~~
  2. Windows Home Server 2011 RC 安装体验
  3. php取得客户端信息类
  4. JavaScript实现levenshteinDistance字符串编辑距离算法(附完整源码)
  5. 用软件测试管理效率,软件测试攻略(一):效率工具分享
  6. jQuery 表格实现
  7. 王者荣耀交流协会第四次Scrum立会
  8. Can 情态动词_50
  9. 33 计算机维修,33.计算机硬件检测维修与数据恢复竞赛规程(修改)全解.doc
  10. HTML的基本知识(四)——文本格式化标签
  11. OSPF passive-interface
  12. 【转】响应式布局和自适应布局详解
  13. 安卓商城 php后台,洛克商城APP 开源商城安卓源码 含前端和后台
  14. 快手火山抖音视频怎么快速去重消重和去水印秒拍视频批量采集下载怎么快速去重消重去水印视频批量采...
  15. (经典中的经典!)IT学生解惑真经(转),真会有人看完这15万字吗
  16. 教你如何用插件加速视频播放
  17. 大厂对学历的要求是什么?如果学历不够,有这些补救的办法!
  18. 实战Perl脚本测试
  19. Vue Get请求数据
  20. UE4 Advance Locomotion V4 学习

热门文章

  1. 扩展FMX下TGRID的TPopupColumn
  2. skip gram和cbow的优缺点
  3. mysql最大连接数怎么设置
  4. Flutter项目WanWan之数据库moor
  5. C++11-decltype类型
  6. SQL分析品牌在2019.5-2020.4期间的复购率(复购率理解、inner join)
  7. vue项目 前端跨域进行配置
  8. 《ZigBee实战演练》学习笔记
  9. 阿里云ECS服务器部署Node.js项目全过程详解
  10. 计算机没有创建家庭组选项,windows10专业版创建不了家庭组网络的解决方法