【网络通信基础与实践第二讲】包括互联网概述、互联网发展的三个阶段、互联网的组成、计算机网络的体系结构

一、互联网概述

计算机网络是由若干节点(node)和连接这些节点的链路(link)组成。

网络之间还可以通过路由器互联起来,这就构成了一个覆盖范围更大的计算机网络。这样的网络称为互联网。

网络把许多计算机连接在一起,而互联网则把许多网络通过路由器连接在一起。与网络相连的计算机常称为主机。

二、互联网结构发展的三个阶段

从宏观上人们都在追求更快更高效更可靠的信息传输方式

5d20decc44eb47bfb634270e2bb7007d.png

(1)第一个阶段

从单个网络ARPANET向互联网发展的过程

(2)第二个阶段

特点是建成了三级结构的互联网:主干网、地区网、校园网(企业网)

(3)第三个阶段

特点是逐渐形成了多层次ISP(互联网服务提供者Internet Service Provider)结构的互联网。从上个世纪九十年代开始,美国政府资助的NSFNET逐渐被若干个商用的互联网主干网取代,政府不再负责互联网的运营,互联网管理机构不零售IP给个人,而是把一批IP地址有偿租赁给审查合格的拥有通信线路和路由设备的机构,这样的机构称为ISP。任何机构或者个人只需要向某个ISP缴纳规定的费用,就可以从该ISP获得IP的使用权,并通过该ISP接入互联网,即实现“上网”。

52214589dda34b80ae61d08e09f0e32c.png

根据提供服务的覆盖面积以及所拥有的IP地址数目的不同,ISP也分为不同层次的ISP:主干ISP、地区ISP和本地ISP

随着互联网上数据流量的急剧增长,人们开始研究如何更快地转发分组,以及如何更加有效地利用网络资源,于是互联网交换点IXP(Internet exchange point)就应运而生了。

互联网交换点IXP的主要作用就是允许两个网络直接连接并交换分组,而不需要再通过第三个网络来转发分组,自然提高了信息传输的效率和速度。

典型的IXP由一个或者多个网络交换机组成,许多的ISP再连接到这些网络交换机的相关端口上。ISP通常采用工作在数据链路层的网络交换机,这些网络交换机都用局域网互联起来。

三、互联网的组成

317ce7cbc5a5462585dbca76e75ed7de.png

从工作方式上分为边缘部分和核心部分

(1)边缘部分

由所有连接在互联网上的主机组成,这部分是用户直接使用的,用来进行通信和资源共享

(2)核心部分

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

1、边缘部分

处在互联网边缘的部分就是连接在互联网上的所有的主机,这些主机又称为端系统(end system)。在网络边缘的端系统之间的通信方式通常可以划分为两大类:客户-服务器方式(C/S方式)和对等方式(P2P方式)。

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

69015f0610d54392b45b1a125d66a201.png

客户是服务请求方,服务器是服务提供方,客户与服务器建立通信关系后是双向的,二者都可以发送和接收数据

客户程序:被用户调用后运行,在通信时主动向远地服务器发起通信。客户程序必须知道服务器程序的地址;不需要特殊的硬件和很复杂的操作系统

服务器程序:可以同时处理多个远地或者本地的客户的请求;系统启动后即自动调用并一直不断的运行着,被动地等待并接受来自各地的客户的通信请求;一般需要 强大的硬件和复杂的操作系统支持

(2)对等连接方式(peer-to-peer)

6570f3ab1cdd4a76932f1c90dc43f20e.png

主要是指两台主机在通信时不区分哪一个是服务请求方哪一个是服务提供方。只要两台主机都运行了对等连接软件,它们就可以进行平等的对等连接通信。

P2P也是区块链系统连接各对等节点的网络组成技术,结合图示也可以发现一个很显著的特点是去中心化,利用存储、计算能力等网络边缘资源,使其具有分布性。

2、核心部分

在网络核心部分起特殊作用的是路由器。路由器是实现分组交换的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。

(1)电话交换

f0e918ab19644facb5db91eb01f61093.png

在通话的全部时间内,通话的两个用户始终占用端到端的通信资源 

(2) 分组交换(package switching)

bc4474e9f642447b976e1b1f46c72db5.png

(i)基本原理

分组交换采用存储转发技术(store-and-forward)。通常我们把要发送的整块数据称为一个报文。在发送报文之前,先把较长的报文划分为一个个更小的等长数据段。在每一个数据段前面,加上一些由必要的控制信息组成的首部后,就构成了一个分组。分组又被称为包,而分组的首部也可称为包头。

分组交换的本质是数据通信过程中动态分配带宽的策略,在传送数据之前不必先占用一条端到端的链路的通信资源。只有当需要传输数据时,才会占用网络带宽。当没有数据传输时,链路可以为其他用户的分组服务。这种动态分配带宽的策略能够充分利用网络资源,而不会像电路交换那样,预留一条专用链路占用资源,导致浪费。比如如果网络中有多个分组在同一时间到达一个交换节点,这个节点会根据当前的网络情况动态决定优先转发哪个分组,并将其他分组暂时存储起来,等待下一次转发机会。

86e69bda77444358913526c300c3d2de.png

(ii)具体过程

如上图(b)所示,我们往往把单个的网络简化为一条链路,而路由器成为核心部分的结点。如上图所示比如要将数据包从H1-->H5:

如果信息量较小,选择A-C-E线路即可,先将一个一个的短分组沿着链路由A-->C,暂时存储在C路由器的内存,然后查找转发表,比如查找到转发到E,则继续通过C-E链路传输出去。分组在输出时就这样一段一段地断续占用通信资源,省去了建立连接和释放连接的开销。

如果信息量较大 ,那么路由器A可以选择把分组沿着另一个路由传送,可以先转发到路由器B,再转发到路由器E,最后再将分组送到主机H5。

(iii)路由器的存储与转发

当一个分组(数据包)通过网络链路到达节点时,节点首先会通过其接收接口来捕获这个分组。这个接收接口可能是有线网卡、无线网卡等。分组到达后,会被临时存储在节点的缓冲区中。节点会开始解析分组的头部信息(如IP包头、TCP/UDP包头等),从中提取关键信息,包括目的地址、源地址、协议类型、数据长度等。这个过程主要是为了确定接下来如何处理分组。解析完分组的头部信息后,路由器会根据其目的地址来查找路由表,决定该分组的下一跳应该是哪个节点,以及通过哪个接口转发。当分组准备就绪并且接口空闲,节点会从缓冲区中取出分组,通过对应的接口将分组发送到下一个节点(下一跳)。一旦分组成功发出,该分组就会从缓冲区中删除,释放存储空间供后续的分组使用。

在分组交换中,根据分组的目的地址决定下一步该将分组转发到哪条路径上的过程称为 路由选择(Routing)。网络设备(如路由器或交换机)会根据路由表和路由协议的机制,选择最合适的路径将分组传输到下一个节点,直到最终到达目的地。路由表(routng table)最基础的包括目标网络地址和下一跳地址(Next Hop)即分组应该转发到的下一个路由器或节点的地址。

为了提高分组交换网络的可靠性,互联网的核心部分采用了网络拓扑结构,当结点或者链路发生故障时路由器可以灵活地改变转发路由不至于引起通信中断和全网瘫痪。同时还有路由选择协议也可以在发生故障时选择路径。

(iv)分组交换的问题

(1)分组在路由器存储时需要排队,造成一定的时延

(2)乱序问题即一个消息被拆分成多个分组(即数据包)发送后,这些分组在到达目的地时,可能会按照与发送时不同的顺序抵达。

(3)各分组必须携带的控制信息也造成了一定的开销,整个分组交换网络还需要专门的管理和控制机制

(3)报文交换

整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点。

四、计算机网络的性能

 总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

 

五、计算机网络的体系结构

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/881070.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloud-04 OpenFeign服务调用与负载均衡

OpenFeign是一个声明式、模板化的HTTP客户端,它简化了在Java应用程序中调用RESTful API的过程。OpenFeign是Netflix开发的一个开源项目,它构建在Feign的基础上,为开发者提供了更加简单、灵活的方式来实现HTTP请求。OpenFeign的特点包括&#…

计算机网络:概述 - 性能指标

目录 一. 速率 二. 带宽 三. 吞吐量 四. 时延 五. 时延带宽积 六. 往返时间RTT 七. 利用率 八. 丢包率 此博客介绍计算机网络中的性能指标,性能指标从不同的角度来度量计算机网络的性能。下面介绍几个常用的性能指标: 一. 速率…

服务器非法关闭后MySQL服务启动失败

在写这篇文章前,我弄好了,写完之后把成功安装的几个MySQL都删除了,只留了最后测试成功的服务“mysql-test” ,然后点击运行,发现又出现上图的错误。心态炸了。 本以为定位到问题了,但是这个错误让我迷茫了。我只能临时…

基于spring的ssm整合

目录 基于spring的ssm整合 Spring 框架 SpringMVC 框架 MyBatis 框架 1.创建项目 2.导入依赖 3.导入sql 4.创建jdbc.propries文件 1)mysql8以下 2)mysql8以上的 5.创建mybatis-config.xml配置文件 6.创建spring-Config.xml文件 7.创建项目所需包和类 1&a…

.whl文件下载及pip安装

以安装torch_sparse库为例 一、找到自己需要的版本,点击下载。 去GitHub的pyg-team主页中找到pytorch-geometric包。网址如下: pyg-team/pytorch_geometric​github.com/pyg-team/pytorch_geometric 然后点击如图中Additional Libraries位置的here&am…

Android系统dumpsys命令详解

文章目录 1. dumpsys 的工作原理2. 基本使用方法执行 dumpsys限制 dumpsys 的输出 3. 常见的 dumpsys 服务1. Activity Manager (activity)2. Battery Service (battery)3. Window Manager (window)4. Package Manager (package)5. Power Manager (power)6. Media DRM (media.d…

青柠视频云——视频丢包(卡顿、花屏、绿屏)排查

一、问题说明 近期有客户反馈,接入平台的设备经常出来卡顿、花屏、录屏的情况,出现这样的场景很是尴尬。 客户是私有化部署在公网环境,于是我们联系客户,对问题进行追踪排查。 二、场景复现 我们现场情况确认的过程中,…

Web 安全基础教程:从零基础入门到精通

一、Web 安全概述 (一)Web 安全的定义与重要性 1.定义 Web 安全是指保护 Web 应用程序免受各种网络威胁,确保 Web 服务的保密性、完整性和可用性。在当今数字化时代,Web 应用广泛存在于各个领域,从电子商务到社交媒…

Vue 实现高级穿梭框 Transfer 封装

文章目录 01 基础信息1.1. 技术栈1.2. 组件设计a. 竖版设计稿b. 横版设计稿 02 技术方案(1)初定义数据(2)注意事项(3)逻辑草图 03 代码示例3.1. 组件使用3.2. 组件源码./TransferPlus/index.vue./TransferP…

《史上最简单的 SpringCloud 教程》

Finchley版本 Spring Cloud Finchley; Spring Boot 2.0.3 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)(Finchley版本)史上最简单的SpringCloud教程 | 第二篇: 服务消费者(restribbon)(Finchley版本)史上最…

有没有自带财务管理功能的海外仓系统?

在全球化的商业环境中,海外仓作为连接国际市场的物流枢纽,其重要性日益凸显。然而,随着业务范围的扩展和费用类型的多样化,海外仓在财务管理上面临着诸多挑战。传统的手工计费和对账方式不仅耗时费力,而且容易出错&…

网关登录校验(2)----网关如何将用户信息传递给微服务

1.微服务获取用户信息 现在,网关已经可以完成登录校验并获取登录用户身份信息。但是当网关将请求转发到微服务时,微服务又该如何获取用户身份呢? 由于网关发送请求到微服务依然采用的是Http请求,因此我们可以将用户信息以请求头…

Zabbix 部署----安装Zabbix(业务主机)

目录 1、另外准备一台虚拟机(192.xx.xx.20) 设置主机名 关闭防火墙、selinux 准备zabbix-repo 安装zabbix-agent 配置主服务器地址 启动zabbix-agent:10050 1、另外准备一台虚拟机(192.xx.xx.20) 设置主机名 hostname web1 关闭防火墙、selinux syst…

【HTTP】请求“报头”(Host、Content-Length/Content-Type、User-Agent(简称 UA))

Host 表示服务器主机的地址和端口号 URL 里面不是已经有 Host 了吗,为什么还要写一次? 这里的 Host 和 URL 中的 IP 地址、端口什么的,绝大部分情况下是一样的,少数情况下可能不同当前我们经过某个代理进行转发。过程中&#xf…

『功能项目』QFrameWork道具栏物品生成【64】

我们打开上一篇63QFrameWork框架重构OnGUI的项目, OnGUI优点: 简单易用:OnGUI是基于代码的UI系统,对于简单的调试界面或者小型项目来说,可以快速实现UI需求。即时更新:OnGUI的UI元素是即时更新的&#xff…

STM32外设之LTDC/DMA2D—液晶显示(野火)

文章目录 显示屏有几种?基本参数控制?显存 LTDC 液晶控制器LTDC 结构框图LTDC 初始化结构体 LTDC_InitTypeDefLTDC 层级初始化结构体 DMA2D 图形加速器DMA2D 初始化结构体 要了解什么 屏幕是什么,有几种屏,有什么组成。 怎么控制,不同屏幕控…

vue3 透传 Attributes

前言 Vue 3 现在正式支持了多根节点的组件&#xff0c;也就是片段&#xff01; Vue 2.x 遵循单根节点组件的规则&#xff0c;即一个组件的模板必须有且仅有一个根元素。 为了满足单根节点的要求&#xff0c;开发者会将原本多根节点的内容包裹在一个<div>元素中&#x…

如何联系真正的开发者而非公司??

&#x1f3c6;本文收录于《全栈Bug调优(实战版)》专栏&#xff0c;主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&am…

【2024/09/20更新】植物大战僵尸杂交版V2.5下载

植物大战僵尸杂交版V2.5 2.5版本更新公告&#xff1a; 增加新关卡– 益智模式–两面夹击模式关卡 挑战模式关卡 增加新铲子–骷髅铲子 --银币购买-挖掉植物触发亡语或召唤骷髅僵尸 增加新植物– 4张白卡植物-通过两面夹击获得 2张金卡植物和4张星卡植物 游戏调整– 调整…

无人机之控制距离篇

无人机的控制距离是一个复杂且多变的概念&#xff0c;它受到多种因素的共同影响。以下是对无人机控制距离及其影响因素的详细分析&#xff1a; 一、无人机控制距离的定义 无人机控制距离指的是遥控器和接收机之间的最远传输距离。这个距离决定了无人机在操作者控制下能够飞行的…