IP 基础知识总结(一)

简介: 路由器对分组进行转发后,就会把数据包传到网络上,数据包最终是要传递到客户端或者服务器上的,那么数据包怎么知道要发往哪里呢?起到关键作用的就是 IP 协议。

IP 协议

路由器对分组进行转发后,就会把数据包传到网络上,数据包最终是要传递到客户端或者服务器上的,那么数据包怎么知道要发往哪里呢?起到关键作用的就是 IP 协议。

IP 主要分为三个部分,分别是 IP 寻址、路由和分包组包。下面我们主要围绕这三点进行阐述。

IP 地址

既然一个数据包要在网络上传输,那么肯定需要知道这个数据包到底发往哪里,也就是说需要一个目标地址信息,IP 地址就是连接网络中的所有主机进行通信的目标地址,因此,在网络上的每个主机都需要有自己的 IP 地址。

微信图片_20220416144036.png

在 IP 数据报发送的链路中,有可能链路非常长,比如说由中国发往美国的一个数据报,由于网络抖动等一些意外因素可能会导致数据报丢失,这时我们在这条链路中会放入一些 中转站,一方面能够确保数据报是否丢失,另一方面能够控制数据报的转发,这个中转站就是我们前面聊过的路由器,这个转发过程就是 路由控制

路由控制(Routing) 是指将分组数据发送到最终目标地址的功能,即使网络复杂多变,也能够通过路由控制到达目标地址。因此,一个数据报能否到达目标主机,关键就在于路由器的控制。

这里有一个名词,就是 ,因为在一条链路中可能会布满很多路由器,路由器和路由器之间的数据报传送就是跳,比如你和隔壁老王通信,中间就可能会经过路由器 A-> 路由器 B -> 路由器 C 。

那么一跳的范围有多大呢?

一跳是指从源 MAC 地址到目标 MAC 地址之间传输帧的区间,这里引出一个新的名词,MAC 地址是啥?

MAC 地址指的就是计算机的物理地址(Physical Address),它是用来确认网络设备位置的地址。在 OSI 网络模型中,网络层负责 IP 地址的定位,而数据链路层负责 MAC 地址的定位。MAC 地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的 MAC 地址,也就是说 MAC 地址和网卡是紧密联系在一起的。

路由器的每一跳都需要询问当前中转的路由器,下一跳应该跳到哪里,从而跳转到目标地址。而不是数据报刚开始发送后,网络中所有的通路都会显示出来,这种多次跳转也叫做多跳路由

IP 地址定义

现如今有两个版本的 IP 地址,IPv4 和 IPv6,我们首先探讨一下现如今还在广泛使用的 IPv4 地址,后面再考虑 IPv6 。

IPv4 由 32 位正整数来表示,在计算机内部会转化为二进制来处理,但是二进制不符合人类阅读的习惯,所以我们根据易读性的原则把 32 位的 IP 地址以 8 位为一组,分成四组,每组之间以 . 进行分割,再将每组转换为十进制数。如下图所示

微信图片_20220416144041.png

那么上面这个 32 位的 IP 地址就会被转换为十进制的 156.197.1.1。

除此之外,从图中我们还可以得到如下信息

每个这样 8 位位一组的数字,自然是非负数,其取值范围是 [0,255]。

IP 地址的总个数有 2^32 次幂个,这个数值算下来是 4294967296 ,大概能允许 43 亿台设备连接到网络。实际上真的如此吗?

实际上 IP 不会以主机的个数来配置的,而是根据设备上的 网卡(NIC) 进行配置,每一块网卡都会设置一个或者多个 IP 地址,而且通常一台路由器会有至少两块网卡,所以可以设置两个以上的 IP 地址,所以主机的数量远远达不到 43 亿。

微信图片_20220416144044.png

IP 地址构造和分类

IP 地址由 网络标识主机标识 两部分组成,网络标识代表着网络地址,主机标识代表着主机地址。网络标识在数据链路的每个段配置不同的值。网络标识必须保证相互连接的每个段的地址都不重复。而相同段内相连的主机必须有相同的网络地址。IP 地址的 主机标识 则不允许在同一网段内重复出现。

举个例子来说:比如说我在石家庄(好像不用比如昂),我所在的小区的某一栋楼就相当于是网络标识,某一栋楼的第几户就相当于是我的主机标识,当然如果你有整栋楼的话,那就当我没说。你可以通过xx省xx市xx区xx路xx小区xx栋来定位我的网络标识,这一栋的第几户就相当于是我的主机标识。

IP 地址分为四类,分别是 A类、B类、C类、D类、E类,它会根据 IP 地址中的第 1 位到第 4 位的比特对网络标识和主机标识进行分类。

  • A 类:(1.0.0.0 - 126.0.0.0)(默认子网掩码:255.0.0.0 或 0xFF000000)第一个字节为网络号,后三个字节为主机号。该类 IP 地址的最前面为 0 ,所以地址的网络号取值于 1~126 之间。一般用于大型网络。
  • B 类:(128.0.0.0 - 191.255.0.0)(默认子网掩码:255.255.0.0 或 0xFFFF0000)前两个字节为网络号,后两个字节为主机号。该类 IP 地址的最前面为 10 ,所以地址的网络号取值于 128~191 之间。一般用于中等规模网络。
  • C 类:(192.0.0.0 - 223.255.255.0)(子网掩码:255.255.255.0 或 0xFFFFFF00)前三个字节为网络号,最后一个字节为主机号。该类 IP 地址的最前面为 110 ,所以地址的网络号取值于 192~223 之间。一般用于小型网络。
  • D 类:是多播地址。该类 IP 地址的最前面为 1110 ,所以地址的网络号取值于 224~239 之间。一般用于多路广播用户。
  • E 类:是保留地址。该类 IP 地址的最前面为 1111 ,所以地址的网络号取值于 240~255 之间。

为了方便理解,我画了一张 IP 地址分类图,如下所示

微信图片_20220416144049.png

根据不同的 IP 范围,有下面不同的地总空间分类

微信图片_20220416144052.png

子网掩码

子网掩码(subnet mask) 又叫做网络掩码,它是一种用来指明一个 IP 地址的哪些位标识的是主机所在的网络。子网掩码是一个 32位 地址,用于屏蔽 IP 地址的一部分以区别网络标识和主机标识。

一个 IP 地址只要确定了其分类,也就确定了它的网络标识和主机标识,由此,各个分类所表示的网络标识范围如下

微信图片_20220416144056.png

1 表示 IP 网络地址的比特范围,0 表示 IP 主机地址的范围。将他们用十进制表示,那么这三类的表示如下

微信图片_20220416144100.png

保留地址

在IPv4 的几类地址中,有几个保留的地址空间不能在互联网上使用。这些地址用于特殊目的,不能在局域网外部路由。

微信图片_20220416144104.png

IP 协议版本

目前,全球 Internet 中共存有两个IP版本:IP 版本 4(IPv4)IP 版本6(IPv6)。IP 地址由二进制值组成,可驱动 Internet 上所有数据的路由。IPv4 地址的长度为 32 位,而 IPv6 地址的长度为 128 位。

Internet IP 资源由 Internet 分配号码机构(IANA)分配给区域 Internet 注册表(RIR),例如 APNIC,该机构负责根 DNS ,IP 寻址和其他 Internet 协议资源。

下面我们就一起认识一下 IP 协议中非常重要的两个版本 IPv4 和 IPv6。

相关文章
|
24天前
|
存储 监控 安全
内网基础知识(一)
内网基础知识(一)
|
24天前
|
运维 监控 Kubernetes
内网基础知识(二)
内网基础知识(二)
|
28天前
网络基础知识总结(二)
网络基础知识总结(二)
|
28天前
|
存储 缓存 网络协议
网络基础知识笔记(三)
网络基础知识笔记(三)
|
2月前
|
网络协议 网络架构
IPv6基础知识
本文档详细介绍了IPv6协议的发展背景及其带来的主要变化,涵盖了IPv6数据报的基本首部和扩展首部结构,以及IPv6地址的表示方法和分类。由于IPv4地址资源有限且设计存在缺陷,IPv6应运而生,解决了这些问题并引入了许多新特性。文档还探讨了IPv6地址的不同类型,如单播、多播和任播地址,并讨论了IPv4向IPv6过渡的策略,包括双协议栈和隧道技术。
|
3月前
第三章:什么是 BACnet/IP 网络
BACnet/IP 网络是一个或多个 IP 子网(IP 域)的集合,这些子网分配有单个 BACnet 网络号。BACnet 互联网络由两个或多个 BACnet 网络组成。这些网络可能是 BACnet/IP 网络,也可能使用其他指定的技术。此标准还支持以类似于 IP 子网的方式包含 IP 多播组,如下文中所述。
142 0
第三章:什么是 BACnet/IP 网络
|
4月前
|
监控 安全 网络安全
超实用的80个网络基础知识!
【7月更文挑战第1天】
75 0
超实用的80个网络基础知识!
|
6月前
|
域名解析 网络协议 网络安全
|
6月前
|
运维 监控 持续交付
服务器基础知识(IP地址与自动化技术的使用)
服务器基础知识(IP地址与自动化技术的使用)
62 0
|
6月前
|
网络协议 安全 数据安全/隐私保护
网络基础知识100问
网络基础知识100问
232 0