【知识拓展】大白话说清楚: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

相关文章

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Android与iOS设备MAC地址生成原理及Java实现详解

《Android与iOS设备MAC地址生成原理及Java实现详解》在无线网络通信中,MAC(MediaAccessControl)地址是设备的唯一网络标识符,本文主要介绍了Android与iOS设备M... 目录引言1. MAC地址基础1.1 MAC地址的组成1.2 MAC地址的分类2. android与I

Java根据IP地址实现归属地获取

《Java根据IP地址实现归属地获取》Ip2region是一个离线IP地址定位库和IP定位数据管理框架,这篇文章主要为大家详细介绍了Java如何使用Ip2region实现根据IP地址获取归属地,感兴趣... 目录一、使用Ip2region离线获取1、Ip2region简介2、导包3、下编程载xdb文件4、J

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

一文详解Java异常处理你都了解哪些知识

《一文详解Java异常处理你都了解哪些知识》:本文主要介绍Java异常处理的相关资料,包括异常的分类、捕获和处理异常的语法、常见的异常类型以及自定义异常的实现,文中通过代码介绍的非常详细,需要的朋... 目录前言一、什么是异常二、异常的分类2.1 受检异常2.2 非受检异常三、异常处理的语法3.1 try-

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重