【一文带你看懂什么是VLAN、网关、DNS和子网掩码等 】

news2024/11/15 9:41:38

很多小伙伴多次问到什么是VLAN、三层交换机、网关、MAC地址、DNS和子网掩码,它们具体的定位和用途。确实,如今网络技术已经覆盖了非常广阔的工作和生活场景,但很多人在日常的应用当中还是不太懂这些知识,今天我们就尝试用比较通俗的方式来一次性讲解清楚。

一、什么是VLAN?
VLAN中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。听了上面的概念,肯定有不少小伙伴是一头雾水的,什么是虚拟局域网?好好的,为什么要划分VLAN?

在实际的网络通信当中,电脑A想要与电脑B通信,电脑A就需要发送ARP请求,而网络中电脑众多,最终ARP请求会被转发到同一网络中的所有电脑,才能找到电脑B,如此一来,为了找到电脑B,消耗了网络整体的带宽,收到广播信息的计算机还要消耗一部分CPU时间来对它进行处理,造成了网络带宽和CPU运算能力的大量无谓消耗,所以这个时候就要划分出来VLAN来进行网络管理。

打个比方:

一所高中,新学期高一招了800名学生,这800名学生,如果放在一个班里,肯定很难管理,所以就需要把他们分成10个班分别管理,分别命名为高一(1)班,高一(2)班…高一(10)班,同时也会给到每人一个编号:

1101表示一班01号学生;

1102表示一班02号学生;

1201表示二班01号学生;

1202表示二班02号学生…

那么这样老师管理起来就轻松多了,老师只需要把一个班的80人管理好就可以了,隔壁二班和三班乱成一锅粥也不关一班的事了。

这就是VLAN,每个班就相当于一个VLAN,属同一个网络,而每个班的名称,就相当于VLAN的名称,每个学生的编号就是IP地址。同班同学(同一个VLAN的IP),因为同一个教室,同一个网络,朝夕相处,所以可以相互通信,不同班的同学,若不借助其它通信工具,很难往来通信。

所以同一个VLAN间,可以相互通信,不同VLAN,若不做配置,不能相互通信。

那么不同VLAN之间,如何实现通信呢?就需要单臂路由与三层交换机。

二、单臂路由与三层交换机
要实现不同VLAN间通信,就必须要有路由功能,不同VLAN之间相互通信有两种方式——单臂路由和三层交换机(交换机就是实现一条网线可以同时连接多台电脑的工具)。

什么是单臂路由?

单臂路由的实现方式,其实就是普通的二层交换机加路由器,从而实现不同VLAN之间的相互通信。关于二层交换机的通讯结构,可以参照以下简图:在这里插入图片描述

那什么是三层交换机呢?

对于小型的网络,单臂路由可以应付,但随着VLAN之间的流量不断增加,很可能导致路由器成为整个网络的瓶颈,出现掉包或者通信堵塞。

为了解决上述问题,三层交换机应运而生。三层交换机,本质上就是“带有路由功能的(二层)交换机”。关于三层交换机的通讯结构,可以参照下面的简图:
在这里插入图片描述

所以综上所述,就像开头说的那样,交换机本质上就是实现一条网线可以同时连接多台电脑的工具。

三、什么是网关
在了解完VLAN与三层交换机后,能不能通信,还需要看网关是否正确。

1、什么是网关

网关(Gateway)又称网间连接器、协议转换器,网关在传输层上可以实现网络互连。

2、如何来理解网关

大家都知道,从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关。顾名思义,网关(Gateway)就是一个网络连接到另一个网络的“关口”。

3、网关的IP地址

网关本质上是一个网络通向其他网络的IP地址,网关在网段内的可用IP中选一个,不过,一般用的是第一个或最后一个。

比如有网络A和网络B:

网络A的IP地址范围为“192.168.1.1~192. 168.1.254”。

如果需要与其它网段通信,那么它的网关可以设置为192.168.1.1。

网络B的IP地址范围为“192.168.2.1~192.168.2.254”。

如果需要与其它网段通信,那么它的网关可以设置为192.168.2.1。

如下图所示,一般的数据流向是这样的:

网络A→网关A→路由设备→网关B→网络B
在这里插入图片描述

网络A向网络B转发数据包的过程

举个例子:

我们家用的路由器,比如腾达路由器,它的网关地址一般都是192.168.0.1,在我们把路由器买回来与电脑连接,设置好电脑网卡IP和掩码(如192.168.0.1和255.255.255.0),输入这个网关地址,就可以跟路由器的内部网络连接,对路由器进行各项设置了。

4、什么是默认网关?

如果搞清了什么是网关,那么默认网关也就很好理解了。就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到目的地址的对应网关,就会把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。

四、MAC地址
MAC地址是由网卡生产厂家在生产的时候就已经烧入网卡芯片的地址,具有全球唯一性。形象的说,MAC地址就如同我们身份证上的身份证号码,只有唯一一个,而且是不变的。

讲到MAC地址,就不得不提IP地址,很多人会把这两个东西搞混。IP地址全称叫作互联网协议地址,它的本义是为互联网上的每一个网络和每一台主机配置的一个逻辑地址。可以这样去区分IP地址和MAC地址:

IP地址:基于网络的,可以动态变化的,IP地址的分配是基于网络拓扑。

MAC地址:基于物理的,唯一不变的,物理地址的分配是基于制造商。

打个比方:

其实在网络上的数据传输就类似于邮递快递,MAC地址就相当于你这个人的名字(唯一不变的),而IP地址就相当于你在网络上,把邮件(数据包)从一个地方(IP地址)邮寄去另外一个地方(IP地址),你需要在网络上有这样一个地址(IP地址),才能更好地实现完整的邮寄工作(数据传输)。

五、什么是DNS
DNS是域名解析服务器(Domain Name System),是把网址变成IP地址的服务器。

DNS说白了是把域名翻译成IP地址用的,这里面举个例子,大家就很容易清楚了。

例如我们在浏览器里面输入www.baidu.com(URL地址)的时候,机器要跟百度这个网站进行通信,机器要往外面发送数据包,数据包里面要写百度这台服务器的IP地址,我们不知道IP地址是多少,那么就需要主机问DNS服务器,DNS服务器就自动帮我们把www.baidu.com(URL地址)这个域名翻译成了IP地址61.135.169.105。然后写到了数据包的目的IP地址里面就可以进行通信,这个道理在我们访问内网网页的时候也是一样的。

打个比方:

可以用以下场景去进行理解,我们去访问一个网页地址,需要访问DNS服务器,就类似于下面的小明想要联系小红,而班主任有一份全班通讯录的概念是一样的:

六、子网掩码
子网掩码又是什么东西呢?在IPv4协议版本下,IP地址资源比较紧张,那么在频繁获取IP地址的时候就会出现IP地址相同的情况,为了提高IP地址的利用率,我们就需要用到子网掩码。就好比在我们日常生活当中,我们也会有许多的汉字来组成我们的名字,但是即使这样还是会有很多人的名字出现同名,张三,李四,那么我们应该怎样快速地区分哪个张三是哪个,哪个李四才是我们想找的李四,这个时候就需要一些特征。如果我们把IP地址比作一个人的名字,那么子网掩码就像是一个特征,可以快速区分那些同名的人,让网络之间可以更好地互相交流。

打个比方:

有一个A网段是192.168.1.0 — 192.168.1.254,这网段里有个IP地址是192.168.1.1,我们就叫他张三,还有一个IP地址为192.168.1.2,我们可以叫他李四。

另外有一个B网段是192.168.0.0 — 192.168.255.254,网段里同样有两个IP地址为192.168.1.1与192.168.1.2,也叫张三和李四,那么我们如何区分他们是属于A网段还是B网段呢?

这个时候就需要子网掩码来判断他们是属于那个网段的,子网掩码就相当于是张三和李四的特征,张三的子网掩码是255.255.255.0,李四的子网掩码是255.255.0.0。

网络中出现类似于“同名”的IP地址,如何区分他们到底是属于那个网段,就需要依靠子网掩码了。

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

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

相关文章

从功能测试进阶自动化测试涨薪7k,终究是逼了自己一把...

绝大多数测试工程师都是从功能测试做起的,工作忙忙碌碌,每天在各种业务需求学习和点点中度过,过了好多年发现自己还只是一个功能测试工程师随着移动互联网的发展,从业人员能力的整体进步,软件测试需要具备的能力要求越…

Retrofit+Hilt后端请求小项目1--项目介绍

简介 本项目根据 youtube 对应教程实现而来 将会对对应代码以及依赖(如 Hilt、retrofit、coil)进行详细的分析与解读,同时缕清项目结构安排 如文章有叙述不清晰的,请直接查看原教程:https://www.youtube.com/watch?…

vs2019调用matlab2021混合编程

vs2019调用matlab2021 调试程序时使用vs我只能输出去看最后的结果,想实时的观察输出,老师说可以用这个办法去做 主要思想 首先:进行环境配置,主要是两个方面 1. 在VS中配置MATLAB 目录: (a&#xff09…

建设 TiDB 自动化平台:转转 DBA 团队实践

转转技术 . 转转研发中心及业界小伙伴们的技术学习交流平台,定期分享一线的实战经验及业界前沿的技术话题。 各种干货实践,欢迎交流分享,如有问题可随时联系 waterystone ~ 莫善 转转 DBA。 负责 TiDB,MongoDB,MySQL 运…

Python调用MMDetection实现AI抠图去背景

这篇文章的内容是以 《使用MMDetection进行目标检测、实例和全景分割》 为基础,需要安装好 MMDetection 的运行环境,同时完成目标检测、实例分割和全景分割的功能实践,之后再看下面的内容。 想要实现AI抠图去背景的需求,我们需要…

linux高级命令之互斥锁

互斥锁学习目标能够知道互斥锁的作用1.互斥锁的概念互斥锁: 对共享数据进行锁定,保证同一时刻只能有一个线程去操作。注意:互斥锁是多个线程一起去抢,抢到锁的线程先执行,没有抢到锁的线程需要等待,等互斥锁使用完释放后&#xff…

2023-JavaWeb最新整理面试题-TCP、Tomcat、Servlet、JSP等

Java基础面试题 一、JavaWeb专题 1.HTTP响应码有哪些 1、1xx(临时响应) 2、2xx(成功) 3、3xx(重定向):表示要完成请求需要进一步操作 4、4xx(错误):表示请…

MySQL锁之深入死锁分析

文章目录1 死锁产生原因分析1.1 产生原因1.2 产生示例1.2.1 案例一1.2.2 案例二1.2.3 案例三1.2.4 案例四1.2.5 案例五1.2.6 案例六1.3 死锁预防策略1.4 剖析死锁的成因1.5 解除死锁的占用1.5.1 死锁分析1.5.2 死锁解决1 死锁产生原因分析 点击此处了解MySQL各种锁分析 1.1 产…

为什么计算机需要操作系统?(一文详解~)

我们从三个方面来简单聊聊为什么计算机系统操作系统这个话题。 资源分配器 如果你的CPU上只需要运行一个程序,那么你的确不需要操作系统。 可是,一旦你的CPU上需要再运行一个程序,那么马上就会面临一个问题:两个程序开始竞争资源…

山东大学教授团畅谈ChatGPT革命座谈会,探讨ChatGPT发展趋势

2月18日,由山东大学多院系教授学者组成的山东大学教授团在济南福瑞达自贸创新产业园举行了“畅谈ChatGPT革命”座谈会,诸位教授学者就ChatGPT出现的影响进行了探讨。产业园首席顾问李铁岗教授向大家介绍产业园区山东大学经济学院教授、济南福瑞达自贸创新…

2023年美国大学生数学建模A题:受干旱影响的植物群落建模详解+模型代码(二)

前言 资源放CSDN上面过不了审核,都快结束了都没过审真的麻了,订阅专栏的同学直接加我微信直接发你。我只打造优质专栏。专注建模四年,博主参与过大大小小数十来次数学建模,理解各类模型原理以及每种模型的建模流程和各类题目分析方法。此专栏的目的就是为了让零基础快速使…

音视频基础之音频编码原理简介

一:隐蔽信号 数字音频信号如果不加压缩地直接进行传送,将会占用极大的带宽。例如,一套双声道数字音频若取样频率为44.1KHz,每样值按16bit量化,则其码率为: 244.1kHz16bit1.411Mbit/s 如此大的带宽将给信号…

linux系统编程2--网络编程socket知识

在linux系统编程中网络编程是使用socket(套接字),socket这个词可以表示很多概念:在TCP/IP协议中,“IP地址TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP地址端口号”就称为socket。在TCP协议中&#…

(考研湖科大教书匠计算机网络)第五章传输层-第八节2:TCP连接管理实践部分

获取pdf:密码7281专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航 此部分为补充内容,主要使用Java实现TCP和UDP通信 一:UDP通信 (1)Java数据报套接字通信模型 Java UDP通信模型&#xff…

算法笔记(十)—— 哈希函数和哈希表

认识哈希函数和哈希表的实现 哈希函数 哈希函数:输入域无穷,输出域(哈希值)相对有限 哈希函数:相同的输入一定会返回相同的输出值 由于输入域的无限和输出域的有限,不同的输入可能会返回相同的输出&…

配置Tomcat性能优化

配置Tomcat性能优化 📒博客主页: 微笑的段嘉许博客主页 💻微信公众号:微笑的段嘉许 🎉欢迎关注🔎点赞👍收藏⭐留言📝 📌本文由微笑的段嘉许原创! &#x1f4…

常用类(五)System类

(1)System类常见方法和案例: (1)exit:退出当前程序 我们设计的代码如下所示: package com.ypl.System_;public class System_ {public static void main(String[] args) {//exit: 退出当前程序System.out.println("ok1"…

详解C++的类型转换

文章目录前言一、C语言中的类型转换二、为什么C需要四种转换三、C强制类型转换3.1 static_cast3.2 reinterpret_cast3.3 const_cast3.4 dynamic_cast四、RTTI总结前言 在C语言的类型转换有一个非常大的坑,有好多悄悄地转换,有时候把我们转换的就蒙了,因为C要兼容C语言,所以C就…

docker容器单机网络

前言 通过文章 容器的本质可知,容器只是一个进程,而容器所能看到的网络栈,是隔离在自己的 Network Namespace 中。docker 容器单机网络支持四种网络模式,也都是基于 Network Namespace 实现的。本文主要是介绍这四种模式的使用方…

四、actions处理异步行为和调用

四、actions处理异步行为和调用 action:装方法的一个对象。 使用场景:在Vuex运行的环节中,有异步操作——>就必须经过action mutations不能进行异步操作。 最常用的案例:异步请求获取数据 使用方式: 组件中使用a…