TCP首部中URG与PSH的联系与区别以及6个控制位
来源:互联网 发布:阿里妈妈淘宝联盟推广 编辑:程序博客网 时间:2024/05/22 15:05
URG与PSH的联系与区别
联系:
都是一种对数据的处理方式。
区别:
URG交付给进程的数据:
1、只有紧急数据;
2、紧急数据不进入接收缓冲区而直接交付给进程,余下数据要进入接收缓冲区;
3、URG是处理在前端(收到数据后立马对真正意义上”数据”进行操作,所以说”紧急”。
PSH交付给进程的数据:
1、缓冲区排好序的数据及当前报文中的数据;
2、PSH是在处理的后端,告诉内核,不用等待”满了”再递交数据递交到上层。
TCP报文段首部的6个控制位分别为URG、ACK、PSH、RST、SYN、FIN,下面将对这6个控制位做详细解释。
紧急URG(URGent)
当URG=1时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据),而不要按原来的排队顺序来传送。
当URG置1时,发送应用进程就告诉发送方的TCP有紧急数据要传送。于是发送方TCP就把紧急数据插入到本报文段数据的最前面,而在紧急数据后面的数据仍是普通数据。这时要与手不中紧急指针(Urgent Pointer)字段配合使用。
确认ACK(ACKnowledgment)
仅当ACK=1时确认号字段才有效。当ACK=0时,确认号无效。TCP规定,在连接建立后所有传送的报文段都必须把ACK置1。
推送PSH(PuSH)
当两个应用进程进行交互式的通信时,有时在一端的应用进程希望在键入一个命令后立即就能够收到对方的响应。这种情况下,TCP就可以使用推送(push)操作。这时,发送方TCP把PSH置1,并立即创建一个报文段发送出去。接收方TCP收到PSH=1的报文段,就尽快的(即“推送”向前)交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。
复位RST(ReSeT)
当RST=1时,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立运输连接。RST置1还用来拒绝一个非法的报文段或拒绝打开一个连接。RST也可称为重建位或重复位。
同步SYN(SYNchronization)
在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文段。对方若同意建立连接,则应在响应的报文段中使SYN=1和ACK=1。因此,SYN置1就表示这是一个连接请求或连接接受报文。
终止FIN(FINis)
用来释放一个连接。当FIN=1时,表明此报文段的发送方的数据已发送完毕,并要求释放运输连接。
- TCP首部中URG与PSH的联系与区别以及6个控制位
- TCP协议首部中URG与PSH的区别
- TCP协议报文段首部的控制位中URG与PSH的比较
- TCP中URG与PSH的联系
- TCP协议首部中URG与PSH
- 计算机网络--TCP报文首部URG与PSH的区别
- TCP首部的URG与PSH及其区别
- TCP首部中的URG和PSH的区别和联系
- TCP控制位之URG与PSH
- URG与PSH的区别与联系
- URG与PSH的联系和区别
- URG与PSH的区别及联系
- URG和PSH的区别与联系
- 浅析TCP协议中URG和PSH的区别与联系
- TCP首部中的URG和PSH概念以及区别
- 详解TCP协议中控制位及URG&PSH的区别
- URG与PSH的区别
- TCP报文首部URG和PSH的区别
- 结构体符号重载(简单版+手动扩栈方法)
- C++ 标准库概览
- Win XP仍为占有率第三系统!
- 数组完数
- java——反射机制
- TCP首部中URG与PSH的联系与区别以及6个控制位
- MySQL Spatial Extensions 地理信息
- mysql安装以及使用
- 516. Longest Palindromic Subsequence
- 如何理解es6语法的,对象前面加三个点(...) 对象的解构赋值和扩展
- mybatis精通之路之TypeHandler初探
- flex布局
- 函数指针与函数类型
- 深入理解mybatis原理(三) MyBatis的一级缓存实现详解