好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

{售后服务}交换交谈服务器协议.docx

15页
  • 卖家[上传人]:管****问
  • 文档编号:138502398
  • 上传时间:2020-07-16
  • 文档格式:DOCX
  • 文档大小:31.49KB
  • / 15 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • Network Working Group C. KaltRequest for Comments: 2813 April 2000Updates: 1459Category: InformationalInternet 交换交谈:服务器协议(RFC2813——Internet Relay Chat: Server Protocol)备忘录的状态:这个备忘录提供了internet群体的信息它并没有详细说明每一种internet的标准这个备忘录的适用范围是无拘束的版权通告:copyright(c)internet Society (2000). All Rights Reserved.摘要:以客户端——服务器为模板,irc协议允许服务器连接到另外的有效形成的网络本文档定义了服务器用于互相交流的协议它原来只是一个客户端协议的超集,但是已经发展的不同了正式的出版是在1993年5月作为rfc的一部分从那时以来,大多数的为了使协议更加标准的改变都可以在这篇文章中找到。

      更加标准的协议已经允许出现在万维网中,以使它可以保持不断的更新,并且有别于原来的版本目录1绪论 22.全球数据库 32.1服务器 32.2客户端 32.3信道 43.irc服务器的说明 43.1概要 43.2 特征代码 43.3信息 53.4数字回复 64信息细节 64.1连线注册 74.2信道操作: 114.3模式信息 135.执行细节 135.1连接失效 135.2接受客户端到服务器的连接 135.3终结一个服务器到服务器的连接 145.4中断服务器与客户端的连接 165.5中断之间的连接 165.6跟踪呢称变化 165.7跟踪最近使用过的用户名 175.8客户端的溢出控制 175.9无模块查找 176.当前问题 186.1可靠性 186.2标志 186.3运算法则 197.安全考虑 197.1证明 207.2完整性 208.相关支持和联接 209.鸣谢: 2010.参考书目: 2111.作者地址 2212.版权说明 22致谢: 231绪论这篇文章是为了那些开发irc服务器的人而做的,但同时对那些以irc为工具的人也是有用处的服务器提供了以《irc:体系》中定义的同时讨论为基础的三项服务:客户端位置(由客户端协议[irc客户端]定义),信息传递(由这篇文章中的服务器协议定义),和信道的建设主机与会议协商(详细条款请看[irc——信道])。

      2.全球数据库尽管irc协议定义了一些公平的发散式的模式,但是每一个服务器保持了一个关于整个irc网络的“全球状态数据库”这个数据库理论上说对所有服务器来说都是独一无二的2.1服务器服务器可以通过申请一个最长63个字母的独一无二的名字查看协议的语法条款[31]来确定那些字母在名字中是可以使用的,那些是不能使用的每一个服务器都是理论上都是被其他服务器所了解的,但是有一种可能,定义一个假的主机名字联合其他服务器使用它的名字在HOSTMASK的区域里,所有服务器都有一个和HOSTMASK名字相符的名字,在HOSTMASK区域外的服务器,即使有一个跟HOSTMASK一样的名字,也不可以登陆到irc中去而区域外的服务器对于区域内的服务器的状态则一无所知,相反的,它们被赋予一个HOSTMASK的名字2.2客户端对于每一个客户端,所有的服务器都必须有以下信息:一个网络中独特的姓名标志(它们的形式由客户端来决定),以及一个正在与客户端连接的服务器2.2.1用户每一个用户有个独特的最长为9个字母的用户名查看协议上的语法规则[31]来判断什么是能够使用的,那些不能使用作为用户名的附加段,每个服务器都要对用户保留有以下信息:用户正在连接的服务器名,用户在该服务器上的用户名,以及服务器连接的客户端名。

      2.2.2服务每一项服务都可以通过用户名和服务器名来区别与其他服务用户名最多允许9个字母查看协议上的语法规则[31]来判断那些字符可以使用,那些不行用来标志服务名称的服务器名就是这项服务连接的服务器名作为这项服务的补充,所有服务器必须都了解这种服务形式服务通过它们特有的标志符形式来区别于用户名,但是更多的较重要的服务和用户名对服务器的权限是不同的:服务可以调用服务器中保留的部分甚至全部全球数据库中的信息,但是对它们的限制就更加严格(详见irc客户端协议)并且不允许加入信道最后一点,服务并不总是服从与防火墙的58中有详细叙述2.3信道就象服务一样,信道也有它的相应规定[irc ——信道]并且没有必要让所有服务器了解当一个信道的存在被一个服务器所了解,服务器就一定要记录信道成员的轨迹和信道模式3.irc服务器的说明3.1概要这里描述的协议是用来给服务器和服务器相连接的关于客户端与服务器的连接,请看irc——客户端协议规则但是,对于客户端的连接有比服务器之间连接更多的规定(但是通常别认为是不可靠的)3.2 特征代码这里并没有说明那些特殊的特征代码协议是以一个由8个字节的代码组成的集合构成的每一条信息都可能由若干个这种8位字节的代码组成。

      但是,一些8个字节的代码含义是用来做控制代码的,就象信息的分割符不管是什么样的8字节协议,分割符和关键字都是协议用来进行美国——ASCII码的终端连接和远程登录连接因为irc是由北欧方面产生的,某些地区,字母{ } | ^被认为是等同于小键盘上的{ } \ ~字母这在确定用户名和信道名是否相同时,回出现严重问题3.3信息服务器和客户端发送各自的信息,当然,可能收到回复,也可能没有回复大多数服务器之间的联系不需要回复,因为大多数时候服务器会为客户端准备好工作进程每一条irc的信息都由三个主要部分组成:前缀(可以省略),命令,和命令参数(最多15个字符)前缀,命令和所有参数被一个ASCII码空格(0*20)隔开前缀是以一个ASCII码中的冒号(: 0*3b)来标识的,它必须是信息的第一个字符冒号和前缀之间不可以有空格前缀是服务器用来标识信息的来源的如果信息中的前缀丢失,它就会被默认成是从它刚刚连接并接收到信息的那个服务器客户端自己互相在发送信息时,不应该使用前缀;如果它使用了,唯一有效的前缀就是正在使用这个客户端的已经注册过的用户名当一个服务器接收信息时,它必须通过前缀来判别信息的来源。

      如果在服务器的中央数据库中找不到前缀,那它一定是被丢弃了,并且如果这个前缀指明的服务器是一个不知名的服务器,那么这个信息传来的的连接将被删除在这种情况下删除连接是有点过分,但是保持网络服务的严谨与制止未来可能发生的问题却是必要的另外一种常见的问题:前缀指向的信息来源是与实际不同(典型情况:来源指向的是另一个连接而不是信息来源如果信息被服务器接收,而来源指向客户端,一条删除客户端的信息就会发送到各个服务器中去另外一种情况,信息由来的那个连接就应该会在客户端被删除,并且一定要在服务器内删除不管什么情况,这条信息都要被删除命令一定要是有效的irc命令或者是用ASCII码描述的三位字节Irc信息通常是以CR-LF(换行和回车)为结束的成行的命令,这些信息的长度不可以超过512个字节,其中包括CR-LF因此,命令和它的参数最多只能有510个字节没有可以用来延长命令行的方法查看第5部分可以找到有关当前命令的执行3.3.1扩展格式的信息有关协议的信息一定要从一系列的8位字节中提取出来现在的办法是标志出两个字符,CR,LF,用来提取信息空信息通常被默默忽略掉,这就显示出CR-LF在预防额外问题中的作用。

      有效的信息被分成:若干部分(前缀),(命令),和参数表(参数)扩展BNF对这方面的表述可以在irc——客户端协议中找到[irc--客户端]附加前缀([“!”user“@”host])决不可以在服务器之间的连接中使用,它的使用范围只有服务器到客户端的连接,这样,客户端即使不需要额外的疑问而直接得到信息的来源3.4数字回复绝大部分发送去服务器的信息是有一定顺序的最普通的回复是数字回复,既可以用来回复错误,也可以普通回复数字回复作为一种信息,一定要包括有前缀,三个阿拉伯数字,和回复的目标对象客户端不允许发送数字回复,服务器如果接收到这样的回复,就会自动删除掉在所有其他关系中,数字回复就象是一个普通的信息,除非它的关键字是用三个阿拉伯数字组成的,而不是字符串一些另类的数字回复可以在irc——客户端协议中找到[irc——客户端]4信息细节所有irc的服务器与客户端认可的信息都在irc---客户端协议中详细介绍过了当出现 错误:没有此服务器时,那就意味着目标信息没有被找到如果是命令发生这种错误,服务器决不可以发送回复客户端所连接的服务器要分析整个信息,回复适当的错误如果服务器在分析信息时,遇到一个致命的错误,那么一个错误的回复信息就会被送回,并且终止分析。

      致命的错误通常是由错误命令引发的,目标来源对于服务器来说可能是未知的(服务器,客户端,信道符合这个类型),也可能是不正确的参数,或者错误的权限如果全部参数都存在,那么每一个都必须检查它是否能够有效的并且合适的送回到客户端如果信息中使用的参数表是用逗号来做分隔符的,那么就要发送回复来得到每一条条款在下面的例子中,有些信息是以完整形式给出的::姓名 命令参数菜单这样的例子是用“姓名”来标志信息的,在服务器间来回的传递,它的本质是信息的原始发送者的名字,这样,即使远程服务器也可以找到正确的路径描述从客户端到服务器的连接细节的信息在irc——客户端协议中有详细描述[irc——客户端]下面文章的一些章节就是对这些文章的应用,它们对那些只描述服务器之间连接和信息的执行的信息是个附加在这里介绍的信息都是只用来做服务器之间连接的4.1连线注册这里介绍的命令是用来向另外一个irc服务器连线注册的4.1.1密码信息命令:路径参数:<密码><提示信息><标志位>[<选项>]PASS路径命令被用来设置一个连接密码密码一定要在连线注册前设定这就意味着在PASS命令一定要在任何服务器命令之前只有第一个PASS命令会被连接认可。

      如果是从客户端接收到的信息,那么最后的三个参数就会被忽略(eg服务器的一个用户)只有当它们是从服务器发送来得时候,它们才相互关联变量参数至少要有四个字节,最多有十四个字节开始的四个字节一定要是阿拉伯数字,简要说明协议中的变量,就是已被服务器获知的那些信息这篇文章所描述的就是20版本的协议,通常被标志成“0210”剩下的可供选择的字母是执行时所要依靠的,并且需要描述软件的版本号标志位参数是一个字符串,最长可以包括100。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.