程序员基础知识—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地址分别和子网掩码做二进制"与"运算。如果得到的结果相同,则属于同一个子网。如果结果不同,则不属于同一个子网。

相关推荐
讨厌下雨的天空13 分钟前
传输层TCP协议
服务器·网络协议·tcp/ip
fantasy_arch18 分钟前
残差网络模型demo
网络·深度学习·神经网络
007php00720 分钟前
redis缓存功能结合实际项目面试之问题与解析
网络·redis·nginx·缓存·面试·职场和发展·php
2501_9160088921 分钟前
HTTPS 双向认证抓包指南,TLS 握手分析、mTLS 排查方法与多工具协同方案
android·网络协议·http·小程序·https·uni-app·iphone
岁岁种桃花儿22 分钟前
一文了解什么是短网址以及他的做用是什么
网络·nginx·dns·短网址
老蒋新思维23 分钟前
创客匠人峰会复盘:AI 赋能 IP 创新增长,知识变现的 4 大实战路径与跨行业案例
大数据·网络·人工智能·tcp/ip·创始人ip·创客匠人·知识变现
计算机小手24 分钟前
内网穿透系列十五:Docker 部署,集成 Web UI,实现一键式异地组网
经验分享·网络协议·docker·开源软件
大隐隐于野24 分钟前
SMC-R透明加速TCP技术,在Redis场景下的应用实践
网络
北方的流星27 分钟前
园区网络综合实训
网络·智能路由器
kkk_皮蛋38 分钟前
WebRTC 核心技术:P2P 打洞原理
网络·网络协议·p2p