问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是带外数据?

发布网友 发布时间:2022-04-26 09:27

我来回答

1个回答

热心网友 时间:2022-06-26 18:39

传输层协议使用带外数据(out-of-band,OOB)来发送一些重要的数据,如果通信一方有重要的数据需要通知对方时,协议能够将这些数据快速地发送到对方。为了发送这些数据,协议一般不使用与普通数据相同的通道,而是使用另外的通道。linux系统的套接字机制支持低层协议发送和接受带外数据。但是TCP协议没有真正意义上的带外数据。为了发送重要协议,TCP提供了一种称为紧急模式(urgent mode)的机制。TCP协议在数据段中设置URG位,表示进入紧急模式。接收方可以对紧急模式采取特殊的处理。很容易看出来,这种方式数据不容易被阻塞,并且可以通过在我们的服务器端程序里面捕捉SIGURG信号来及时接受数据。这正是我们所要求的效果。
由于TCP协议每次只能发送和接受带外数据一个字节,所以,我们可以通过设置一个数组,利用发送数组下标的办法让服务器程序能够知道自己要监听的端口以及要连接的服务器IP/port。由于限定在1个字节,所以我们最多只能控制255个port的连接,255个内网机器(不过同一子网的机器不会超过255J),同样也只能控制255个监听端口,不过这些已经足够了。
以下对于带外数据(也称为TCP紧急数据)的讨论,都是基于BSD模型而言的。用户和实现者必须注意,目前有两种互相矛盾的关于RFC 793的解释,也就是在这基础上,带外数据这一概念才被引入的。而且BSD对于带外数据的实现并没有符合RFC 1122定下的主机的要求,为了避免互操作时的问题,应用程序开发者最好不要使用带外数据,除非是与某一既成事实的服务互操作时所必须的。Windows Sockets提供者也必须提供他们的产品对于带外数据实现的语义的文挡(采用BSD方式或者是RFC 1122方式)。规定一个特殊的带外数据语义集已经超出了Windows Sockets规范的讨论范围。
流套接口的抽象中包括了带外数据这一概念,带外数据是相连的每一对流套接口间一个逻辑上独立的传输通道。带外数据是独立于普通数据传送给用户的,这一抽象要求带外数据设备必须支持每一时刻至少一个带外数据消息被可靠地传送。这一消息可能包含至少一个字节;并且在任何时刻仅有一个带外数据信息等候发送。对于仅支持带内数据的通讯协议来说(例如紧急数据是与普通数据在同一序列中发送的),系统通常把紧急数据从普通数据中分离出来单独存放。这就允许用户可以在顺序接收紧急数据和非顺序接收紧急数据之间作出选择(非顺序接收时可以省去缓存重叠数据的麻烦)。在这种情况下,用户也可以“偷看一眼”紧急数据。
某一个应用程序也可能喜欢线内处理紧急数据,即把其作为普通数据流的一部分。这可以靠设置套接口选项中的SO_OOBINLINE来实现。在这种情况下,应用程序可能希望确定未读数据中的哪一些是“紧急”的(“紧急”这一术语通常应用于线内带外数据)。为了达到这个目的,在Windows Sockets的实现中就要在数据流保留一个逻辑记号来指出带外数据从哪一点开始发送,一个应用程序可以使用SIOCATMARK ioctlsocket()命令来确定在记号之前是否还有未读入的数据。应用程序可以使用这一记号与其对方进行重新同步。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦幻西游我这吸血鬼值多少钱 梦幻西游吸血鬼价格问题,这个吸血鬼能卖多少钱啊?MHB比例100元=500W 给... 诚心求解梦幻西游,我这只吸血鬼能值多少钱?我要个能卖出去的价... 梦幻西游手游,我现在69级,买个79的吸血鬼,可以带吗, 我梦幻西游69J号买了个119级吸血鬼,但是不能摆摊出售,那可以跟别人交易... 梦幻西游手游洗出变异吸血鬼不能摆摊 梦幻西游本人80级 有一只吸血鬼 系统不给摆摊 请问能否交易 和平精英 和平精英封号了能注销掉吗? 梦见想蛇一样的东西掉进下水道 梦见包掉到下水道里 在等待(爱情)中……最后的等待会不会是结束? 带外管理在网络中有什么功能和作用? 为什么一直在等待? 带外的成语有哪些成语 PS怎么将头发上的墨镜去掉请讲下步骤 歌词的*部分是“在等待,在等待未来,无所谓不甘寂寞的无奈,在等待,在等待未来,不再为悲喜伤怀” 什么是带外管理和带内管理? 为什么总是在等待? 带内管理与带外管理的区别是什么 人一生中到底在等待着什么 什么是带外管理和带内管理,有何区别? 绍兴市中考满分作文《 在等待 》是哪一年 歌词里有句“在,等待 ”,是任贤齐的歌,谁知道歌名? 我的心在等待永远在等待是代表什么意思? 在等待歌词什么意思 打电话显示正在等待是什么意思 等待是一场持久战,在等待中你通常会想些什么? 在等待的歌词含义是? 李慧珍的《在等待》 歌词 在等待是谁唱的 为什么总是在等待…人生怎么总是等? 带有外字成语有哪些 "我的心在等待,永远在等待....."这首歌叫什么名字?? 带外的成语有哪些 交换机带内管理 是什么 和带外管理的区别 通俗点容易理解 谢谢 中兴接入设备的“带内”和“带外”是什么意思? 照相机和照片的英文怎么写和拼音英文和中文? 求:带有外字的成语,多多益善! 什么是带外验证 什么是带外管理?具有带外管理的PDU是不是可以在局域网内被管理呢? 什么是带内IP和带外IP? 以太网交换机的带外、带外以太网端口有什么区别? 带外 字的成语 歌词带外字 照相机和数码相机区别? 平台的解释 汽车平台是什么意思 求一篇《平台》的作文,速!!!急! !! 杨权的介绍 杨权的简介