1 紧急URG
当URG=1时,表明紧急指针字段有效。它告诉此系统此报文段中有紧急数据,应尽快传送,而不要按原来的排队顺序传送。URG设置为一时,发送方TCP就把紧急数据插入到本报文数据的最前面,在紧急数据后面的数据仍然是普通数据。
紧急数据起点: 序号
紧急数据终点:序号+紧急指针
2 推送PSH
当两个应用进程进行交互式通信时,有时一端的应用进程希望在键入一个命令后立即得到对方的响应。这时,发送方TCP把PSH置为1,并立即创建一个报文段发出。接收方TCP收到PSH=1的报文段后,就尽快的交付给接受应用进程,而不是等到整个缓存都填满后再交付。(这个报文和之前缓存区中的没有交付的数据一起交付)
PSH数据: 缓存区数据+本报文数据
PSH方向:单方向(接收PSH报文的一端)
3 联系:
两者都是想要发送紧急数据,而对数据的一种处理方式。
4 区别:
(TCP/IP协议中默认是数据缓冲区到达一定上限再交付)
(1)URG交付的只有紧急数。PSH交付的是缓存区中的数据和紧急数据
(2)URG是把紧急数据不进入接收缓冲区,直接交付(紧急指针后的普通数据仍然先存到缓冲区中)。
PSH是紧急数据先进入缓冲区,在和紧急数据之前的缓存区中的数据一并交付。
(URG是处理在前端(收到数据后立马对真正意义上"数据"进行操作,所以说"紧急.而PSH是在处理的后端,告诉内核,不用等待"满了"再递交数据递交到上层.)