程序员基础知识—IP地址

文章目录

一、什么是IP地址

IP地址就像我们需要打电话时的电话号码一样,它用来标识网络中的一台主机,每台主机至少有一个IP地址,而且这个IP地址是全网唯一的。IP地址由网路号和主机号两部分组成。如果一台主机拥有两个或者多个IP地址,那么说明该主机属于两个或者多个逻辑网络,一般用作路由器。网络号相同的主机可以直接互相访问,网路号不同的主机需要通过路由器才能互相访问。

IP地址用一个32位的二进制码来表示,每个字节转换成对应的十进制数,每一个十进制数之间用"."来分隔,这种方法称为"点分十进制表示法"。

二、IP地址的分类

在TCP/IP协议中,根据网络规模的大小划分了5类IP地址。

  • A类IP地址
    A类IP地址第一个字节为网络号,后三个字节为主机号。网络号的最高位固定为0。因此能够表示的网络号有27也就是128个。另外,由于全0和全1的网络号有特殊用途,因此,去掉全0和全1的网络号,只能表示126个网络号。有三个字节,24位可以用来表示主机号,可以表示224个主机。A类IP地址常用于大型的网络。
  • B类IP地址
    B类IP地址用前两个字节表示网络号,后两个字节表示主机号。网络号的最高位为10,因此最多可以表示214 - 2个网络号。最多表示216 - 2个主机号。B类IP地址通常用于中等类型的网络。
  • C类IP地址
    C类IP地址的前三个字节表示网络号,最后一个字节表示主机号。网络号最高位为110,最多表示221 - 2个网络号。最多表示28 - 2个主机号。C类IP地址通常用于小型的网络。
  • D类IP地址
    D类IP地址最高位为1110,是多播地址。主要留给Internet体系结构委员会使用。
  • E类IP地址
    E类IP地址的最高位为11110,它留做今后使用。

需要注意的是,并不是说A类IP地址比其他B类和C类的IP地址高级,或者优先级更高,只是它们的使用场景不同。

三、子网掩码

子网掩码也是用来标识网络中的主机的。既然上面的IP地址也是标识网络中的主机的,那么为什么还要有子网掩码的概念呢?当然是因为只用IP地址存在一些问题。

首先是只是用IP地址能够表示的主机数有限。其次是,IP地址在使用时会存在很大的浪费。比如一个单位申请了一个A类地址,但是实际本单位的主机数并没有达到A类地址的上线,甚至一半都没有达到,这就会造成很大的浪费。为此,增加了子网掩码的概念。

在一个主机很多,分布范围很广的大型网络中,如果所有的主机都是用同一个网络号,就需要用一些网桥来将这些主机连接起来。但是网桥有很多缺点,比如容易引起广播风暴,而且出现问题时不太容易隔离和管理。可以把这个网络分成若干个子网,每个子网之间用路由器来连接。此时,在IP地址中增加一个子网号字段

需要注意的是,子网的划分是网络内部的事情,子网号究竟有多长,是由单位自身决定的。从网络外部来看,该网络只有一个网络号,只有进入网络内部,路由器才会根据子网号进行路由选择,然后找到目的主机。

TCP/IP体系规定,使用32位来表示子网掩码。子网掩码由0和1组成,1对应IP地址的网络号和子网号字段,0对应IP地址的主机号字段。子网掩码也是用点分十进制表示法表示。如果不进行子网划分,那么子网掩码就是默认值,A类IP地址的子网掩码默认值为255.0.0.0,B类IP地址的默认子网掩码为255.255.0.0,C类IP地址的默认子网掩码为255.255.255.0。使用子网掩码时,寻址就变成了三级寻址。首先寻找对应的网络号,然后匹配子网号,最后寻找主机号。

如何判断两个IP地址是否是一个子网呢?具体方法是将两个IP地址分别和子网掩码做二进制"与"运算。如果得到的结果相同,则属于同一个子网。如果结果不同,则不属于同一个子网。

相关推荐
x_x-F15 分钟前
DMA技术详解:解放CPU的数据搬运工
网络
xiaoxiangsiyan20 分钟前
RHCE之2026年全套考点详解
运维·前端·网络·chrome·学习·rhce
秋田君22 分钟前
QT_实战TCP 聊天程序说明文档以及实现
数据库·qt·tcp/ip
腾科IT教育23 分钟前
网络安全与网络空间安全:概念、产业与防护建议
网络·安全·web安全·网络安全·网络空间安全
0Kilobyte23 分钟前
自建拨号服务器上网
网络
SoStraw2 小时前
webrpc 常见问题 FAQ:无公网 IP、Token、传文件,以及和 frp / WebRTC 的差别
tcp/ip·webrtc·frp·token·faq·webrpc·无公网ip
zhao32668575110 小时前
静态IP代理固定IP与动态IP的根本差异,账号操作安全性如何体现
网络·网络协议·tcp/ip
淼澄研学17 小时前
Kimi API黑产倒卖技术解析与Python合规接入指南
开发语言·网络·python
SendTomo18 小时前
P2P文件传输工具对比:SendTomo vs send.wang
javascript·网络协议·webrtc·html5·p2p
qyyyyy57018 小时前
英文技术标准和协议规范怎么读?RFC、接口规范与安全标准 PDF 翻译流程
网络协议·网络安全·机器翻译·csrf·技术美术