互联网拓扑结构虽然非常复杂,但从工作方式可分为两大块:
(1)边缘部分:由所有连接在互联网的主机组成。这部分是用户直接使用的,用来通信和资源共享。
(2)核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。
1、边缘部分
处于互联网边缘的部分就是连接在互联网上的所有主机。这些主机又称为端系统。边缘部分利用核心部分提供的服务,是众多主机之间可以互相通信兵交换或共享信息。
例如主机A和主机B进行通信。主机A通过核心部分提供的网络通信服务,与主机B进行通信。实际上两主机之间的通信为两主机上程序进行通信,进程就是“运行着的程序”,也可以说是主机A的某个进程和主机B上的另一个进程进行通信。这种行为我们一般 简称为“计算机之间的通信”。
这个很好理解,例如两同学通过微信PC端进行通信。首先我们要想与对方进行通信,我们需要安装了微信PC端,运行PC端,此时我们可以查看到关于进程信息“wechat”,此时与对方进行通信,对方电脑上同样运着"wechat"进程,完成进程与进程之间的通信,最终实现两者之间通信。
边缘部分端系统之间的通信方式通常可划分为两大类:CS和P2P(对等方式)
1.1 C/S客户端-服务器方式
客户和服务器都是指通信众所涉及的两个应用进程,客户-服务器方式所描述的是进程之间服务和被服务的关系。最主要的特征为客户是服务请求方,服务器是服务提供方,客户通过核心部分提供的服务想服务器请求服务,服务器通过核心部分提供的服务想客户提供服务。一旦客户与服务器通信关系建立后,通信可以是双向的,客户和服务器都可以发送和接受数据。
例如:你通过抖音观看短视频,你使用手机或者电脑都可看做一台终端/主机(边缘部分),你需要看短视频,所以你向抖音的服务器请求短视频资源,通过ISP(移动、联通、电信、广电)(核心部分)向抖音服务器(边缘部分)请求,抖音服务器(边缘部分)收到请求服务后,通过ISP(移动、联通、电信、广电)(核心部分)向你的手机或电脑(终端,边缘部分)提供视频资源。
在通信过程中,客户程序和服务器程序通常还具有以下特点
客户程序:
(1)被用户调用后运行,在通信时主动向远地服务器发起通信(请求服务)。(我主动去找别人)
(2)不需要特殊的硬件和很复杂的操作系统。
服务器程序:
(1)是一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。
(2)系统启动后会自动调用并一直不断的运行着,被动的等待并接受来自各地的客户的通信请求。(被动等别人请求)
(3)需要强大的硬件和高级操作系统支持。(需要满足超多人的访问需求,所以需要CPU、内存、存储资源能够跟得上)
1.2 P2P对等连接方式
P2P对等连接是指两台主机在进行通信时,不区分谁是服务请求,谁是服务提供,只要两者都运行了P2P软件,就可以进行平等的、对等连接。不过,P2P从实质上讲还是遵循的是客户-服务器方式,只不过双方既是客户又是服务器。
2、核心部分
核心部分相当于边缘部分中两个主机之间的“桥”或“路”的作用,完成两个端与端之间的通信连接。在网络核心部分起特殊作用的是路由器,路由器是实现分组交换的关键构件,其任务就是转发收到的分组,这是核心部分最重要的功能。
在开始之前,我们还要了解一个概念:交换。交换就是按照某种方式动态地分配传输线路的资源。
2.1电路交换
电路交换我们可以理解为打电话的过程:用户A与用户B打电话,用户A需要先呼叫用户B,当用户B听到电话响铃拿起电话其,用户A和B之间就建立了一条连接,也可以叫做一条专用的物理链路,直到通话完毕挂断电话,用户A和B之间断开连接,释放占用的资源。所以电路交换需要经历三个过程:建立连接(占用通信资源)->通话(一直占用通信资源)->释放连接(归还通信资源)三个步骤,在释放连接之前,两端用户会一直占用端到端之间的通信资源,这就造成了线路资源的浪费,线路的传输效率会很低。
2.2分组交换
分组交换就是将一整块数据按照固定大小进行分组分块,分成的多个小块添加一些必要的控制信息头部,构成分组,然后进行存储转发,“一整块数据”叫做报文,添加头部以后的一个个小块数据我们叫包,头部我们叫做数据包头,也叫做数据包头部,数据包首部。
数据包的包头,非常重要,其中包含了多种数据转发信息,比如数据包的源IP和目的IP,正是由于这些信息,这些分组后的包,才能进行正确的转发。
分组交换优点:
优点 | 所采用的手段 |
高效 | 在分组传输的过程中动态分配传输带宽,对通信链路是随段占用 |
灵活 | 为每一个分组独立的选择最合适的转发路由 |
迅速 | 以分组为传送单位,可以不先建立连接就能向其他主机发送分组 |
可靠 | 保证可靠性的网络协议;分布式多路由的分组交换网,是网络有很好的生存性 |
分组交换缺点
(1)分组交换在进行存储转发时,需要排队,会造成时延;
(2)分组交换不需要建立连接就可以进行进行转发分组,可能会造成分配不到足够的带宽。
(3)分组交换携带的控制信息会造成一些额外的开销,因为整个分分组交换网需要专门的管理和控制机制。
2.3 报文交换
报文交换即20世纪中叶”发电报“,同样采用存储转发原理,但是采用的是转发至相邻节点,由相邻节点转发下一目的地,一段一段报文逐级转发。在报文交互中心,一份份电报被接受下来,并串成带纸。操作员以没分报文为单位,撕下纸带,根据报文的目的站地址,拿到相应的发包机转发出去。
2.4 电路交换、报文交换以及分组交换的比较
电路交换、报文交换以及分组交换的特点
名称 | 特点 |
电路交换 | 整个报文的比特流连续不断的从源点直达终点,好像在一个管道中传送 |
报文交换 | 整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一节点 |
分组交换 | 整个分组传送到相邻节点,存储下来后查找转发表,转发至下一节点 |
电路交换需要建立连接,然后进行数据传送,最后释放连接资源,在建连过程传输过程,链 路资源独占,造成链路资源浪费,利用率不高。但如果连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快;
报文交换与分组交换,提前建立连接,也就意味着不需要预先分配传输资源,在传输突发数据时可以提高整个网络的信道利用率,但存在存储转发时延问题,以及当面对大量分组数据转发时,可能会出现带宽资源不够的情况,造成网络卡慢,数据丢失等情况。当一个分组的长度往往远小于整个报文长度,所以分组交换比整个报文交换的时延小,具有更好的灵活性。