题目
介绍下 IP 协议 / IP 地址
答案
@[toc] --- > 据此可延展 ICMP 协议、DHCP 协议、ARP 协议 ## 什么是 IP 协议? IP 协议是整个 TCP/IP 协议族的核心,也是构成互联网的基础,位于 TCP/IP 模型的网络层。 IP 协议用于**屏蔽下层物理网络的差异,为上层提供统一的 IP 数据报**。 ![](https://cs-wiki.oss-cn-shanghai.aliyuncs.com/img/20210114161019.png) IP 协议提供无连接的、不可靠的、尽力的数据报投递服务: 1)**尽力**投递服务 每个数据链路上会规定一个最大传输单元 MTU,如果 IP 数据报的长度超过 MTU,那么网络层就会把这些报文分割成一个一个的小组分组进行传送(分组交换),以适应具体的传输 2)**无连接**的投递服务 不需要像 TCP 一样先建立连接 3)**不可靠**的投递服务 IP 协议本身不保证 IP 数据报投递的结果。 在传输的过程中,由于分组交换,一个 IP 数据报分成的分组可能会走不同的路径, 甚至有可能其中的一部分数据报会在传输过程中丢失、延迟和乱序等, IP 协议不对内容作任何检测,也不将这些结果通知收发双方 > IP 数据报的丢失,通过路由器发 `ICMP 报文` 告知; 必要时,由高层实体(如 TCP)负责差错恢复动作 ## 什么是 IP 地址 IP 地址是 IP 协议中非常重要的内容,**IP 数据报中含有收/发方的 IP 地址**。 给因特网上的每台设备都规定了其**全世界唯一**的地址,叫做 “IP 地址”(注意 **IP 地址是动态变化的**,通过 **DHCP** 服务器自动分配,也可以自己根据实际情况进行更改),正是由于有了 IP 地址,才保证了用户在连网的计算机上操作时,能够高效而且方便地从千千万万台计算机中选出自己所需的对象来。 ![](https://cs-wiki.oss-cn-shanghai.aliyuncs.com/img/20210115145253.png) > 按照 TCP/IP 协议规定,IP 地址用二进制来表示,每个 IP 地址长 **32 比特**,也就是 4 个字节(这里说的是 IPV4 地址长 32 比特 / 4 字节,而 IPV6 地址占 128 比特 / 16 字节)。那么,IPV4 地址的最大值就是 $2^{32} = 4294967296$,也就是说:最多给大约 43 亿台接入互联网的设备配置其独一无二的 IPV4 地址。 > > 一个采用二进制形式的 IP 地址是一串很长的数字,人们处理起来也太费劲了。为了方便人们的使用,IP 地址习惯性地被写成十进制的形式,**使用 “`.`” 分开不同的字节**。这种表示法叫做**点分十进制表示法**,这显然比一连串二进制地 1 和 0 容易记忆得多。举个例子: > > ![](https://cs-wiki.oss-cn-shanghai.aliyuncs.com/img/20210114154101.png) **和 MAC 地址一样,IP 地址并不是根据主机台数来配置的,而是根据网卡(网络适配器)来的**。像服务器、路由器等设备都是有 2 个以上的网卡,也就是它们会有 2 个以上的 IP 地址和 MAC 地址。 在数据链路层进行传输的时候,需要将 IP 地址转换成 MAC 地址,这两者之间的转换是由 **ARP 地址解析协议**所做的事情