电脑技术学习

RFC主机软件(2)

dn001

1链接

1a控制链接

1a1逻辑链接0作为网络任意两台主机的控制链接

1a1a网络任意两台主机只存在一条控制链接。假如网络上有n台主机,则对于每个主机有n-1个控制链接

1a2主要用语主机之间通讯的目的

1a2a建立用户链接

1a2b打断用户链接

1a2c根据链接的状态和/或程序通过链接传递中断

1a2d监控器通讯

1a3网络上的IMP自动跟踪通过链接0发送的所有消息

1b主链接
1b1一台给定主机的用户与网络上的其它主机有1个主链接

1b1a主链接必须是一台主机的用户与其它主机之间建立的第一个链接

1b1b主链接对用户是全局的,用户程序可以打开主链接,在明确地关闭之前她始终是打开的

1b1c主链接被当作与远程主机通过普通的数据电话或直接连接的TTY一样看待,即远程主机认为一个主链接是一个普通的TTY用户。

1b1d主链接用来传递(用户)控制信息给远程主机,举例来说,它被用来登录到远程主机使用远程主机的标准登录过程)

1c辅助链接
1c1用户程序可以和他自己或已连接的主机之间建立任意个辅助链接

1c1a这些链接可以传输二进制或字符

1c1b子系统建立的辅助链接是本地的,所以当子系统退出时这些链接会关闭

2操作链接
2a控制链接
2a1系统载入时建立链接

2a2控制链接的状态可能是激活的或非激活的

2a2a控制链接的状态必须反映主机之间的关系
2b主链接
2b1用户或调用调用程序来建立与控制器的主链接

2b1a主机的网络身份号码必须包含在调用程序中。

2b1b试图建立多余一个的主链接到非凡主机会被认为是一个错误,这时请求被设置成默认的

2b1c标准传输字符集

2b1c1数据传输是用标准字符集通过主链接和控制链接进行的

2b1c1a用的是8位ASCII

2b1d(获取链接)从主机A到主机B建立链接的协议如下

2b1d1A从它的分配表选择一条当前未使用的链接到B

2b1d2A通过链接0发送一条链接-连接消息至B

2b1d3A等待

2b1d3aB发送一条关于那条链接的信息

2b1d3b等待一段时间

2b1d4假如一个信息认为该链接从B获得,那么它将被检验是否确实

2b1d4aA确认B的链接

2b1d4a1从监控器发送一个成功的返回到请求者。链接号返回给请求者,链接建立

2b1d4bB请求建立这个链接。这意味着:B试图建立独立于A的但与A一样的链接

2b1d4b1假如A(Na)的网络ID号大于B(Nb)的网络ID号,A忽略该请求,并且继续等待B的链接的确认

2b1d4b2假如是Na<Nb,A:

2b1d4b2a答应从B发过来的请求以建立链接。

2b1d4b2b发送需要的确认消息

2b1d4b2cA中断自身的请求,重复分配过程

2b1d4c从B发出的关于链接的其它信息

2b1d4c1这是一个错误条件,下同
2b1d4c1aA错误地选择了先前已分配的链接来作为分配

2b1d4c1bB通过一个未分配的链接传输信息

2b1d4c1c或者B发送给A的关于分配的信息在传输过程中发生了变化

2b1d4c2在这种情况下,A采取的动作:

2b1d4c2a发送一条关于试图连接的断开消息给B

2b1d4c2b认为主机B的状态出错,开始进入出错分支处理

2b1d5假如在指定的一段时间内无法从B接收到关于链接的信息,认为主机B被在出错状态

2b1d5aA发送一个中断链接的消息到B

2b1d5b调用出错处理分支
2c辅助链接
2c1用户程序发送调用指令给监控器以建立辅助链接

2c1a请求必须具体说明和监控器建立的链接相关的数据

2c1a1连接到B的主链接号

2c1b双方主机(A和B)的用户程序必须都请求辅助链接

2c1c假如Na>Nb,主机A使用如上的方式(获取链接)继续建立一个到主机B的链接

2c1d假如Na<Nb,A等待:

2c1d1等待主机B建立该链接(在注重B是否已经建立相关的链接以后)

2c1d2等待一段时间

2c1d2a即主机B对主机A的请求不作出反应

2c1d2b主机A和B的程序应该指定等待的时间以确定是否超时

3.错误检查

3a通过网络发送的所有消息一开始就进行错误检查以隔离硬件和软件错误

3b一个与次序相关的校验码会加入到每条消息中去

3b1以下的运算法则将被使用:

3b1a通过把连续地被检查的字符串中的相续字段相加形成一个长度为1的检查和,并且把
进位加到和的最低位
+--------------+

+---字段1----+

加法+--------------+

+----字段2---+

+-+--------------+

+-+--------------+

+--+
加法进位--->
+--+

+--------------+

+----结果----+

3b1a1这种方法称为折叠

3b1a2假如在作完加法后适当地折叠,可以把字段相加并且平行地折叠

+---------+---------+---------+---------+
字段4字段3字段2字段1
+---------+---------+---------+---------+

+---------+---------+---------+---------+
字段8字段7字段6字段5
+---------+---------+---------+---------+
加法
+-+---------+---------+---------+---------+

+-+---------+---------+---------+---------+

v
+---------+

+---------+

+---------+
`->
+---------+

+---------+
`----------->
+---------+

+---------+
`--------------------->
+---------+

+---+
`-----进位------------------------>
+---+
加法
+---------+---------+

+--进位--+---------+

+-----+
加法`----->
+-----+

+---------+

+-结果--+

3b1a2a采用这种方法的话,假如有n个字段,第一个n-1字段的进位自动地加到下一个较高字
段的低位,所以通过折叠,只需把[n]结果字段的值与第n个字段的进位相加,然后加上一
个从那次加法得到合适大小的进位,并且重复一定的次数以获得结果。

3b1a3以该种方式计算生成的校验码具有可在不同字长机器上使用的优点。

3b1a3a假如用适当长度的字符串来计算生成校验码,并且选择适当长度的校验码字段,则
每台机器的校验技术将会相当理想

3b1a3a1字段长度:288位(?未翻译:lowestcommondenomenatorof(24,32,36))

3b1a3a2校验码长度:8位(适合所有机器的字段大小)

3b1b假如一条消息被分割成几组字段,每一组都采用这种校验方式,那么每组就会获得一
个与次序相关的校验码,并且加入到下一个组的校验码中去。

3c双方主机进入请求对消息的检查确认模式时,提供一个设备以满足该要求。该检查确认
通过控制链接发送

4监控器功能
4a网络I/O驱动
4a1输入

4a1a从IMP输入消息

4a1b对消息进行错误检查

4a1b1校验检查和

4a1b2假如回应模式已打开,通过控制链接发送“收到消息”回应

4a1c字符转化

4a1c1有相当大的可能性字符转化是在IMP中完成的

4a1c2这需要BBN进一步研究

4a1c3有两个需要主要考虑的事项

4a1c3a转化由表来做还是由运算法则完成?

4a1c3a1一开始看起来好象用表实现是最佳途径

4a1c3b哪些消息是应该转化的,是不是所有都要转化(当然不是!!!)?那么用哪种方
法到底该如何区别?

4a1d对头解码,发送消息到源指定的接收者,链接之

4a2输出

4a2a构造头

4a2b字符转化

4a2b1留意输出转换部分的备注

4a2c生成校验和

4a2d检查链接状态

4a2d1假如在链接上传送最后一条消息后没有RFNM,则等待

4a2e传输消息给IMP

4a2f假如回应模式是打开的,则等待

4a2f1RFNM来自目的地的IMP

4a2f2目的地的主机通过链接0发出回应
4b网络状态
4b1维持网络上其它主机的状态

4b1a假如一个IMP关闭了,那么它的主机也将关闭

4b2维持控制链接的状态

4b3回应其它主机发出的状态查询

4b4通知其它主机关于中断基础的主、辅助链接的状态

4b5通知其它主机关于程序使用主、次链接的状态

5可执行操作
5a主链接
5a1需要主机号作为参数

5a1a建立主链接

5a1b连接主控制TTY到主链接

5a1c通过主链接输入/输出

5a1d询问主链接状态

5a1d1不知道确切应该怎么做,但是看起来它可能是有用的

5a1e断开和主链接的控制TTY

5a1f杀掉主链接
5b辅助链接
5b1建立辅助链接
5b1a需要主机号作为参数
5b1b返回一个类似文件索引的逻辑链接号。该逻辑链接号作为参数传递给它辅助链接
5b2通过辅助链接输入/输出
5b3询问辅助链接状态
5b3a不知道确切应该怎么做,但是看起来它可能是有用的
5b4杀掉辅助链接
5c非凡执行函数
5c1透明的。通过链接输入/输出
5c1a这可能用来阻塞通过链接进行的I/O传输
5c1b实例中控制器的功能是传输一个缓冲给它的IMP
5c1c缓冲保持原样
5c1c1这意味着头和其它控制信息必定包含在缓冲中
5c1d这样做的目的是为了网络调试

6初始校验

6a用模拟数据电话模式的链接初始检验网络

6a1所有消息是一个字符长

6a2对于控制器来说,链接是透明的,并且由用户程序使用非凡的可执行操作来控制

6a2a初始化测试有两台不同主机上的拥护程序运行,举例来说,从DDT到DDT

6a2b通过电话链接或其它相似的来并行

[ThisRFCwASPutintomachinereadableformforentry]
[intotheonlineRFCarchivesbyRobbieBennet10/1998]
[ThisRFCwasnroffedbyKellyTardif,Viagenie10/1999]

RFC2HostSoftWare




标签: