RFC协议注解( 二 )


a) 本地端口(键)
b) 外来端口
c) 链接
d) 连接状态
e) 流状态和缓冲控制
f) 指向用户进程的指针
g) 再连接控制状态
h) 等待呼叫队列
本地端口是一个32位的数 。假如某个特定端口的条目不存在,它会被生成为空值 。
外来端口是一个40位的数 。假如没有连接被建立,这个字段将不会被赋值 。
链接是一个8位的数,是数据从发送方发送到接收方所经过的链接 。一个套接口当且尽当它
的低位为0时,它才是接收端口 。
连接状态指的是一条链接是否开放等等 。下面是可能出现的情况:
a) 本地进程已经请求了一条链接
b) 异地进程已经请求了一条链接
c) 连接确立
d) 再连接进行中
e) 关闭等待
f) 再连接等待
流状态和缓冲控制指的是核实RFNM的发送及认可终止,挂起和恢复命令,和保持对数据的
流入流出的跟踪 。
一个指向用户进程的指针当该进程已经请求了一条连接时是必需的 。
假如再连接正在进行,保持对事件顺序的跟踪就是必要的了 。被再连接进程占用的端口或者
是一个端点或者是一个中间点 。假如它是一个中间点,就有必要将其它的与其连在同一个进
程上的中间点的8位的名字都储存起来,并记录下END和RDY命令的接收 。
最后,假如RFC(“请求---连接”命令)当端口被占用或没有进程占用它时被接收到,RFC
将被按照“先进先出”的原则在命名的本地端口中压入堆栈队列 。
进程表
----------------------
此表联系起一个进程和一个套接字端口 。它被用来进行系统调用 。
输入链路表
----------------------
此表将接收链路与本地套接字端口联系起来 。它用来判定引入的消息的去向 。
输出链路表
----------------------
此表将发送链路与本地套节字端口联系起来 。它用来解释RFNM和RSM命令 。
链路分配表
----------------------
链路是由接收方分配的 。此表显示哪些链路是空闲的 。
III.控制命令
-----------------------
命 令 一 览
0
1
2
3
4
5
6
7
8
命 令
无操作
格式:NOP
NOP是X"00"
用途:此命令被包括进来是为了完整和方便 。
请求连接
格式:

是X"01"
是一个32位的套接字端口号码,属于发送方
是一个32位套接字端口号码,属于接收方
是一个8位的链接号码
必须是发送/接收成对出现 。
被包括进来,当且仅当是一个接收方套接字端口 。
用途: 此命令用来初始化一个连接 。当两个主机已经用同样(颠倒)的方式交换了
RFC命令时,连接被确定 。链路由接收方分配 。
关闭
格式:
是X"02"
而言是相同的
用途: 此命令用来阻断一个连接 。它还被用来中止一条连接的确立或用来拒绝一个请
求 。这种情况发生在当被点名的两个套接字端口之间没有确立连接或是正在处
于被连接的进程中的时候 。此时,应该被丢弃 。
恢复
格式:
是X"03"
用途: 此命令由一个接收方主机发送以引起发送主机在已经指出名字的链路上恢复
传输 。当一个发送主机接收到一条非凡的代表某种消息的RFNM时,它会延缓发

推荐阅读