什么是XON/XOFF
XON/XOFF是一种流控制协议(通信速率匹配协议),用于数据传输速率大于等于1200b/s时进行速率匹配,方法是控制发送方的发速率以匹配双方的速率。
XON/XOFF的内容
XMODEM是一种低速文件传输协议。KERMIT是异步通信环境中使用的一种文件传输协议。它与XMODEM的主要区别是:KERMIT一次可传送多个文件,而XMODEM一次只能传送一个文件;KERMIT在接收方以完整的信息包应答,而XMODEM以单字节应答;KERMIT提供多种错误校验技术,而XMODEM只提供一种错误校验技术。
在流量控制方面,可以从不同侧面采取不同的控制方案。最简单的方法就是增加接收端的缓冲存储空间,使得接收端可以缓存更多的数据。但这只是一种被动、消极的方法。因为,一方面系统不允许开设过大的缓冲空间;另一方面对于速率显著失配,并且又传送大量数据的场合,即使缓存空间再大也会出现不够的现象。目前普遍采取一种称之为“XON/XOFF”的发送控制字符的方案,通过控制字符来确定发送方是否继续发送数据,相比之下更主动、更积极、更有效。
XON/XOFF(继续/停止)是异步串行连接的计算机和其他元件之间的数据流控制协议。例如,计算机向打印机发送数据的速度通常快于打印机打印的速度,打印机包含一个缓冲器,用来存储数据,使打印机能够赶上计算机。如果在打印机赶上之前缓冲器变满了,打印机的小微处理器便发回一个XOFF信号来停止数据传送,打印完相当多的数据,缓冲存储器变空时,打印机发送XON信号,让计算机继续发送数据。“X”表示“发送器”,X/ON和X/OFF为开启和关闭发送器的信号。X/ON的实际信号为ASCII的Ctrl-Q键盘组合的位组合,X/OFF信号为Ctrl-S字符。在为计算机操作系统定义调制解调器时,可能需要用XON/XOFF或CTS/RTS来指定流控制的使用。在发送二进制数据时,XON/XOFF可能不能识别,因为它被译成了字符。
XON/XOFF是一种异步通信协议,接收设备或计算机使用特殊字符来控制发送设备或计算机传送的数据流。当接收计算机不能继续接收数据时,发送一个XOFF控制字符告诉发送方停止传送;当传输可以恢复时,该计算机发送一个XON字符来通知发送方。其中XON采用ASCII字符集中的控制字符DC1,XOFF采用ASCII字符集中的控制字符DC3。当通信线路上的接收方发生过载时,便向发送方发送一个XOFF字符,发送方接收XOFF字符后便暂停发送数据;等接收方处理完缓冲器中的数据,过载恢复后,再向发送方发送一个XON字符,以通知发送方恢复数据发送。在一次数据传输过程中,XOFF、XON的周期可重复多次,但这些操作对用户来说是透明的,也就是说用户不用管它。
许多异步数据通信软件包均支持XON/XOFF协议。这种方案也可用于计算机向打印机或其他终端设备(如MODEM的串行通信)发送字符,在这种情况下,打印机或终端设备中的控制部件用以控制字符流量。