TCP中URG和PSH的含义及区别

1、URG紧急位

URG=1,该tcp报文为紧急报文;其中的紧急数据需要直接交付给接收端的进程,
而不进入缓存。剩余的数据需要进入缓存。

紧急数据的长度=紧急指针;

紧急数据的起始点=序号;
  注意:当数据需要紧急发送时,发送端会将该数据调整到该tcp报文最前面。

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

1)在紧急数据后面的数据为普通数据,需要按序缓存

2)**窗口为0也可以发送紧急数据**

3)紧急数据都处理完成后,tcp就告诉进程恢复到正常操作

2、PSH推送位

  PSH=1该报文希望,到达对端时,
  将这个报文及缓存区之间缓存尚未交付的数据一并交付给进程。
  一般情况下是最后一个tcp数据报。接收缓存区满了也会交付数据给程序。

  1)PSH报文到达后提交给程序的数据=本报文数据+缓存区数据

  2)PSH的方向--->单方向(接收PSH报文的一端)

3、区别

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

PSH交付给进程的数据:缓冲区排好序的数据及当前报文中的数据

你可能感兴趣的:(TCP中URG和PSH的含义及区别)