首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

网络

Networking

标准的OSI七层模型近来被更易于理解的TCP/IP四层模型所取代。为了弄清楚网络在应用程序体系结构中所扮演的角色,需要先了解这四个层次,它们之间如何交互。这四个层次形成一个简单的堆栈,如图2-2所示。

图2-2:TCP/IP栈(来自minky sue:http://flickr.com/photos/kukeit/8295137

最底层表示物理介质,信号在其上传播(无限电波、双绞线电缆内的脉冲等),以及把数据编码在其中所用的格式(比如以太网帧或ATM单元等);在网际网络层,我们开始在不同的网络间传输消息,在这一层,数据帧或数据单元封装成了熟悉的IP分组;传输层在网际网络层之上,它确保将消息从连接的一端传输到另一端,有可靠的方式(使用TCP),也有不可靠的方式(使用UDP);最顶层是应用程序级别的一展身手的地方,利用前述各层来创建有意义的用户体验。每个层次都堆叠于下层之上,数据流在概念上仅仅从上一个层次流到下一层次。下面将同一网络上两台计算机之间的消息传输以图2-3表示。

消息从堆栈的顶部开始,本例中的消息是一个HTTP请求,沿层次依次向下,逐渐被封装

图2-3:使用TCP/IP栈的HTTP消息传递

成越来越大的包(IP分组将HTTP请求打包,以太网数据帧又将IP分组打包)。当消息到达堆栈底层时,以电子信号、光、微波,或者类似信号的形式通过网线,直到到达另一个堆栈的底部。当消息最终抵达第二个堆栈的顶层时,又以HTTP请求的形式表现出来。这种体系结构的关键之处在于,每一层都无需知道在这层下面是些什么。执行HTTP请求时完全不需要关心IP是如何工作的。创建IP分组时也无需忧虑这个分组究竟是怎样以电子信号的形式在电缆中传播的。

虽然网络服务端和客户端要用到TCP/IP栈的全部四层,网络设备却能够只涉及任意一层到全部四层。中继器(现在已经很少见了)、网络集线器和网络交换机只作用于协议的最底层。路由器作用于第一层和第二层,有时也作用于更高层。在第9章中提到的负载平衡器,通常作用1~3层间的任意一层(对于四层负载平衡而言,采用OSI的层次编号系统)或者是1~4层间的任意一层(对于七层负载平衡而言,同样采用OSI的层次编号系统)。对于所有这些设备,消息始终还是流向可用堆栈的最高层,如图2-4所示。

通过常规的IP路由器,消息经由网络介质传输,将电子信号翻译成以太网的数据帧。从以太网数据帧解包后,抽取IP分组,并将其传输到堆栈。之后通过查看分组标头来确定是否需要路由(若IP地址指向的接口并非是接收到该条消息的这个接口,那么就需要进行路由)。若要对IP分组进行路由,需要正确设置分组标头,并将其经由堆栈向下传输。链路层以帧的方式打包新的分组,并将其下传到线路上,传输至目的地主机。当消息在互联网上传输时,它会在很多设备的堆栈中上下移动,每个堆栈都对消息如何传输起了决定性作用,并最终传输到其目的地。

设备之间和设备所在层次之间的差异是很重要的,特别是在理解交换机、路由器以及负载平衡器之间角色的不同时,更能体会到这一点。花些时间研究一下一般的网络基础知识

图2-4:通过TCP/IP堆栈传输的消息,经过路由

好好领会一下它们如何关联在一起是值得的。TCP/IP模型的角色极其重要,任何其他模型都是基于它的。至于以太网和基于IP的网络,有必要进一步研究冲突域、ARP传播域、多播广播域、普通的多播以及各种其他路由协议,特别是RIP和BGP。文献著述往往以OSI七层模型为参考,所以也有必要了解一下TCP/IP和OSI模型之间的重叠部分。

一般情况下,感兴趣的主要统计指标是:在不超出网络负载的情况下,最多可以在网络上传输多少数据。这涉及很多因素,包括链路层的速度,所发送的流量的种类,不同机器之间的路径上存在的网络硬件、广播域、广播流量以及设备速度。最后一个因素尤其重要,如果第七层的处理工作交由软件来实现,一个数据链接达1Gbps的七层网络设备可能无法处理最大负载下的流量。但如果第七层设备是ASIC,问题就迎刃而解了。统计网络传输能达到的最大数据传输速度时,应该将很多因素纳入考虑,而不只是限于下层链路层技术的原始速度。

以上论述(假定网络正确配置,可以避免广播风暴),都太学术化了,绝大部分应用程序都不会用完1Gbps的链接的。当然也有例外情况,如网络密集型的应用程序。在第9章中我们将研究基于简单平坦的模式扩展网络的方法。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论