计算机网络和因特网
今天的因特网无疑是有史以来由人类创造、精心设计的最大系统,该系统具有数以亿计的相连的计算机、通信链路和交换机,有数十亿的用便携计算机、平板电脑和智能手机连接的用户,并且还有一批与因特网连接的“物品”,包括游戏机、监视系统、手表、眼镜、温度调节装置、体重计和汽车。面对如此巨大并且具有如此众多不同组件和用户的因特网,是否能够理解它的工作原理?是否存在某些指导原则和结构,能够作为理解这种规模和复杂程度惊人的系统的基础?这样的话,能让学习计算机网络成为既引人入胜又趣味盎然的事吗?幸运的是,对所有这些问题都是响亮的肯定答复。本书的目的的确是向读者介绍计算机网络这个动态领域的最新知识,使他们深人地理解网络的原则和实践,使读者不仅能理解今天的网络,而且能理解明天的网络。
第一章概述了计算机网络和因特网。这一章的目标是从整体上粗线条地勾勒出计算机网络的概貌,并且描述本书内容的框架。这一章包括大量的背景知识,讨论大量的计算机网络构件,而且将它们放在整个网络的大环境中进行讨论。本章将以如下方式组织计算机网络的概述:在介绍了某些基本术语和概念后,将首先查看构成网络的基本硬件和软件组件。我们从网络的边缘开始,考察在网络中运行的端系统和网络应用;接下来探究计算机网络的核心,查看传输数据的链路和交换机,以及将端系统与网络核心相连接的接人网和物理媒体。我们将了解因特网是“网络的网络”,并将得知这些网络是怎样彼此连接起来的。
在浏览完计算机网络的边缘和核心之后,本章的后半部分将从更广泛、更抽象的角度来考察计算机网络。我们将考察在计算机网络中数据的时延、丢包和吞吐量,给出一个端到端吞吐量和时延的简单定量模型:该模型兼顾了传输、传播和排队时延等因素。接下来,我们将介绍计算机联网时的一些关键的体系结构原则,如协议分层和服务模型。我们还将了解到计算机网络对千许多不同类型的攻击来说是脆弱的,将回顾其中的某些攻击并且考虑使计算机网络更为安全的方法。最后,我们将以计算机网络的简要历史结束本章的学习。
什么是因特网
在本书中,我们使用一种特定的计算机网络,即公共因特网,作为讨论计算机网络及其协议的主要载体。但什么是因特网?回答这个问题有两种方式:其一,我们能够描述因特网的具体构成,即构成因特网的基本硬件和软件组件;其二,我们能够根据为分布式应用提供服务的联网基础设施来描述因特网。我们先从描述因特网的具体构成开始,并用图1举例说明我们的讨论。
具体构成描述
因特网是一个世界范围的计算机网络,即它是一个互联了遍及全世界数十亿计算设备的网络。在不久前,这些计算设备多数是传统的桌面C、Linux工作站以及所谓的服务器(它们用于存储和传输Web页面和电子邮件报文等信息)。然而,越来越多的非传统的因特网“物品”(如便携机、智能手机、平板电脑、电视、游戏机、温度调节装置、家用安全系统、家用电器、手表、眼镜、汽车、运输控制系统等)正在与因特网相连。的确,在许多非传统设备连接到因特网的情况下,计算机网络(computer network)这个术语开始听起来有些过时了。用因特网术语来说,所有这些设备都称为主机(host)或端系统(end system)。据估计,到2015年有大约50亿台设备与因特网连接,而到2020年该数字将达250亿。2015年,全世界巳有超过32亿因特网用户,接近世界人口的40%。
图1 因特网的一些部件
端系统通过通信链路(communication link)和分组交换机(packet switch)连接到一起。在第2节中、我们将介绍许多类型的通信链路,它们由不同类型的物理媒体组成。这些物理媒体包括同轴电缆、铜线、光纤和无线电频谱。不同的链路能够以不同的速率传输数据,链路的传输速率(transmission rate)以比特/秒(bills,或bps)度量。当一台端系统要向另一台端系统发送数据时,发送端系统将数据分段,并为每段加上首部字节。由此形成的信息包用计算机网络的术语来说称为分组(packet)。这些分组通过网络发送到目的端系统,在那里被装配成初始数据。
分组交换机从它的一条人通信链路接收到达的分组,并从它的一条出通信链路转发该分组。市面上流行着各种类型、各具特色的分组交换机,但在当今的因特网中,两种最著名的类型是路由器(router)和链路层交换机(link-layer switch)。这两种类型的交换机朝着最终目的地转发分组。链路层交换机通常用于接入网中,而路由器通常用于网络核心中。从发送端系统到接收端系统,一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径(route或path)。思科公司估计到2016年年底全球年度IP流量将超过泽字节(zetta byte,1021字节),到2019年将达每年2泽字节。
用于传送分组的分组交换网络在许多方面类似千承载运输车辆的运输网络,该网络包括了高速公路、公路和交叉口。例如,考虑下列情况,一个工厂需要将大量货物搬运到数千公里以外的某个目的地仓库。在工厂中,货物要分开并装上卡车车队。然后,每辆卡车独立地通过高速公路、公路和立交桥组成的网络向仓库运送货物。在目的地仓库,卸下这些货物,并且与一起装载的同一批货物的其余部分堆放在一起。因此,在许多方面,分组类似于卡车,通信链路类似于高速公路和公路,分组交换机类似于交叉口,而端系统类似千建筑物。就像卡车选取运输网络的一条路径前行一样,分组则选取计算机网络的一条路径前行。
端系统通过因特网服务提供商(InternetServiceProvider, ISP)接入因特网,包括如本地电缆或电话公司那样的住宅区ISP、公司ISP、大学ISP,在机场、旅馆、咖啡店和其他公共场所提供WiFi接人的ISP,以及为智能手机和其他设备提供移动接入的蜂窝数据ISP。每个ISP自身就是一个由多台分组交换机和多段通信链路组成的网络。各ISP为端系统提供了各种不同类型的网络接入,包括如线缆调制解调器或DSL那样的住宅宽带接入、高速局域网接入和移动无线接人。ISP也为内容提供者提供因特网接入服务,将Web站点和视频服务器直接连入因特网。因特网就是将端系统彼此互联,因此为端系统提供接入的lSP也必须互联。较低层的ISP通过国家的、国际的较高层ISP(如Level 3 Communications、AT&T、Sprint和NTT)互联起来。较高层ISP是由通过高速光纤链路互联的高速路由器组成的。无论是较高层还是较低层ISP网络,它们每个都是独立管理的,运行着IP协议(详情见后),遵从一定的命名和地址规则。我们将在l.3节中更为详细地考察ISP及其互联的清况。
端系统、分组交换机和其他因特网部件都要运行一系列协议(protocol),这些协议控制因特网中信息的接收和发送。TCP(Transmission Control Protocol,传输控制协议)和IP(InternetProtocol,网际协议)是因特网中两个最为重要的协议。IP协议定义了在路由器和端系统之间发送和接收的分组格式。因特网的主要协议统称为TCP/IP。我们在这一章中就开始接触这些协议。但这仅仅是个开始,本书的许多地方与计算机网络协议有关。
鉴于因特网协议的重要性,每个人就各个协议及其作用取得一致认识是很重要的,这样人们就能够创造协同工作的系统和产品。这正是标准发挥作用的地方。因特网标准(Internet standard)由因特网工程任务组(Internet Engineering)研发。IETF的标准文档称为请求评论(Request For Comment, RFC)。RFC最初只是普通的请求评论(因此而得名),目的是解决因特网先驱者们面临的网络和协议问题。RFC文档往往是技术性很强并相当详细的。它们定义了TCP、IP、HTTP(用于Web)和SMTP(用千电子邮件)等协议。目前已经有将近7000个RF立其他组织也在制定用于网络组件的标准,最引人注目的是针对网络链路的标准。例如,IEEE802LAN/MAN标准化委员会制定了以太网和无线WiFi的标准。
服务描述