◆刘振兴
(中国移动泰兴分公司、扬州大学 江苏 225127)
基于C/S架构的互联网体系结构演进
◆刘振兴
(中国移动泰兴分公司、扬州大学 江苏 225127)
本文从全新的角度出发,给出了C/S结构的清晰架构,对所谓的“传输装置”和“传输介质”作了详细的描述。简化了7层网络体系结构,演化为新的3层体系机构,对网络协议也进行了归类,分为TCP和IP两大族类。最后给出了完整的IP数据报形式,对首部的完善提出了建议,增加了尾部。
C/S结构;3层网络结构;IP数据报
客户端—服务器结构又称为主从式架构,简称C/S结构,是一种把客户端(Client)与服务器(Server)连接起来的网络架构。每一个客户端都可以独立的向服务器发出请求。C/S架构的网络拓扑图,如图1所示。
信息实现从服务器到客户端的传递,需要传输装置和传输介质的配合。所谓“传输转置”,即“网桥”或“中继器”,指的是交换机、集线器和路由器这三种具有信号放大作用中转装置,区别是配备的网络端口数量依次呈递减关系。其中,交换机与服务器相连接,是广域网信息传输的首要环节,提供的端口数是最多的;集线器是沟通广域网和局域网的中间环节,连接交换机和路由器,端口数量次多;路由器直接与客户端相连,处在链路的末端,端口数是最少的。交换机由各运营商和ISP提供,集线器则广泛分布在社区、校园和企业等用户密集的区域,路由器以家庭或办公室为单位,数量最多,分布最广。
图1 C/S架构拓扑图
图2 三种传输介质
所谓“传输介质”,是指光纤、电缆和双绞线这三种媒介,如图2所示。众所周知,现在的宽带网络已经实现光纤通信,光纤具有出众的导电能力。根据美国莱斯大学的最新研究,同质量的碳纳米光纤比铜电缆可承载更多电流。单独的纳米管的电流传送能力是铜的1000倍,利用其他技术将纳米管合并到光纤中却无法达到这一能力。一系列的实验证明湿纺的碳纳米管光纤比铜的导电能力更出众,同质量的导电量是铜电缆的4倍。这就可以解释为什么现在光纤通信的网速达到了电缆通信网速的5倍左右。光纤宽带使得更多用户可以同时发送数据请求,服务器也可以同时向更多的用户传输数据,而不会导致服务器瘫痪,或者网络拥塞(网速下降)。
从物理层面上讲,光纤通信具有电缆通信不可比拟的优势,光纤的信道数量与电缆的信道数量不在同一数量级。在局域网常用的双绞线的信道数量是最少的,只有8根线。通讯电缆通常是几十芯的,由几十根相互绝缘的导线组合而成,通道数也只有相应的几十。通信光纤的导电纤维可以以千计,光纤通道数量可以达到几千。
从理论上,OSI体系结构把网络体系结构分为7层,分别是物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。1至4层被看作是低层,低层与数据移动密切相关。5至7层被看作是高层,高层包含应用程序级的数据。每一层都有相应的网络协议对数据进行封装,把封装好的数据传送到下一层,直至最后形成IP数据报传送到物理层传输介质。
从实践上,可以把网络体系结构分为3层,分别是物理层、数据层和协议层。OSI模型中的网络层、传输层、会话层、表示层和应用层可以归结为协议层。如图3所示,所有服务器和客户端的操作系统浏览器都是采用的3层网络体系结构。
图3 简化的网络体系结构
7层网络模型过于理想化,没有充分考虑到开放条件下具体电信环境中的实施问题。例如,在统一的体系中,各运营商或者ISP怎么保持各自多层次网络的独立性,以及各自的多层次网络又怎么合并为一个统一的体系?另外,多层次网络结构也不优化,电话网从层次化结构转变为无层次化结构就可以提供借鉴。
网络结构划分3层,物理层是由传输装置和传输介质组成的通信链路,数据层是以物理层为载体传输的二进制码元,包括视频、音频和图文信息。协议层是指为了实现网络通信而约定的规则或者标准的集合。通信协议通常由国际标准组织来协商确定一个最优的标准,来实现数据的互传,协议都存放在服务器和客户端操作系统的网络组件中,以供随时调用。只有使用统一的协议,双方才能以相同的规则编码、译码,实现互联互通。
OSI模型把通信协议分配到7层各个层次,每一层都包含相应的协议。根据3层网络结构,可以把所有的协议都归结为TCP/IP协议。TCP(传输控制协议)与物理层相对应,IP(网际协议)与数据层相对应。TCP/IP协议就演变成为两个协议族,可以把所有的协议分为TCP和IP两大类,TCP协议族包括:NetBEUI、ICMP、PPP、HDLC、SDLC、UDP等;IP协议族包括:IPX/SPX、DNS、RIP、ARP、HTTP、FTP、SMTP等。
网络传输的是二进制码元,不管是图文信息,视频信息还是音频信息,都是以二进制码元的形式传送。通常传送的文件是以分段数据报的形式传送,因为文件包含的二进制码元数量很大,有必要把一个文件分组传送,而且对数据报的形式作出规定,即UDP(用户数据报协议)。
从理论上讲,一次传送的数据报的数量最多不能超过8个,这是因为双绞线的通道数只有8个,如果传送的数据报数量过多会造成网络的拥塞,不利于网络资源的充分利用,因此数据报的传送应该分批分次进行,每批次不超过8个数据报。但是,数据通路会分为上行和下行。从客户端的角度来看,下行是主要的需求,但是上行也是必不可少的,因此不管是ADSL,还是SDSL都要留有下行通道,在电话和网络共线的时代,还要留有电话通话的信道。因此从实践意义上来讲,每批次传送的数据报以5个比较合适。
另外,IP数据报的首部还应该记录分组数据所在的每一个传送通道的编号,这些编号在服务器端、交换机端、集线器端、路由器端都要有记载,以便数据缺失的时候可以查询,是否还在通道内,或者是到达了其它IP地址,没有到达目的IP地址,以此来判断是否需要重新发送该段数据。
既然要记录通道的编号,就有必要对通道进行编号,双绞线有8道,电缆有几十到几百道不等,光纤有几千道。对电缆和光纤编号虽然有些困难,但是从根本上来说,电缆和光纤都是可数的,可数就可以编号,而且从实践的角度来看也是可行的。每次数据报传送都要面临几次通道的选择,可以用m来描述可供选择的组合数,其中n表示空闲的通道数量,表示一个批次传送的数据报的数量(m≠5)。通常,当介质是光纤时,通道数量,当介质是电缆时,通道数量100<n,当介质是电缆时,通道数量8<n。
图4 增加尾部的IP数据报
传统的IP数据报(IP Datagram)由首部和数据两部分组成,完整的数据报还需要增加尾部,如图4所示。首部和数据部分的内容在传统的IP数据报中已给出了详细的解释,而尾部的具体内容指的是下一段数据报的标号。增加了尾部的数据报会方便分组文件的连接,只要下一段的数据报首部标识和上一段的尾部标识相同,就可以把两段数据报中的数据部分连接起来,最终组合成目标文件。
(1)C/S架构是互联网通用的结构,合理区分交换机、集线器和路由器,有助于正确认识互联网。根据光纤、电缆和双绞线不同特性,可以清楚的知道数据在网络传送中的不同阶段和不同的过程,以及互联网提速的物理原因。
(2)OSI体系结构可以简化为3层,在实践中已经广泛运用,便于跳出繁琐的7层体系结构“怪圈”。网络协议也可以总结为TCP/IP协议族,分为TCP和IP两大类,便于从整体上理解数量繁多的网络协议。
(3)IP数据报的改进,数据报的首部应该记录该段数据所经过的所有数据通道的编号,这样便于查询某个数据段未能及时到达客户端的原因,以便服务器端和中转装置端作出响应。另外,增加了必不可少的尾部,尾部指向下一段数据报,便于分组数据的重新组合连接。
[1]王大东,张菁.基于Linux环境C/S架构的FTP设计与实现[J].信息通信,2015.
[2]卢桂馥,范影乐,庞全.基于COM/COM+的三层C/S模型[J].微机发展,2007.
[3]沈庆国,于振伟,龚晶.网络体系结构的研究现状和发展动向[J].通信学报,2010.
[4]李方敏,叶澄清,潘雪增.主动网络体系结构分析和设计[J].通信学报,2000.
[5]李文杰,吴佳.网络IP数据报的捕获与解析[J].电脑知识与技术,2009.
[6]陈蕾蕾,曲保章.IP数据报重组算法及实现[J].今日电子,1998.
[7]ZHANG Y F.Introduction of Distributed Services Network[S].IETF draft-zhang-ppsp-dsn-introduction-00.txt,2009.