一、组成结构
互联网的拓扑结构非常复杂 ,并且在地理位置上覆盖了全球,从工作方式上看,可以划分为两大块:
1)边缘部分 这部分由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信和资源共享。
2)核心部分 由大量网络和连接这些网络的路由器组成。这部分用来为边缘部分提供服务。
二、边缘部分
处在互联网边缘的部分就是连接在互联网上的所有主机。这些主机通常又被称为端系统(end system)或终端。端系统的拥有者可以是个人,也可以是单位(比如:学校、公司、政府等),当然也可以是某个ISP(Internet Service Provider)。边缘部分利用核心部分所提供的服务,使众多主机之间能够相互通信并交换或共享数据信息。
在网络边缘的端系统之间的通信方式可以划分为两大类:客户-服务器方式(C/S)和对等连接方式(P2P),下面分别介绍。
2.1客户-服务器方式
这总方式也是互联网上最常用的,也是传统的方式。比如我们使用 WEB 应用与发送电子邮件时,使用的都是这种方式。客户(client)和服务器(server)都是指通信中所涉及的两个进程。客户-服务器方式所描述的是进程之间服务和被服务的关系。
在实际应用中,客户程序和服务器程序通常具有以下一些特点。
客户程序:
1)在通信时主动像远程的服务器发起通信,因此客户端程序必须知道服务器的地址。
2)不需要什么特殊的硬件和复杂的操作系统支持。
服务器程序:
1)是一种专门用来提供某种服务的程序,可同时处理多个远程或本地客户的请求。
2)系统启动后即自动调用并一直不断的运行着,被动的等待并接受来自各地的客户端的请求。因此服务器程序不需要知道客户程序的地址。
3)一般需要较强大的硬件和高级的操作系统支持。
2.2对等连接方式
对等连接(peer-to-peer)是指两台主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方。只要两台主机都运行了对等连接软件,就可以进行平等的、对等连接通信。
三、核心部分
通过上面的介绍我们也可以看出来,终端之间不管是通过客户-服务器方式还是通过对等连接方式进行通信,都需要通过网络核心。网络核心部分可以说是互联网中最复杂的部分,因为网络中的核心部分要向网络边缘中的大量主机提供联通性,使边缘部分中的任何一台主机都能够与其他主机通信。
网络核心部分最重要的功能是路由和转发,起到这个作用的是路由器,路由器是实现分组交换的关键构件。那么在互连的路由器网络中,数据是如何从源主机到达目的主机的呢?答案是数据交换。下面介绍几种数据交换的类型。
3.1电路交换(circuit switching)
整个报文的比特流连续不断的从源点到达终点,就像在一根管道中传送。电路交换最典型的应用就是电话网络,虽然电话的发明已经有了很长时间的历史,电话交换机也经过了多次更新换代,但是交换的方式一直是电路交换。当电话机的数量增多时,就需要使用彼此相连的交换机来完成全网的交换任务。使用这样的方法,就构成了覆盖全世界的电信网。
电路交换必须经过三个步骤:建立连接(呼叫/电路建立)—>通话(占用通信资源)—>释放连接(拆除连接)。电路交换的一个重要特点就是在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。
当使用电路交换来传送计算机的数据时,线路的传输效率往往是很低的。因为计算机的数据往往是突发式的出现在传输线路上,因此线路上真正用来传输数据的时间通常不到10%甚至更低。所以说用户占用的通信线路资源在绝大多数时间内都是空闲的。
3.2报文交换(message switching)
整个报文先传送到相邻的节点,全部存储下来后查找转发表,转发到下一个节点,最终到达重点。
3.3分组交换
将报文拆分成一系列相对较小的数据包,单个数据包传送到相邻节点,存储下来后查找转发表,转发到下一个节点。在发送报文之前,先把较长的一段报文划分成一个个更小的等长数据段,然后在每一个数据段前面加上一些必要的控制信息组成的首部后,就构成了一个分组。分组通常又被称为“包”,分组的首部也可以成为“包头”。
分组的首部通常包含了目的地址和原地址等重要的控制信息,正是因为这样,每一个分组才能在互联网中独立选择地选择传输路径,最终被正确的交付到分组传输的终点。
报文交换与分组交换都采取存储转发技术。区别是报文交换以完整的报文进行“存储转发”,分组交换是以较小的分组进行“存储转发”。
当路由器收到一个分组时,会暂时存储一下,检查其首部,查找转发表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器。 这样一步步地以存储转发的方式(期间可能经过几十个不同的路由器),把分组交付给最终的目的主机。各个路由器之间必须经常交换彼此掌握的路由信息,以便创建和动态维护路由中的转发表。
关于路由表与转发表可参考资料:https://wenku.baidu.com/view/e89e7b6d52d380eb63946d76.html
分组在传输时一段一段的连续占用通信资源,中间还省去了建立连接和释放连接的开销,因而数据的传输效率更高。对于突发式的计算机数据来说非常合适,提高了通信线路的利用率。
3.4数据交换类型总结
如要连续的传送大量的数据,且传送时间远大于连接建立时间,则电路交换的传输速率较快。报文交换与分组交换不需要预先分配带宽,在传输突发数据时可以提高整个网络的信道利用率。相较于报文交换,分组交换具有交换时延小,灵活性更小的特点。
四、other
那年欠计算机网络老师的课,是时候慢慢还了。最近有机会操作了一下学校的服务器,发现网络相关的知识真的是很重要,可惜当时没有好好听课,瞬间感觉自己好弱。在网上也经常会看到有些前辈提及操作系统、计算机网络等知识的重要性,现在看来确实是有道理的。
PS:
推荐一个在线的计算机网络学习课程:https://www.icourse163.org/learn/HIT-154005?tid=1002644012
参考资料:
《计算机网络》 谢希仁 编著