欢迎大家来到IT世界,在知识的湖畔探索吧!
欢迎大家来到IT世界,在知识的湖畔探索吧!
1、物理层
物理层是所有网络的基础。物理性质给所有信道强加了两个根本限制,而这些限制决定了它们的带宽。这些限制分别是处理无噪声信道的尼奎斯特极限和处理有噪声信道的香农极限。
传输介质可以是引导性的或非引导性的。主要的引导性介质有双绞线、同轴电缆和光纤。非引导介质包括地面无线电、微波、红外线、通过空气传输的激光和卫星。
数字调制方式可以通过引导性和非引导性介质上的模拟信号来发送比特。线性编码以基带方式运行,通过调节载波的振幅、频率和相位把信号放置到一个通带上。信道可以时分、频分和码分复用的方式被多个用户共享使用。
大多数广域网络的关键元素是电话系统。电话系统的主要组件有本地回路、中继线和交换机。ADSL在本地回路上可以提供高达40Mbps的数据率,具体做法是将本地回路分割成许多个可同时运行的子载波。这样的速度远远超过了电话调制解调器的速度。PON将光纤引入住户,可提供比ADSL还要高的接入速率。
中继线传送数字信息。用WDM对光纤进行多路复用就可以在其上提供许多条高容量链路,同时通过TDM使得许多用户共享每条高速链路。电路交换和包交换都很重要。
对于移动应用而言,固定电话系统显然并不适用。移动电话在目前被广泛应用于语音通信,并越来越多地用于数据通信。它们已经经历了三代。第一代1G是模拟的,由AMPS主宰。第二代2G是数字化,目前在全球部署最广泛的移动电话系统是GSM。第三代3G是数字的并且以宽带CDMA为基础,现在正在部署的有WCDMA和CDMA2000。
另一种网络接入系统是有线电视系统。它已逐渐从同轴电缆演变为混合光纤同轴电缆,从单纯的电视演进为电视和Internet。它的潜在带宽很高,但实际带宽则主要取决于其他用户,因为它是共享式的。
2、数据链路层
数据链路层的任务是将物理层提供的原始比特流转换成由网络层使用的帧流。链路层为这样的帧流提供不同程度的可靠性,范围从无连接无确认的服务到可靠的面向连接服务不等。
链路层采用的成帧方法各种各样,包括字节计数、字节填充和比特填充。数据链路协议提供了差错控制机制来检测或纠正传输受损的帧,以及重新传输丢失的帧。为了防止快速发送方淹没慢速接收方,数据链路协议还提供了流量控制机制。滑动窗口机制被广泛用来以一种简单方式集成差错控制和流量控制两大机制。当窗口大小为1个数据包时,则协议是停-等式的。
纠错和检错码使用不同的数学技术把冗余信息添加到消息中。卷积码和里德所罗门码被广泛用于纠错,低密度校验码越来越受到欢迎。实际使用的检错码包括循环冗余校验和校验两种。所有这些编码方法不仅可被应用在链路层,而且也可用在物理层和更高的层次。
考察了一系列协议,这些协议在更现实的假设下通过确认和重传,或者ARQ(自动重复请求)机制为上层提供了一个可靠的链路层。从一个无错误的环境开始,即接收方可以处理传送给它的任何帧,我们引出了流量控制,然后是带有序号的差错控制和停-等式算法。然后,我们使用滑动窗口算法允许双向通信,并引出捎带确认的概念。最后给出两个协议把多个帧的传输管道化,以此来防止发送方被一个有着漫长传播延迟的链路所阻塞。接收方可以丢弃所有乱序的帧,或者为了获得更大的带宽效率而缓冲这些乱序帧,并且给发送方反馈否定确认。前一种策略是回退n协议,后一种策略是选择重传协议。
Internet使用PPP作为点到点线路上的主要数据链路协议。PPP协议提供了无连接的无确认服务,使用标志字节区分帧的边界,至于错误检测则采用CRC。该协议通常被用在运载数据包的一系列链路上,包括广域网中的SONET链路和家庭ADSL链路。
3、介质访问控制子层
有些网络只有一个信道可用于全部的通信。在这些网络中,关键的设计问题在于如何在希望使用信道的竞争站之间分配信道。当站的数目较小并且固定,而且流量呈连续型时,FDM和TDM是简单而有效的分配方案。这两种模式被广泛使用在这种情况下,例如,电话中继线带宽的划分。然而,当站的数据较大并且可变,或者流量呈现相当的突发时,正是计算机网络的一般情况,FDM和TDM就是糟糕的选择。
许多动态信道分配算法被设计了出来。ALOHA协议,包括分槽的与不分槽的,被用在许多实际系统的衍生物中,例如线缆调制解调器和RFID。当可以侦听信道状态后,作为一种改进,站在其他站传输时可避免启动自己的传输。这种技术,即载波侦听,导致了局域网和城域网的CSMA各种协议。它是典型以太网和802.11网络的基础。
众所周知有一类协议能完全消除竞争,或者至少能大大减少了竞争。位图协议、拓扑结构(比如环)以及二进制倒计数协议完全消除了竞争。树遍历协议能减少竞争,具体做法是动态划分成两个大小不同的相邻组,并且只允许同一个组内的站竞争;最理想的组选择是当它允许发送时只有一个站要发送。
无线局域网提出了新的问题,就是很难侦听到传输冲突,而且站所覆盖的区域可能有所不同。在主宰无线局域网的IEEE 802.11中,站使用CSMA/CA,通过留有很小的时间间隔来避免冲突,从而减轻第一个问题。站还可以使用RTS/CTS协议来对抗由于第二个问题引出的隐藏终端。IEEE 802.11通常被用于把笔记本电脑和其他设备连接到无线接入点,但它也可以用在设备之间的自组织联网。任何一种物理层都可以被使用,包括有或没有多个天线的多信道频分复用,以及扩频技术。
跟802.11一样,RFID读写器和标签使用随机访问协议来交换标识符。其他无线个域网和无线城域网有不同的设计。蓝牙系统可连接耳机和许多不同类型的外设到计算机而无须任何线缆。IEEE 802.16为固定和移动计算机提供了广域的无线Internet数据服务。这两类网络都使用了一个集中并面向连接的设计,其中蓝牙主节点和WiMAX基站决定每个站何时可以发送或接收数据。对于802.16而言,这种设计可为诸如电话那样的实时流量和像Web浏览这样的交互式流量提供服务质量保障。至于蓝牙,复杂性放置在主节点上,从而导致从节点非常的廉价物美。
以太网是有线局域网的主要形式。经典以太网使用CSMA/CD来分配黄色花园软管内电缆的信道,这个软管在机器之间蜿蜒穿梭。随着速度由原来10Mbps提升到10Gbps并继续攀升,体系结构已经发生改变。现在,诸如双绞线那样的点到点链路连接着集线器和交换机。有了现代交换机和全双工链路,链接上已经不能存在竞争,交换机可以在不同的端口之间并行地转发帧。
若要把局域网布满整个建筑物,就需要一种互连局域网的方法。即插即用的网桥就能用于此目的。搭建网桥时需要用到后向学习算法和生成树算法。由于此功能已被纳入现代交换机,因此术语“网桥”和“交换机”可以互换着使用。为了帮助桥接局域网的管理,VLAN技术使得物理拓扑结构可划分为不同的逻辑拓扑结构。VLAN标准,即IEEE 802.1Q协议,引入了一种新的以太网帧格式。
4、网络层
网络层向传输层提供服务,它既可以基于虚电路,也可以基于数据报。在这两种情形下,它的主要任务是将数据包从源端路由到接收方。在数据报网络中,路由决定针对每一个数据包而作;在虚电路网络中,路由决策在建立虚电路时做出。
计算机网络用到了许多路由算法。泛洪是最简单的算法,它把数据包发送到所有的路径上。大多数算法寻找一条最短路径,并能自适应网络拓扑的变化。主要的算法是距离矢量算法和链路状态算法。大多数网络实际使用了其中的某一个算法。其他重要的路由话题包括大型网络的层次路由、移动主机的路由、广播路由、组播路由和选播路由。
网络很容易变得拥塞,从而增加了数据包延迟和丢失。网络设计者企图通过一系列手段来避免拥塞,其中包括设计具有足够容量的网络、选择未拥堵的路由、拒绝接受更多的流量、给源端发信号降低速度以及负载脱落。
处理拥塞控制的下一步是努力获得所承诺的服务质量。一些应用程序在乎吞吐量而另一些应用程序却更关心延迟和抖动。提供不同服务质量的方法包括流量整型、路由器上的资源预留以及准入控制。专门被设计用于提供良好服务质量的几种途径包括IETF的综合服务(包括RSVP)和区分服务。
网络在很多方面都有所不同,所以,当多个网络相互连接时,问题就出现了。当不同的网络具有不同的最大数据包长度时,可能需要分段。不同网络内部可运行不同的路由协议,但外部必须运行公共的路由协议。有的时候,隧道一个数据包穿越一个敌对网络能解决问题,但是,如果源网络和目标网络的类型不同,这种方法就会失败。
Internet的网络层有丰富多样的协议。这些协议包括数据报协议IP和控制相关协议,比如ICMP、ARP和DHCP。一个称为MPLS的面向连接协议携带IP数据包穿过某些网络。网络中使用的主要路由协议是OSPF,穿越网络用的路由协议是BGP。Internet正快速消耗着IP地址,所以IPv6作为IP的新版本已经开发出来,并正在被如此之慢地部署着。
5、传输层
传输层是理解分层协议的关键。它提供了各种服务,其中最重要的服务是一个从发送端至接收端的端到端的、可靠的、面向连接的字节流。通过一组服务原语可以访问此服务,原语可用来建立、使用和释放连接。Berkeley套接字提供了一个常用的传输层接口。传输协议必须能在不可靠的网络上完成连接管理工作。由于延迟的重复数据包可能会重新出现在不恰当的时刻,因而连接的建立过程非常复杂。为了处理这些问题,需要使用三次握手法来建立连接。释放连接比建立连接要容易得多,但由于存在两军对垒问题,释放连接也并非轻而易举。
即使网络层完全可靠,传输层也有大量的工作要做。它必须处理所有的服务原语、管理连接和计时器、拥塞控制与分配带宽以及运行大小可变的滑动窗口流量控制。
拥塞控制应该在竞争流之间公平地分配所有可用带宽,并跟踪网络使用的变化。AIMD控制法则能收敛到公平和有效的带宽分配。
Internet有两个主要的传输协议:UDP和TCP。UDP是一个无连接的协议,它主要对IP数据包进行了包装,由此引入了多个进程复用和分用一个IP地址这一特性。UDP可以被用于客户机-服务器之间的交互(比如RPC),UDP也可以被用来建立实时协议(比如RTP)。
主要的Internet传输协议是TCP。它提供了一个可靠的、双向的、拥塞可控的字节流,构成字节流的所有段都有一个20个字节长的头。大量的工作针对TCP性能进行了优化,它们主要是Nagle、Clark、Jacobson、Karn和其他的算法。
网络性能通常由协议和段的处理开销来主宰,在速度很高的时候这种状况变得糟糕。协议应该被设计成最小化段的数量,而且在带宽延迟乘积大的路径上工作良好。对于千兆网络,要求使用尽可能简单的协议,并实行流水线式处理。
延迟容忍网络提供了一个跨网络的传递服务,这种网络具有偶尔的连通性或链路的延迟很长。中间节点存储、携带并转发捆绑在一起的数据束,因此最终得以传递到目的地,即使在任何时间都不存在一条从发送端到接收端的工作路径。
6、应用层
ARPANET上的域名始于一种非常简单的方式:一个ASCII文本文件列出了所有主机的名字和它们相应的IP地址。每天晚上,所有机器都下载文件。但是当ARPANET演变成Internet并且规模发生了爆炸后,需要一个更为复杂和动态的命名方案。现在使用的是一个称为域名系统的分层计划。它将Internet上的机器组织成一组树。在顶层,是众所周知的通用域名,包括com、edu以及约200个国家或地区的顶级域名。DNS作为一个分布式数据库,其服务器遍布在世界各地。通过查询DNS服务器,一个进程可以将一个Internet域名映射成IP地址,该地址被用来与该域的计算机通信。
电子邮件是Internet的原始杀手锏应用。它仍然被广泛地应用,从小孩子到老爷爷,现在每个人都在使用它。世界上绝大多数电子邮件系统都使用由RFC 5321和RFC 5322定义的协议。邮件都有简单的ASCII头,而且通过MIME可以发送许多类型的内容。邮件被提交给邮件传输代理,由它作进一步的传递;通过不同的用户代理,用户从邮件传输代理处获取并检索邮件,这些用户代理包括Web应用。提交的邮件使用SMTP发送,邮件传输的工作通过建立一条TCP连接进行,即要建立一条从发送端邮件传输代理到接收端邮件传输代理的TCP连接。
Web是被大多数人认为等同于Internet的应用程序。最初,它只是一个系统,用来无缝连接跨计算机的超文本页面(以HTML语言编写)。浏览器与服务器建立一个TCP连接并使用HTTP下载网页。如今,许多Web上的内容是动态生成的,无论是在服务器端(例如,PHP),或在浏览器中(例如,使用JavaScript)。当与后端数据库相结合时,动态服务器页面催生出这样的Web应用程序,比如电子商务和搜索等。动态浏览器页面正在演变为全功能的应用,比如电子邮件,这些全功能应用运行在浏览器内,使用Web协议与远程服务器通信。
缓存和持续连接是广泛用来提高Web性能的两种技术。尽管移动电话的带宽和处理能力都有了很大的增长,但是移动设备上使用Web独具挑战性。Web站点通常给带有小屏幕的设备发送页面的裁剪版本,这样的页面具有较小图像和较少复杂的导航。
Web协议越来越多地被用于机器对机器的通信。作为对内容的描述,XML优于HTML,因为它更易于机器的处理。SOAP是一个使用HTTP来发送XML消息的RPC机制。
自2000年以来,数字音频和视频已经成为Internet的主要驱动力。今天大多数Internet流量是视频,其中包含很多通过混合协议(包括RTP/UDP和RTP/HTTP/TCP)来自Web站点的媒体流。给很多消费者现场直播媒体流,包括广播所有时间的Internet电台和电视台。音频和视频还可用于实时会议。许多呼叫使用了IP语音,而不是传统的电话网络,包括视频会议。
盛极一时的网站数量只有一小部分,而数量巨大的网站又没那么流行。为了满足流行的网站的需求,已经部署了内容分发网络。CDN使用DNS把客户指向一个附近的服务器;服务器放置在世界各地的数据中心。另外,P2P网络让一组机器彼此共享内容,比如电影。它们提供的内容分发能力可随着P2P网络的机器数量的不断增大而获得提升,而且可与最大的网站相媲美。
7、网络安全
密码学是一个可被用来保密信息以及确保信息完整性和真实性的工具。所有现代的密码系统都建立在Kerckhoff原则的基础上,即算法是公开的,但密钥是保密的。许多密码学算法使用了内含置换和替代的复杂交换,从而将明文变换成密文。然而,如果量子密码学变得切实可行,那么使用一次性密钥的方法也许真的可以提供牢不可破的密码系统。
密码算法可以分为对称密钥算法和公开密钥算法。对称密钥算法将数据位通过一系列用密钥作为参数的轮变换,将明文变成密文。AES(Rijndael)和三重DES是目前最为常见的对称密钥算法。这些算法可被用在电码本模式、密码块链模式、流密码模式、计数器模式以及其他一些模式中。
公开密钥算法具有加密和解密使用不同密钥的特性,并且从加密密钥不可能推导出解密密钥。这些特性使得公开一个密钥(即公钥)成为可能。主要的公开密钥算法是RSA,它的强度建立在分解大整数非常困难的基础之上。
许多法律的、商业的和其他文档需要有签名。因此,人们设计了许多数字签名方案,有的使用对称密钥算法,有的使用公开密钥算法。通常,需要被签名的消息首先使用像SHA-1这样的算法来计算散列值,然后对此散列值进行签名,而不是对原始的消息进行签名。
公钥管理可以通过证书来完成,所谓证书是指将一个主角与一个公钥绑定到一起的文档。证书需要由可信的权威机构签名,或者由某一个得到可信权威机构批准的实体签名(可以如此递归下去)。信任链的根必须事先提前获取,但是浏览器通常已经内置了许多根证书。
这些密码学工具可以被用来保护网络流量。IPSec运行在网络层上,它加密主机之间的数据包流。防火墙可以屏蔽进出一个组织的流量,屏蔽的依据通常是所用的协议和端口。虚拟专用网可以模拟老式的租用线路网络,从而提供某些期望的安全特性。最后,无线网络需要良好的安全性,以免每个人都能读取所有的消息,像802.11i协议就提供了这种安全性。
当两方建立一个会话时,他们必须相互验证对方的身份;如果有必要,还要建立一个共享的会话密钥。现在已经有了许多认证协议,包括某些使用了可信的第三方,还有一些使用了Diffie-Hellman、Kerberos和公开密钥密码学。
电子邮件的安全性可以通过组合本章介绍的技术来加以实现。例如,首先用PGP压缩邮件,然后用密钥对邮件进行加密,并发送用接收方公钥加密的这个密钥。此外,它也计算邮件的散列值,并且将签过名的散列值发送出去以便验证邮件的完整性。
Web安全也是一个重要的话题,起点是安全的命名机制。DNSsec提供了一种预防DNS欺骗的方式。大多数电子商务Web站点使用SSL/TLS在客户和服务器之间建立安全和经过认证的会话。另外,有许多技术被用来处理移动代码,特别是沙箱和代码签名技术。
Internet引发了许多导致技术与公共政策强烈交汇的问题。这样的领域包括隐私、言论自由和版权。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/115789.html