相关背景知识

http://blog.csdn.net/double_happiness/article/details/74025156

在探讨TCP协议中的URG和PSH控制位时,我们先来简单的复习一下TCP协议

URG(紧急位)

紧急指针的起始位=序号

紧急指针的结束位=序号+紧急指针(如上TCP报头中的紧急指针)

紧急指针为设置为1时有效,设置为0时无效。

紧急指针记录的是紧急数据的字节数,因此是一个正的偏移量,紧急方式是源端到目的端发送紧急数据的一种方式,紧急指针指针指向包内某个字节,不进入接收缓冲区,就直接交付给上层服务进程,余下的数据要进入接收缓冲区排队之后才能交付给上层服务进程。

PSH(急迫位)

两个应用进程在进行交互式通信时,当客户端发送一个数据给服务器时,设置PSH标志,并停下来等待服务器响应,它允许通过客户应用程序通知其他TCP的PSH标志,客户进程通知TCP在向服务器发送一个报文时,不要因等待额外数据而使已提交数据在缓冲区中进行等待。同样,当服务器的TCP接收到一个设置了TCP标志位的报文段时,他需要立即将这些数据交付给上层的服务器进程,而不是等待判断是否还有额外的数据到达。

PSH=1,只对接收方的接受缓冲区起作用,发送方通过使用PSH标志位来通知接收方,将所有接受到的数据提交给上层的服务器进程,而不是等待额外数据(将缓冲区填满)而使数据在缓冲区中滞留。

URG和PSH的区别与联系

区别:

URG位设置为1时,交付给上层服务的数据只有紧急数据指向的数据;PSH设置为1时,交付给上层服务进程的数据包括缓冲区中排好的数据和PSH数据报提交的数据。

联系

两个标志位都是一种对于数据的处理方式,URG是处理在接受前收到数据立马对真正意义上数据的操作,PSH是在处理后,告诉系统,不用等待缓冲区满了之后在交付数据。

TCP协议中的URG和PSH位相关推荐

  1. TCP协议中SYN/ACK/FIN/PSH各有什么作用

    GoodMai 在进行抓包测试的时候,发现了很多类型的数据包,除了常见的三次握手外,还有一些PSH,FIN类型的类型.借此机会,常见数据包的类型给大家科普一下. *SYN:同步标志 同步序列编号(Sy ...

  2. TCP报头中的URG和PSH

    一.URG 紧急URG(URGent)当URG=1时,表明紧急指针字段有效.它告诉系统此报文段中有紧急数据,应该尽快传送,而不按照原来的排队序列来传送. 当URG=1时,发送应用进程告诉发送方的TCP ...

  3. 浅析TCP协议中URG和PSH的区别与联系

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

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

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

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

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

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

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

  7. TCP协议中报文详解

    TCP协议中报文SYN.ACK.FIN.RST.PSH.URG详解 1. SYN:同步连接序号,TCP SYN报文就是把这个标志设置为1,来请求建立连接: 2. ACK:请求/应答状态.0为请求,1为 ...

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

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

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

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

最新文章

  1. 使用Python,OpenCV实现图像和实时视频流中的人脸模糊和马赛克
  2. mysql sql语句最大长度设置方法
  3. (二)图像处理技术概述
  4. 大话数据结构:拓扑排序
  5. Missing artifact net.sf.json-lib:json-lib:jar:2.4错误和Eclipse安装Maven插件错误
  6. orelse_可选的orElse vs orElseGet
  7. 如何在Java中使用重复项查找整数数组中的K个缺失数字?
  8. 自动化集成:Pipeline整合Docker容器
  9. win10系统配置服务器地址,win10系统配置服务器地址
  10. python selenium模拟键盘_Python+Selenium自动化篇-7-模拟键盘操作
  11. 机器学习-1-.py文件的导入问题
  12. python slice和列表切割_Python 列表切边 slice
  13. 仅需10道题轻松掌握Python文件处理 | Python技能树征题
  14. php设置上传文件浏览按钮的样式和文字,文件上传按钮的用户自定义样式的实现...
  15. 强大的支持多文件上传的jQuery文件上传插件Uploadify
  16. Android开发技巧 (四) —— 多窗口模式
  17. python验证码识别cnn_用CNN识别验证码的实用教程
  18. PADS Logic电路原理pcb设计(线路硬件设计实践问题总结)
  19. 数据库中的全表扫描,索引扫描,以及相关知识点
  20. 混合式步进电机本体建模

热门文章

  1. 关于Python环境下WindowsMac 升级pip的方法最佳实践(附pip常用命令)
  2. ORA-01031的解决方法
  3. python前端和后端的区别_前端和后端的区别
  4. 51Nod-1166大数开平方(java版本)
  5. 多行文本/文本溢出显现...
  6. 斗鱼的游戏主播能赚钱吗
  7. 基于机器学习的自动音乐生成播放器
  8. 计算机二级每日报名时间,计算机二级报名时间
  9. 聊聊隐私专家如何保护隐私的
  10. 联想thinkpad E470无线网络无法使用问题解决方法