什么是URG?有什么特点?如何使用?
URG(紧急指针有效标志位)它使一端可以告诉另一端有些具有某种方式的紧急数据已经放置在普通的数据流中。另一端被通知这个紧急数据已被放置在普通数据流。
特点:
1.在紧急数据后面的数据为普通数据,需要按序缓存
2.窗口为0也可以发送紧急数据
3.紧急数据都处理完成后,tcp就告诉进程恢复到正常操作中,由接收方决定如何处理。
使用:
紧急数据的起始点=序号;
紧急数据的终止点=序号+紧急指针;
(紧急指针就是记录紧急数据的字节数,紧急指针永远为正数)
URG设置为1时,首部中的紧急指针有效;为0时,紧急指针没有意义。
什么是PSH? 有什么特点?如何使用?
PSH (紧急位):PSH=1,该报文希望,到达对端时,将这个报文及缓存区之间缓存尚未交付的数据一并交付给进程。
特点:
PSH强调的是尽快将数据交付给上层(协议),而不需要经过强迫数据交互(默认tcp/ip是将数据缓存到一定的上限,再将数据递交给上层,以提高网络性能).可见,该部分数据是需要复制到缓存中的。
使用:
1.PSH的数据=本报文数据+缓存区数据
2.PSH的方向—>单方向(接收PSH报文的一端)
URG和PSH的区别
URG交付给进程的数据:只有紧急数据
PSH交付给进程的数据:缓冲区排好序的数据及当前报文中的数据