IP基础知识全家桶 - 前菜

IP基础知识全家桶 - 前菜

前言

前几天发现虽然学计算机很久的我竟然不清楚IP,所以我决定写一篇关于 IP 分类地址、子网划分等的文章,希望对那些常常混淆,摸不着头脑的小伙伴们有一点点作用。 

那么,说来就来!而且要盘就盘全一点。 

吃完这个 IP 基础知识全家桶,包你撑着肚子喊出:“真香!”

不多说,直接上菜,共分为三道菜:

首先是前菜 「 IP 基本认识 」 

其次是主菜 「IP 地址的基础知识」 

最后是点心 「IP 协议相关技术」

为啥要比喻成菜?因为小编是菜鸡(押韵不?)

正文

01

前菜 —— IP 基本认识

IP 在 TCP/IP 参考模型中处于第三层,也就是网络层。

我想应该有很多小伙伴都不知道模型长什么样吧。看下面,一定要记住哦。

IP基础知识全家桶 - 前菜

网络层的主要作用是:实现主机与主机之间的通信,也叫点对点(end to end)通信。

IP基础知识全家桶 - 前菜

IP的作用就是在复杂的网络环境中将数据包发送给最终的目的主机。

网络层与数据链路层有什么关系呢?

有的小伙伴分不清 IP(网络层) 和 MAC (数据链路层)之间的区别和关系。 

其实很容易区分,在上面我们知道 IP 的作用是主机之间通信用的,而 MAC 的作用则是实现「直连」的两个设备之间通信,而 IP 则负责在「没有直连」的两个网络之间进行通信传输。 

举个生活的栗子,小林要去一个很远的地方旅行,制定了一个行程表,其间需先后乘坐飞机、地铁、公交车才能抵达目的地,为此小林需要买飞机票,地铁票等。 

飞机票和地铁票都是去往特定的地点的,每张票只能够在某一限定区间内移动,此处的「区间内」就如同通信网络中数据链路。 

在区间内移动相当于数据链路层,充当区间内两个节点传输的功能,区间内的出发点好比源 MAC 地址,目标地点好比目的 MAC 地址。 

整个旅游行程表就相当于网络层,充当远程定位的功能,行程的开始好比源 IP,行程的终点好比目的IP 地址。

IP基础知识全家桶 - 前菜

如果小林只有行程表而没有车票,就无法搭乘交通工具到达目的地。相反,如果除了车票而没有行程表,恐怕也很难到达目的地。

因为小林不知道该坐什么车,也不知道该在哪里换乘。因此,只有两者兼备,既有某个区间的车票又有整个旅行的行程表,才能保证到达目的地。与此类似,计算机网络中也需要「数据链路层」和「网络层」这个分层才能实现向最终目标地址的通信。 

还有重要一点,旅行途中我们虽然不断变化了交通工具,但是旅行行程的起始地址和目的地址始终都没变。其实,在网络中数据包传输中也是如此,源IP地址和目标IP地址在传输过程中是不会变化的,只有源 MAC 地址和目标 MAC 一直在变化。

由于主菜比较多,怕下顿吃不了,先上一点哈。

02

主菜 —— IP 地址的基础知识

在 TCP/IP 网络通信时,为了保证能正常通信,每个设备都需要配置正确的 IP 地址,否则无法实现正常的通信。

IP 地址(IPv4 地址)由 32 位正整数来表示,IP 地址在计算机是以二进制的方式处理的。

而人类为了方便记忆采用了点分十进制的标记方式,也就是将 32 位 IP 地址以每 8 位为组,共分为 4组,每组以「 . 」隔开,再将每组转换成十进制。

IP基础知识全家桶 - 前菜

IP地址最大值也就是

IP基础知识全家桶 - 前菜

也就说,最大允许 43 亿台计算机连接到网络。

就问你听了怕不怕,如果地球上六七十亿的人都是用电脑怎么办?

实际上,IP 地址并不是根据主机台数来配置的,而是以网卡。像服务器、路由器等设备都是有 2 个以上的网卡,也就是它们会有 2 个以上的 IP 地址。

IP基础知识全家桶 - 前菜

因此,让 43 亿台计算机全部连网其实是不可能的,更何况 IP 地址是由「网络标识」和「主机标识」这两个部分组成的,所以实际能够连接到网络的计算机个数更是少了很多。

可能有的小伙伴提出了疑问,现在不仅电脑配了 IP, 手机、IPad 等电子设备都配了 IP 呀,照理来说肯定会超过 43 亿啦,那是怎么能够支持这么多 IP 的呢?

因为会根据一种可以更换 IP 地址的技术 NAT ,使得可连接计算机数超过 43 亿台。NAT 技术后续会进一步讨论和说明。

IP 地址的分类

互联网诞生之初,IP 地址显得很充裕,于是计算机科学家们设计了分类地址。 

IP 地址分类成了 5 种类型,分别是 A 类、B 类、C 类、D 类、E 类。

IP基础知识全家桶 - 前菜

上图中黄色部分为分类号,用以区分 IP 地址类别。

什么是 A、B、C 类地址?

其中对于 A、B、C 类主要分为两个部分,分别是网络号和主机号。这很好理解,好比小林是 A 小区 1栋 101 号,你是 B 小区 1 栋 101 号。

我们可以用下面这个表格, 就能很清楚的知道 A、B、C 分类对应的地址范围、最大主机个数。

IP基础知识全家桶 - 前菜

A、B、C 分类地址最大主机个数是如何计算的呢?

最大主机个数,就是要看主机号的位数,如 C 类地址的主机号占 8 位,那么 C 类地址的最大主机个数:

IP基础知识全家桶 - 前菜

为什么要减 2 呢? 

因为在 IP 地址中,有两个 IP 是特殊的,分别是主机号全为 1 和 全为 0 地址。

IP基础知识全家桶 - 前菜

  • 主机号全为 1 指定某个网络下的所有主机,用于广播 

  • 主机号全为 0 指定某个网络

因此,在分配过程中,应该去掉这两种情况。

广播地址用于什么?

广播地址用于在同一个链路中相互连接的主机之间发送数据包。 

学校班级中就有广播的例子,在准备上课的时候,通常班长会喊:“上课, 全体起立!”,班里的同学听到这句话是不是全部都站起来了?这个句话就有广播的含义。 

当主机号全为 1 时,就表示该网络的广播地址。例如把 172.20.0.0/16 用二进制表示如下:

10101100.00010100.00000000.00000000

将这个地址的主机部分全部改为 1,则形成广播地址:

10101100.00010100. 11111111.11111111

再将这个地址用十进制表示,则为 172.20.255.255 。

广播地址可以分为本地广播和直接广播两种。

  • 在本网络内广播的叫做本地广播。例如网络地址为 192.168.0.0/24 的情况下,广播地址是192.168.0.255 。因为这个广播地址的 IP 包会被路由器屏蔽,所以不会到达 192.168.0.0/24 以外的其他链路上。

  • 在不同网络之间的广播叫做直接广播。例如网络地址为 192.168.0.0/24 的主机向192.168.1.255/24 的目标地址发送 IP 包。收到这个包的路由器,将数据转发给 192.168.1.0/24,从而使得所有 192.168.1.1~192.168.1.254 的主机都能收到这个包(由于直接广播有一定的安全问题,多数情况下会在路由器上设置为不转发。) 。

IP基础知识全家桶 - 前菜

IP基础知识全家桶 - 前菜

什么是 D、E 类地址?

而 D 类和 E 类地址是没有主机号的,所以不可用于主机 IP,D 类常被用于多播,E 类是预留的分类,暂时未使用。

IP基础知识全家桶 - 前菜

多播地址用于什么?

多播用于将包发送给特定组内的所有主机。

还是举班级的栗子,老师说:“最后一排的同学,上来做这道数学题。”,老师指定的是最后一排的同学,也就是多播的含义了。

由于广播无法穿透路由,若想给其他网段发送同样的包,就可以使用可以穿透路由的多播。

多播使用的 D 类地址,其前四位是 1110 就表示是多播地址,而剩下的 28 位是多播的组编号。

IP基础知识全家桶 - 前菜

IP基础知识全家桶 - 前菜

从 224.0.0.0 ~ 239.255.255.255 都是多播的可用范围,其划分为以下三类:

  • 224.0.0.0 ~ 224.0.0.255 为预留的组播地址,只能在局域网中,路由器是不会进行转发的。 

  • 224.0.1.0 ~ 238.255.255.255 为用户可用的组播地址,可以用于 Internet 上。 

  • 239.0.0.0 ~ 239.255.255.255 为本地管理组播地址,可供内部网在内部使用,仅在特定的本地范围内有效。

菜先上到这,记得光盘行动哦~ 下篇文章