首页 百科知识 互联网是如何工作的

互联网是如何工作的

时间:2022-06-20 百科知识 版权反馈
【摘要】:3.4 互联网是如何工作的谈到网络,恐怕与我们接触最紧密的就是互联网了。正因为此,互联网没有所有者,也没有正式的管理者,它只是一种客观存在。虽然我们对互联网是如此的熟悉,但可能你并不一定清楚它的工作原理。互联网工作原理的核心就是TCP/IP模型,在介绍TCP/IP模型之前,我们先来了解互联网中的通信方式——分组交换。由于TCP/IP是互联网的基础,因此我们下面详细介绍一下TCP/IP模型的原理。

3.4 互联网是如何工作的

谈到网络,恐怕与我们接触最紧密的就是互联网了。截至2005年,全球大约有9.58亿互联网用户,占世界总人口的4.5%。我们可能每天利用互联网浏览网页获取信息,收发E-mail,下载和上传文件,从事研究和商务活动。互联网的英文名称是Internet,也翻译成因特网。实际上Internet这个名字是术语inter-networking的缩写,从名称就可以知道它并不是一个单独的网络,而是网络的网络或网络的集合。互联网连接了全世界成千上万的网络和无数个人计算机,这些网络和计算机属于个人、政府机关、大学、医院、私人商业机构和其他一些企业,几乎遍及世界每一个国家。正因为此,互联网没有所有者,也没有正式的管理者,它只是一种客观存在。

虽然我们对互联网是如此的熟悉,但可能你并不一定清楚它的工作原理。互联网工作原理的核心就是TCP/IP模型,在介绍TCP/IP模型之前,我们先来了解互联网中的通信方式——分组交换。

分组交换

当您拨打电话时,就是在使用线路交换的方式进行通信。电话系统将会为您的电话和被呼电话之间建立起一个固定线路。该线路在整个通话过程中会一直维持着,这种连接方法使得在通话过程中线路的质量保持一致,却在无意中浪费了宝贵的通信资源。并且,如果整个线路中的任何一个环节出现问题,那么通话将会被突然中断。

和电话系统有些不同,互联网改进了信息的传输方式,采用的是分组交换技术进行通信。在分组交换(packet switching)网络中,首先,将数字信息分割成很多固定大小的数据包,每个数据包除了包括要发送的信息片段之外,还包括一些额外的信息,如发送端和接收端的地址,以便指导数据包发送到正确的目的地。然后,在网络中每个数据包都各自独立地进行传输,它们将会沿着最佳的可用路径发送到目的地,并且不同的数据包经由的路径可能是不同的。最终,到达目的地以后再将它们组合成原始信息,这一过程如图3-8所示。分组交换的优势在于它不需要专门的线路,只需要利用空闲的资源。如果一些线路瘫痪或过于繁忙,数据包可以通过其他可用的线路传输,并最终到达目的地。

图3-8 分组交换网络

OSl参考模型与TCP/IP模型

通过前面的学习,我们已经知道协议对网络的重要性。由于互联网是由诸多网络连接而成的网络,这些网络由于位于不同的地点而可能存在着很大的差异,其中一个重大差异就是可能采用了不同的技术或者说运行不同的协议(有的是以太网,有的是令牌环网或其他),具有不同的网络操作系统等,这些差异可能会直接导致网络之间无法正常传输数据。因此,必须有一套标准能够让这些彼此不同的网络能够相互交流。下面要介绍的OSI参考模型和TCP/ IP模型就是这样的标准。

国际标准化组织(International Standards Organization,ISO)是一个由多国参与的国际组织,于1947年成立,致力于国际标准之制定。ISO所制定的标准中,牵涉到网络通信方面的就是开放系统互连(Open Systems Interconnection,OSI)分层参考模型,简称为OSI参考模型,该模型是在20世纪70年代后期所提出来的,在1984年被修改后成为了网络通信的国际标准。

OSI参考模型包括7层,自上而下分别是:应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。模型当中每一层有专门的网络功能,处理通信过程中不同的部分。这意味着两个不同的网络,如果支持了一个相关的层的功能,便可在那一层进行数据交换。但是,OSI参考模型仅仅是一个参考模型,而我们今天的互联网使用的却是TCP/IP模型。

提起Internet,就不得不提到TCP/IP协议,TCP/IP是传输控制协议/互联网协议(Transmission Control Protocol/Internet Protocol)的简称,实际上TCP/ IP是包含了很多协议的一个协议组,TCP和IP只是其中两种最重要的协议。TCP/IP所表达的意思远远超过了其名称,它俨然是计算机通过Internet通信的通用语言。图3-9对OSI模型和TCP/IP组进行了比较,从图中不难看出,和OSI参考模型的7层不同,该协议组有四层,自上而下分别是:应用层、传输层、互联网协议层和网络接口层,每一个层次包括若干不同的协议。虽然TCP/IP和OSI参考模型并不完全一致,但二者的基本原理却是类似的。由于TCP/IP是互联网的基础,因此我们下面详细介绍一下TCP/IP模型的原理。

图3-9 TCP/IP模型与OSI参考模型的对比

应用层

如果我们的电脑连接到了互联网,我们会使用浏览器浏览网页,使用微软的Outlook收发电子邮件。从用户的角度来说,用户直接接触到的是一些图形化界面的应用程序,而这些程序之所以能够提供相应的服务,关键在于使用到了TCP/IP协议组中的应用层协议。

TCP/IP模型的第四层就是应用层。应用层包括HTTP、FTP、SMTP、telnet、DNS等一系列协议。应用层协议可以使客户端应用程序访问其他层,并且该层中的每个协议,都描述了某个特定应用(程序)是如何使用互联网络的——是浏览网页、收发电子邮件还是请求其他的服务。

在应用层中,最常用的是超文本传送协议(hyper text transfer protocol,HTTP),当我们使用浏览器浏览网页时就使用这一协议,它管理浏览器和网络服务器应用程序之间的请求和响应。应用层还包括其他一些标准协议,例如文件传输协议(file transfer protocol,FTP),它允许用户在文件服务器和客户端计算机之间传送一个文件;简单邮件传输协议(simple mail transfer protocol,SMTP)允许用户发送电子邮件。除此之外,还有使个人计算机访问另一台计算机的远程登录协议(Telnet)等。

应用层对应OSI模型的第五层会话层、第六层表示层和第七层应用层。

传输控制协议层(TCP层)

TCP/IP协议组的第三层是传输层,这里的传输层与OSI模型中的传输层相对应,其功能也类似。TCP/IP协议组的传输层最常用的标准是传输控制协议(transmission control protocol,TCP)。

TCP协议负责正确地传输数据,并有助于控制网络流量。其工作原理如下。在发送端,TCP协议接收从应用层传来的数据,然后做以下一系列操作。首先,如果要发送的数据比较大的话,TCP协议把数据切割成一系列较小的、长度相当的数据包(segments),并给每一个数据包编号,然后在数据包前加上“头信息”,形成TCP数据包,之后把TCP数据包传到下一层。在接收端,TCP协议将执行相反的操作,它从下一层接收数据(IP数据包),然后把收到的数据包按照顺序重新组装起来还原成其本来面目,传给应用层。

TCP可以确保数据传输的可靠性。接收端收到一个数据包之后,将给发送端发送一个收到数据包的确认信息。正因为此,假如发送端没有收到某个数据包的确认信息的话,那么它就知道这个数据包在发送过程中出现了问题,将重新发送这个数据包直至收到确认信息。

除此之外,TCP还控制着流量。有时候,一台速度较快的计算机发送数据的速度太快使得速度较慢的接收计算机来不及处理。TCP就会减缓数据流的到达,与速度较慢的计算机的速度匹配,以此来防止网络的堵塞并保证数据传输的可靠性。

一台计算机可能同时执行多种网络应用,如浏览网页(应用层运行HTTP协议)的同时可能也在收发电子邮件(应用层运行SMTP协议)。但一台计算机只有一个网络地址,TCP协议如何保证在多种应用程序同时进行的情况下接收(发送)的数据能够准确的送到相应的应用程序呢?TCP通过使用编号的端口支持“同时处理多项应用”的功能。例如,电子邮件通常报告通过25端口来传输,Web数据是80端口。前面讲到,TCP数据包有一些“头信息”,TCP数据包的头信息中除了数据包的编号之外,还包括发送端和接收端的端口号。这样,TCP就把数据包传送到目标计算机的特定端口,目标计算机的TCP监听这些端口,把传入的数据送给正确的应用程序,从而实现多项应用的并行执行。

除了TCP协议之外,在传输层还有用户数据报协议(UDP),UDP是一个简化的传输方法,与TCP最重要的区别是它不保证数据包的正确传输,因此它的速度较快。在对数据传输正确性要求低的场合可以使用UDP协议,如QQ、视频点播等。

互联网协议层(IP层)

第二层是互联网协议层,即IP层,与OSI模型的网络层相对应。IP层最重要的协议是互联网协议(IP协议)。在发送端,互联网协议层从TCP层接收分组数据包(TCP包),然后在TCP包附加一些头信息,这些头信息主要是指发送端和接收端的IP地址,接着将其传给下一层。之后,经过一个或者多个路由器发送分组数据包,使它们经由最佳路径到达正确的地址。在接收端,IP协议的处理过程与发送端正好相反。

IP层的功能是将数据包引导到目的地。没有IP层,数据将无法到达正确的地点,而这一功能的实现与IP地址密切相关。

IP地址

网际协议(IP协议)规定了每一台与网络相连接的计算机有一个唯一的IP地址,以区别在网络上成千上万台计算机。与写在网卡内的MAC地址不同,IP地址是一种逻辑地址。对于一台计算机来说,MAC地址(物理地址)不会改变(除非更换网卡),但其逻辑地址(IP地址)却可能改变,事实上当你在不同时间不同地点接入互联网时,所获取的IP地址可能是不同的。

如今我们采用的IP地址是IPv4地址,这种地址是一种32位的地址,分成4段,每段8位(一个字节),因此每段的数字范围是0~255(28)。通常,用十进制的方式书写IP地址,将一个二进制IP地址每八位用一个十进制字段表示,并用点隔开,各个字段是一个从0到255之间的数字,如202.114.74.198。

IP地址可以分成两个部分:网络标识(NET ID)和主机标识(HOST ID)。例如,对于202.114.74.198这一IP地址,前三个字节“202.114.74”是网络标识,而最后一个字节“68”是主机标识。网络标识对因特网连接的每个TCP/IP网络进行标记,其工作方式和电话网络中使用的区号很相似。通过网络标识可以把一个大的网络划分成若干个逻辑上相互独立的子网。而主机标识则表示一个网络内的特定的一个节点,同一网络中的所有节点有相同的网络标识。

为了保证网络上每台计算机的IP地址的唯一性,用户必须向特定机构申请注册,该机构根据用户单位的网络规模和近期发展计划,分配IP地址。由于32位的IP地址最多能标识大约40亿(232)台计算机,并且在实际中有些地址是保留作特殊用途的,实际应用中还达不到这个数字。这种IP地址无法满足日益增长的需求,一种新的被称为互联网协议标准6(IPv6)的IP地址应运而生,它的长度是128位。

网络接口层

在TCP/IP模型中,最底层的是网络接口层,它负责在物理网络介质中发送和接收数据包,这些网络可以是借助于任何组网技术构成的,如以太网或令牌环网,因此这一层的协议就是底层网络诸如以太网或令牌环网所定义的协议了。

网络接口层与OSI模型的数据链路层和物理层相对应。在OSI模型中,数据链路层负责在网络上两点间建立链路,并确保数据在两点间成功传输。数据链路可进一步将从上层接收来的数据包分成更小的传输单元。该层对发送的每个数据单元增加头信息和尾信息,以便辅助差错控制。物理层是一个消息从源地址到目的地地址这个行程中最低的一层。对于输出消息,该层将比特(数字信号)转换成模拟信号:而对于输入消息,该层将模拟信号转换成比特。

我们以以太网为例来看看这一层是如何工作的,当发送端从IP层接收到IP数据包以后,以太网的协议将IP数据包加上头尾信息,头信息包括发送端和接收端的MAC地址等信息。然后通过CSDA/CD的机制将数据包发送到接收端。需要注意的是,这一层使用的是MAC地址。

通过上述内容,我们知道TCP/IP模型是一个分层次的模型,在工作时各层次之间的关系是封装和解封,即在发送端,自上而下数据被拆分成更小的数据包,并且加上头信息,包括地址信息,控制信息,错误效验信息等,然后继续送到下一层。到了最下层之后,数据通过物理介质传输到接收端。在接收端,自下而上进行反向转换,去除添加的头信息,将其还原为初始的信息。正因为数据在发送端进行层层封装,而在接收端进行层层解封,所以保证了两端相同层次中数据的内容是一致的。

图3-10以HTTP请求为例,说明了在发送端数据封装的过程,接收端的处理过程正好相反。其中,在TCP层,“HTTP请求”被拆分成多个数据包,为简化起见,图中只保留了“HTTP请求-1”。

图3-10 数据封装的原理

路由器

通过前面关于TCP/IP协议的内容,我们已经知道数据包在接收端和发送端是如何变化的,但数据包离开发送端之后到达接收端之前在网络中是如何传输的呢?当信息需要从一个独立的网络传递到另一个独立的网络时,就需要使用到路由器。路由器是一种专用的计算机,它会将您和所有其他互联网用户的信息沿着成千上万条路径高速传送到目的地。

路由器工作在OSI模型的第三层(网络层),它根据数据包的逻辑地址即IP地址来判断数据包的流向,因此被称为是一种三层设备。类似的,转发器和集线器工作在OSI模型的第一层(物理层);网桥和交换机工作在OSI模型的第二层(数据链路层),所以分别被称为一层设备和二层设备,它们都是根据MAC转发数据包。可见,虽然OSI仅仅是一个参考模型,但它为网络的软硬件设计提供了依据。

准确判定信息数据包的目标地址是否位于本地网络内是路由器的关键任务之一。为了实现这一功能,计算机网络使用子网掩码的机制。子网掩码看起来类似于一个IP地址,通常是“255.255.255.0”。这一地址指示路由器当发送方IP地址和目的IP地址的前三个部分相同时,两者之间传输的所有数据都将只在本地网络内传输,而不能传送到其他网络上。例如:当一个IP地址为15.57.31.40的计算机发送请求给IP为15.57.31.52的计算机时,负责处理所有数据包的路由器将发送方和接收方的IP地址前三部分(15.57.31)进行匹配,发现两者相同而将数据包保留在本地网络内传输。

如果经过判断,发现目的地地址和源地址(都是IP地址)不在同一个网络内,这时路由器使用路由算法找到一条“最佳路径”把信息引导到目的地。信息从源地址到目的地地址可能要经过许多中间结点,并且存在多条路径。路由器是和集线器、交换机一样,都是将计算机或网络的数据传输到其他计算机或网络上的设备,但是其中只有路由器会检测每个传输的数据包并决定其确切的传输路径(路径选择)。因此,路由器必须掌握三个信息:发送方的地址,接收方的地址以及网络拓扑结构。路由器收集网络的结构信息,考虑诸如跳跃数(分组数据包在网络中从一个路由器或中间节点到另外的节点的行程)、延时以及分组数据包传输通信耗时等参数,使用路由算法进行分析来确定最佳路由。

由此可见,路由器的作用是管理网络流量和找到发送分组数据包的最佳路由,从而把数据包正确地引导到目的地。

路由器的上述作用可以被分解为两个相互独立而又相互关联的功能:路由器需要确保信息被传送到指定的地址;同时路由器需要确保信息不会被传送到不相关的地址,这对于防止大量数据堵塞他人连接是至关重要的。正是由于对上述两个功能的执行,路由器非常适用于处理互联的独立网络。它将两个网络联结起来,将信息从一个网络传输到另外一个网络。这些网络甚至可以是异构的,如一个是以太网而另一个是令牌环网,在这种情况下,路由器可以实现两个网络间不同协议的互相转换,从而实现资源的传输。另外,它还能保护网络,避免一个网络中的信息意外泄露到另一个网络上。由于互联网是一个由数以万计的较小网络组成的庞大网络,所以路由器的使用是必不可少的。

到此为止,我们已经初步了解了互联网是如何工作的。总结一下,当我们谈到“一台电脑连接到了互联网”,这句话意味着什么呢?首先,它在运行TCP/IP协议;其次,它有一个IP地址,第三,它通过分组交换的方式,经由若干路由器将IP数据包发送给网络上的其他计算机。这三点事实上已经道出了互联网工作原理中的精要之处。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈