【知识拓展】大白话说清楚:IP地址、子网掩码、网关、DNS等

2024-05-15 05:20

本文主要是介绍【知识拓展】大白话说清楚:IP地址、子网掩码、网关、DNS等,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

工作中常听别人说的本地网络是什么意思?同一网段又是什么意思?它俩有关系吗?

在工作中内经常会遇到相关的网络问题,涉及网络通信中一些常见的词汇,如IP地址、子网掩码、网关和DNS等。具体一点:经常会遇到A服务器与B服务器无法连接,而网络管理人员只会跟你说看一下网关配置、是否存在网闸、防火墙等等。

基于此,个人对于此类知识进行简单拓展,不深入,目的是工作中能进行基本使用和与网络管理人员顺利沟通。(顺便吐槽下:个人认为,工作中面向不同专业的人,说大白话是沟通顺畅的基础,比如在公司报销时,你问财务需要什么,财务跟你说增值税专用发票、增值税普通发票、记账联、抵扣联、发票联、税务发票和财政票据等词汇却不举例说明那类费用需要什么票,还反问你这么简单都不懂你烦不烦)。

IP

什么是ip

IP地址是由数字和点组成的字符串,用于标识网络中的唯一设备。每个连接到互联网的设备都必须有一个IP地址,否则无法上网。其基本格式通常为四个数字组,如“192.168.1.1”。

ip格式和组成

ip格式

ip地址长度为32bit,即4个字节(byte)。我们都知道1byte=8bit,可以表示2的8次方,即0~255

所以ip表示形式有两种:

点分十进制:192.168.1.1(常用,方便人理解

二进制表示:11000000101010000000000100000001(即每个数转换成一个8位的2进制数。颜色仅仅为了区分显示每个数,没有其他含义)

ip组成

IP地址由网络号和主机号组成,网络号相同的主机称之为本地网络,网络号不相同的主机称之为远程网络主机。远程网络中的主机要相互通信必须通过网关(Gateway)来传递转发数据。下面详细说明:

IP地址由网络号和主机号组成。

即ip的32bit即4个字节,是由网络号和主机号共同组成的。那么哪部分属于网络号,哪部分属于主机号呢?ip地址有如下规定:

IP地址可以分为A类、B类、C类、D类和E类:

每段IP地址的首尾两个地址是做为网段地址和网段广播地址使用的,不能做为主机地址使用(所以下述主机数都-2,如192.168.1.0和192.168.1.255都不能作为主机地址使用);

0.0.0.0是一个特殊用途的IP地址,通常在网络上下文中指代“所有地址”或“任何地址”、以0开头的其他IP地址(如0.0.0.1)也被保留用于特殊用途,并且不应分配给网络上的设备。例如,0.0.0.0/8块被保留用于设备在尚不知道自己的IP地址时进行自我识别,0.0.0.0/32块用于表示默认路由。(A类网络-1);

127.0.0.0网段,留做本机网卡测试。(A类网络-1

A类网络(大型网络): 网络号是8位,第1位是0,主机位是24位。A类是大型网络,网络地址数量较少,有126(2^7-2)个网络,主机数2^24-2

B类网络(中型网络): 网络号是16位,前两位是10,其他位随意变化,主机位是16位,主机数2^16-2。B类网络地址适用于中等规模的网络,有16384个网络。

C类网络(小型网络): 网络号是24位,前三位是110,其他位随意变化 ,主机位是8位,C类网络地址数量较多,有2097152个网络。适用于小规模的局域网络主机数2^8-2=254

D类网络(组播) 前四位是1110,其他位随意变化。

**E类网络(用于研究):**前五位是11110,其他位随意变化。保留用于研究和将来使用。

网络号相同的主机称之为本地网络,网络号不相同的主机称之为远程网络主机,本地网络中的主机可以直接相互通信。

C类网络(小型网络)为例:

ip地址192.168.1.1和192.168.1.2就是本地网络。

ip地址192.168.1.1和192.168.2.2就是远程网络。

思考一个问题:本地网络中的主机可以直接相互通信,这句话是对的吗?

答案:不一定!

再思考一个问题:同一网段的主机可以直接相互通信,这句话是对的吗?

 

要了解这个问题,我们还需要了解子网掩码

子网掩码

什么是子网掩码

  子网掩码用来指明一个ip地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。

子网掩码的作用

  子网掩码一定是配合IP地址来使用的。子网掩码工作过程是:将32位的子网掩码与IP地址进行二进制形式的按位逻辑与运算得到的便是网络地址,将子网掩码二进制按位取反,然后IP地址进行二进制的逻辑“与”(AND)运算,得到的就是主机地址。

这里我是这么理解的,子网掩码+ip确定了当前机器所在的网段。

例如:一台机器ip是192.168.1.1,子网掩码是255.255.255.0

IP地址192.168.1.1转换为二进制是11000000.10101000.00000001.00000001,

子网掩码255.255.255.0转换为二进制是11111111.11111111.11111111.00000000。
进行逐位按位与运算:将IP地址与子网掩码进行逐位按位与(AND)运算。这个运算会比较两个数字的每一位,只有当两位都是1时,结果才是1,否则结果是0。IP地址192.168.1.1和子网掩码255.255.255.0进行按位与运算的结果是11000000.10101000.00000001.00000000。

点分十进制:

192.168.1.1和255.255.255.0进行运算,根据上述红字部分,可知255与任何数计算都是这个数本身,0与任何书计算后都是0. 结果为:192.168.1.0

综上,该机器在子网中的的网络地址是192.168.1.0,主机地址是1

完成这个问题后再继续。

ip是192.168.3.2,子网掩码是255.255.0.0,网络地址是多少?主机地址又是多少?

 答:网络地址:192.168.0.0  主机地址:3.2    

网段

        通常指的是一个计算机网络中使用同一物理层设备能够直接通信的部分。判断两个IP地址是否在同一网段的方法通常是比较它们的网络地址是否相同。

再来看之前的问题:

本地网络中的主机可以直接相互通信,这句话是对的吗?答案肯定是不对。

192.168.1.1和192.168.1.2如果子网掩码不一样,那么肯定是无法通信的。

同一网段的主机可以直接相互通信,这句话是对的吗?答案是对。

网关

        远程网络中的主机要相互通信必须通过网关来传递转发数据,意味着在两个分隔的网络之间进行数据传输时,需要依赖网关这个中介点来完成

        首先,网关(Gateway)是一个网络通信的节点,它作为不同网络或子网之间的桥梁,负责将一个网络中的数据包转发到另一个网络。在没有路由器的情况下,即使两个网络连接在同一台交换机或集线器上,如果它们的子网掩码设置导致它们被识别为不同的网络,那么这两个网络中的主机就无法直接进行TCP/IP通信。这时,就需要通过各自网络的网关来实现数据的传递和转发。

其次,当一个网络中的主机需要发送数据到另一个网络中的主机时,它会将数据包发送到自己的网关。然后,这个网关会处理这些数据包,并将它们转发到目标网络的网关。最终,目标网络的网关会将数据包传递给目标主机。这个过程就是所谓的路由,而执行这个功能的设备通常被称为路由器或者层3交换机。

网闸

网闸是一种信息安全设备,用于在两个独立主机系统之间实现物理隔离和数据摆渡。

网闸的主要功能是保护内部网络不受外部网络的直接攻击和入侵。它通过断开网络模型各层来实现物理隔离,确保内外网络之间没有物理连接、逻辑连接以及基于传输协议的信息交换。网闸允许数据以文件形式在两个网络之间进行无协议的摆渡,这样外部攻击者就无法通过网络连接直接对内网造成威胁。

网闸的技术原理主要基于网络模型各层的断开,这意味着它能够在网络的各个层次上阻断潜在的攻击路径。这种技术不仅能够防止外部攻击,还能有效避免内部信息泄露,因为它控制着数据的流向和访问权限。

与防火墙相比,网闸提供了更高级别的安全隔离。防火墙主要是基于特定规则来允许或拒绝网络流量,而网闸则通过完全隔离的方式来阻止未经授权的访问和数据泄露。因此,网闸在电子政务、电子商务等对安全性要求极高的领域得到了广泛应用。

尽管网闸在安全性方面表现出色,但它也有一些缺点,比如结构复杂,可能会增加系统的维护难度和成本。此外,由于网闸的隔离特性,它可能会限制网络间的通信效率和灵活性。

总的来说,网闸是一种重要的网络安全设备,它在保护内部网络免受外部威胁的同时,也支持必要的数据交换。在选择使用网闸时,需要根据具体的安全需求和网络环境来权衡其优势和潜在的局限性。

隔离网闸如何确保数据在内外网之间安全传输:

1. 物理隔离:网闸在任意时刻都只与内部或外部网络中的一个连接,确保内外网之间不存在实时的网络连接。这种物理断开状态防止了任何基于网络协议的攻击和数据泄露。

2. 非TCP/IP的数据摆渡:网闸不依赖TCP/IP或其他网络通信协议来传输数据。相反,它使用非网络方式(如通过文件)来在内外网之间摆渡数据,这样即使外部网络遭受攻击,也不会影响内部网络的安全。(可以理解数据被暂时存入到网闸中了)

3. 专用硬件设备:网闸通常使用专用的硬件设备(如固态介质、电子开关等)来控制数据的流向,这些设备具有高度的安全性和可靠性,能够有效防止数据泄露和攻击。

4. 访问控制:网闸实现了细粒度的访问控制,包括用户认证、数据加密、内容过滤等,以确保只有授权的数据才能在内外网之间传输。

5. 审计与监控:网闸还提供了详细的日志记录和监控功能,能够帮助管理员追踪和监控所有通过网闸的数据流,以便及时发现和处理潜在的安全威胁。

这篇关于【知识拓展】大白话说清楚:IP地址、子网掩码、网关、DNS等的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/990919

相关文章

[职场] 公务员的利弊分析 #知识分享#经验分享#其他

公务员的利弊分析     公务员作为一种稳定的职业选择,一直备受人们的关注。然而,就像任何其他职业一样,公务员职位也有其利与弊。本文将对公务员的利弊进行分析,帮助读者更好地了解这一职业的特点。 利: 1. 稳定的职业:公务员职位通常具有较高的稳定性,一旦进入公务员队伍,往往可以享受到稳定的工作环境和薪资待遇。这对于那些追求稳定的人来说,是一个很大的优势。 2. 薪资福利优厚:公务员的薪资和

通过高德api查询所有店铺地址信息

通过高德api查询所有店铺地址电话信息 需求:通过高德api查询所有店铺地址信息需求分析具体实现1、申请高德appkey2、下载types city 字典值3、具体代码调用 需求:通过高德api查询所有店铺地址信息 需求分析 查询现有高德api发现现有接口关键字搜索API服务地址: https://developer.amap.com/api/webservice/gui

时间服务器中,适用于国内的 NTP 服务器地址,可用于时间同步或 Android 加速 GPS 定位

NTP 是什么?   NTP 是网络时间协议(Network Time Protocol),它用来同步网络设备【如计算机、手机】的时间的协议。 NTP 实现什么目的?   目的很简单,就是为了提供准确时间。因为我们的手表、设备等,经常会时间跑着跑着就有误差,或快或慢的少几秒,时间长了甚至误差过分钟。 NTP 服务器列表 最常见、熟知的就是 www.pool.ntp.org/zo

[vivado][IP核]FFT

刘东华的IP核详解: 1、 2、

[vivado][IP核]DDS

刘东华的IP核详解: 1、 这里的是指IP核配置中的相位数据的宽度。 2、 实际使用此IP核时并没有“频率分辨率”可以配,是靠改变来变的。 3、 4、 5、 数据输出的ready在数据正式输出时才会有。 自己仿真: 使用SIN/COS LUT only的模式,使用一个累加器作为相位输入,不知怎么,输出为X。

[ip核][vivado]aurora

Xapp1193:  discovered:1)并不是所有芯片都支持aurora.xc7z010就没有。                     2)XDC文件的指令-允许未约束的引脚的存在:                 set_property BITSTREAM.General.UnconstrainedPins {Allow} [current_design] PG046

[ip核][vivado]Block Menory Gennerator 学习

<刘东华的xilinx系列FPGA芯片IP核详解>读书摘录: 1. 2. 3.

[ip核][vivado]FIFO 学习

<xlinx FPGA应用进阶 通用IP核详解和设计开发>读书摘录: 1.        2.3.仿真模型 特点总结:1)复位后会有busy状态,需要等待wr_rst_busy信号低电平后才能正常写入                  2)prog_full信号的高电平长度可调                  3)仿真中的读状态很奇怪,并没有正常读取,都是XXX的状态。 所用的te

开启青龙 Ninja 扫码功能失效后修改成手动填写CK功能【修正Ninja拉库地址】

国内:进入容器docker exec -it qinglong bash #获取ninjagit clone -b main https://ghproxy.com/https://github.com/wjx0428/ninja.git /ql/ninja#安装cd /ql/ninja/backend && pnpm install cp .env.example .env

局域网内vue2 配置本地IP地址访问项目

在日常开发中同事可能需要访问你的前端项目,可以通过配置实现通过ip访问 一.首先找到config文件夹目录下的 index.js文件             将此处的host的值修改为0.0.0.0(即 host: 0.0.0.0) // Various Dev Server settings//host: 'localhost' //将localhost进行替换成 0.0.0.0host: