1. 首页
  2. 网络技术
  3. 网络基础
  4. 带外数据-jpeg标准的中文文档pdf

带外数据-jpeg标准的中文文档pdf

上传者: 2024-07-19 14:58:46上传 PDF文件 27.27MB 热度 7次

带外数据(OOB)在不同的协议中有不同的含义。一般来说,协议利用已建立的通信连接来发送OOB数据。OOB数据可能与已发送的正常数据同序。插口层支持两种与协议无关的机制来实现对OOB数据的处理:标记和同步。本章讨论插口层实现的抽象的OOB机制。UDP不支持OOB数据。TCP的紧急数据机制与插口层的OOB数据之间的关系在TCP一章中描述。发送进程通过在sendxxx调用中设置MSG_OOB标志将数据标记为OOB数据。sosend将这个信息传递给插口协议,插口层收到这个信息后,对数据进行特殊处理,如加快发送数据或使用另一种排队策略。当一个协议收到OOB数据后,并不将它放进插口的接收缓存而是放在其他地方。进程通过设置recvxxx调用中的MSG_OOB标志来接收到达的OOB数据。另一种方法是,通过设置SO_OOBINLINE插口选项(见第17.3节),接收进程可以要求协议将OOB数据放在正常的数据之内。当SO_OOBINLINE被设置时,协议将收到的OOB数据放进正常数据的接收缓存。在这种情况下,MSG_OOB不用来接收OOB数据。读调用要么返回所有的正常数据,要么返回所有的OOB数据。两种类型的数据从来不会在一个输入调用的输入缓存中混淆。进程使用recvmsg来接收数据时,可以通过检查MSG_OOB标志来决定返回的数据是正常数据还是OOB数据。插口层支持OOB数据和正常数据的同步接收,采用的方法是允许协议在正常数据流中标记OOB数据起始点。接收者可以在每一个读系统调用的后面,通过SIOCATMARK ioctl命令来检查是否已经达到OOB数据的起始点。当接收正常的数据时,插口层确保在一个报文中只有在标记前的正常数据才会收到,使得接收者接收的数据不会超过标记。如果在接收者到达标记之前收到一些附加的OOB数据,标记就自动向前移。

需要更多关于插口编程的详细资料?请查阅TCP插口编程文档

举例图 16-34 说明两种接收带外数据的方法。在两个例了中,字节 A ~ I 作为正常数据接收。了解更多关于带外数据在TCP中的应用及其紧急数据的发送方式,请参阅带外数据TCP URG数据的作用和发送方式

下载地址
用户评论