IP协议学习笔记


IP的作用类似物理世界中的地址,用于定位机器的位置。只不过物理的地址是文字描述,计算机世界的IP是一串二进制数,并且它是有一定约定和规则的。

下面我来学习关于IP的一些历史约定和规则。

IP地址格式

  • 4.4.4.4
  • 8.8.8.8
  • 114.114.114.114
  • 242.105.13.65
  • 102.32.175.117
  • 123.157.162.46
  • 255.255.255.255

这些用四个点.划分,且每个段的范围是 \(2^8\)(从0开始),这就是IP。

IP地址由两部分组成:

  • 网络部分 + 主机部分

为什么要分两部分?
网络ID的作用:

  • 识别网络:网络ID用于识别特定的网络或子网。
  • 路由:路由器使用网络ID来决定如何转发数据包。
  • 网络划分:帮助组织有效地管理和划分网络。

主机ID的作用:

  • 识别主机:在特定网络内唯一标识一台主机或设备。
  • 寻址:允许数据包准确地传递到网络内的特定设备。

分割的重要性:

  • 层次结构:创建了网络的层次结构,简化了互联网的组织。
  • 效率:提高了路由效率,路由器只需要关注网络ID,而不是每个单独的IP地址。
  • 灵活性:允许网络管理员根据需要灵活地分配和管理IP地址。

实际应用:

  • 当数据包从一个网络发送到另一个网络时,路由器只查看网络ID部分。
  • 一旦数据包到达目标网络,本地设备(如交换机)使用主机ID将其导向特定设备。

IP分类

IP转为二进制,根据判断前几位,设备就能判断这个IP是什么类的IP。

A、B、C类默认网络掩码:

  • A:IP/8
  • B:IP/16
  • C:IP/24

约定:
C类也叫C段。

为什么要IP分类?
这是一个很好的问题,涉及到了互联网发展的历史。IP地址分类(A、B、C、D、E类)是早期互联网设计的一部分,主要用于简化网络地址的分配和路由。让我为您解释一下:

  1. IP地址分类的历史背景:
    IP地址分类系统是在1981年通过RFC 791引入的,当时是为了更有效地分配和管理有限的IPv4地址空间。这个系统被称为"有类别寻址"(classful addressing)。

  2. 各类IP地址的特征:
    A类:

    • 第一位为0
    • 网络地址占8位,主机地址占24位
    • 范围:1.0.0.0 到 126.255.255.255
    • 适合大型网络

    B类:

    • 前两位为10
    • 网络地址占16位,主机地址占16位
    • 范围:128.0.0.0 到 191.255.255.255
    • 适合中型网络

    C类:

    • 前三位为110
    • 网络地址占24位,主机地址占8位
    • 范围:192.0.0.0 到 223.255.255.255
    • 适合小型网络

    D类:

    • 前四位为1110
    • 用于多播(multicast)也叫组播,无子网掩码
    • 范围:224.0.0.0 到 239.255.255.255

    E类:

    • 前五位为11110
    • 保留用于未来或实验用途
    • 范围:240.0.0.0 到 255.255.255.255
    • 255.255.255.255 作为广播地址
  3. 历史作用:

    • 简化地址分配:便于Internet号码分配机构(如IANA)管理和分配IP地址。
    • 简化路由:路由器可以根据IP地址的前几位快速确定网络类别。
    • 灵活性:不同类别适合不同规模的网络。
  4. 局限性:
    随着互联网的快速发展,这种分类方法显现出一些问题:

    • 地址空间浪费:特别是A类和B类网络中,很多地址未被充分利用。
    • 缺乏灵活性:难以适应中等规模的网络需求。
  5. 发展:
    为了解决这些问题,后来引入了无类别域间路由(CIDR)和网络地址转换(NAT)等技术,使IP地址的分配和使用更加灵活和高效。

    虽然现在我们主要使用CIDR,但了解IP地址分类仍然对理解网络历史和某些遗留系统有一点帮助,主要吹牛时用,不至于不知道别人说什么。

总结:
古老的IP分类——有类网络已经被抛弃了,现在是NAT + CIDR的 无类网络 时代。

CIDR 和 子网掩码介绍

CIDR(Classless Inter-Domain Routing)是一种用于表示IP地址和其相关子网掩码的方法。格式为:IP地址/前缀长度,在介绍CIDR 之前先认识子网掩码

用Windows系统的朋友,对这个图肯定很熟悉吧:

子网掩码(Subnet Mask)又叫网络掩码、地址掩码,必须结合IP地址一起对应使用。

子网掩码的组成:

  1. 同IP地址一样,子网掩码是由长度为32位二进制数组成的一个地址。
  2. 子网掩码32位与IP地址32位相对应,IP地址如果某位是网络地址,则子网掩码为1,否则为0。
  3. 举个栗子:如:11111111.11111111.11111111.00000000
    注:左边连续的1的个数代表网络号的长度,(使用时必须是连续的,理论上也可以不连续),右边连续的0的个数代表主机号的长度。

子网掩码的作用:

  • 只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作
  • 子网掩码和IP地址做“与”运算,分离出IP地址中的网络地址和主机地址,用于判断该IP地址是在本地网络上,还是在远程网络网上。

关注到:
子网掩码可以分离出IP地址中的网络地址主机地址

为什么要分离出网络地址、主机地址有什么用?

  1. 因为两台主机要通信,首先要判断是否处于同一网段,即网络地址是否相同;

  2. 如果相同,那么可以把数据包直接发送到目标主机,否则就需要路由网关将数据包转发送到目的地。

    在如下拓扑图示例中,A与B,C与D,都可以直接相互通信(都是属于各自同一网段,不用经过路由器),但是A与C,A与D,B与C,B与D它们之间不属于同一网段,所以它们通信是要经过本地网关,然后路由器根据对方IP地址,在路由表中查找恰好有匹配到对方IP地址的直连路由,于是从另一边网关接口转发出去实现互连。

子网掩码的的表示方法:

  • 点分十进制表示法
    二进制转换十进制,每8位用点号隔开
    例如:子网掩码二进制11111111.11111111.11111111.00000000,表示为255.255.255.0

  • CIDR斜线记法
    IP地址/n
    也可以理解为:IP地址/前缀长度

    • 例1:192.168.1.100/24,其子网掩码表示为255.255.255.0,二进制表示为11111111.11111111.11111111.00000000
    • 例2:172.16.198.12/20,其子网掩码表示为255.255.240.0,二进制表示为11111111.11111111.11110000.00000000
      不难发现,例1中共有24个1,例2中共有20个1,所以n是这么来的。运营商ISP常用这样的方法给客户分配IP地址。

示例:

1表示网络地址,0表示主机地址

CIDR: IP/8
二进制:11111111.00000000.00000000.00000000
十进制:255.0.0.0

CIDR: IP/16
二进制:11111111.11111111.00000000.00000000
十进制:255.255.0.0

CIDR: IP/24
二进制:11111111.11111111.11111111.00000000
十进制:255.255.255.0

CIDR的优势:

  • 灵活性:允许更精细的子网划分。
  • 效率:相比传统的A、B、C类地址分类,可以更有效地利用IP地址空间。

NAT+公网、私网地址

IPv4只有43亿个地址,远远不能满足全世界的网络需求,
通过配置NAT + CIDR,区分公网地址和私网地址,巧妙地解决了这个问题。

公网和私网IP地址的区分是网络管理中的一个重要概念。让我为您详细解释:

  1. 公网IP地址:

    • 定义:公网IP地址是在全球互联网上唯一的地址,可以直接访问互联网。
    • 分配:由互联网服务提供商(ISP)或地区互联网注册机构(RIR)分配。
    • 特点:全球唯一,可以直接在互联网上路由。
  2. 私网IP地址:

    • 定义:私网IP地址是在局域网内部使用的地址,不能直接访问互联网。
    • 分配:由网络管理员在局域网内分配,或通过DHCP自动分配。
    • 特点:可以在不同的局域网中重复使用。
  3. 私网IP地址范围:
    根据RFC 1918,以下IP地址范围被保留用于私网:

    私有地址范围 CIDR表示法
    A 10.0.0.0 ~ 10.255.255.255 10.0.0.0/8
    B 172.16.0.0 ~ 172.31.255.255 172.16.0.0/12
    C 192.168.0.0 ~ 192.168.255.255 192.168.0.0/16
  4. 如何区分:

    • 地址范围:如果一个IP地址落在上述私网地址范围内,它就是私网IP。
    • 网络设置:查看设备的网络设置可以确定IP地址类型。
    • 在线工具:有许多在线工具可以帮助判断一个IP是公网还是私网。
  5. 使用场景:

    • 私网IP:用于家庭、办公室或企业内部网络。多台设备可以共享一个公网IP。
    • 公网IP:用于需要直接访问互联网的服务器、网站托管等。
  6. NAT(网络地址转换):

    • 私网设备通过NAT技术,使用路由器的公网IP访问互联网。
    • NAT允许多个私网IP共享一个公网IP,提高了IP地址的利用效率。
  7. 安全性:

    • 私网IP提供了一定程度的安全性,因为它们不能直接从互联网访问。
    • 公网IP更容易受到直接的网络攻击,因此需要更严格的安全措施。

CIDR 与 VLSM

上面铺垫了那么多,其实重点就是要讲清楚CIDR 与 VLSM这两个概念。

VLSM —— VLSM(Variable Length Subnet Mask,可变长子网掩码),更好理解的词:子网划分,规定了在一个有类(A、B、C类)网络内包含多个子网掩码的能力,以及对一个子网的再进行子网划分的能力,作用是:提升IP的利用率、实际使用率。

VLSM:子网掩码往右边移,掩码netmask增长。


上图的局域网也就两台机器,要是使用192.168.10.240/24 就有256-2 = 254 个可用IP,有点浪费了。划分成 192.168.10.240/30 ,子网/30的可用IP是4个,减去2个(一个网络号,一个广播号),就刚好只剩下2个,就没有造成浪费。

CIDR —— CIDR(Classless Inter-Domain Routing,无类别域间路由),更好理解的词: 路由聚合或者 超网。CIDR本质是消除了传统的A类、B类和C类地址以及划分子网的概念,将多个地址块聚合在一起生成一个更大的网络,从而包含更多的主机。

CIDR:子网掩码往左边移,掩码netmask缩短。


在A路由器上,就有4个路由表,把它聚合成一张路由表,传递到路由器B,减少路由B的压力,作用是为了减少骨干路由器的压力。

CIDR与VLSM总结:
在某种程度上来说,CIDR和VLSM它们之间可以看做是逆过程,CIDR是聚合(找多个路由表的相同的位数,然后把相同位数的求出来)、VLSM是切分(找到划分的界限,划分下去,需要考虑-2)。

VLSM 子网划分案例

一个子网划分的案例:
将 192.168.1.0/24这个C类地址进行子网划分,网络位向主机位借1位:

那么将划分出子网1——192.168.1.0/25

当我们借用一位进行子网划分时,这一位成为了区分两个子网的关键
在二进制中,这一位可以是0或1,因此产生了两个子网。

那么将划分出子网2——192.168.1.128/25

这种划分方法允许我们创建两个大小相等的子网,每个子网可以容纳126个主机。
这在需要将一个大网络分割成两个较小网络的情况下非常有用。

练习

  • 例1:某企业分配给产品部的IP地址块为192.168.31.192/26,分配给市场部的IP地址块为192.168.31.160/27,分配给财务部的IP地址块为192.168.31.128/27,那么这三个地址块经过聚合后的地址为?

  • 例2:计算一下 172.16.1.0/27 这个子网的网络号、广播号、以及可用IP地址?

Reference

6--10VLSM子网划分
https://www.bilibili.com/video/BV1pY411P7tU/

6-11CIDR无类域间路由
https://www.bilibili.com/video/BV1vR4y1K7Ge/

热门相关:甜蜜婚令:陆少的医神娇妻   驭房我不止有问心术   我的学姐会魔法   顶级气运,悄悄修炼千年   萌学园六复活之战