计算机网络导论

网络结构的演变

网状结构

最开始的网络,主机之间都是两两相连

在这里插入图片描述

好处

这样连接,好处是安全性比较高(A与B之间的连线断了,可以绕一下C);
另外通信不需要互相等待(没有中间交换设备,所以没有竞争的中立资源,所以不需要排队),网络延迟小

需要说明的一点是,网线其实是电路线,通过高低电压的01信号传输信息

此时聪明的小伙伴会提出问题:现在不是有光纤吗,你怎么说网线是电缆线呢?

这样说其实没错,过去没有光纤的时候网线确实是电缆线,通过高低电压传输0101的数据;现在我们通过光纤,只有传输过程是光信号,到我们真正上网使用会将光信号转化为电信号(光猫,也叫调制解调器),所以本质上我们使用的还是电信号

坏处

但是随着机器数量的增多,这样的连接线数量也越来越多
在这里插入图片描述

假设我们现在有10万台计算机,按照这种方式连接,每台计算机需要连接99999条线,共4,999,950,000条线,公式是n*(n-1)/2

需要的电缆数量太多,而且电路会越来越复杂

星形结构1

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a470908d53fd4fa99dda7e6162f4d147.png

好处

电缆数量 = 计算机数量;
电路简单;

坏处

同时发会互相干扰,因为电压会互相叠加(势能)

星型结构2

在这里插入图片描述
所以我们中间加一个交换设备,先发给交换设备,然后交换设备再轮流转发

但是即便是这样,也可能会出现干扰,比如A和B同时给对方发信息,这里一般有两种模式处理:

可以同时发而不需要等待对方的,就是全双工模式;
不能同时双向发,只能一侧发完另一侧发,这样叫半双工;

坏处

另外, 不管全双工还是半双工,都需要在交换设备处排队等待(涉及到了资源的竞争)

现实网络交换结构

每家每户都有各自的网络设备(手机,电脑等),他们通过路由器连接,并轮流转发;
路由器连接到交换机,轮流转发请求,基本上每隔几栋楼会产生一个交换机(一般是在弱电井中,12,24,36根网线的都有);
交换机再连接到核心交换(核心交换的性能更为强劲),核心交换再连接到更高一级的设备……一般是6~8级的连接设备
在这里插入图片描述
家用的交换设备是路由器,小区楼之间用小型交换机作为交换设备

向上交换能力依次提升,小区交换机,街道交换机,乡镇交换机,区县交换机……最大的交换机是国家的大区(华北,东北,西北,华中,华东,华南……等),这些交换机之间两两连接

大区之间的数据会互相备份,保证出现问题能够恢复

国与国之间通过海底光缆等互相通信

计算机通信的原理

MAC地址

上面我们说了,最后我们用星型结构将计算机连接起来

我们连接起来是为了什么?自然是为了通信

那么现在问题来了,A要怎样才能发到B那边?

在一个小范围的虚拟内网中,我们一般使用MAC地址进行计算机的区分

MAC地址是每一个带有网卡的设备出厂时给予的一个,全球唯一的,不可改变的物理地址

中间的交换设备当中一般会存储一个MAC地址表,用于转发数据

这样,A只需要在发送数据时,携带B的MAC地址,即可发送数据给B
在这里插入图片描述

IP地址

但是MAC只能用于小范围的设备定位,假设跨省甚至跨国的两台计算机通信,依然使用MAC地址,需要遍历上千万的设备才能查询到,显然是不合理的

此时就用到了IP地址

IP = 网络部分(行政划分)+主机部分

IP主要作用是为了寻址

ip地址最多定位到某个交换设备的ip,但是不知道是这个交换设备哪台计算机,所以需要更进一步的,全球唯一的标识(目标设备id,即MAC地址)

IP和MAC共同合作才能实现端到端的通信

在这里插入图片描述

以112.113.87.50为例,112.113.87是可能代表网络部分,指定了你是哪个省,哪个市,哪个县的,最后一位表示你的上级交换机的ip地址

DNS服务器

百度的域名是www.baidu.com,我们访问百度只需要输入域名即可,不需要知道它的ip,这就是域名解析

将域名与ip映射起来,需要ip时将域名转化为ip,需要域名时将ip转化为域名

DNS服务器的地址写在了电话卡当中,以下这个是某些移动电话卡的DNS服务器地址
百度

三大运营商各自有各自的DNS服务器集群

当我们访问www.baidu.com时,会先请求DNS服务器(百度会先将自己的域名写入DNS服务器当中),将域名转化为ip,返回给我们;然后我们再带着数据访问百度服务器的ip(可能不止一个ip);最后百度服务器将数据返回给我们

在这里插入图片描述

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

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

相关文章

python脚本加入到linux bin 方便用户执行

要将这个 Python 密码生成器脚本加入到 Linux 的 bin 目录,使其成为一个可以方便执行的命令行工具,可以按照以下步骤进行: 编写 Python 脚本并保存: 将之前的 Python 密码生成器脚本保存为一个文件,比如 password_generator.py。 在脚本中添加 shebang: 在脚本的开头添加…

头文件大小写引发的报错

jenkins下打包编译报错如下,提示编译zynqCan.c时找不到“syscfgpll/sysCfgpll.h”文件。 但IDE下编译是没有报错也没有警告的,工程中也存在文件“syscfgpll/sysCfgPll.h”。 仔细观察发现,报错说的是找不到头文件“syscfgpll/sysCfgpll.h”…

09Django项目--用户管理系统--删

对应视频链接点击直达 09Django项目--用户管理系统--删 对应视频链接点击直达删a,本质b,删除 页面相关a,index页面新增操作按钮b,ajax删除和提示c,完整版本 OVER,不会有人不会吧不会的加Q1394006513结语 一…

cfa三级大神复习经验分享系列(四)

三级的复习资料也很不给力,Notes覆盖度不够,而教材又过于琐碎不成系统,让同学备考起来顾此失彼。所以CFA三级考察的是考生的态度,策略,决心,以及技巧。只要掌握了以上要素,一次性通过完全是有可…

前端三大框架特点及优势

前言 前端三大主流框架分别是Angular、React、Vue,下面是对这三大框架简答的介绍。 一、Angular Angular(原名AngularJS),由Google开发并维护的前端框架,自2009年诞生以来,一直受到大量开发者的青睐。 特…

在JavaScript中,设计模式是用于解决常见编程问题的最佳实践。这些模式可以帮助你构建更可靠、可维护和可重用的代码

在JavaScript中,设计模式是用于解决常见编程问题的最佳实践。这些模式可以帮助你构建更可靠、可维护和可重用的代码。下面是一些在JavaScript中常见的设计模式: 工厂模式(Factory Pattern): 工厂模式是一种创建对象的设计模式&…

视频监控汇聚平台LntonCVS视频安防监控平台城市积水智能监测应用方案

根据中央气象台的最新预报,我国南方地区即将面临一轮强烈的降雨天气。这场降雨预计将会给部分地区带来大到暴雨的降水量,甚至在某些局部地区可能出现极端的大暴雨情况。与此同时,华北、黄淮以及东北地区也可能会遭受雷雨天气的干扰&#xff0…

Python 打包成可执行文件

可以使用 PyInstaller 和 cx_Freeze 等工具将Python脚本打包成可执行文件。 PyInstaller 1. 安装PyInstaller pip install pyinstaller 2. 打包Python脚本 pyinstaller --onefile your_script.py --onefile 参数会告诉PyInstaller将所有的依赖打包进一个单独的可执行文件…

深入解析Spring与MyBatis框架注解及其实例应用

在现代Java开发中,Spring与MyBatis框架已经成为了不可或缺的利器。它们提供了丰富的注解,用于简化开发流程、提高代码可读性和可维护性。让我们深入探讨这些注解,并结合实际场景进行详细分析。 1. Spring框架注解 1.1 组件注解 Component&…

Python | Leetcode Python题解之第118题杨辉三角

题目: 题解: class Solution:def generate(self, numRows: int) -> List[List[int]]:ret list()for i in range(numRows):row list()for j in range(0, i 1):if j 0 or j i:row.append(1)else:row.append(ret[i - 1][j] ret[i - 1][j - 1])ret…

电商api接口进行数据采集获取淘宝/天猫/京东/抖音多平台商品价格

在电商运营中,从品牌角度来看,品牌方通过电商数据采集API接口进行数据采集,获取多渠道商品价格信息的这一行为,能为品牌方带来诸多好处: 及时准确:API接口能为品牌提供实时数据,这意味着企业可…

RT-DETR算法改进【NO.1】借鉴CVPR2024中的StarNet网络StarBlock改进算法

前 言 YOLO算法改进的路有点拥挤,尝试选择其他的baseline作为算法研究,可能会更加好发一些文章。后面将陆续介绍RT-DETR算法改进的方法思路。 很多朋友问改进如何选择是最佳的,下面我就根据个人多年的写作发文章以及指导发文章的经验来看,按照优先顺序进行排序讲解…

德克萨斯大学奥斯汀分校自然语言处理硕士课程汉化版(第二周) - 多类别分类和神经网络

多类别分类和神经网络 1. 多类别分类2. 多类别感知机和多类别逻辑回归3. 多类别分类的场景4. 分类公平性5. 神经网络6. 神经网络可视化7. 神经网络的前向传播和反向传播8. 神经网络的训练与优化 1. 多类别分类 分类是一个预测建模问题,它涉及到在给定输入的情况下…

Pytest的断言与条件判断的区别

Pytest的断言与条件判断的区别 在Python的测试框架pytest中,断言(assert)和条件判断(if-else)是两种不同的逻辑控制结构,它们在测试代码中扮演着不同的角色。 断言(assert) 断言是…

第十二周 5.21面向对象的三大特性(封装、继承、多态)(二)

三、多态 1.理解: (1)多态:父类型的引用存储不同子类型的对象 父类类名 引用名 new 子类类名(); 引用 对象 父类型 子类型 …

数字孪生技术助力智慧园区建设

随着城市化进程的加速和科技创新的推动,城市面临着诸多挑战和机遇。如何提升城市的竞争力和可持续性,是一个亟待解决的问题。在这个背景下,智慧园区作为一种新型的城市发展模式,引起了越来越多的关注和探索。 什么是智慧园区&…

C语言在线编程网站:探索编程的奥秘与深度

C语言在线编程网站:探索编程的奥秘与深度 在数字世界的浩瀚海洋中,编程已成为连接现实与虚拟的桥梁。而C语言,作为编程领域的经典之作,其深度与广度令无数探索者着迷。为了满足广大编程爱好者的需求,C语言在线编程网站…

c# 容器笔记

c#与c的相似容器 c#中和std::set 的用法相似的容器 在 C# 中&#xff0c;和 C 中的 std::set 用法相似的容器是 HashSet<T> 和 SortedSet<T>。这两者都实现了集合的功能&#xff0c;但有一些不同的特点。 HashSet<T> 无序集合&#xff1a;不保证元素的顺…

SELECT语句的基本结构遵循一定的顺序

在MySQL中&#xff0c;SELECT语句的基本结构遵循一定的顺序&#xff0c;虽然在编写SQL时不一定严格按此顺序排列&#xff0c;但理解这一逻辑顺序有助于更好地组织和阅读SQL代码。SELECT语句的一般格式如下&#xff1a; SELECT[DISTINCT | DISTINCTROW][TOP n] select_expressi…

启智CV机器人,ROS,ubuntu 20.04 【最后一步有问题】

资料&#xff1a; https://wiki.ros.org/kinetic/Installation/Ubuntu https://blog.csdn.net/qq_44339029/article/details/120579608 装VM。 装ubuntu20.04 desktop.iso系统。 装vm工具&#xff1a; sudo apt update sudo dpkg --configure -a sudo apt-get autoremove o…