互联网基础设施如何运作

作者:Jeff Tyson & Chris Pollette
Smart City Shanghai City Network Technology
互联网基础设施本质上就是网络的网络。AerialPerspective Images/Getty Images

互联网最伟大的事情之一就是没有人真正拥有它。它是全球大大小小的网络集合。这些网络以多种不同的方式连接起来,形成了我们所知的互联网这个单一实体。

1969年诞生以来,互联网已从四个主机计算机系统发展到数千万个。然而,没有人拥有互联网,但这并不意味着它没有以不同的方式受到监控和维护。互联网协会是一个成立于1992年的非营利组织,负责监督定义我们如何使用和与互联网交互的策略和协议的制定。

广告

在本文中,您将了解互联网的基本底层结构。您将了解域名服务器、网络接入点和骨干网。但首先,您将了解您的计算机如何连接到其他计算机。

互联网:计算机网络层级

当您连接到互联网时,您的计算机就成为网络的一部分。
十万个为什么

每个连接到互联网的设备都是网络的一部分,甚至您家中的设备也是如此。F or example, 您的计算机可能使用电缆或光纤调制解调器连接到互联网服务提供商(ISP)。在工作中,您的设备可能是局域网LAN)的一部分,但您的互联网连接是由您雇主的ISP提供的。一旦您连接您的计算机,它就成为您雇主网络的一部分。然后ISP可能会连接到更大的网络。互联网本质上就是网络的网络。

大型通信公司拥有自己的专用骨干网这是始终在线的互联网连接,具有足够的带宽,可供多人同时使用。在每个区域,公司都设有当地办事处,将当地家庭和企业连接到其主网络。令人惊叹的是,这里没有集中的网络。流量点对点传输,如果一台计算机从网络中掉线,组成数字文件的数据包就会路由到另一台计算机。文件按预期到达,您永远不会注意到流量模式的变化。

广告

互联网网络示例

举个例子。想象一下,公司A是一家小型公司,其办公室网络配置了服务器和网络打印机。想象一下,公司B是一家企业ISP。公司B在主要城市建造或租赁办公空间,以存放其服务器和路由设备。公司B规模庞大,在其建筑物之间铺设了自己的光纤线路,使它们全部互联。

在这种安排下,公司A的所有客户可以相互通信,公司B的所有客户也可以相互通信,但两家公司的网络并未互联。两家公司都可以内部通信,但都无法与另一家公司通信。因此,公司A和公司B都同意在各个城市连接到互联网交换点,即IXP。两家公司的网络现在可以使用互联网相互连接并连接到其他组织。

广告

这个例子展示了两家公司的网络如何相互通信,但这两家公司只是一个特写示例,展示了它们的两个网络如何加入广阔的互联网。要鸟瞰这些互联网络的样子,请查看巴雷特·里昂的Opte项目,该项目致力于创建不断发展的互联网管道地图。

互联网路由器的功能

所有这些网络都依赖IXP、骨干网和路由器来相互通信。这个过程令人难以置信的是,一条消息可以从一台计算机发出,通过几个不同的网络传输到世界的另一端,并在几分之一秒内到达另一台计算机!

路由器决定信息从一台计算机发送到另一台计算机的去向。路由器是专用设备,它们能将你和所有其他互联网用户的信息沿着数千条路径快速发送到目的地。路由器有两项独立但相互关联的工作。

广告

  • 它确保信息不会发送到不需要的地方。这对于防止大量数据堵塞“无辜旁观者”的连接至关重要。
  • 它确保信息到达预定目的地。

在执行这两项任务时,路由器在处理两个独立的计算机网络方面非常有用。它连接两个网络,将信息从一个网络传递到另一个网络。它还保护网络彼此独立,防止一个网络上的流量不必要地溢出到另一个网络。无论连接了多少个网络,路由器的基本操作和功能保持不变。由于互联网是由无数小网络组成的巨大网络,因此它对路由器的使用是必不可少的。

广告

互联网骨干网

computer server room
技术人员在计算机服务器机房整理一些电缆。Erik Isakson/Getty Images

国家科学基金会(NSF)于1986年创建了第一个高速骨干网。它被称为NSFNET,是一条T1线路连接了170个较小的网络,并以1.5 Mbps(每秒百万比特)的速度运行。IBM、MCI和Merit与NSF合作创建了该骨干网,并在次年开发了T3(45 Mbps)骨干网。

骨干网是互联网连接,允许比您家中到附近中央办公室的连接多得多的流量。在互联网早期,只有最大的电信公司才有能力处理这种带宽。

广告

如今,越来越多的公司运营自己的高容量骨干网,所有这些骨干网都在世界各地的各种IXP互联。通过这种方式,互联网上的每个人,无论他们身在何处,使用什么提供商,都可以与地球上的其他人进行通信。整个互联网是人们之间自由互通的巨大、庞大的协议。

互联网协议:IP地址

互联网上的每台机器都有一个唯一的识别号,称为IP地址。IP代表互联网协议(Internet Protocol),它是计算机用于通过互联网通信的两种协议之一。另一种是传输控制协议(Transmission Control Protocol),两者常被合称为TCP/IP。协议是想要使用服务的用户连接该服务的预定义方式。“用户”可以是人,但更常见的是像网页浏览器这样的计算机程序。

典型的互联网协议版本4(IPv4)地址如下所示:216.27.61.137。

广告

为了方便人类记忆,IP地址通常以十进制格式表示为点分十进制数,如上所示。但计算机以二进制形式通信。看同一IPv4地址的二进制形式:11011000.00011011.00111101.10001001。

IPv4地址中的每个数字序列都被称为八位组(octet),因为从二进制形式看,每个序列都有八个位置。如果您将所有位置加在一起,得到32,因为IPv4地址被认为是32位数字。由于八个位置中的每一个都可以有两种不同的状态(1或0),因此每个八位组的可能组合总数是28或256。因此,每个八位组可以包含0到255之间的任何值。将四个八位组合在一起,您将得到232或可能的4,294,967,296个唯一值!

在IPv4地址近43亿种可能的组合中,某些值被限制用作典型的IP地址。例如,IP地址0.0.0.0保留用于本地网络上的机器,地址255.255.255.255用于广播

尽管43亿听起来像很多地址,但互联网发展如此之快,以至于需要一个更新的128位地址系统来取代IPv4。互联网工程任务组(IETF)的专家于1998年末开始研究新系统。互联网协议版本6(IPv6)于2012年6月6日正式推出,可容纳340万亿3个地址,因此我们应该有足够的空间容纳所有设备。(目前如此。)顺便提一下,IPv5从未被正式采纳为标准。

正如您可能预料的那样,IPv6地址与1970年代创建的IPv4略有不同。IPv6地址中的每个段使用四个数字,并用冒号分隔。

例如:ba5a:9a72:4aa5:522e:b893:78dd:a6c4:f033。

由于IPv6使用十六进制表示法,因此需要表示16个独立的数字。因此,除了数字0到9之外,字母A-F已被征用来表示两位数。

暂时回到IPv4,八位组除了简单地分隔数字外,还有其他作用。它们用于创建IP地址类别,可以根据大小和需求分配给特定的企业、政府或其他实体。八位组分为两部分:网络和主机。第一个八位组用于识别计算机所属的网络。主机(有时也称为节点)识别网络上的实际计算机。最后一个八位组显示主机段。有五种IP类别以及某些特殊地址。您可以在什么是IP地址?了解更多关于IP类别的信息。

广告

互联网协议:域名系统

互联网在其初期,由少数几台通过调制解调器和电话线连接的计算机组成。您只能通过提供您想要建立链接的计算机的IP地址来建立连接。例如,一个典型的IP地址可能是216.27.22.162。当只有少数主机时这很方便,但随着越来越多的系统上线,它变得难以管理。

第一个解决方案是一个简单的文本文件,称为主机表,由网络信息中心(NIC)维护,用于将名称映射到IP地址。很快,这个文本文件变得如此庞大,以至于管理起来过于繁琐。1983年11月,保罗·莫卡佩特里斯(Paul Mockapetris)向国际网络工作组提交了两份征求意见稿。RFC 882概述了域名系统(DNS)的概念,该系统自动将文本名称映射到IP地址。RFC 883提出了实现该系统的方法。多亏了他和许多其他人的努力,现在您只需要记住例如www.十万个为什么.com,而无需记住十万个为什么.com的IP地址那一系列数字和标点符号。

广告

URL:统一资源定位符

当您使用网络或发送电子邮件时,您会使用域名来完成。例如,统一资源定位符(URL)“https://www.十万个为什么.com”包含域名十万个为什么.com。此电子邮件地址也是如此:example@十万个为什么.com。每次您使用域名时,互联网的DNS服务器都会将人类可读的域名转换为机器可读的IP地址。有关DNS的更深入信息,请查看域名服务器如何工作

顶级域名,也称为一级域名,包括.COM、.ORG、.NET、.EDU和.GOV。在每个顶级域名中,都有一个庞大的二级域名列表。例如,在.COM一级域名中,有

广告

  • 十万个为什么
  • 雅虎
  • 微软

.COM顶级域名中的每个名称都必须是唯一的。最左边的部分,例如“www”,是主机名。它指定了域中特定机器(具有特定IP地址)上目录的名称。一个给定的域,理论上可以包含数百万个主机名,只要它们在该域内都是唯一的。

DNS服务器接受来自程序和其他名称服务器的请求,以将域名转换为IP地址。当请求到来时,DNS服务器可以执行以下四种操作之一:

  1. 它可以直接用IP地址回答请求,因为它已经知道所请求域的IP地址。
  2. 它可以联系另一个DNS服务器,尝试查找所请求名称的IP地址。它可能需要多次执行此操作。
  3. 它可以说:“我不知道您请求的域的IP地址,但这里有一个比我了解更多的DNS服务器的IP地址。”
  4. 它可以返回错误消息,因为请求的域名无效或不存在。

广告

DNS示例

假设您在浏览器中输入URL www.十万个为什么.com。浏览器会联系DNS服务器以获取IP地址。DNS服务器通过联系其中一个DNS根服务器开始其IP地址搜索。根服务器知道所有处理顶级域名(.COM、.NET、.ORG等)的DNS服务器的IP地址。您的DNS服务器向根服务器询问www.十万个为什么.com,根服务器会说:“我不知道www.十万个为什么.com的IP地址,但这是.COM DNS服务器的IP地址。”

您的名称服务器随后向.COM DNS服务器发送查询,询问它是否知道www.十万个为什么.com的IP地址。.COM域的DNS服务器知道处理www.十万个为什么.com域的名称服务器的IP地址,因此它会返回这些地址。

广告

您的名称服务器随后联系www.十万个为什么.com的DNS服务器,询问它是否知道www.十万个为什么.com的IP地址。它确实知道,因此它将IP地址返回给您的DNS服务器,您的DNS服务器再将其返回给浏览器,浏览器随后联系www.十万个为什么.com的服务器以获取网页。

实现这一点的关键之一是冗余。每个级别都有多个DNS服务器,因此如果一个服务器出现故障,会有其他服务器处理请求。另一个关键是缓存。一旦DNS服务器解析了一个请求,它就会缓存收到的IP地址。一旦它向根DNS服务器发出了对任何.COM域的请求,它就知道了处理该.COM域的DNS服务器的IP地址,因此它不必再次向根DNS服务器询问该信息。DNS服务器可以对每个请求都这样做,这种缓存有助于防止系统堵塞。

尽管它们完全不可见,但DNS服务器每天处理数十亿个请求,它们对互联网的顺畅运行至关重要。这个分布式数据库日复一日地如此出色、如此无形地工作,这证明了其设计的精妙。

广告

互联网服务器和客户端

互联网上的每台机器要么是服务器,要么是客户端。为其他机器提供服务的机器是服务器。用于连接这些服务的机器是客户端。有网页服务器、电子邮件服务器、FTP服务器等等,为世界各地的互联网用户提供服务。

当您连接到www.十万个为什么.com阅读页面时,您是坐在客户端机器上的用户。您正在访问十万个为什么网页服务器。服务器机器找到您请求的页面并将其发送给您。访问服务器机器的客户端都有特定的目的,因此客户端将其请求定向到运行在服务器机器上的特定软件服务器。例如,如果您的机器上运行着网页浏览器,它会尝试与服务器机器上的网页服务器通信,而不是电子邮件服务器。

广告

服务器有一个不会改变的静态IP地址。另一方面,通过调制解调器拨号连接的家用机器,通常每次登录时都会由ISP分配一个IP地址。该IP地址对您的会话是唯一的——下次拨号时它可能会有所不同。通过这种方式,ISP只需要为每个设备分配一个IP地址,而不是为每个客户分配一个。

端口和HTTP

任何服务器都通过使用编号端口提供服务——服务器上每项可用服务一个端口。例如,如果一台服务器机器运行网页服务器和文件传输协议(FTP)服务器,网页服务器通常会在端口80上可用,FTP服务器会在端口21上可用。客户端通过特定的IP地址和特定的端口号连接到服务。

一旦客户端连接到特定端口上的服务,它就会使用特定协议访问该服务。协议简单地描述了客户端和服务器将如何进行对话。互联网上的每个网页服务器都遵循超文本传输协议(HTTP)。您可以通过阅读网页服务器如何工作了解更多关于互联网服务器、端口和协议的信息。

网络、路由器、NAP、ISP、DNS和强大的服务器共同构成了互联网。当您意识到所有这些信息都在几毫秒内传遍全球时,这确实令人惊叹!这些组件在现代生活中极其重要——没有它们,就没有互联网。而没有互联网,我们许多人的生活确实会大不相同。

有关互联网结构和相关主题的更多信息,请查看以下链接。

广告

加载中...