共计 7057 个字符,预计需要花费 18 分钟才能阅读完成。
本文介绍一些计算机网络的入门基本概念。
1. 辨析几种“网”
1.1. 计算机网络
首先来看一张一般的网——蜘蛛网:
那么该蜘蛛网有什么特点呢?从几何上看,无外乎有两个特色:点 (红色局部)和 线(蓝色局部)。
其实生存中你能见到的网,如渔网、铁网、绳网等等,都具备这个特色。
以此类推,计算机网络也具备这两个特色,只不过再叫点和线就不适合了,咱们换两个名词:结点 和链路。
所以,计算机网络就是由若干结点和连贯这些结点的链路组成的。
结点能够是计算机、交换机、路由器等设施。链路能够临时简略了解为网线。
下图是由五个结点(四台计算机、一台集线器)和四条链路组成的计算机网络,能够简称为网络:
在钻研网络之间的关系时,咱们须要把网络当成一个整体来看,疏忽网络外部的简单状况。这时,一个网络能够用一朵云来代替:
把某个网络比作一个人,结点和链路则是心肝脾肺肾和血管。
钻研网络外部就好比医生看病,关注的是你身材内的某个器官,以及这些器官之间的分割。
钻研网络和网络之间的关系就好比人际交往,关注的是人这个残缺的个体,而不关注器官,毕竟没人要和器官交朋友。
1.2. 网络的网络(互连网 /internet)
网络的网络就好比“人际关系网”:
智能手机把人们连贯在一起,形成了人际关系网。把人换成网络,智能手机换成路由器,“人际关系网”即是“网络的网络”。
能够临时把路由器看做一台非凡的计算机。打个比方:
把 结点 比作 市,链路 比作 高速公路 , 网络 比作 省,传送的数据 比作 客运汽车 , 路由器 比作 省际高速公路收费站 , 互连网 比作 国。
网络之间通过路由器连接起来形成一个范畴更大的计算机网络,这种网络就是“网络的网络”,可称之为互连网(internet)。
图 1 - 4 中一朵云代表了一个网络,该网络连接了多台计算机。图 1 - 6 中多朵蓝色的云(网络)连贯在一起形成了一朵更大的灰色的云(互连网)。由这两张图,咱们能够得出:计算机连贯在一起形成网络,网络通过路由器连贯在一起形成互连网。
1.3. 互联网(Internet)
互联网(Internet) 是寰球最大、最重要的计算机网络。如果你真正理解了互联网,那么你也能够说本人真正理解计算机网络。
那什么是互联网呢?
咱们每天都会上网,微信聊天、王者光荣、看视频、看博客等等。咱们上的这个“网”指的就是互联网。咱们之所以可能一起聊天、玩游戏就是因为大家都被连贯在了同一张“网”上了。这是互联网给咱们用户的第一个体验:所有上网的人被有形地连在一起了,即 连通 。各位当初可能看到我写的博客文章,这是互联网给咱们用户的第二个体验: 共享资源,如果没互联网,大家就看不到我的文章了。
互联网的两个个性:连通性、资源共享。
internet和 Internet 要做辨别:
- internet泛指 多个计算机网络连贯在一起而造成的计算机网络。
- Internet特指 互联网,即当初寰球最大、最重要的那个计算机网络,咱们平时上的那个是 Internet,而不是 internet。
互联网倒退至今,连贯在其中的曾经不仅仅只是咱们平时应用的“电脑”了,诸如智能手机、智能手环、智能电器能都能够接入互联网中。这些设施咱们能够都称之为 主机 或端系统。
图 1 - 7 强调了 主机 接入网络中,而疏忽网络中的路由器或链路。
那主机是怎么接入互联网中的呢?
这就得先说说目前的互联网的根底构造了。当初的互联网是 多层次 ISP 构造的互联网。
ISP 即互联网服务提供商(Internet Service Provider),比方中国移动。ISP 从互联网管理机构中申请到许多 IP 地址,同时也领有通信链路和路由器等设施。咱们普通用户只需向 ISP 缴纳费用,就可取得一个 IP 地址,而后就能够上网了(就是交网费上网,我家是交给中国移动)。
举个例子,IP 地址就像车牌一样,你只买了个车,然而没车牌是上不了路的。ISP 就负责发车牌、修公路、修收费站。
IP 地址通过了互联网管理机构、ISP、最初才到用户手中,并且互联网管理机构分给 ISP 的是一批 IP 地址。
这个模式相似于生产厂家、经销商、消费者。
多层次是指依据提供服务的覆盖面积大小以及领有的 IP 地址数目的不同,ISP 能够分为不同档次的 ISP:骨干 ISP、地区 ISP、本地 ISP。
骨干 ISP 服务面积最大(通常能覆盖全国),有几个专门的公司创立和维持。地区 ISP 次之,地区 ISP 之间可通过骨干 ISP 连接起来。地区 ISP 则间接给用户提供服务。
相似于国家、省、市,用户则相似于市民。
2. 互联网的组成
互联网是寰球最大的、笼罩寰球的计算机网络。如此之大的网络,从工作形式上看能够分为两局部:边缘局部 和外围局部
2.1. 边缘局部
边缘局部由连贯在互联网上的主机组成,这部分由用户间接应用,为用户提供数据通信和资源共享的服务。
边缘局部要利用外围局部提供的服务,能力为用户提供通信和资源共享的服务。比方图 1 - 8 中任意两个人都能够利用背后的电脑进行通信。
通信的形式有两种:客户 - 服务器形式和对等连贯形式。
一. 客户 - 服务器形式
这种形式是目前互联网上最罕用的形式。网上的各种信息都存储在服务器上,咱们须要某信息时就通过互联网的外围局部提供的服务向服务器发送申请,将其检索进去,而后服务器再发送给咱们的设施。
客户是服务申请方,服务器是服务提供方。
客户和服务器还具备以下特点:
- 客户被动向服务器发送申请,服务器被动承受申请,这就要求服务器要始终运行。
- 客户须要晓得服务器的地址,服务器不须要晓得客户的地址。
- 客户对硬件的要求不高(一般的电脑和智能手机即可),服务器对硬件要求较高。
二. 对等连贯形式
即 P2P(peer-to-peer),指两台主机在通信时并不辨别哪一个是服务申请方,哪一个是服务提供方。二者能够相互下载对方提供的内容。其实这种形式也是一种非凡的客户 - 服务器形式,只不过二者位置相等。
打个比方,客户 - 服务器形式就相当于学生向老师求教问题,而 P2P 形式就相当于学生之间相互求教问题。
2.2. 外围局部
外围局部由大量网络和连贯这些网络的路由器组成。外围局部为边缘局部提供了服务——连通性和替换,所以边缘局部中的主机才可能进行数据通信和资源共享。外围局部要比边缘局部简单的多。
外围局部中的大量网络提供了连通性,这不难理解。那替换是谁提供的?替换的是什么?分组是什么?怎么替换分组?上面就简略介绍一下这些问题。
Q1: 替换是谁提供的?
A1: 路由器
路由器是一种非凡的计算机,它的工作就是进行分组替换。
Q2: 替换的是什么?分组是什么?
A2: 替换的是分组
在网络中,咱们想要传输的信息即报文(message),不是整个的传输进来,因为有的会比拟长(比方这篇文章),所以通常会将其划分一个个更小的数据段,然而这些数据块中只有数据,它并不意识路,怎么使它在简单的网络中不迷路呢?须要给它再加上一些必要的管制信息(首部),数据块加上首部就形成了一个分组。
打个比方,一个公司要运 100 吨货物,这么多货物一下必定运不完,所以要离开运,比方每个集装箱运 10 吨。然而这 10 吨货物也不意识路,就须要给集装箱加个货车头,货车头中有司机和地图,所以能找到目的地。
100 吨货物就是咱们要发送的信息(报文),每个集装箱就是一个个划分后的数据段,货车头就是首部,货车头加上集装箱才是一个残缺的货车,即分组。
Q3: 怎么替换分组?
A3: 应用分组替换技术
举个例子,咱们平时应用微信交换,两人之间可能相隔十万八千里,你想说的话怎么会刚好达到对方的手机上?
这就是网络外围局部最重要的性能——分组替换。
图 1 - 6 中路由器把许多网络连接在一起形成了一个更大的网络,互联网中的大大小小的网络更是成千上万,而且通信链路更是复杂多变。
你能够关上中国地图,看看下面的铁路和公路,让人目迷五色。互联网中的状况和这差不多。
路由器是实现分组替换的关键部件,路由器收到一个分组,会先临时存下来,而后依据分组中的首部信息,为其抉择一条适合的接口,将其转发进来。分组替换应用了存储转发技术。
举个西游记中的师徒四人去取经的例子,分组替换就是“敢问路在何方”。
唐僧每到一个中央都会说借宿人家说:“贫僧是从东土大唐而来,去往西天拜佛求经的和尚”,他人一听这句话,只有不是妖怪,天然会通知他下一步该走哪。尽管可能会走弯路,或者被妖怪抓,然而总体上必定会离西天越来越近,最终达到。
在下面的情境中,“东土大唐”就是 源地址 ,“西天”就是 目标地址,这两个信息存在了分组的首部中,所以分组能力在网络中传送。“唐僧四人”就是分组,“借宿人家”就是路由器,分组替换就是你问路的过程,不过这种问路,路人不会通知你全路线,只会通知你下一步怎么走。
3. 理解计算机网络
3.1. 定义
下面介绍了好几种网,蜘蛛网、人际关系网、计算机网络、网络的网络(互连网 / internet)、互联网(Internet)。除了前两种,其余都是计算机网络。然而说了这么多,如同也没精准说分明计算机网络到底是什么?能不能像数学定理一样,给出一个精准的定义?
我认为当初大可不必。(定义在相干书籍和网上都能检索到)
举个例子来说,在你第一次有想学计网这个念头的时候,首先做的(简直是条件反射般的)是不是 上网 查一查什么是计算机网络?这阐明计算机网络曾经深刻了咱们的生存,并且咱们可能很熟练地应用它。所以我认为初学计网时,不用死扣它的定义。
当初作为初学者的咱们只须要提到计算机网络,就联想到一张网,而后有许多计算机连贯在一起就能够了, 如图 1 - 4 和图 1 -6。
3.2. 分类
一. 依照网络的作用范畴分类:
- 广域网 WAN(Wide Area Network):作用范畴为几十到几千公里,能长距离地运送数据。
- 城域网 MAN(Metropolitan Area Network):作用范畴为 5 到 50 公里。
- 局域网 LAN(Local Area Network):作用范畴较小,学校和公司常常应用。
- 集体区域网(Personal Area Network):作用范畴很小,10m 左右,集体工作应用。
二. 依照网络的使用者分类
- 专用网(public network):电信公司出资建造的大型网络,普通用户缴纳费用即可应用。
- 专用网(private network):某个单位本人建造的网络,不对本单位外的人提供应用。
3.3. 性能指标
以人为例,要掂量一个人衰弱或强健与否,须要制订各种指标,比方身高体重、血压、血糖、肺活量等来定量地掂量。计算机网络同样如此,即性能指标。
在介绍计算机网络的几种性能指标前,先再看一遍后面的那个比喻:
把 结点 比作 市,链路 比作 高速公路 , 网络 比作 省,传送的数据 比作 客运汽车 , 路由器 比作 省际高速公路收费站 , 互连网 比作 国。
一. 速率
速率指的是数据的传送速率,即 每秒钟传送多少位信息,也叫数据率。因为无论传送的是什么数据,都得转化为二进制数字,所以单位是 bit/ s 或 b / s 或 bps。
留神这里是 小写 的 b,而平时咱们下载货色时会看到的 MB/s、KB/ s 中的 B 是大写的。小写的指位(bit),大写的指字节(Byte),1Byte = 8 bit。
二. 带宽
在计算机网络中,带宽用来示意网络中某通道传送数据的能力。也即单位工夫内网络中某信道所能通过的最高数据率,因而单位也为 bit/s。
所以带宽越宽,所能传送的最高数据率也越高。
带宽相似于高速公路的路宽,路越宽,单位工夫内能通过的车越多。
三. 吞吐量
吞吐量示意在单位工夫内通过某个网络的理论数据量。
四. 时延
时延指数据从网络的一端传送到另一端所需的工夫,由多个局部组成。
时延能够比作你坐客运汽车从出发地到目的地的总工夫。
(1)发送时延:是主机或路由器发送数据帧所须要的的工夫。
发送时延 = 数据帧长度(bit)/ 发送速率(bit/s)
发送时延能够比作你的客运汽车出收费站的工夫。
(2)流传时延 :指 电磁波 在信道中流传肯定的间隔须要破费的工夫。
流传时延 = 信道长度(m)/ 电磁波在信道上的流传速率(m/s)
流传时延能够比作客运汽车(假如速度像电磁波一样恒定)在高速公路上破费的工夫。
(3)解决时延:主机或路由器收到分组后处理分组破费的工夫。
解决时延能够比作客运汽车通过收费站时缴费所花的工夫。
(4)排队时延 :分组通过路由器后须要 排队期待解决的工夫 和解决完后 排队期待来到的工夫。
排队时延能够比作进入收费站后排队期待缴费的工夫。如果不须要排队,则排队时延为 0.
所以,总时延 = 发送时延 + 流传时延 + 解决时延 + 排队时延。数据在网络中的时延由这四局部组成,不能只思考一部分。
五. 时延带宽积
时延带宽积是 流传时延 和带宽 的乘积。
如上图,用流传时延示意长方形的长,带宽示意宽,则时延带宽积即是面积。
六. 往返工夫 RTT
往返工夫即两个结点双向交互一次所需的工夫。
相似于你买了个往返票,做客运汽车从车站登程到目的地一趟,再回到车站的总工夫。
七. 利用率
分为信道利用率和网络利用率两种。
- 信道利用率:指某信道有百分之几的工夫是被利用的(有数据通过)。齐全闲暇的的信道的信道利用率为 0。
- 网络利用率:指全网络的信道利用率的加权平均值。
信道或网络的利用率过高会产生十分大的时延,所以某些较大主干网 ISP 通常管制信道利用率不能超过 50%,如果超过就要筹备扩容,增大线路带宽。
很好了解,路上车多了,就容易堵车,要么把路上的车变少,要么把路修的宽一些。
3.4. 非性能指标
如果把性能指标比作氪金游戏中玩家的技术水平的高下,那非性能指标就相当于玩家的钱包厚度。人民币玩家可能补救一些技术上的差距,如果该玩家技术又棒,钱包又鼓,那称霸游戏便不再话下。
非性能指标有:费用、品质、标准化、可靠性、可扩展性和可降级性、易于治理和保护。这些都是见名知意的名词,不必再解释了。
4. 计算机网络体系结构
4.1. 分层
察看咱们的事实社会,会发现有许多事物都有其体系结构,比方社会、学校、医院、车站、人等等,这些都是简单的集合体,正是有了体系结构,才使其可能正确运作。
以车站为例,车站客流量大,然而人们进去之后可能放弃有序,该干什么就干什么,不会像无头苍蝇一样乱撞。因为车站划分好了档次,卖票窗口、安检门、候车区、上车区、出站门 …… 井井有序。
从下向上依次通过,乘客能在每一层实现局部动作,上层为下层提供服务,但档次之间不互相烦扰。比方咱们撤销卖票窗口,改为取票机,并不影响其余档次,咱们只要求过了安检门能去取票机取票,取完票的能去候车区候车。如此一来,就把乘车这个“大问题”划分成了若干小问题,这些小问题比拟好解决。
计算机网络也是如此,对其体系结构进行划分档次。这样就能像图 1 -12 那样循序渐进的进行工作。对计算机网络进行分层能把这个简单大问题,也能分成若干部分小问题,便于钻研和解决。
4.2. 协定分层
咱们应用互联网最常做的事就是通信,那两个通信实体(比方两台电脑)之间进行通信,是轻易发送信息就能接管到吗?必定不是。
举个例子,甲乙的日常对话(乙不会英语):
甲:吃了吗?
乙:吃了。
甲:What a nice day!
乙:你在说什么?????
同一种意思能够用多种语言来表白,但甲和乙不必雷同的语言是无奈交换的,协定就好比语言。
互联网中,波及的两个通信实体受协定的束缚,并且协定无处不在。协定定义了在两个或多个通信实体之间替换的报文的格局和 程序,以及报文发送或承受报文或其余事件中所采取的动作。
后面的车站曾经进行分层了,颠三倒四。当初对协定进行分层(这里只介绍五层协定模型)。
- 应用层:定义利用过程之间的通信和交互的规定。
- 运输层:负责向两台主机中过程之间的通信提供通用的数据传输服务。
- 网络层:负责为分组替换网上的不同主机提供通信服务、路由抉择、IP 地址治理。
- 数据链路层:负责在互连设施之间传递数据。
- 物理层:思考怎样才能在连贯各种计算机的传输媒体上传输数据比特流,而不是具体的传输媒体。
4.3. 实体、服务、协定、协定拜访点
一. 实体
实体就是用于发送和接管信息的硬件或软件过程。如图 1 -13 中的用户电脑中的软件过程。
二. 服务
在分层体系中,每层都有各自的性能,上层会为下层提供服务,但上层提供的服务并不是其全副性能。只有下层看的见的性能才算是上层提供的服务。
打个比方,员工会为领导定时汇报工作,但汇报内容是无限的、精简的。如果你把一日三餐,吃喝拉撒等鸡毛蒜皮的小事都汇报了,那会被开的。
三. 协定
协定是管制两个(多个)对等实体进行通信的规定的汇合。在协定的管制下,两个对等实体间的通信使得本层可能向上一层提供服务。要实现本层协定,还要应用上面一层所提供的服务。
打个比方,员工之间须要交换进度,独特合作能力实现工作,而后向领导汇报工作。而领导须要上司汇报的工作资料能力实现领导的工作。
四. 服务拜访点
下层应用上层提供的服务必须通过与上层替换一些命令——服务原语。
在同一零碎中,相邻两层的实体进行交互的中央称为服务拜访点(Service Access Point,SAP),它是形象的,实际上是一个逻辑接口。
图 1 -14 画出了下面四个名词的关系:
能够看出:协定是不同系统对等实体间的,是程度方向的;服务是同一零碎上上层之间的,是垂直方向的。
本文只是介绍了一些入门基本概念,并未真正深刻。比方路由器、分组替换、协定、五层模型等,都只是略微提一下。因为真正想要理解这些,只言片语必定不够,比方对五层模型的了解,可能须要你把这五层都看了一篇,能力在心里建设真正的五层模型。
作者简介
我是「行小观」,我会在公众号『行人观学』中继续更新「Java」、「Go」、「数据结构和算法」、「计算机根底」等相干文章。
\
本文章属于系列文章「趣解计算机网络」。
\
欢送关注,咱们一起踏上编程的行程。如有谬误,还请斧正。