计算机网络基础知识(二)—— 什么是Ip地址、Mac地址、网关、子网掩码、DNS

news2024/11/21 0:13:58

文章目录

  • 01 | Ip地址
  • 02 | Mac地址
  • 03 | 网关
  • 04 | 子网掩码
  • 05 | DNS
  • 06 | 总结

初次接触网络时,只知道电脑连接网线,就可以打开4399玩小游戏,可以登录QQ和朋友聊天;
再次接触网络时,知道了怎么查看自己电脑的网络情况(Windows终端下敲入ipconfig),但是对于其中的一串串数字完全一头雾水,现在来看下这些数字都代表着什么意思吧🤓

在这里插入图片描述

01 | Ip地址

I P 地址是网络通信中至关重要的基础性概念,是设备进行互联网通信的必要前提。 \color{pink}{IP 地址是网络通信中至关重要的基础性概念,是设备进行互联网通信的必要前提。} IP地址是网络通信中至关重要的基础性概念,是设备进行互联网通信的必要前提。

当我们使用计算机或者其他网络设备进行互联网通信时,每一个设备都需要一个唯一的标识符来进行通信。这个标识符被称为 IP 地址。IP(Internet Protocol)地址是一个由32位二进制表示的数字,通常被分为四个数字组成的点分十进制的形式表示,例如:192.168.1.1。

  • 组成

    IP 地址是由两个部分组成的:网络号和主机号。网络号用于标识主机所在的网络,而主机号则是在这个网络中唯一标识一个主机。

    在这里插入图片描述

  • 分类

    IP地址根据其所占的网络位和主机位的数目,可以分为五类,分别是A、B、C、D、E类。

    其中,A、B、C类的IP地址用于一般的TCP/IP通信,D类和E类的IP地址则有特殊用途,其中D类地址用于组播通信,而E类地址是保留地址,目前未被使用。

    在这里插入图片描述

    下面是每个IP地址类的范围:

    • A类地址:一个A类地址由1个网络位和3个主机位组成,全球共有126个A类地址,范围在1.0.0.0~126.0.0.0之间;

    • B类地址:一个B类地址由2个网络位和2个主机位组成,全球共有16,384个B类地址,范围在128.0.0.0~191.255.0.0之间;

    • C类地址:一个C类地址由3个网络位和1个主机位组成,全球共有2,097,152个C类地址,范围在192.0.0.0~223.255.255.0之间;

    • D类地址:D类地址的第一位为“1110”,全球共有224~239的IP地址段分配给广泛的组播使用;

    • E类地址:E类地址的第一位为“1111”,全球共有240~255的IP地址段被保留,用于研究和特殊用途。

    需要注意的是,在实际使用中,由于IP地址的分配方式不同,每类IP地址所能用于的主机数量也不尽相同,具体情况需要通过网络计算来确定。

  • 公网IP && 私网IP

    IP 地址可以分为公网 IP 地址和私网 IP 地址。公网 IP 地址是一个全球唯一的地址,用于标识一个设备在公共互联网上的位置,例如:用于访问网络资源或访问互联网;私网 IP 地址则用于内部网络间的通信,主要使用在企业内部局域网中。

简单来说:IP地址就好比自己家在地图上的位置

02 | Mac地址

当你在连接网络的时候,计算机需要一种方法来唯一地标识自己 \color{pink}{当你在连接网络的时候,计算机需要一种方法来唯一地标识自己} 当你在连接网络的时候,计算机需要一种方法来唯一地标识自己。这就是MAC(Media Access Control)地址的作用。MAC地址是一种硬件地址,是由网络适配器制造商预先设定的,用于在计算机网络中识别物理设备。

在这里插入图片描述

MAC地址的格式一般以十六进制数的形式表示,由6组2位16进制数构成,中间以冒号隔开,例如:00:0c:29:28:fd:b1。前三组数是厂商识别码,后三组数是设备序号。其中,第一组数最高位为0或1,0表示使用“统配地址”(broadcast),1则表示使用“单一地址”(unicast),如果是单一地址,则第二位必须为0。剩下的四个字节中,前三个字节是厂商编号,后三个字节是该厂商的网卡流水号,厂商编号是由IEEE分配给厂商的,具有唯一性。

了解MAC地址对于网络调试和安全性非常重要。在网络调试中,我们可以通过查看网络数据流中的源MAC或目的MAC地址来确定通讯设备的唯一标识,有助于排查网络问题。而在网络安全中,我们可以通过MAC地址来限制网络设备的访问权限,避免未经授权的设备访问网络。

03 | 网关

在这里插入图片描述

网关地址是指在一台计算机或网络中,充当连接两个不同网络的桥梁的设备的 I P 地址 \color{pink}{网关地址是指在一台计算机或网络中,充当连接两个不同网络的桥梁的设备的 IP 地址} 网关地址是指在一台计算机或网络中,充当连接两个不同网络的桥梁的设备的IP地址。简单来说,网关就是连接两个不同子网的设备或者软件,实现数据传输的桥梁。网关可以是路由器、交换机、防火墙等设备,也可以是运行有特定网络服务的主机或服务器。

当一台计算机需要连接到网络的其他子网时,它需要通过网关才能访问这些子网。换句话说,网关地址就是目标网络的默认出口地址,将数据包从本地网络发送到目标网络。例如,当你连接到一个无线路由器时,这个无线路由器就是你计算机的网关。

举个具体的例子。假设你的家庭网络是一个局域网,包括多台计算机和多个智能设备。你想连接到因特网上的某个网站,但是因特网与你的家庭网络不在同一个子网内,也就是说,你的家庭网络无法直接访问因特网上的这个网站。这时,你需要通过网关连接到因特网上。

一种常见的情况是,你家里的网络使用路由器来连接到因特网上,路由器充当着家庭网络和因特网之间的桥梁,有一个公共IP地址和一个或多个私有IP地址。在这种情况下,路由器的私有IP地址就是家庭网络中的网关地址,你的计算机需要知道这个地址才能访问因特网上的网站。当你在浏览器中输入网址时,计算机会将数据包发送到网关地址,由路由器将数据包转发到因特网上的对应服务器上,从而实现网络通信。

04 | 子网掩码

在计算机网络中,子网掩码是用于划分 I P 地址的网络部分和主机部分的一种机制 \color{pink}{在计算机网络中,子网掩码是用于划分IP地址的网络部分和主机部分的一种机制} 在计算机网络中,子网掩码是用于划分IP地址的网络部分和主机部分的一种机制。它通常与IP地址一起使用,用于确定网络中的主机数量以及将网络地址划分为若干个子网。子网掩码是一个32位二进制数,与IP地址在二进制下进行逐位运算,以区分网络位和主机位。

子网掩码中,有一段连续的1表示网络位,一段连续的0则表示主机位。例如,一个标准的Ipv4地址是32位二进制数,如果我们设置24位作为网络地址,那么这时候就有8位作为主机地址。这样的子网掩码是一个24位的十六进制数字 255.255.255.0,它的二进制形式为 11111111 11111111 11111111 00000000。

  • 对于A类地址来说,其默认子网掩码为255.0.0.0/8

  • 对于B类地址来说,其默认子网掩码为255.255.0.0/16

  • 对于C类地址来说,其默认子网掩码为255.255.255.0/24

这里引入一个概念“子网”:主机号中相对于网络类型主机号为1的部分(问题:子网跟子网掩码的关系是什么?)

在这里插入图片描述

以上图为例,已知B类网络中,以前两个字节为网络号,后两个字节为主机号,那么对于172.240.0.0/22这个IP地址来说,它属于B类型,但是他的网络位数为22位,那么这个IP的子网就是22-16=6位,也就是B类网络主机号中的前4位。相应的,这个网络就可以划分2^6个子网数

网络位数由子网掩码决定,通过将IP地址与子网掩码进行位与操作,就能得到“网络”的值。比如192.168.78.118与子网掩码255.255.255.0进行位与操作后,得到的192.168.78.0就是该IP地址的“网络”,剩余部分就是该IP地址的主机号

子网掩码并不是只有上面三种,它可以接受任意个位,如255.255.255.252也是一个子网掩码,这个子网掩码能分割出30位的网络和2位的主机,对于这个子网掩码的网络,最多只有四台主机,因为主机号部分的位数就决定了网络中可存在主机数量,当然一般来说实际可用的主机数还要减去广播地址(全为1),不可用地址(全为0)两个。

再回看上面A/B/C三类地址的子网掩码,会发现后面有数字8/16/24,这其实是为了快速辨认该网络的“网络”位数是多少位(即子网掩码前面全为1的个数)

  • 主机数

    一个网络中所能包含的主机数量取决于主机部分的位数,也就是由子网掩码中连续的0表示的位数决定。例如,在上述24位网络地址中,有8位作为主机地址部分,因此,这个网络最多可以连接2的8次方个主机,即256台主机。

掌握子网掩码的概念非常重要,因为它是计算机网络中网络划分和通信的关键。子网掩码的正确设置,可以使网络通信更加高效和稳定,同时也可以提高网络的安全性。

05 | DNS

在这里插入图片描述

当我们想要通过互联网访问一个网站时,我们通常会在浏览器的地址栏输入该网站的网址。但是,我们不能直接通过这个网址来连接到网络上的目标服务器,因为计算机只知道如何根据 IP 地址来定位服务器。因此,我们需要 Domain Name System (DNS) 来将这个网址转换为相应的 IP 地址。

D N S 是一种分布式数据库系统,它存储了互联网上所有域名和相应的 I P 地址之间的映射关系 \color{pink}{DNS 是一种分布式数据库系统,它存储了互联网上所有域名和相应的 IP 地址之间的映射关系} DNS是一种分布式数据库系统,它存储了互联网上所有域名和相应的IP地址之间的映射关系。当我们访问一个网站时,我们的计算机会向本地 DNS 服务器发送请求,询问相应的域名所对应的 IP 地址。如果本地 DNS 服务器没有相应的映射关系,它会向较高级别的 DNS 服务器发送请求,一直向上追溯直到找到所需的 IP 地址并返回给我们的计算机。

DNS 的优点是可以使人们更轻松地记住和使用域名,同时使管理和更改 IP 地址更加方便。但是,DNS 也存在一些安全风险,例如 DNS 劫持和 DNS 缓存投毒。为了保护 DNS 的安全,我们可以采取一些措施,例如使用可信的 DNS 服务器和 DNSSEC (DNS Security Extensions) 等安全技术。

06 | 总结

在这里插入图片描述

当计算机通过网络进行通信时,需要指定与其它计算机通信所需的一些参数。其中包括 IP 地址、MAC地址、网关、子网掩码和 DNS。这些参数的作用如下:

  • IP 地址:是一个标识网络中计算机位置的数字。它可以用来唯一地识别一个计算机,类似于一个门牌号码。

  • MAC 地址:是每一个网络设备的唯一标识符。它类似于一个网络设备的身份证号码。

  • 网关:是连接不同网络的设备。它是在一个网段中的计算机要访问不同网段中的计算机时所要经过的路由器或交换机等设备。

  • 子网掩码:指定了如何将 IP 地址分成网络地址和主机地址两个部分,从而确定在一个局域网内哪些 IP 地址归属同一个网络。

  • DNS:是一种用于对域名进行解析的系统。它将域名转换为相应的 IP 地址,从而计算机可以通过 IP 地址找到对应的服务器。

综上所述,IP 地址和 MAC 地址是计算机在网络中唯一标识自己的两种方式,网关则是连接不同网络的设备,子网掩码则定义 IP 地址归属于哪个局域网,而 DNS 则是将域名解析为 IP 地址的系统。

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

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

相关文章

06 - 5 生产者消费者模式

架构演进 介绍 同步调用变成异步调用生产数据与消费数据分离协调不同处理速度 生产者 系统运转的动力为下一个环节产生待处理的工作/数据与消费者的关系 重点在如何将数据发送到容器对消费者无依赖不关注消费者的how/when 发送顺序 消费者 容器 平衡 与EDA对比 消费策略 优点…

我发布了自己第一个由ChatGPT辅助开发的开源项目goattribute

需求产生 前两天在工作过程中又遇到了一直以来困惑我的一个问题,就是Go配置项的管理问题。 在开发一个新项目的时候,往往涉及到配置项的管理。个人小项目可能会通过配置文件来传入、环境变量来传入,也可能通过命令行参数来传入,公…

代码随想录 LeetCode数组篇 长度最小的子数组

文章目录 (中等)209. 长度最小的子数组(中等)904. 水果成篮(困难)76. 最小夫覆盖子串 (中等)209. 长度最小的子数组 我的思路:双指针p和q,滑动窗口的思想 每…

牛客练习赛111 D青蛙兔子的约会

题目链接 示例1 输入 3 3 4 10 1 2 2 4 5 1 1 3 5 11 1 1 输出 YES NO NO 说明 第一问,青蛙晚上向右跳1次,白天无法与兔子相遇。青蛙向右跳2次,也就是2a6的距离,白天兔子向左跳1次,可以相遇。所以在跳[1,2]次中&#…

app持续交付实战

app持续交付实战 一、学习目标二、优势三、子任务拆分四、环境依赖1、安卓 SDK2、安卓设备(真机 or 模拟器)3、Appium 自动化测试4、JDK5、Python3环境6、allure-commandline工具7、allure插件 五、实战任务:串行执行 Jenkins Pipeline 项目1…

Python学习之批量转换图片格式和统一图片尺寸

前言 大家在工作的时候是不是都会接触到很多的图片,为了满足不同的需求: 兼容性:不同设备和应用程序可能支持不同的图片格式。通过转换图片格式,可以确保在各种设备和应用程序中都能够正确地显示图片。 文件大小:不…

基于matlab 从接收脉冲中提取波形参数

一、前言 现代飞机通常随身携带雷达警告接收器 (RWR)。RWR检测到雷达发射,并在雷达信号照射到飞机上时警告飞行员。RWR不仅可以检测雷达发射,还可以分析截获的信号并编目信号来自哪种雷达。此示例显示了 RWR 如何估计截获脉冲的参…

10倍速度开发贪吃蛇游戏之AI辅助

今天就来聊聊AI代码辅助神器,即便是零基础也能上手,因为实在是太强了,这以后叫程序员们怎么活啊!话不多说,直接上神器 我用的是cursor,其实目前AI辅助代码不止cursor,还有微软家的copilot X这个根植于gith…

JVM-01-JVM知识

1-JVM内存模型 Java开发人员一般情况下,使用过程中,不用关注内存的申请和释放,得益于JVM自动内存分配机制,但是其实是个双刃剑,这可以提升Java开发的效率,但是弱化了开发人员内存管理意识,系统容…

四元数快速入门【Quaternion】

四元数(Quaternion)是用于旋转和拉伸向量的数学运算符。 本文提供了一个概述,以帮助理解在空间导航等应用程序中对四元数的需求。 推荐:用 NSDT场景设计器 快速搭建3D场景。 可以通过多种方式在空间中准确定位、移动和旋转物体。 …

U盘在电脑上读不出来怎么办?详细解决方法在这!

案例:u盘在电脑上读不出来 【不知道为什么,我把u盘插入电脑后电脑完全读不出。我也不知道到底哪里出现了问题,有人可以帮我解答一下吗?】 U盘作为我们生活中经常使用的存储工具,其能帮我们存储大量的文件&#xff0c…

BM54-三数之和

题目 给出一个有n个元素的数组S,S中是否有元素a,b,c满足abc0?找出数组S中所有满足条件的三元组。 数据范围:0≤n≤1000,数组中各个元素值满足 ∣val∣≤100。 空间复杂度:O(n^2),时间复杂度 O(n^2)。 注…

React 第三方插件 —— Cron 表达式生成器(qnn-react-cron)

qnn-react-cron 可以看做 react-cron-antd 的升级版(具体“渊源”可见文档),现有功能如下: 🎉 全面支持 cron:秒、分、时、日、月、周、年 🎉 日及周条件互斥,自动改变响应值 &…

8年测试开发,写给1-3年功能测试的几点建议,满满硬货指导

从15年毕业到现在也从业八年了,普通本科毕业,现在一家互联网公司担任测试部门总监,摸爬打滚,坑坑洼洼也经历了不少。思绪很久决定还是写下这篇,希望对后进的小伙子少走一点弯路。 很多人把职场想得太美好,其…

学node写接口!!!

fs 可以读取文档 fs.readFild() 用于读取文件 第一个参数 路径 第二个参数 "utf8"(默认值) 第三个参数 函数 function(err , dataStr ){ 第一个参数是错误, 第二个参数是正确的可以拿到读取文件里面的值 } fs.writeFile() 用于创建文件添加内容 …

【LeetCode中等】1419.数青蛙

给你一个字符串 croakOfFrogs,它表示不同青蛙发出的蛙鸣声(字符串 “croak” )的组合。由于同一时间可以有多只青蛙呱呱作响,所以 croakOfFrogs 中会混合多个 “croak” 。 请你返回模拟字符串中所有蛙鸣所需不同青蛙的最少数目。…

如何根据参考文献查找原文及详细的文献信息

当我们已知参考文献想要查看下载原文以及相关信息时可以用下面的方法: 例如这篇参考文献:Alsamhi S H, Almalki F, Ma O, et al. Predictive estimation of optimal signal strength from drones over IoT frameworks in smart cities[J]. IEEE Transac…

FPGA实现SDI视频解码PCIE传输 提供工程源码和QT上位机源码加技术支持

目录 1、前言2、我已有的SDI编解码方案3、我已有的PCIE方案4、总体设计思路和方案SDI摄像头Gv8601a单端转差GTX解串SDI解码VGA时序恢复YUV转RGB图像缓存PCIE发送通路SDI同步输出通路 5、vivado工程详解6、驱动安装7、QT上位机软件8、上板调试验证SDI同步HDMI输出验证PCIE输出验…

neo4j结合gds实现最短路径算法

背景:Neo4j自带的cypher语句中的 shortestpath allShortestPaths 返回值内容非常有限,不易处理, 在实际生产环境中可用性极低, 且若带where条件查询时,查询效率极低 因此,使用Neo4j自带的插件如apoc来进行最短路径查询…

使用@Autowired、@Qualifier、@Primary注解自动装配组件

1.Autowired、Qualifier、Primary注解 1.1.Autowired注解 Autowired注解可以对类成员变量、方法和构造函数进行标注,完成自动装配的工作。 package org.springframework.beans.factory.annotation;import java.lang.annotation.Documented; import java.lang.ann…