URG和PSH

来源:互联网 发布:windows bat日期加减 编辑:程序博客网 时间:2024/06/14 14:47

URG: 急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。T C P的紧急方式是发送端向另一端发送紧急数据的一种方式。紧急指针指向包内数据段的某个字节(数据从第一字节到指针所指字节就是紧急数据,不进入接收缓冲就直接交给上层进程,余下的数据要进入接收缓冲的)值得注意的是即使窗口为0时也可以发送紧急数据,紧急数据不进入接收缓冲区直接交给上层进程。
PSH:当两个应用进程进行交互式通信时,有时客户发一个请求给服务器时希望立即能够收到对方的响应,这种情况下,客户应用程序通知TCP使用推送(push)操作,TCP就把PSH置为1,并立即创建一个报文段发送过去,类似的服务器的TCP收到一个设了PSH标志的报文段时就尽快将所有收到的数据立即提交给服务进程,而不在等到整个缓存都填满了再向上交付。
PSH=1,希望将本报文段及发送放缓存区的数据一快交付给应用进程;

紧急URG将紧急报文字段插入到普通报文字段的前面,而推送PSH是利用紧急数据重新直接创建一个报文,并立即发送出去;
URG=1,表示紧急数据(数据从序号开始到紧急指针指向字节)不经过缓冲区直接交付应用进程,PSH=1表示尽快推送,将数据先交给缓冲区,不等待缓冲区填满(默认TCP/IP是将数据缓存到一定上限,才交由上层)就交给上层程序;
URG=1交给上层进程的只有紧急数据,PSH=1交给上层程序的是紧急数据和之前接收方缓冲区排好序的数据;

原创粉丝点击