URG与PSH
URG和PSH是TCP协议中的两个控制位
①URG(紧急位):当URG=1时,表明紧急指针字段有效,它告诉系统此报文中有紧急数据,应尽快传送(相当于高优先级的数据)。而不需要按原来的排队顺序来传送。
当URG=1时,发送应用进程告诉发送方的TCP有紧急数据要传送,于是紧急发送方就把紧急数据插入到本报文段数据的最前面,而紧急数据后面的数据依然是普通数据,这时要与首部中的紧急指针字段配合使用。
②PSH(推送位):当两个应用进程进行交互式的通信时,有时在一端的应用进程希望在键入一个命令后就能收到对方的响应,这种情况下,可以使用推送操作,PSH=1时,立即创建一个报文段发送出去,接受方收到报文段的时候,就尽快的接受交付应用进程,而不再等到缓存满了再向上交付。
两者的区别
当URG=1时,报文段中含有紧急数据,紧急指针指向包内数据段的某个字节(数据从第一字节到指针所指的数据就是紧急数据)接受端收到此报文后先处理紧急数据,不会经过缓冲区,但是通常我们大家的理解是TCP往上层交付数据的时候,要等到缓冲区满了才可以。当PSH=1的时候,接受端收到PSH为1的报文后就立即将接受缓冲区内数据向上交付给应用程序,则不会等到缓冲区的数据满了才交付,(但此时交付的还是缓冲区的数据)但是如果URG=1,是不用通过缓冲区而直接交付的。
URG和PSH
最新推荐文章于 2021-03-27 15:19:16 发布