URG(紧急位)

: 急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。T C P的紧急方式是发送端向另一端发送紧急数据的一种方式。紧急指针指向包内数据段的某个字节(数据从第一字节到指针所指字节就是紧急数据,不进入接收缓冲就直接交给上层进程,余下的数据要进入接收缓冲的)

PSH(急迫位)

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

总结

URG
紧急数据的起始点=序号;
紧急数据的终止点=序号+紧急指针;

(综上,紧急指针就是记录紧急数据的字节数,紧急指针永远为正数)

1)在紧急数据后面的数据为普通数据,需要按序缓存
2)窗口为0也可以发送紧急数据
3)紧急数据都处理完成后,tcp就告诉进程恢复到正常操作
例如,已经发送了很长的一个程序要在远地的主机上运行。但后来发现了一些问题,需要取消程序的运行。因此用户从键盘发出中断命令(Ctrl+C)。如果不使用紧急数据,那么这两个字符会被存储在接受TCP的缓存末尾。只有在所有的数据被处理完毕后这两个字符才会被交付给接收方。这样就浪费了很多时间。

URG强调的是直接读取数据,我们不会将该数据复制到缓存中,我个人认为,这个数据(紧急指针指向的数据)并不是真正意义上的”数据”,而是对真正意义上”数据”的一种操作.
PSH
PSH=1,该报文希望,到达对端时,将这个报文及缓存区之间缓存尚未交付的数据一并交付给进程。
1)PSH的数据=本报文数据+缓存区数据
2)PSH的方向—>单方向(接收PSH报文的一端)

PSH强调的是尽快将数据交付给上层(协议),而不需要经过强迫数据交互(默认tcp/ip是将数据缓存到一定的上限,再将数据递交给上层,以提高网络性能).可见,该部分数据是需要复制到缓存中的

区别
URG交付给进程的数据:只有紧急数据

PSH交付给进程的数据:缓冲区排好序的数据及当前报文中的数据
两者的共同点:都是一种对数据的处理方式.只不过URG是处理在前端(收到数据后立马对真正意义上”数据”进行操作,所以说”紧急.而PSH是在处理的后端,告诉内核,不用等待”满了”再递交数据递交到上层

URG和PSH的区别与联系相关推荐

  1. URG和PSH的区别及联系

    TCP协议头部一共有六个控制位:其中包括URG.ACK.PSH.RST.SYN.FIN.        <1>紧急URG紧急指针,告诉接受TCP模块紧要指针域指着紧要数据:         ...

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

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

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

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

  4. 端口号及URG和PSH的区别

    -端口号 端口号为了标记本计算机应用层中的各个进程在和运输层交互时的层间接口.在不同计算机中,相同的端口号是没有关联的. 分为两大类:软件和硬件端口. 硬件端口:就是不同硬件设备之间的接口.如路由器, ...

  5. URG与PSH的区别

    urg=1,紧急指针指向包内数据段的某个字节数据从第一字节到指针所指字节就是紧急数据,紧急数据不进入接收缓冲就直接交给上层进程,余下的数据要进入接收缓冲 psh=1就是把接收缓冲中排好序的那一段数据交 ...

  6. URG和PSH的特点及其区别

    URG和PSH属于tcp协议中得标志位 URG :表示本报文段中发送的数据是否包含紧急数据.URG=1,表示有紧急数据.后面的紧急指针字段只有当URG=1时才有效. PSH :告诉对方收到该报文段后是 ...

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

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

  8. TCP协议(标志位URG、PSH,定时器,连接的建立和断开)

    目录 ●TCP段格式 ●TCP定时器 ●TCP三次握手和四次挥手 ●TCP段格式 6位标志位有紧急标志URG.推送标志PSH.确认标志ACK.复位标志RST.链接同步标志SYN以及结束标志FIN. ○ ...

  9. 网络编程(二):TCP段格式中的URG与PSH到底有什么不同?

    学习TCP协议的时候,我们看到在TCP的段格式里面有6个标志位,在我们讨论这个问题之前,让我们来看看这个TCP段格式到底长了个什么样子? (截的图太丑了但这不是重点...)URG.ACK.PSH.RS ...

最新文章

  1. VRPM包安装失败解决方案:had non-zero exit status
  2. apt-get需要安装mysql_ubuntu apt-get安装mysql失败-问答-阿里云开发者社区-阿里云
  3. 程序员,请您不要老是熬夜
  4. 解决ueditor jquery javascript 取值问题
  5. SNI: 实现多域名虚拟主机的SSL/TLS认证
  6. 接口简介 java 1614100890
  7. mac自带的python怎么升级_mac上怎么更新python
  8. python编码规范总结、python编码转换
  9. 图的深度优先遍历方式 Python
  10. B-树、B+树、B*树
  11. HDU 6080 度度熊保护村庄(计算几何+最小环-Floyd)
  12. Google Dapper 大规模分布式系统的跟踪方案
  13. 3.32 小猪短租的爬虫-
  14. html艺术字在线制作,超全的免费图标字体(在线图标字体制作)
  15. Java学习---day14_集合框架03
  16. vue下的@change事件
  17. 游戏修改器制作教程二:键盘鼠标钩子
  18. gonna,gotta,wanna的区别(参考牛津)
  19. 一次准备不充分的中信银行面试总结
  20. 求1-100之间的累加和

热门文章

  1. 为什么要学python表情包_Python自动生成表情包,Python在手,从此斗图无敌手!
  2. 【大数据入门核心技术-Hbase】(二)HBase数据模型
  3. OPPO Find X6 Pro和Vivo x 90pro+参数对比区别
  4. 四小时挣六万,这个CTF比赛在撒钱吗?
  5. 关于 VS Code 优化启动性能的实践
  6. iOS学习爬坑记录18:ios获得设备cpu类型
  7. Werkzeug简介
  8. C++ 求两个集合的交集和并集
  9. 跟着 Cell 学作图 | 4.小提琴图
  10. appium api 文档