互联网工作原理
1. 引言 2. 网络的层次结构 3. 网络层次结构:示例 4. 路由器 5. 主干网 6. IP地址
7. 域名系统 8. 统一资源定位符(URL) 9. 域名服务举例 10. 客户机和服务器 11. 端口
引言
互联网最主要的特点之一是它不被任何人真正拥有。它是全世界大大小小网络的总和。这些网络以各种不同的方式连接在一起,组成了一个独一无二的实体,即我们所知的互联网。其实互联网这一名称也正是来自于互相连接的网络这一想法。
自1969年诞生以来,互联网已经从四个主机系统发展成为数千万个计算机系统。尽管互联网不为任何实体所拥有,但仍然可以使用各种不同的方式对其进行监控和维护。成立于1992年的互联网协会是一个非盈利性的组织,它负责监督互联网政策和协议的制定,而这些政策和协议将决定我们如何使用互联网以及与互联网交互。
通过这篇文章您将了解互联网的基础结构。此外,还将了解域名服务器、网络接入点和主干网等方面的知识。不过,您首先要了解一下你的计算机是如何连接到其他计算机的。
网络的层次结构
每台接入互联网的计算机都属于某个网络,即使是您家中的计算机也不例外。例如,您可以使用调制解调器拨号连接到一个互联网服务提供商(ISP)的网络上。工作中,您可能属于某个局域网(LAN),但很可能仍通过与你公司签订合同的ISP连接到互联网上。当您连接到ISP时就成为他们网络的一部分了。这个ISP可以再连接到更大的网络并成为更大网络的一部分。互联网就是这样由网络连成的网络。
多数大型通信公司都拥有自己的专用主干网。主干网将各地区连接起来,并在每个地区设置一个入网点(POP)。本地用户往往使用本地电话或专线经由POP接入该公司的网络。但是两人惊奇的是,实际上并不存在一个总控网络。几个大型网络是通过网络接入点(NAP)互相连接的。
当您连接到互联网以后,您的电脑就变成了某个网络的一部分。 |
网络层次结构:示例
举一个例子。假设A公司是一个大型ISP,它在各主要城市设有POP。每个城市的POP就是供本ISP的客户拨入的满满一架子调制解调器。A公司从电话公司租用光纤线缆连接所有的POP。
假设B公司是一家面向企业的ISP。它在各主要城市建造大楼放置其他公司的互联网服务器。而B公司很大,它则使用自己的光缆将所有的建筑物连接在一起。
按照这样的规划,A公司的所有客户可以相互通信,B公司的所有客户也可以相互通信,但是分属两个公司的客户却无法相互沟通。于是A、B两个公司都同意接入各城市的NAP,这样跨公司的网际通信就将经过各NAP完成。
在真实的互联网中,数十家大型互联网服务商在不同城市通过NAP相互连接,万亿字节的数据经过这些NAP在不同网络间传输。互联网就是约定使用NAP互相通信的各大网络公司的网络的集合。这样,互联网上的每台计算机都可以与其他的任何一台相连接。
路由器
所有这些网络都依靠NAP、主干网和路由器相互交流。不可思议的是:一条消息可以从一台计算机出发穿越半个地球且途径几个不同的网络到达另一台计算机,而整个过程用时不到一秒!
两台计算机通信时,路由器决定信息的流向。路由器是一种专用的计算机,它会将您和所有其他互联网用户的信息沿着成千上万条路径高速传送到目的地。路由器完成两个独立但相关的工作:
- 确保信息不会发送到不需要的地方。这对于防止大量数据堵塞他人连接是至关重要的,否则其他连接将成为“毫不相干的旁观者”。
- 确保信息发送到预定的目的地。
正是基于对上述两个功能的执行,路由器非常适用于处理互联的两个独立网络。路由器可以将两个网络连接起来,为它们传递信息。它还保护网络,避免一个网络中的信息意外泄露到另一个网络上。不管一个路由器上连接了多少个网络,它的基本运行原理和功能是不变的。由于互联网是一个由数以万计的较小网络组成的庞大网络,所以路由器的使用是必不可少的。有关更多信息,请阅读路由器工作原理。
主干网
美国国家科学基金会(NSF) 于1987年建成了第一个高速主干网NSFNET。它使用T1线路连接了170个较小的网络,传输速度为1.544Mbps(百万比特每秒)。IBM、MCI及Merit公司与NSF合作建成了这个主干网,第二年又开发出了T3 (45 Mbps)主干网。
主干网一般使用光纤干线。这种干线由多条光缆绑合而成以增加容量。光缆按OC(optical carrier,光载体)标号,如OC-3、OC-12、OC-48等。一条OC-3光缆的传输速度可达155 Mbps,而OC-48则为2,488 Mbps (2.488 Gbps)。普通56K调制解调器的传输速度仅为56,000 bps,比较一下就可知现代主干网的速度有多么快。
今天,许多公司都在经营自己的高容量主干网,而所有这些主干网在世界各地的NAP都能互联。通过这种方式,互联网上的任何人,无论他身在地球何处或使用哪家公司的网络服务,都可以和其他人交流。整个互联网可看作是各网络服务公司为实现自由互通而遵守的一个规模庞大且不断延伸的约定。
<-- Page Break -->
IP地址
每一台连接到互联网上的计算机都有一个唯一的标识码,称为IP地址。IP意为互联网协议(Internet Protocol),是计算机在互联网上通信使用的语言。协议是想要使用某一服务的某一方与该服务之间进行通信的一种预定义方式。“某一方”可能是一个人,但在更多的情况下,它是一个计算机程序,例如Web浏览器。
典型的IP地址如下所示:
为方便人们记忆,IP地址通常写成上面那样的点分十进制形式。但计算机间的通信则是二进制形式的。下面是以二进制形式表示的同一个IP地址:
IP地址中的四个数字称为八位字节,因为以二进制表示时它们都占八位。二进制IP地址的总位数是32,因此IP地址一般被看做是一个32位的数字。八个位置中的每一个可以有两种不同状态(1或0),所以每个八位字节可能的组合总数是28或256,因此其数值范围是0至255。四个八位字节组合的结果就是232或4,294,967,296个可能的数值!
在这些将近43亿个可能的地址组合中,某些值被限制不能作为普通IP地址使用。例如,IP地址0.0.0.0被保留用于默认网络,地址255.255.255.255被保留用于广播。
八位字节的用途不仅仅是分隔数字。它们还用于创建IP地址类,这些类可以根据特定企业、政府部门或其他实体的规模和需要进行分配。四个八位字节被划分为两个部分,分别标识网络和主机。网络部分总是包含第一个八位字节,它用于标识计算机所属的网络。主机(有时也称为节点)部分用于标识网络上实际存在的计算机。主机部分总是包含最后一个八位字节。共有五种IP地址类以及一些特殊地址。您可以从什么是IP地址一文中了解到更多关于IP地址类的知识。
域名系统
当互联网还处于初创阶段时,它只包含少量由调制解调器和电话线连接起来的计算机。要连接到其他计算机必须提供其IP地址。例如,典型IP地址可以是216.27.22.162。这在只有寥寥数台主机的情形下没什么问题,但随着越来越多的系统加入网络,这种办法就开始显得十分笨拙。
这个问题的第一种解决方案是使用一个简单的文本文件记录下名字到IP地址的映射,这个文件由网络信息中心负责维护。不久这个文本文件也变得十分庞大,管理起来过于繁琐。1983年,美国威斯康星大学创立的域名系统(DNS)可以自动完成名字与IP地址的映射。这样您就只需要记住如www.bowenwang.com.cn这样的名字,而不是bowenwang.com.cn的IP地址了。
统一资源定位符(URL)
您浏览网页或发送电子邮件时都要用到域名。例如,统一资源定位符(URL)http://www.bowenwang.com.cn和电子邮件地址example@bowenwang.com.cn都包含了bowenwang.com.cn这个域名。每次使用域名的时候,互联网域名服务器就会将供人阅读的域名翻译为机器可读的IP地址。请参阅域名服务器工作原理一文进一步了解DNS。
顶级域名也称第一级域名,包括.COM、.ORG、.NET、.EDU和.GOV。每个顶级域名下都有一个庞大的二级域名列表。例如,.COM一级域名下包含:
- bowenwang
- Yahoo
- Microsoft
.COM顶级域名下的所有名字必须是唯一的。最左边的字(如www)是主机的名字,它指明了域中的一台具体机器(有特定的IP地址)的名称。给定的域可以包含数百万个主机名,只要这些主机名在该域中都是唯一的。
域名服务器接受来自程序和其他名称服务器的请求,将域名转换为IP地址。一个请求到来以后,域名服务器可以有四种反应:
- 用一个IP地址应答请求,因为域名服务器已知被请求域名的IP地址。
- 连接到另外一台域名服务器并试图查询被请求域名的IP地址。它可能需要多次执行此操作。
- 回答:“我不知道您请求域名的IP地址,但这里是一个比我知道得多的域名服务器的IP地址。”
- 返回一条错误消息,因为被请求的域名是无效或不存在的。
域名服务举例
假设您在浏览器中键入了一个URL地址:http://www.bowenwang.com.cn。浏览器就会向某个域名服务器查询此URL的IP地址。一个域名服务器总是连接到根域名服务器之一,来开始IP 地址的查询。根服务器知道所有负责顶级域名(.COM、.NET、.ORG等等)的服务器的IP地址。于是您的第一个域名服务器向根服务器请求http://www.bowenwang.com.cn的地址,根服务器回答:“我不知道www.bowenwang.com.cn的IP地址,但这里是.COM域名服务器的IP地址。”
然后第一个域名服务器向.COM域名服务器发送请求询问http://www.bowenwang.com.cn的IP地址。此.COM域名服务器知道负责www.bowenwang.com.cn的那些域名服务器的IP地址,并将它们返回。
接着第一个域名服务器连接到一个负责www.bowenwang.com.cn的域名服务器并询问www.bowenwang.com.cn的IP地址。此服务器知道所查地址,故将其返回给第一个域名服务器,然后第一个域名服务器又将该地址返回给浏览器。至此,浏览器就可以使用这个地址连接www.bowenwang.com.cn获取网页了。
完成此工作的一个关键点是冗余。每一级都需要安排多台域名服务器,如果一台失败了,还有其他的继续处理请求。另一个关键点是缓存。某个请求一经解决,域名服务器就会将得到的IP地址缓存起来。只要它曾向根服务器查询过任何.COM域名,就会知道负责.COM的域名服务器的IP地址,因此它不需要再次麻烦根服务器请求同样的信息。域名服务器可以对每个请求都做这样的处理。缓存技术可以帮助减少负载,使系统不致瘫痪。
尽管完全不见它们的踪影,域名服务器每天都要处理数十亿条的请求,它们对互联网的顺利运转是不可或缺的。域名服务器长年累月无声无息的顺畅运行,正证明了这种分布式数据库的良好设计。有关域名系统的更多信息,请务必阅读域名服务器工作原理一文。
客户机和服务器
正是互联网服务器成就了互联网。互联网上的所有机器不是服务器就是客户机。为其他机器提供服务的计算机是服务器,而连接到服务器上获取服务的计算机称为客户机。网络服务器、电子邮件服务器、FTP服务器等等都在为全世界的互联网用户服务。
当您连接到http://www.bowenwang.com.cn/阅读网页时,您就成为了一个客户机的用户。当您正在访问博闻网的网络服务器时,服务器找到被请求的页面并发送给您。访问服务器的客户机都有确定的意图,它们将自己的请求发送到服务器上正在运行的特定服务软件。例如,若您正在运行一个网络浏览器,那么它会和服务器上的Web服务程序交谈,而不是电子邮件服务程序。
服务器具有静态IP地址,不会经常变化。而通过调制解调器拨号上网的家用计算机则一般由ISP在您每次拨入的时候自动分配IP地址。在联机期间这个IP地址是唯一的,但下次拨入的时候则可能会改变。这样,ISP只需为每个拨入的调制解调器分配一个IP地址,而不是为每一个客户分配。
端口
所有服务器都使用具有编号的端口来提供服务,每个服务对应一个编号。例如某服务器正在运行一个Web服务和一个文件传输(FTP)服务。Web服务一般使用80端口,FTP服务使用21端口。客户机只有连接到特定的IP地址和特定的端口号才能获得相应的服务。
客户机与某个端口的服务程序连接以后,会使用一个特定协议获得服务。协议往往是文本,它描述客户机和服务器将如何进行对话。互联网上的所有Web服务器都遵守超文本传输协议(HTTP)。您可以通过阅读Web服务器工作原理了解更多关于互联网服务器、端口和协议的知识。
网络、路由器、NAP、ISP、DNS和功能强大的服务器一起使互联网成为了现实。当您知道信息在几毫秒的时间里就能传遍全世界时,就会感到这是多么神奇!前面介绍的互联网的各部分对于现代生活是极为重要的,没有它们就没有互联网。而没有互联网,我们很多人的生活就会完全不一样了。