计算机网络导论

news2024/12/25 9:01:20

网络结构的演变

网状结构

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

在这里插入图片描述

好处

这样连接,好处是安全性比较高(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.coloradmin.cn/o/1704859.html

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

相关文章

yolov8+ROS+ubuntu18.04——学习记录

参考文献 1.Ubuntu配置Yolov8环境并训练自己的数据集 ROS实时运行 2.https://juejin.cn/post/7313979467965874214 前提: 1.CUDA和Anaconda,PyTorch 2.python>3.8 一、创建激活环境,安装依赖 1.创建虚拟环境 conda create -n yol…

【Qt Creator】跨平台的C++图形用户界面应用程序开发框架---QT

🍁你好,我是 RO-BERRY 📗 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 🎄感谢你的陪伴与支持 ,故事既有了开头,就要画上一个完美的句号,让我们一起加油 目录 1.互联网的核心岗位以及职…

一个基于预训练的DenseNet121模型的人脸年龄分类系统

这篇文章采用预训练的DenseNet121模型并使用自定义的数据集类和自定义的类似正态分布的标签平滑策略来训练了一个人脸年龄分类模型,最后基于这个模型用tk实现了一个娱乐向的小系统。 数据集展示: 两个文件夹,分别是训练集和测试集&#xff0…

空压机的热回收原理介绍

空压机运行时会产生大量的压缩热,通常这部分能量通过机组的风冷或水冷系统释放到大气当中。压缩机的热回收是持续降低空气系统损耗,提高客户生产力的必要手段。 余热回收的节能技术目前研究很多,但大多只针对喷油螺杆式空压机的油路改造而言…

【Linux】使用pip3安装pexpect,解决报错:the ssl module in Python is not available

pip3是python3的包管理工具,安装、卸载、更新等管理python包。 pexpect是其中一个python库,用于自动化与终端交互。 centos7使用pip3安装pexpect,报错: pip3 install pexpect 原因:使用python3解释器导入ssl库检查ss…

【网络协议】划重点啦!TCP与UDP的重点面试题!!!

1. 为什么建立TCP连接是三次握手,而关闭连接却是四次挥手呢? 这是因为服务端的 LISTEN 状态下的 SOCKET 当收到 SYN 报文的建连请求后,它可以把 ACK和 SYN(ACK 起应答作用, 而 SYN 起同步作用) 放在一个报文…

建立FTP服务器

文章目录 建立FTP服务器1. 使用VMware安装CentOS 7虚拟机。2. 安装完虚拟机后,进入虚拟机,修改网络配置(onboot改为yes)并重启网络服务,查看相应IP地址,并使用远程连接软件进行连接。3.配置yum源&#xff0…

图形学概述

图形学应用 游戏 游戏的画面好坏如何鉴定呢? 看游戏画面是否够亮:渲染中全局光照的好坏 《只狼》 为什么卡通游戏画面看起来是卡通的呢? 《无主之地3》 这些都是图形学需要着手解决的问题 电影 电影《黑客帝国》的特效也是通过计算机…

AI大模型探索之路-实战篇9:探究Agent智能数据分析平台的架构与功能

系列篇章💥 AI大模型探索之路-实战篇4:深入DB-GPT数据应用开发框架调研 AI大模型探索之路-实战篇5:探索Open Interpreter开放代码解释器调研 AI大模型探索之路-实战篇6:掌握Function Calling的详细流程 AI大模型探索之路-实战篇7…

OWASP top10--SQL注入(三、手工注入)

目录 access数据库 手工注入过程: 猜解数据库表名 猜解数据库表名里面的字段 猜解字段内容 SQL注入中的高级查询 mssql数据库 手工注入过程: sa权限 ​编辑dbowner权限 public权限 mysql数据库 1、对服务器文件进行读写操作(前提条件) 需要知…

二叉树顺序结构的实现(堆)

二叉树的基本概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 有一个特殊的结点,称为根结…

浙江大学数据结构MOOC-课后习题-第九讲-排序1 排序

题目汇总 浙江大学数据结构MOOC-课后习题-拼题A-代码分享-2024 题目描述 文章目录 冒泡排序插入排序希尔排序堆排序归并排序 冒泡排序 void buble_Sort() { int A[MAXSIZE];int N;std::cin >> N;for (int i 0; i < N; i)std::cin >> A[i];bool flag false;i…

滑动窗口-java

主要通过单调队列来解决滑动窗口问题&#xff0c;得到滑动窗口中元素的最大值和最小值。 目录 前言 一、滑动窗口 二、算法思路 1.滑动窗口 2.算法思路 3.代码详解 三、代码如下 1.代码如下 2.读入数据 3.代码运行结果 总结 前言 主要通过单调队列来解决滑动窗口问题&#xff…

(免费领源码)java#SSM#mysql第三方物流系统37852-计算机毕业设计项目选题推荐

摘 要 科技进步的飞速发展引起人们日常生活的巨大变化&#xff0c;电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流&#xff0c;人类发展的历史正进入一个新时代。在现实运用中&#xff0c;应用软件的工作…

EasyCode生成的SQL语句中无逗号分隔

EasyCode生成的SQL语句中无逗号分隔 EasyCode是一款非常好用的插件&#xff0c;可以帮助我们生成相关的一些代码&#xff0c;但是在生成SQL对应的xml文件之后&#xff0c;发现语句中多个字段之间没有逗号分隔&#xff0c;而是直接连在了一起。接下来&#xff0c;让我们一起去解…

Kubernetes——Kubectl详解

目录 前言 一、陈述式资源管理方法 二、Kubectl命令操作 1.查 1.1kubectl version——查看版本信息 1.2kubectl api-resources——查看资源对象简写 1.3kubectl cluster-info——查看集群信息 1.4配置Kubectl补全 1.5journalctl -u kubelet -f——查看日志 1.6kubec…

C-数据结构-树状存储基本概念

‘’’ 树状存储基本概念 深度&#xff08;层数&#xff09; 度&#xff08;子树个数&#xff09; 叶子 孩子 兄弟 堂兄弟 二叉树&#xff1a; 满二叉树&#xff1a; 完全二叉树&#xff1a; 存储&#xff1a;顺序&#xff0c;链式 树的遍历&#xff1a;按层遍历&#xff0…

Qt for android 串口库使用

简介 由于Qt for android并没有提供android的串口执行方案&#xff0c;基于需要又懒得自己去造轮子&#xff0c; 使用开源的 usb-serial-for-android 库进行串口访问读写。 如果有自己的需要和库不满足的点&#xff0c;可以查看库的底层调用的Android相关API C/C 串口库 对应…

驱动开发:内核MDL读写进程内存

100编程书屋_孔夫子旧书网 MDL内存读写是最常用的一种读写模式,通常需要附加到指定进程空间内然后调用内存拷贝得到对端内存中的数据,在调用结束后再将其空间释放掉,通过这种方式实现内存读写操作,此种模式的读写操作也是最推荐使用的相比于CR3切换来说,此方式更稳定并不会…

Kruskal算法求最小生成树(加边法)

一、算法逻辑 想要轻松形象理解Kruskal算法的算法逻辑&#xff0c;视频肯定比图文好。 小编看过很多求相关的教学视频&#xff0c;这里选出一个我认为最好理解的这一款安利给大家。 因为他不仅讲解细致&#xff0c;而且还配合了动画演示&#xff0c;可以说把一个抽象的东西讲…