Internet的基本工作原理(菜鳥版)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Internet的基本工作原理(菜鳥版)
从本质来讲,Internet只是一个计算机网络。
中国的计算机工作者和爱好者对计算机网络已经不很陌生。
目前,大一点的公司,政府机构都有了单位内部小范围的计算机网络,这种小范围的计算机网络通常为称为“局域网”。
局域网的作用,无非是通过通信线路把多台计算机联通起来,使网上的计算机可以相互通讯。
这样,就能达到共享资源的目的。
在单机的情况下,每台计算机的操作者只能利用自己计算机的资源(主要是计算机的储存能力和运算能力),这样,一方面信息共享只能通过软盘拷贝来实现,效率很低,另一方面,由于单台计算机储存能力及运算能力的限制,大一点的数据库就放不下,复杂一点的运算也很难进行。
有了局域网(一间房间内或一座大楼内的计算机所连的网络)之后,人们可以在网上安装一些容量特别大,计算能力特别强的计算机,把需要共享的资源放入这些计算机中,把复杂的运算也交由这些计算机执行。
这样,网上的每一个用户无形中都极大地扩展了自己计算机的能力和运算能力,可以完成很多单机环境下无法完成的功能。
Internet与局域网的工作原理完全相同。
不过,由于规模的不同,其作用就产生了从量变到质变的飞跃。
局域网通常只联接十几台,最多不超过百余台的计算机。
这样,信息的沟通和资源的共享只能在有限的计算机之间进行;而Internet联接全球150多个国家、1000多万台计算机,信息的沟通和资源的共享就能够在世界范围进行。
换一种方式去说,连上局域网后,您只能使用一百多台计算机信息资源,只能和单位内部的几百人、几千人进行沟通,而联上Internet后,您却能使用世界范围的1000多万台计算机中的信息资源,与不同文化背景、不同地理位置的6000多万人进行沟通,其作用显然大得多。
用公路作比喻,局域网只是村子里的小街,Internet才是四通八达的高速公路。
由于Internet的巨大规模,要使Internet正常运作,必然要解决一些局域网根本不用考虑的问题。
1)局域网通常只分布在一两栋大楼里,这样,架网就非常简单。
通常,自己拉上一些同轴电缆或普通的电话线(双绞线)把各台计算机联接起来即可,费用也不会太大。
Internet因为要联接世界范围的计算机,而且通常要飘洋过海,因此架网就需要非常庞大的投资,网络的架设也要根据距离与地理环境的不同而采取不同的结构,有些地段可能采用光纤,有些地段可能采用微波,另一些地段则可能采用卫星信道。
通常,这样庞大的架网的工程都由邮电部门或大型的电话电报公司承担,当最终用户要联接Internet时,只要向邮电部门或这些电话电报公司租用线路就可以了。
2)局域网通常只联接同一种类的计算机,在同种计算机之间的相互通信通常比较容易实现。
虽然也有不少的局域网操作系统吹嘘可运行于不同的计算机平台,但那毕竟不是必需品,而仅是锦上添花。
Internet则不同。
Internet由于太大,上面的计算机可谓五花八门,因此从一开始就必须考虑不同计算机之间的通信。
在不同类型的计算机之间进行通信,就像讲中文与讲英文的人之间进行对话一样,存在着很大困难。
幸好,人们己创造了TCP/IP协议,并使该协议成为Internet中的“世界语”,任何遵守TCP/IP协议的计算机都能“读懂”另一台遵守同一组协议的计算机发来的信息。
TCP/IP的工作原理其实非常简单。
TCP/IP中较底层的是IP协议,该协议指定了所要传输的信息包的结构,它要求计算机把将要发送的信息分解为一个个较短的信息包,每个信息包除含有一定长度的正文外,还含有信息包将被送往的地址(这个地址称为P地址,它实际上是一组32位的二进制数字)。
信息包经多台计算机的中转最终到达它的目的地。
由于较长的信息内容经P协议被分解为多个小信息包,每个信息包、达目的地的中转路径及所需的时间都不尽相同,为防止信息包丢失,有必要IP协议的上层增加一个对IP包进行验错的方法,这就是TCP协议。
TCP协议检验一条信息的所有IP小包是否都已经收齐。
次序是否正确,若有哪个信息小包还没有收到,则要求发送方重发这个信息小包,若各个信息小包到达的次序出现混乱,则进行重排。
下面就详细介绍Internet基本工作原理,懂得计算机网络是如何工作很重要,因为这些理论可以解释为什么Internet能够提供那么多有用的服务项目。
分组交换---Internet 工作原理之一
共享传输线路
计算机网络通常不是在通信的每两台计算机之间联接一条专用的线路,相反,网络系统中的多台计算机共享底层的硬件设备。
就像我们使用的电话系统一样,每一家电话只有两根线,一个进一个出,而不是在每两个有电话的地方都连上两根线,这种共享是出于经济的考虑:多台设备共享一条传输线路降低了成本。
因为这样可以只使用少量的线路和少量的交换设备。
所以,共享传输路径(线路)的优点是可以节约资金。
共享传输路径并不是一个新的思想,而且也不局限于计算机网络。
例如,打电话,当有一个人给你打电话时,电话局的交换设备就把你和他之间的线路连通,这时如果有另一个人再打进电话时,他就会听到忙音,第二个人必须等到第一个人挂断电话后才能打进来,也就是说,此时第一个打进电话来的人独占了你的电话线路,同一时间这条线路只能提供给一个人使用,从而影响了别人的使用。
所以,共享传输线路的缺点是在时间上产生了延迟。
解决共享线路延迟的方法
(1)有线电视的方法
工程人员已经设计了几种方案来解决共享资源的问题。
有线电视系统就采用了其中的一种方案。
有线电视台在一根同轴导线(相当一条能并排行走50辆卡车的高速公路)上将多个频道的节目(每个频道的节目相当于一辆卡车)传送到每个家庭。
每个频道(相当于卡车)都被指定唯一的频率(相当于给每辆卡车编号),该频道的该种频率
的载波信号被调制后作为编码信息(相当于把这条很宽的高速公路划分为平行的50条行车道)。
然后有线电视台将所有频道编码后的信号混在一起在一条电缆上传送(相当于把卡车按照它们的编号并排放在相应的行车道上同时向前行驶)。
电视机中有按照不同频率分离接收信号的电子电路。
任何时候,电视观众都可以将电视调到某一特定的频道(相当于选中某…辆卡车)。
电视机将电缆传送来的选定的频道中的信号分离出来并将它在屏幕上播放出来(相当于把这辆卡车上的货物卸下),而将其他频道的信号丢弃。
(2)轮流共享的方法
尽管建立这样一种计算机网络技术,就是使用多个频道在共享线路上将多个信号混这一起是可能的,但绝大多数网络技术并不这样做、一个主要原因是大多数通讯线路(相当于村庄里的小街道)都不像有线电视的同轴导线那么宽(相当一条能并排行走50辆卡车的高速公路)(行话叫做频带的带宽),所以不能采用和有线电视相同的方法来解决线路的延迟问题。
恰恰相反,他们使用的是一种与有线电视完全不同的技术,那就是同一时间只允许一台计算”机访问网络上的共享资源。
正如我们在前面电话的例子中所看到的,但如何防止一台计算机由于长时间地任意占用共享线路而导致其他计算机都要等候很长的时间呢?为了使网络中的计算机都不需要等候很长的时间,有人想出了一个解决办法,那就是让网络中每一台计算机每次只能传送一定的数据量。
这种分割总量、轮流服务的规则就叫做分组交换。
分组交换的思想是在60年代提出的,每次所能传送数据的单位称为一个分组(就是前面提到的信息小包)。
分组交换的优点一一避免了延迟
目前计算机网络,无沦是LAN(局域网)还是WAN(广域网),都使用分组交换技术。
为了说明为什么分组交换可以避免延迟,请看下面的例子:
假设有三台计算机A,B,C分别要从网中获得的数据量是80,40和100字,那么网络在给这三台计算机传送数据时,并不是先为A 或B 或C传完后再传给另两台传,而是规定每一次的传输量,比如每次传20字,那么实际的传送过程是:
计算机代号 A B C A B C A B C A B C A B
每次传输量[字] 20 20 20 20 20 20 20 20 20 20 20
累计传输量[字] 20 20 20 40 40 40 60 60 40 80 80 40 80 100
这种设计使得A,B,C三台计算机所等待的时间都是最合理的。
计算机很容易将数据分成数据片。
如果A需要发送一个长的信息到C,计算机将这一信息分成许多分组,如果日有一个短的信息要发送给D,那么该信息可能单独一个分组或几个分组就可容纳下。
在A 发送了一个分组之后,B可以发送它自己的分组。
这样,B无需等到A 发送完所有的分组就有机会发送自己的分组。
结果,短的信息无需等待长信息发送结束后才发送。
必须给每个分组套上一个信封
网络上的每个分组(记住每个分组就是一个片数据)都是从一台计算机发送到另一台计算机的。
网络中的硬件设备监视着流过网络的各个分组。
一旦硬件设备检测到该分组是传送给本地计算机的,则立即捕获这一分组。
硬件设备将该分组拷贝到计算机的内存中,并通知计算机有一个分组到达,为了使网络硬件能够区分不同的分组,每个分组都具有同样的格式,每个分组的开始都包括一个头,其后才是数据,可以把分组头认为是一个标签,该标签指明该分组是由哪一台计算机发送来的,该由哪一台计算机接收。
每台计算机都有唯一的地址
网络中的每台计算机都有一个唯一的号码,这个号码就叫做该计算机的地址。
为了标识进行通信的两台计算机,每个分组开始的头部都包含两个重要的地址。
发送该分组的计算机的地址(行话称为源地址)和该分组所到达的计算机的地址(行话称为目标地址),这有点和我们寄信用的信封差不多,信封上既要写上收信人的地址(相当于目标地址),还“要写上发信人的地址(相当于源地址)。
网络硬件通常使用这些数字形式的地址来发送或接收分组。
用于地址的号码与特定的网络技术有关,某些网络技术使用仅含少数几个数字的地址,而其他一些网络则使用多达16个数字的地址。
最重要的是:联接到网络上的每台计算机都被指定…”个称为地址的号码。
每个分组都包含发送分组的计算机的地址和发送到分组的计算机的地址。
虽然分组交换技术对每个分组中的数据长度作了限制,但其允许发送方传输不超过最大长度的任何长度的分组。
例如,有些网络应用允许用户通过键盘输入与远程系统交互,这类应用通常是当用户键盘上单击一个键后就立即将该键用一个分组发送出去。
而要发送大量数据的其他应用则选择大一些的分组(相当于邮局所发的信件,小信件中只有一页信纸,大的信件中可能有几十页信纸)。
分组传输似乎无需等待
在大多数分组交换网络中,分组传输得很快。
例如,典型的局域网一秒钟内可在两台计算机之间传输1000个大的分组。
传输小的分组所需时间比这还要小一些。
对于人来说,在千分之几秒内发生的事件可认为是立即的。
例如,儿个人可以同时使用连到一·个共享网络上的多台计算机而感觉不到延迟的存在。
当其中一人在一台远程计算机上运行字处理程序时,其他人可以访问远程的数据库。
每个用户使用键盘输入,使用鼠标时,感觉到就好像程序在本地运行一样快。
总之,分组交换系统能够使多台计算机在一个共享网络上进行通信时具有最小的延迟。
因为分组交换将每个会话分成小的分组并且使共享网络的计算机轮流发送分组。
网络共享是自动的
分组交换技术允许任一计算机在任何时候都能发送数据。
一台计算机可以在其他计算机准备好使用网络之前就发送分组。
如果只有一台计算机需要使用网络,那么该合计算机可以连续发送分组。
一旦另一台计算机准备开始发送数据,那么共享就开始了。
两台计算机轮流发送,两台计算机公平地分亨网络。
如果第三台计算机准备开始发送数据,那么三台计算机公平地分享网络。
当一台计算机停止发送数据时网络会自动调整共享的策略。
例如,如果三台计算机平等地分享网络,而其中一台的数据发送结束后,那么剩余的两台计算机轮流分享网络进行发送。
更为重要的是,每台计算机并不需要知道同一时刻还有多少台计算机在使用网络,关键是,由于分组交换系统能够在有计算机准备发送数据和有计算机结束发送数据时立即进行的自动调整,因而每台计算机在任一给定的时刻都能够公平地分享网络。
网络共享的自动调整是通过网络的接口硬件。
也就是说,网络共享无需任何“计算”,也不需要各台计算机在开始使用网络之前进行协调。
相反,任一计算机可以在任何时候产生分组。
当一个分组就绪后,计算机的接口硬件开始等待,等轮到自己发送时,就把分组发送出去。
因而,从计算机的角度来看,公平地使用共享网络是自动的——网络硬件处理所有的细节。
许多设备都可分组交换
类似收款机、摄像机、条形码扫描器以及磁条阅读器的设备都可以联接到一个分组交换网上,打印机也可以联接到分组交换网上。
由
于一台网络打印机可供网络上的所有计算机共享,因而使用网络打印机可以降低成本,无需为每台计算机单独配备一台打印机。
与大多数的计算机网络一样,Internet也是一个分组交换系统。
Internet的硬件包括供多个用户共享的物理线路,分组交换允许多台计算机之间同时进行通信,一个应用程序无需等到其他所有通信结束后才发送数据。
结果是,任何时候,当用户通过Internet传输数据时,发送方的网络软件将数据划分成分组,而接收方的网络软件则要把接收到的分组重新组装成数据。
例如,要用Internet传送一个文本文件,该文本必须划分成若干小的信息包(就是分组),然后在接收端再重新组装成一个完整的文本。
总而言之,在Internet上的所有数据都以分组的形式传送。
发送方将信息或文本划分成分组后在Internet上传送,而接收方则将接收到的分组重新组装成原来的信息。
同一时刻在Internet上流动着来自许多台计算机的分组。
计算机网络用来保证各台计算机平等地使用共享网络资源的基本技术称为分组交换。
数据在网络上传输之前必须划分为分组。
每个分组中都包含指明该分组应传递到哪台计算机,分组的目的地用称为计算机地址的数字来指定。
共享网络的计算机轮流发送分组。
每次轮到发送时,一台计算机发送一个分组。
虚拟网络软件IP--Internet 工作原理之二
上一节介绍了Intemet是一个计算机网络的网络或叫做网际网(把全世界各种各样的网络都联接到一起所形成的网络),那么Intemet是怎么把这些网络联接到一起的呢?
Intenlet是用一种称为路由器的专用计算机将网络互联在一起的。
当然,单纯将计算机硬件互联在一起并不能形成Intelnlet,互联的计算机还需要在软件的指挥下才能正常地工作。
下面我们探讨使全世界这么多各种不同类型的网络互联成为Internet网所使用的最基本的协
议——IP协议。
通信协议
那么什么是通信协议呢?就是通信的双方在通信时所使用的约定。
只有当两个人讲同一种语言时,这两人才有可能进行交流。
这个道理对于计算机来说也同样是适用的——两台计算机除非使用一种语言,否则它们彼此之间是不能进行通信(交流)的。
通信协议是两台计算机用来交换信息所使用的一种大家所公认的的规定。
“协议”这一词是从外交词令中引用来的,在外交词令中,协议是指各国在外交事务中所应遵循的规则。
计算机通信协议精确地定义了计算机在彼此通信时的所有细节,例如,协议规定了每台计算机所发送的每条信息的精确格式和含义。
协议也规定每合计算机在哪些情况下应该发送特定的信息,以及当一个信息到来时,一台计算机应该做出怎样的反应等。
网与网之间的协议
Internet中使用的一个关键协议是网与网之间的协议,也叫做网际协议IP(是InternetProtocol网际协议的英文缩写)。
IP非常详细地规定了计算机在通信时应该遵循的规则的全部具体细节。
比如IP精确地定义了分组必须怎样组成、以及路由器必须怎样将每一个分组传送到它的目的地等。
联接到Internet上的每台计算机都必须遵守网际协议IP的约定。
每台计算机产生的分组都必须使用IP定义的格式。
接收分组的计算机所接收到的分组只不过是发送方发来的一个拷贝(和原件一模一样,仍然是IP格式,原件在发送方电脑的硬盘里)。
每台机器上都必须装有IP软件
计算机硬件是不懂得什么IP不IP的,因而将一台计算机联到Internet上并不意味着这台计算机就可以使用Internet的服务。
计算机需要有IP软件以便把IP协议中的所有细节都“翻译”成计算机所能理解的0-1组合才能让计算机在IP软件的控制下在Internet上进行通信。
实际上,使用Internet的每一台计算机都必须运行一套IP软件。
IP是最基本的软件,所有Internet服务都使用IP来发送或接收分组。
正因为IP是最基本的,所以通常每台计算机在通信时都必须使IP 软件驻留在内存中,以便时刻准备发送或接收分组。
总而言之,由于所有的Internet服务者要使用网际协议IP,因此要使用Internet的每台计算机首先必须运行IP软件。
IP为数据报
为了区分Internet的分组和其他网络的分组,我们把遵守IP规范的分组称为IP数据报。
之所以用这一术语是为了直观他说明在Internet上是如何处理分组的。
正如该术语字面的意义,Internet用的是和电报局处理电报基本相同的方式处理数据报,一旦发送方准备好一个数据报(别忘了这里所说的数据报就是前面所讲过的分组或信息小包)并且将其发送到Internet上后,发送者就可以该干什么就干什么去了,正像发电报的人将电报发出去以后就可以处理其他事务一样。
数据报在Internet上究竟如何传输已经与发送方无关了,正像电报在到达目的地的过程己与发报人无关一样。
总之,在Internet中传输的每个分组必须符合网际协议定义的格式,Internet中的这些分组称为IP数据报。
Internet不是一个庞大的网络
尽管定义了有关通信的许多具体细节,但网际协议IP的重要意义在于一旦Internet上的每台计算机都安装了IP软件,任何计算机都能
够生成IP数据报并将其发送给其他计算机。
从本质上来说,IP将许多网络和路由器编织成了一个大衣无缝的通信系统,表面看起来Internet就像一个单一的、巨大的网络一样在工作。
计算机专家使用“虚拟”这一术语来描述这种看起来好象是、但实际上并不存在的现象。
Internet是一个地地道道的虚拟网络,它只不过是用IP协议(或IP软件)把全世界千千万万各种各样类型的计算机网络和路由器联接起来,使得它们彼此能够通信,就仿佛它们在同一个巨大的网络中一样。
打一个比方,正如前面所举例,Internet好比是世界通用语言——英语,而分布在全世界的各个国家相当十全世界的各个网络,国家里的人相当于网络中的计算机。
英语不等于人,人是客观存在的实体,而英语只是一种语言规定,有了英语,作为实体的人就可以进行交流了。
总之,Internet就像一个联接好几百万台计算机的单一的网络一样运行。
IP软件允许任何计算机向其他计算机发送IP数据报。
可靠传输软件TCP--Internet 工作原理之三
上一节讲了网际协议IP,说明了计算机和路由器上的IP软件如何在Internet上将一个IP数据报从一台计算机向另一台计算机发送。
下面继续讨论Internet的基本工作原理,讲解组成Internet的另一个重要的通信协议TCP。
前面讨论了分组交换,分组交换是现代绝大多数计算机网络使用的基本技术。
回想一下,分组交换允许多台计算机做到没有延迟地进行通信,因为分组交换要求计算机将数据划分成小的分组。
对于Internet来说除了使用IP协议进行分组之外,还需要另外的通信软件来保证数据的何靠传输。
为了说明这一问题,将每个网络都假想成一条道路,将每个路由器假想成联接两条道路的交叉路口,并且所有的道路都具有相同的速度限制(每秒钟能过5000个数据报)。
假想路a和路b上每秒钟都分别开过来5000辆车,如果来自路a和路b的所有汽车都打算同时进入
路人而路d每秒钟也只能通过5000辆车,那就要发生交通堵塞。
来自两个网络的分组汇聚到第三个网络的情形与来自两条道路的汽车汇聚到第三条道路上的情形类似。
在公路上,发生交通堵塞时,汽车会停下来,但在互联网络的例子中,数据报却以光速每秒30万公里飞奔,而不会停下来。
每一秒钟,在一个网络上会有5000个分组,在另一个网络上,也会有5000个数据报,但只有5000个数据报能被送往其目的地。
那么,每秒钟在网络d 上挤不下的那5000个数据报到哪里去了呢?答案是路由器将它们给扔了!当然,每个路由器都有一定的内存空间,可以在临时堵塞时在内存中存放其中的一些数据报。
然而,路由器只有有限的内存空间存放少量的数据报,如果数据报到达的一直比离开的多,那么,路由器将不得不将一部分到达的数据报丢弃直到堵塞解除为止。
由于Internet使用可能的分组交换硬件会由于数据报而超载而无法正常工作,设计人员为了解决这一问题,他们发明了TCP协议(Transmission Control Protocol英文的意思是传输控制协议,TCP 是英文的缩写)。
TCP协议的主要作用就是使Internet 工作得比较可靠…
联接到Internet上的所有计算机都运行IP软件,并且其中的绝大多数还运行TCP软件。
事实上,由于TCP和IP在Internet网络中的重要地位以及两者在一起工作得很好,因此人们把Internet中所使用的整个通信协议组称为TCP/IP协议组。
具体他说,TCP解决了在分组交换系统中有可能出现的几个问题。
当路由器由于到达的数据报过多而引起超载的时候,它必须将一些数据报丢弃,结果,一个数据报在Internet上传输时就可能丢失了。
TCP将自动检测丢失的数据报并且解决这一问题。
Internet结构复杂,每个数据报可以通过多条路径到达同一目的地。
当路由器开始沿另外一条新的路径传送数据报,就好像高速公路上的汽车在前方出现问题时会绕道而行一样。
结果由于路径的变化,一些数据报会和它们发送时不同的顺序到达目的地,TCP自动检测到来的数据报并且将它们按原来的顺序调整过来。