当前位置: 首页 > article >正文

2.计算机网络_IP地址

IPv4的IP地址

1、分类IP

IP地址的表示方式:

IP地址在整个互联网中是唯一的,指明了连接到某个网络上的一个主机。IP地址用32位二进制数表示,每一个字节代表一段,如下图IP地址即为128.11.3.31。

什么是多归属主机:

当一个主机通过两个网卡同时连接到两个网络时,此时该主机同时拥有两个IP,这种主机被称为多归属主机。

IP地址中常见的二进制数:

  • 255:1111 1111
  • 128:1000 0000
  • 192:1100 0000
  • 224:1110 0000
  • 240:1111 0000 

特殊的IP地址: 

网络号全为0/1/127、主机号全为1/0 这几类IP是特殊的IP,具体特殊含义如下:

总结:网络全0代表本网络,主机号全0代表广播,网络号127代表回环。 

IP地址的网络号与主机号(2级结构): 

IP地址的32个位可以分为网络号主机号两个部分。网络号与主机号所占位数的多少与IP的种类有关,所占位数与IP种类关系如下图:

从上图可以看到,A类IP由0开头,网络号占8位,所以网络号的范围是0~127。A类主机号占24位,所以总共的主机号有2^24个,但主机号全为0或全为1的IP不可用,是特殊功能IP,因此实际可用IP个数为2^24-2。以此类推,各类IP的网络号范围如下:

IP类型网络号范围实际可用IP个数
A0~1272^24-2(>1600w)
B128~1912^16-2(65534)
C192~2232^8-2(254)
223~239
E240~255

IP地址的子网号(3级结构): 

划分子网号的目的是为了解决主机号浪费的问题,子网号是根据需求从主机号中划分出来的。

比如一个拥有10000台主机的组织,如果按照2级结构,需要申请的IP类型应该为B型,但是B型实际可用IP为65533个,这就浪费了大量的IP。

如果使用3级结构划分子网,IP分配过程为:申请的IP类型仍然是B型,但因为10000<2^14,所以可以将16位的主机号分为2位的子网号和14位的主机号,这样就可以将剩余的IP分配给其他的组织。即:该组织的子网号是00,主机号为14位;另一个组织子网号是01,主机号为14位。这样就节约了一些IP资源。

2、CIDR方式处理IP

CIDR是什么:

CIDR就是无分类域间路由选择,也称为误分类编址。它消除了A、B、C类地址以及划分子网的概念,比前面叙述的2级、3级结构更有效的分配IPv4的地址空间。

CIDR如何处理IP:

CIDR将IP的32位分为了网络前缀和主机号这两部分,与2级结构区别是不再事先规定网络号的前缀,而是根据需求去分配网络前缀,即:网络前缀的位数可以是0~32。记作a.b.c.d/n,其中n代表前n位是网络前缀,比如128.14.35.7/20代表高20位是网络前缀,剩余低位是主机号。

计算128.14.35.7/20的网络前缀方法如下:

什么是CIDR地址块:

地址块就是所有网络前缀一样的IP的集合。地址块用二进制代码表示为:<网络编号>*  

下面是20位网络编号的IP的地址块,其中网络编号是10000000 00001110 0010

区分CIDR与2级结构的IP:

CIDR必须在点分十进制记法后有 " /<网络编号位数> ”,如果没有就是2级结构的IP。

什么是地址掩码:

地址掩码也称子网掩码,它是一个32位的数,其中网络编号部分全为1,主机号部分全为0。

例如:20位网络编号的IP的子网掩码为11111111 11111111 11110000 00000000,用CIDR记法记作:255.255.240.0/20,点分十进制记法记作255.255.240.0

默认的地址掩码:

尽管CIDR消除了A、B、C类地址,但依旧存在A、B、C类地址的地址掩码,这些被称为默认地址掩码。

  • A:255.0.0.0(A是8位网络号)
  • B:255.255.0.0(B是16位网络号)
  • C:255.255.255.0(C是24位网络号)

通过掩码计算网络前缀:

子网掩码的目的是让计算机快速从IP中计算出网络地址。计算公式为:IP & 掩码 = 网络地址

IPv6的IP地址

IPv4的每个地址占32位,而IPv6的每个地址占128位,大大扩大了IP地址的资源。

IPv6冒号十六进制记法:

十六进制记法就是用4个十六进制数表示2个字节。原IPv4的记法是用3个十进制数表示1个字节。

十六进制记法中一共有128/8/2=8个部分

什么是零压缩:

零压缩就是在使用十六进制记法时,如果出现了一连串的0,则用 "::" 来表示,而不需要再写0。

注意:在一个IPv6的地址中,只能使用一次零压缩。

           即不存在xxx::xxx::xxx压缩后有两个"::"的情况


http://www.kler.cn/news/354442.html

相关文章:

  • React 探秘(一):fiber 架构
  • 自动驾驶系列—探索自动驾驶持续部署(CD)技术与最佳实践
  • UE5 猎户座漂浮小岛 01 资源 玩家角色
  • 从2.x到3.x:Spring Boot升级实战踩坑记录!
  • Go语言中的时间比较与时区处理
  • 利用Microsoft Entra Application Proxy在无公网IP条件下安全访问内网计算机
  • 代码训练营 day34|LeetCode 134,LeetCode 135,LeetCode 860,LeetCode 406
  • 根据Vue对比来深入学习React 下 props 组件传值 插槽 样式操作 hooks 高阶组件 性能优化
  • 如何使用Python合并Excel文件中的多个Sheet
  • 【ARM 嵌入式 编译系列 10.9 -- Clang 编译器】
  • Redis中String类型常见的应用场景
  • Android中的IntentService及其作用。
  • 编辑器、节点树、基础设置
  • LDR6500协议芯片:诱骗取电协议,OTG数据同时实现功能芯片
  • Mytatis-plus使用sl4j日志打印SQL
  • 【Vue】Vue 3 中的 ref 函数与 React 中的 useState 钩子的对比
  • uniapp小程序监听外接扫描枪
  • 二、PyCharm基本设置
  • 网易博客旧文----Xtreme ToolkitPro 的CommandBarsDesigner编辑生成的界面如何使用
  • RISC-V笔记——显式同步