互联网架构与通信机制:从边缘到核心的深度解析

简介: 互联网架构与通信机制:从边缘到核心的深度解析

互联网的组成

互联网的边缘部分

从互联网的工作方式上看,可以划分为两大块:

(1)边缘部分:

自由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。

(2)核心部分:

由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。

处在互联网边缘的部分就是连接在互联网上的所有的主机。这些主机又称为端系统(endsystem).

端系统在功能上可能有很大的差别

  • 小的端系统可以是一台普通个人电脑,具有上网功能的智能手机,甚至是一个很小的网络摄像头。
  • 大的端系统则可以是一台非常昂贵的大型计算机。
  • 端系统的拥有者可以是个人,也可以是单位(如学校、企业、政府机关等),当然也可以是某个ISP。

端系统之间通信的含义

“主机 A 和主机 B 进行通信”实际上是指:“运行在主机 A 上的某个程序和运行在主机 B 上的另一个程序进行通信。

”即“主机 A 的某个进程和主机 B 上的另个进程进行通信”简称为“计算机之间通信”


端系统之间的两种通信方式

端系统之间的通信方式通常可划分为两大类:

客户/服务器方式(C/S 方式)

即 Client/Server方式,简称为 CS 方式。


对等方式(P2P 方式)

即 Peer-to-Peer方式,简称为P2P方式。

1.客户/服务器方式

客户(client)服务器都是指通信(server)中所涉及的两个应用进程

客户囗服务器方式所描述的是进程之间服务和被服务的关系。

客户是服务的请求方,服务器是服务的提供方

服务请求方和服务提供方都要使用网络核心部分所提供的服务。


2.对等连接方式

对等连接(peer-to-peer,简写为P2P)是指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。

只要两个主机都运行了对等连接软件(P2P软件),它们就可以进行平等的、对等连接通信

双方都可以下载对方已经存储在硬盘中的共享文档。


互联网的核心部分

网络核心部分是互联网中最复杂的部分。

网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据)。

在网络核心部分起特殊作用的是路由器(router)。

路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。

为了理解分组交换,首先了解电路交换的基本概念。

1.电路交换的主要特点

2 部电话机只需要用 1对电线直接连接就能够互相通话。

5 部电话机两两直接相连,需 10 对电线

N 部电话机两两直接相连,需 N(N-1)/2 对电线。这种直接连接方法所需要的电线对的数量与电话机数量的平方( N )成正比。

使用交换机

当电话机的数量增多时,就要使用交换机来完成全网的交换任务。

每一部电话都直接连接到交换机上,而交换机使用交换的方法,让电话用户彼此之间可以很方便地通信所采用的交换方式就是电路交换(circuit switching)。

“交换”的含义

在这里,“交换”(switching)的含义就是转接——把一条电话线转接到另一条电话线,使它们连通起来。

从通信资源的分配角度来看,“交换”就是按照某种方式动态地分配传输线路的资源。

电路交换特点

电路交换必定是面向连接的。

电路交换分为三个阶段:

  • 建立连接:建立一条专用的物理通路,以保证双方通话时所需的通信资源在通信时不会被其他用户占用;
  • 通信:主叫和被叫双方就能互相通电话:
  • 释放连接:释放刚才使用的这条专用的物理通路(释放刚才占用的所有通信资源)。
电路交换举例

A 和 B 通话经过四个交换机

通话在A到B的连接上进行


电路交换缺点

计算机数据具有突发性。

这导致在传送计算机数据时,通信线路的利用率很低(用来传送数据的时间往往不到10%甚至1%)。


2.分组交换的主要特点

分组交换则采用存储转发技术。

在发送端,先把较长的报文划分成较短的、固定长度的数据段。


添加首部构成分组

每一个数据段前面添加上首部构成分组(packet)。


分组交换的传输单元

分组交换网以“分组”作为数据传输单元。

依次把各分组发送到接收端(假定接收端在左边)。


分组首部的重要性

每一个分组的首部都含有地址(诸如目的地址和源地址)等控制信息。

分组交换网中的结点交换机根据收到的分组首部中的地址信息,把分组转发到下一个结点交换机。

每个分组在互联网中独立地选择传输路径。

用这样的存储转发方式,最后分组就能到达最终目的地。


收到分组后剥去首部

接收端收到分组后剥去首部还原成报文。


最后还原成原来的报文

最后,在接收端把收到的数据恢复成为原来的报文。

这里我们假定分组在传输过程中没有出现差错,在转发时也没有被丢弃。


互联网的核心部分

互联网的核心部分是由许多网络和把它们互连起来的路由器组成,而主机处在互联网的边缘部分。

互联网核心部分中的路由器之间一般都用高速链路相连接,而在网络边缘的主机接入到核心部分则通常以相对较低速率的链路相连接。

主机的用途是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。路由器的用途则是用来转发分组的,即进行分组交换的。


分组交换网的示意图

注意分组的存储转发过程

路由器

在路由器中的输入和输出端口之间没有直接连线。

路由器处理分组的过程是:

  • 把收到的分组先放入缓存(暂时存储);
  • 查找转发表,找出到某个目的地址应从哪个端口转发;
  • 把分组送到适当的端口转发出去。

主机和路由器的作用不同

  • 主机是为用户进行信息处理的,并向网络发送分组,从网络接收分组。
  • 路由器对分组进行存储转发,最后把分组交付目的主机。

分组交换的优点

高效:

在分组传输的过程中动态分配传输带宽,对通高效信链路是逐段占用。

灵活:

为每一个分组独立地选择最合适的转发路由。

迅速:

以分组作为传送单位,可以不先建立连接就能迅速向其他主机发送分组。

可靠:

保证可靠性的网络协议;分布式多路由的分组交换网,使网络有很好的生存性。


分组交换带来的问题

分组在各结点存储转发时需要排队这就会造成一定的时延(延迟)

分组必须携带的首部(里面有必不可少的控制信息)也造成了一定的开销。


存储转发原理并非完全新的概念

在20世纪40年代,电报通信也采用了基于存储转发原理的报文交换(message switching)。

报文交换的时延较长,从几分钟到几小时不等。现在报文交换已经很少有人使用了。


三种交换的比较

若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。

报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。

由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。

希望对你有帮助!加油!

若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!

目录
相关文章
|
1天前
|
前端开发 JavaScript 测试技术
安卓应用开发中的架构模式解析
【6月更文挑战第21天】在软件开发领域,架构模式是设计优雅、高效、可维护应用程序的基石。本文深入探讨了安卓应用开发中常见的架构模式,包括MVC、MVP、MVVM和Clean Architecture,旨在为开发者提供一个清晰的指导,帮助他们选择最适合自己项目的架构风格。通过对比分析这些架构模式的特点、优势以及适用场景,文章揭示了如何根据项目需求和团队能力来采用恰当的架构模式,以实现代码的可维护性、可扩展性和可测试性。
18 7
|
2天前
|
存储 供应链 安全
区块链技术防止交易被篡改的能力主要依赖于其独特的架构和机制
**区块链技术通过分布式存储、去中心化网络、哈希链接、共识机制及加密算法确保交易防篡改。每个区块含前块哈希,篡改将破坏链式结构;共识机制如PoW、PoS保证交易验证;智能合约增强安全性。多层防护保障数据完整性和安全性,支撑其在多个行业中的应用。**
|
2天前
|
存储 弹性计算 安全
构建高效企业应用架构:阿里云产品组合实践深度解析
该方案展现了阿里云产品组合的强大能力和灵活性,不仅满足了当前业务需求,也为未来的扩展打下了坚实的基础。希望本文的分享能为读者在设计自己的IT解决方案时提供一定的参考和启发。
15 1
|
3天前
|
弹性计算 负载均衡 API
微服务架构下的API网关模式解析
在现代软件工程中,微服务架构因其灵活性和可维护性而受到青睐。本文将探讨API网关模式在微服务架构中的关键角色,分析其设计原则、实现方式及面临的挑战,并结合实际案例阐述如何有效整合API网关以提升系统整体性能和安全性。
|
5天前
|
数据处理 C语言
深入解析x86架构:X86, X86_32和X86_64的差异与应用
深入解析x86架构:X86, X86_32和X86_64的差异与应用
11 0
|
8天前
|
Java 开发者 UED
Java中的异常处理机制深度解析
在Java编程中,异常处理是确保软件健壮性的关键因素。本文将深入探讨Java的异常处理机制,包括异常的类型、如何捕获和处理异常,以及最佳实践。我们将通过实例学习如何优雅地处理异常,避免常见的陷阱,并提升代码的可维护性和用户体验。
|
9天前
|
消息中间件 Kafka API
深入解析Kafka消息传递的可靠性保证机制
深入解析Kafka消息传递的可靠性保证机制
13 0
|
9天前
|
存储 安全 Java
深入理解Java中的ThreadLocal机制:原理、方法与使用场景解析
深入理解Java中的ThreadLocal机制:原理、方法与使用场景解析
18 2
|
9天前
|
存储 安全 Java
深入解析Java HashMap的高性能扩容机制与树化优化
深入解析Java HashMap的高性能扩容机制与树化优化
9 1
|
11天前
|
JavaScript 前端开发
深入解析JavaScript中的面向对象编程,包括对象的基本概念、创建对象的方法、继承机制以及面向对象编程的优势
【6月更文挑战第12天】本文探讨JavaScript中的面向对象编程,解释了对象的基本概念,如属性和方法,以及基于原型的结构。介绍了创建对象的四种方法:字面量、构造函数、Object.create()和ES6的class关键字。还阐述了继承机制,包括原型链和ES6的class继承,并强调了面向对象编程的代码复用和模块化优势。
23 0

推荐镜像

更多