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

news2024/9/21 16:26:04

一、互联网概述

计算机网络是由若干节点(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)报文交换

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

四、计算机网络的性能

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

 

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

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

『功能项目』制作提示主角升级面板【56】

我们打开上一篇55事件中心处理怪物死亡的项目, 本章做的事情是制作提示主角升级的界面,当主角升级时就会被显示出来点击确认即可消失 首先在unity编辑场景制作 在确认按钮对象上添加事件 点击Button将Panel添加至事件框选 在事件函数中选择gameobject.S…

【图像拼接】基于SIFT/SURF特征算法的图像拼接,matlab实现

博主简介:matlab图像代码项目合作(扣扣:3249726188) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于SIFT/SURF特征算法的图像拼接,用matlab实现。 一、案例背景和算法介…

[C#学习笔记]Newtonsoft.Json

视频地址:分享一些Newtonsoft.Json的实用功能与技巧_哔哩哔哩_bilibili 强烈推荐学习C#和WPF的朋友关注此UP,知识点巨多,讲解透彻! 一、JsonSerializerSettings 1.1 自动缩进-Formatting 使用Formatting.None进行序列化 var …

流媒体之RTMP协议(其四)

欢迎诸位来阅读在下的博文~ 在这里,在下会不定期发表一些浅薄的知识和经验,望诸位能与在下多多交流,共同努力! 江山如画,客心如若,欢迎到访,一展风采 文章目录 前期博客参考书籍一、PTMP简介二…

MyBatis的配置文件详解

01-MyBatis的配置文件详解 创建的接口和xml文件的名字最好写一样的要不然会出问题,然后和接口名相同的xml文件在resources下创建个和接口相同文件夹把xml文件放进去,而且resources下的创建的文件夹需要一级一级的创键,比如:cn创建完,创建tulingxue,然后再创建mapper文件夹才行…

python绘制月亮

import matplotlib import matplotlib.pyplot as plt import moviepy.editor as mpymatplotlib.rcParams[font.family] SimHei# 坐标列表 positions [(0, 0), (1 / 4, 1 / 4), (1 / 3, 1 / 4), (1 / 2, 1 / 4), (2 / 3, 1 / 4),(3 / 4, 1 / 4), (1, 1 / 4), (5 / 4, 1 / 4), …

C++中的容器——vector

1. vector的介绍 vector:vector的底层实际上就是一个数组(也称为顺序表),数据是连续存储在数组中的,因此vector是可以使用下标来进行访问的,但是它的大小并不是像数组一样是固定的,而是可以动态…

漳州自闭症寄宿学校,孩子的快乐学习乐园

在温暖而包容的南方都市——广州,藏着一所特别的学校,它以爱为名,为自闭症儿童编织了一个充满希望的未来,这就是星贝育园自闭症儿童寄宿制学校。这里,不仅是知识的殿堂,更是孩子们心灵得以自由飞翔、快乐学…

削峰+限流:秒杀场景下的高并发写请求解决方案

我是小米,一个喜欢分享技术的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货! 哈喽,大家好!我是小米,一个29岁、活泼积极、热衷分享技术的码农。今天和大家聊一聊应对高并发的写请求这个主题,尤其是在大促、秒杀这种场景下,系统…

【Docker Nexus3】maven 私库

1.部署环境 window 11 x64Docker Desktop 4.34.1 (166053) Docker Engine v27.2.0 1.1.Docker 镜像源 1.1.1.Docker Engine 配置 {"builder": {"features": {"buildkit": true},"gc": {"defaultKeepStorage": "32…

微服务_入门2

文章目录 一、Feign二、Gateway服务网关 一、Feign 来看我们以前利用RestTemplate发起远程调用的代码: 存在下面的问题: 代码可读性差,编程体验不统一(url需要自己在代码中拼写出来)参数复杂URL难以维护&#xff0…

Weapons Armor PBR Pack 1 - Fantasy RPG 武器护甲游戏模型

武器和护甲包#1有30个武器和护甲,每个对象都有默认外观,大多数都有网格变形和Substance Painter源文件,用于自定义纹理。 无限PBR&我的哲学 Infinity PBR是十几位艺术家的作品,他们都在做自己最擅长的事情。我想为独立游戏开发者制作最通用、最优质的资产,按照我希望的…

鸿蒙开发之ArkUI 界面篇 四

文字溢出处理、省略号、文字太长的处理用textOverflow,语法格式是: Text.textOverflow({ overflow: TextOverflow; }) 尤其注意,单独的这个设置没有效果,需要和maxLines一起使用才有效果 Text("男频男频男频男频男频男频男…

好代码网同款wordpress主题,完全开源无加密可二开

这个其实就是好代码网站的早期整站打包代码,当时售价198的,现在里面的部分数据已经过期了,只能展示效果,没法下载。所以就只当做主题分享给大家使用。 资源下载类网站目前还是红利期,搞个特价主机和域名,再…

代码随想录Day 46|动态规划完结,leetcode题目:647. 回文子串、516.最长回文子序列

提示:DDU,供自己复习使用。欢迎大家前来讨论~ 文章目录 题目题目一:647. 回文子串解题思路:暴力解法动态规划 题目二: 516.最长回文子序列解题思路: 动态规划总结动规五部曲基础概念常见问题类型 动态规划…

算法设计与分析(循环赛日程表

目录 循环赛日程表算法介绍代码实现注意事项 小结: 循环赛日程表 在组织和安排体育赛事时,循环赛日程表的编制是一项重要且复杂的任务。循环赛,即每个参赛队伍都要与其他所有队伍进行一场比赛,确保比赛的公平性和所有队伍之间的平…

Linux下的CAN通讯

CAN总线 CAN总线简介 CAN&#xff08;Controller Area Network&#xff09;总线是一种多主从式 <font color red>异步半双工串行 </font> 通信总线&#xff0c;它最早由Bosch公司开发&#xff0c;用于汽车电子系统。CAN总线具有以下特点&#xff1a; 多主从式&a…

JAVA基础面试题总结(十五)——设计模式

面试专题-设计模式 前言 在平时的开发中&#xff0c;涉及到设计模式的有两块内容&#xff0c;第一个是我们平时使用的框架&#xff08;比如spring、mybatis等&#xff09;&#xff0c;第二个是我们自己开发业务使用的设计模式。 面试官一般比较关心的是你在开发过程中&#…

面向对象程序设计(C++)———多态

1.认识多态 多态(polymorphism)的概念&#xff1a;通俗来说&#xff0c;就是多种形态。多态分为编译时多态(静态多态)和运⾏时多态(动态多态)&#xff0c;这⾥我们重点讲运⾏时多态&#xff0c;编译时多态(静态多态)和运⾏时多态(动态多态)。编译时 多态(静态多态)主要就是我们…

一分钟掌握 Excel VBA 技巧,轻松批量生成工资条,提高工作效率!

可能大家忽视了一点&#xff0c;Excel是我们日常办公中使用最多的工具&#xff0c;所以&#xff0c;学好Excel并加以运用&#xff0c;一定能提升你的工作效率&#xff0c;比如Excel VBA可以用代码实现自动化办公&#xff0c;下面举一个Excel VBA批量生成工资条的办公小案例。 …