关于面试:????-别再恐惧-IP-协议万字长文-多图预警

0. 前言

对我集体来说,本科的时候,除去计算机组成原理,计算机网络堪称温习难度最大的一门课,其中无穷无尽的 IP 地址的计算、子网划分、路由转发几乎就是梦靥。当初回过头来再看,其实真的不难,只不过是过后的常识体系切实太乱。???? 本篇耗时长达十几个小时,醉生梦死,置信大家看完必然有所播种。

???? 计算机网络的细碎知识点真的是越扣越多……,本文次要解说 IP 协定相干的重要知识点,一些相对来说比拟冷门的就不再说了

1. 从网络层说起

家喻户晓,IP 协定属于网络层,回顾一下之前文章 一文读懂两台计算机之间是如何通信的 所说的,网络层的作用:

在计算机网络中进行通信的两个计算机之间可能会通过很多个数据链路,也可能还要通过很多通信子网。网络层的工作就是抉择适合的网间路由和替换结点, 确保数据及时传送

艰深点来说吧,数据链路层的作用很简略,它是无脑的,只负责在两个相邻节点之间传送数据,它并不知道它所传送的数据最终目的地是哪。而网络层便是它的大脑,网络层负责指定源地址和目标地址,并通知数据链路层该走哪条路线。上面这张图能够说是十分形象了 ????:

运输层交付给网络层的数据格式是 TCP/UDP 报文段,那么网络层会将这些报文封装成 IP 数据报交付给数据链路层。在之前的文章中咱们说过,每个数据链路上会规定一个最大传输单元 MTU,如果 IP 数据报的长度超过 MTU,那么网络层就会把这些报文宰割成一个一个的小组(分组)进行传送。数据链路层收到 IP 数据报之后将其封装成帧。

为什么网络层的传输单元(协定单元)称为 IP 数据报呢?那是因为在 TCP/IP 体系结构中,网络层应用 IP 协定,因而称为 IP 数据报 ,简称数据报。上面咱们就来具体解说 IP 协定 ????

2. 什么是 IP 协定

IP 协定是整个 TCP/IP 协定族的外围,也是形成互联网的根底,位于 TCP/IP 模型的网络层。

IP 协定用于屏蔽上层物理网络的差别,为下层提供对立的 IP 数据报

⭐ IP 协定提供无连贯的、不牢靠的、尽力的数据报投递服务:

  • 1)无连贯的投递服务

    发送端可于任何时候自在发送数据,而接收端永远不晓得本人会在何时从哪里接管到数据。每个 IP 数据报独立解决和传输, 一台主机收回的数据报序列,可能会走不同的门路, 甚至有可能其中的一部分数据报会在传输过程中失落

  • 2)不牢靠的投递服务

    IP 协定自身不保障 IP 数据报投递的后果。 在传输的过程中,IP 数据报可能会失落、反复、提早和乱序等, IP 协定不对内容作任何检测,也不将这些后果告诉收发单方

    IP 数据报的失落,通过路由器发 ICMP 报文 告知(后续文章会具体解说 ICMP 协定,敬请期待); 必要时,由高层实体(如 TCP)负责过错复原动作

  • 3)尽力投递服务

    每个数据链路上会规定一个最大传输单元 MTU,如果 IP 数据报的长度超过 MTU,那么网络层就会把这些报文宰割成一个一个的小组(分组)进行传送,以适应具体的传输网络

3. IP 协定的重要内容:IP 地址

① IP 地址初探

IP 地址是 IP 协定中十分重要的内容,IP 数据报中含有收/发方的 IP 地址。 那么什么是 IP 地址呢?

那就是给因特网上的每台设施都规定了其全世界惟一的地址,叫做 “IP 地址”,正是因为有了 IP 地址,才保障了用户在连网的计算机上操作时,可能高效而且不便地从千千万万台计算机中选出本人所需的对象来。

IP 地址就如同电话号码(地址码):有了某人的电话号码,你就能与他通话了。同样,有了某台主机的 IP 地址,你就能与这台主机通信了。

依照 TCP/IP 协定规定,IP 地址用二进制来示意,每个 IP 地址长 32 比特,也就是 4 个字节(<u>这里说的是 IPV4 地址长 32 比特 / 4 字节,而 IPV6 地址占 128 比特 / 16 字节</u>)。那么,IPV4 地址的最大值就是 $2^{32} = 4294967296$,也就是说:最多给大概 43 亿台接入互联网的设施配置其举世无双的 IPV4 地址。

一个采纳二进制模式的 IP 地址是一串很长的数字,人们解决起来也太吃力了。为了不便人们的应用,IP 地址习惯性地被写成十进制的模式,应用 “.” 离开不同的字节。这种表示法叫做点分十进制表示法,这显然比一连串二进制地 1 和 0 容易记忆得多。举个例子:

② IP 地址和 MAC 地址

???? 可能有些小伙伴会认为,一台计算机只能有一个 IP 地址,这种观点是谬误的。实际上,IP 地址并不是依据主机台数来配置的,而是依据网卡(网络适配器)来的。像服务器、路由器等设施都是有 2 个以上的网卡,也就是它们会有 2 个以上的 IP 地址。

说到这里,不知大家有没有想起咱们之前说的 MAC 地址,没错,MAC 地址(链路层地址)也是依据网卡来配置的,一台主机领有多少个网卡就有多少个 MAC 地址。

那么,既然有了 MAC 地址用来惟一标识这台计算机了,那还须要 IP 地址干啥?答复这个问题只须要咱们回到本文的第一幅图:

  • 网络层指定了从哪个主机(「源 IP 地址」)发送到哪个主机(「目标 IP 地址」)。源 IP 地址和指标 IP 地址在传输过程中是不会变动的
  • 而数据链路层则是依据 MAC 地址在一个接一个的区间中进行传输的,每个区间内的登程地址即「源 MAC 地址」,每个区间内的目标地址即「目标 MAC 地址」。显然,随着数据的传输,源 MAC 地址和目标 MAC 地址会一直的发生变化

    比方上图,网络层告知了 1-2-3 路线,那么数据链路层就会依据 MAC 地址顺次找到 1、2、3,并在他们之间传输数据。

???? 这么说吧,举个形象点的例子:咱们把数据链路层当成乘坐高铁从苏州到南京,再在南京转乘到北京,再在北京转乘到西藏的旅客,那么网络层就相当于每个车站的工作人员,在数据链路层每次转乘时,网络层为其购买了一张标有下一个 MAC 地址的车票。因而,即便旅客(数据链路层)不晓得其最终目的地也没有关系,工作人员(网络层)会给你做出指引。

而实际上,网络层做出指引的过程,咱们将其称为路由管制 (下文会具体解说)

④ IP 地址的分类

互联网诞生之初,32 位的 IP 地址(也就是 IPV4 地址)显得很富余,于是大佬们对这些看似宏大的 IP 地址进行了分类:

上图中咱们能够看到,A 类 IP 地址的首位是 0,B 类 IP 地址的前几位是 10,C 类 IP 地址的前几位是 110……,咱们将这些称之为分类号,用于辨别 IP 地址的类别。

其中,A、B、C 类地址次要分为网络号和主机号两个局部:

  • 什么是网络号:网络号示意其属于互联网的哪一个网络
  • 什么是主机号:主机号示意其属于该网络中的哪一台主机

大 ???? 可能有这个疑难:为什么要拆散网络号和主机号

因为两台计算机要通信,首先要判断是否处于同一个播送域内,即网络地址(网络号)是否雷同:

  • 如果网络地址雷同,表明接受方在本网络上(本地网络主机),那么能够把数据包间接发送到指标主机,无需转发给其余的网络
  • 网络号不雷同的主机称之为近程网络主机,近程网络中的主机要互相通信必须通过本地网关(Gateway)来传递转发数据

路由器寻址工作中,也就是通过这样的形式来找到对应的网络号的,进而把数据包转发给对应的网络内。

???? IP 地址分类的长处不言而喻,不论是路由器还是主机解析到一个 IP 地址时候,能够很快的找出网络地址和主机地址:

???? A、B、C 类地址对应的地址范畴和最大主机个数如下:

网络类别 第一个可用的网络号 最初一个可用的网络号 每个网络中的最大主机数
A 1 126 $2^{24} – 2$
B 128.1 191.255 $2^{16} – 2$
C 192.0.1 223.255.255 $2^{8} – 2$

OK,看完上表大家必然有很多纳闷,上面一一为大家解答:

❓ 1)第一个可用的网络号如何计算出来的?很简略,网络号全为 0 即可,看下图,以 B 类地址为例:

由上图,B 类地址的第一个可用的网络号应该是 128.0 啊,为什么是 128.1 呢?

???? 其实这是一个历史问题,RFC 791 中说:<u>A value of zero in the network field means this network</u>. 即网络号全 0 代表本网络。因而真正可用的网络号应该是从 1 开始。

所以,B 类地址的第一个可用的网络号就是 128.1

A 类和 C 类地址同理,这里我就不再画图了。

不过实际上 128.0.0.1-128.0.0.255 这段地址曾经有明确的归属,国家是 NL。而 128.0.1.0/24 这段同样也分掉了,国家是 RO。而 192.0.0.1 这个地址查出来是没有被调配的。在 RFC 3330 中里有对于这两段地址的明确阐明:

128.0.0.0/16 - This block, corresponding to the numerically lowest of
the former Class B addresses, was initially and is still reserved by
the IANA.  Given the present classless nature of the IP address
space, the basis for the reservation no longer applies and addresses
in this block are subject to future allocation to a Regional Internet
Registry for assignment in the normal manner.
192.0.0.0/24 - This block, corresponding to the numerically lowest of
the former Class C addresses, was initially and is still reserved by
the IANA.  Given the present classless nature of the IP address
space, the basis for the reservation no longer applies and addresses
in this block are subject to future allocation to a Regional Internet
Registry for assignment in the normal manner.

这个 RFC 发表于 2002 年,对于这两段地址明确示意因为无类地址空间的起因,不再须要保留,地址将在今后进行调配。

❓ 2)最初一个可用的网络号如何计算出来的?同理,网络号全为 1 即可,看下图,以 B 类地址为例:

❓ 3)每个网络中的最大主机数为什么都要减 2 呢?

首先咱们要明确,计算网络中的最大主机数就是要看主机号的位数,比方 B 类地址的主机号占 8 位,那么 B 类地址的最大主机个数就是 $2^8 – 2$ 个。为什么要减 2 呢?

⭐ 那是因为主机号全为 0 和主机号全为 1 的这两个 IP 地址是非凡的,在主机号的调配过程中,应该去掉这两种状况

  • 第一种状况:主机号全为 1 指定某个网络下的所有主机,用于播送

  • 第二种状况:主机号全为 0 指定某个网络

④ IP 单播/播送/多播

Ⅰ IP 播送

上文中咱们提到了主机号全为 1 指定某个网络下的所有主机,用于播送,那么什么是播送呢?

播送地址用于在同一个链路中相互连接的主机之间发送数据包,即一个发送方对应多个接管方。接管方在接管到数据包之后,能够依据本人的须要抉择接管还是抛弃。

???? 比如说学校的播送告诉哪几个同学来办公室,那么尽管所有同学都接管到了这条音讯,然而不须要去办公室的同学就不用理睬

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

10101100.00010100.00000000.00000000

将这个地址的主机局部全副改为 1,则造成播送地址:

10101100.00010100.11111111.11111111

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

播送地址能够分为本地播送和间接播送两种:

1)在本网络内播送的叫做本地播送。例如网络地址为 192.168.0.0/24 的状况下,播送地址是 192.168.0.255。因为这个播送地址的 IP 包会被路由器屏蔽(即路由器不转发该播送包,播送包无奈穿透路由器),所以不会达到 192.168.0.0/24 以外的其余链路上。

2)在不同网络之间的播送叫做间接播送。例如网络地址为 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 多播

下面咱们讲了 A、B、C 类地址,D、E 类还没讲。D 类和 E 类地址是没有主机号的,所以不可用于主机 IP。

多播应用 D 类地址,因而如果首位是 1110,就能够认为是多播地址,而剩下的 28 位能够称为多播的组编号。E 类是预留的分类,临时未应用。

那么什么是多播(组播)呢?多播用于将包发送给特定组内的所有主机(能够穿透路由器),即一个发送方,特定的多个接管方。因为其间接应用 IP 协定,因而也不存在牢靠传输。

???? 在人们应用多播性能之前,始终采纳播送的形式。<u>通过播送将数据发送给所有终端主机,再由这些主机 IP 之上的一层去判断是否有必要接收数据。这种形式会给那些毫无关系的网络或主机带来影响,造成网络上很多不必要的流量</u>。再者,因为咱们在大部分状况下应用的本地播送是无奈穿透路由的,所以多播这种既可能穿透路由,又能够实现只给那些必要的组发送数据包的技术就成为必选之路了。

⑤ 子网划分

子网划分应该是整个 IP 协定中最让人头大的局部,写这部分的时候我也参考了很多材料,对于如何可能循序渐进讲完这部分知识点搜索枯肠,构思了很久,置信大家看完肯定可能有所播种 ????

Ⅰ 为什么要进行子网划分

为什么要进行子网划分呢?那是因为传统的 IP 地址分类可能会造成资源节约:????

上文咱们说过,网络号雷同的计算机属于同一个链路,以 B 类网络为例,网络号 16 位(除首位 “10”,啊hi有 14 位),也就是说实践上一个链路上容许大概 $2^{16} ≈ 6$ 万台计算机连贯。然而,在理论架构中,个别不会呈现一个链路上连贯这么多计算机的状况。因而,间接应用 A 类、B 类或 C 类地址,的确有些浪费资源。

为此,人们开始一种新的组合形式以缩小这种节约。

Ⅰ 子网划分初探

所谓子网划分就是:将传统的两级 IP 地址(网络号 + 主机号)转换成粒度更小的三级 IP 地址(网络号 + 子网号 + 主机号),也就是将主机地址划分为子网号和子网内的主机号

同样的,子网主机号不能全 0 或全 1

???? 留神:某单位划分子网后,对外仍体现为一个网络,即本单位外的网络看不见本单位内的子网划分。如下图所示,将网络地址 145.13.0.0 划分成 3 个子网,子网的网络地址别离为 145.13.3.0145.13.7.0145.13.21.0

  • 所谓网络地址就是只指定了网络号,未指定主机号,主机号全 0。
  • 子网的网络地址就是指定了网络号和子网号,未指定主机号,主机号全 0。

Ⅱ 子网掩码

那么,子网具体是怎么划分的呢?

这里就须要引出一个新的概念:子网掩码 subnet mask子网掩码只有一个作用,就是将某个 IP 地址划分成网络地址和主机地址两局部(为什么须要将 IP 地址分成网络地址和主机地址两局部,在上文咱们曾经说过了,这里不再赘述)。

子网掩码由一连串的 0 和 1 形成(0 或 1 必须间断),二级 IP 地址中的网络号和三级 IP 地址中的网络号 + 子网号对应到子网掩码中都用 1 来示意,而主机号对应到子网掩码中用 0 来示意。因而 A、B、C 类的子网掩码如下:

将 IP 地址与子网掩码做按位 AND(与)运算(只有两个都为 1,后果才为 1,否则为 0),得出的就是网络地址

???? 举个子网划分的例子:假如对 C 类地址进行子网划分,网络地址 192.168.1.0(二级 IP 地址),应用子网掩码 255.255.255.192 对其进行子网划分:

子网掩码 255.255.255.192 中共有 26 个 1,即代表网络号 + 子网号共 26 位,而 C 类地址的网络号(加上分类号)共 24 位,由此可知,须要从 8 位主机号中借用 2 位作为子网号。因为子网网络地址被划分成 2 位,那么子网地址就有 $2^2 = 4$ 个,别离是 00、01、10、11,具体划分如下图:

划分后的 4 个子网如下表格:

???? 另外阐明一点,子网掩码还有一种更为简单明了的写法,子网掩码的作用不就是用来拆散网络号和主机号的嘛,咱们间接在 IP 地址的前面注明网络号的位数(网络号 + 子网号)不就行了。

以网络地址 192.168.1.0(C 类二级 IP 地址),子网掩码 255.255.255.192 为例,咱们能够写成:192.168.1.0/26,示意网络号 + 子网号共 26 位。

4. 援救枯竭的 IPV4 地址

随着寰球上网用户量越来越大,现行的 IPV4 地址越来越不够用,援救枯竭的 IPV4 地址势在必行:

  • 计划一:无分类 IP 地址 CIDR
  • 计划二:NAT 地址转换
  • ……..

然而,这些计划仅仅是解决燃煤之急,绝对缓解了 IPV4 地址不够用的问题,然而 IPV4 地址的数量自身无限的事实无奈扭转,最基本的解决办法还是应用 128 比特的 IPV6 地址(本文最初会粗略解说)

① 无分类 IP 地址 CIDR

直到 20 世纪 90 年代中期,向各种组织调配 IP 地址都以 A、B、C 等分类为单位进行。对于架构大规模的组织,个别会调配一个 A 类地址;反之,对于小规模的组织,调配一个 C 类地址。???? 然而,A 类地址的派发在全世界最多也无奈超过 128 个,加上 C 类地址最多容许 254 台计算机相连,导致泛滥组织开始申请 B 类地址。其后果就是 B 类地址也开始重大不足,无奈满足需要。

于是,人们开始放弃 IP 地址的分类,采纳任意长度宰割 IP 地址的网络号和主机号,这种形式叫作无分类 IP 地址 CIDR,意为 “无类型域间选路”。

CIDR 的表现形式为 a.b.c.d/x,其中 /x 示意前 x 位属于网络号(网络前缀),网络号的长度能够依据须要变动。例如 128.14.35.7/20 示意该 IP 地址的前 20 位为网络号,残余 12 位是主机号。

CIDR 把网络号(这里用网络前缀可能更好了解,大家看上面这个例子就明确了)都雷同的间断 IP 地址组成一个 CIDR 地址块。这样,咱们就能够把原来的多个 IP 地址合并成同一个网络,更无效的利用 IPV4 地址。举个例子,利用 CIDR 技术将 203.183.224.1203.183.225.254 的地址合并为同一个网络(它们原本是 2 个 C 类地址):

上例中,合并该区间的地址后,主机数为 $2^9 – 2 = 510$ 个,也就是说从 203.183.224.1203.183.225.254 的这个网络内容许接入 510 台主机:

② NAT 地址转换

上文咱们说过,IP 地址并不是依据主机台数来配置的,而是依据网卡(网络适配器)来的。像服务器、路由器等设施都是有 2 个以上的网卡,也就是它们会有 2 个以上的 IP 地址。32 位的 IPV4 地址最多给大概 43 亿台接入互联网的设施配置其举世无双的 IP 地址。

当初家家户户连入互联网远不止一台电脑吧,再加上若干部手机、若干部平板……,如果这些设施都被调配了寰球举世无双的 IP 地址,43 亿的 IP 地址容量显然是不够的,只管咱们采纳了无分类 IP 地址(CIDR)的办法来减缓 IPV4 地址的耗费速度,然而互联网的用户增速是十分惊人的,所以 IPv4 地址仍然有被耗尽的危险。

于是就诞生了一种能够更换 IP 地址的技术: NAT,使得可连贯的计算机数可能远远超过 43 亿台。

NAT(Network Address Translator 网络地址转换):用于在本地网络中应用公有地址,在连贯互联网时使转而应用全局 IP 地址的技术。尽管说 NAT 实际上是为正在面临地址枯竭的 IPV4 而开发的技术,不过在 IPV6 中,为了进步网络安全也在应用 NAT。

NAT 的工作机制如下图所示:

以 10.0.0.10 主机与 163.221.120.9 主机的通信为例。利用 NAT,途中的 NAT 路由器将发送源 IP 地址 10.0.0.10 转化为全局惟一的 IP 地址 202.244.174.37 后,再发送数据。反过来,当数据包从地址 163.221.120.9 发送过去时,指标 IP 地址 202.244.174.37 先被转换成公有 IP 地址 10.0.0.10 后,再被转发。

很显然,实现网络地址转换的要害就在于 NAT 路由器。在 NAT 路由器的外部,有一张主动生成的用来转换地址的表,当 10.0.0.10 主机向 163.221.120.9 主机发送第一个数据包的时候生成这张表,并依照表中的映射关系进行解决。

???? 当初很多互联网服务都依然基于 IPV4,如果这些服务不能放到 IPV6 中,那么 IPV6 网络环境的劣势也就无从谈起了。为了解决这个问题,就产生了 NAT-PT 标准,NAT-PT 是将 IPV6 的首部转换成 IPV4 首部的一种技术,这样,那些只有 IPV6 地址的主机也可能与 IPV4 地址的主机进行通信了。

6. 路由管制

???? 把路由管制放到最初面讲的起因就是,大家对 IP 地址有了一个健全的意识之后,再来学习路由管制,会比拟容易上手。

① 路由管制初探

路由管制 Routing 是指将 IP 数据报发送给最终目标地址的性能。即便网络非常复杂,也能够通过路由管制确定达到最终目的地的通路。一旦这个路由管制的运行出现异常,分组数据极有可能迷失方向,无奈达到指标地址。

为了将数据包发送给指标主机,所有主机和路由器都保护着一张路由管制表(Routing Table),该表记录着如下两个字段:

  • IP 地址
  • 如果想要达到这个 IP 地址,在以后路由器,数据包的下一步应该是发送到哪个路由器

在发送 IP 数据报时,首先要确定 IP 数据报首部中的指标地址,再从路由管制表中找到与该地址具备雷同网络地址的记录,依据该记录将 IP 数据报转发给相应的下一个路由器。如果路由管制表中存在多条雷同网络地址的记录,就抉择雷同位数最多的网络地址,也就是最长匹配

用于进行路由管制的是IP 地址中的网络地址这一部分。???? 举个例子:

  • 主机 A 要发送一个 IP 数据报,其源地址是 10.1.1.30 ,指标地址是 10.1.2.10,因为没有在主机 A 的路由表找到与指标地址 10.1.2.10 的网络地址,于是把包被转发到默认路由(路由器 1
  • 路由器 1 收到 IP 数据报后,也在路由器 1 的路由表匹配与指标地址雷同的网络地址记录,发现匹配到了,于是就把 IP 数据报转发到了 10.1.0.2 这台路由器 2
  • 路由器 2 收到后,同样比照本身的路由表,发现匹配到了,于是把 IP 数据报从路由器 210.1.2.1 这个接口进来,最终通过交换机把 IP 数据报转发到了指标主机

下面咱们提到了默认路由,什么是默认路由呢?

  • 默认路由 Default Route 就是指路由表中任何一个地址都能与之匹配的记录。如果一张路由表中蕴含所有的网络和子网信息,将会造成无端的节约。这时,默认路由就是一个不错的抉择。默认路由个别标记为 0.0.0.0/0default

此外,咱们还须要留神一个地址:环回地址。大家对于 localhost127.0.0.1 肯定不生疏吧,没错,这就是环回地址,环回地址是同一台计算机上的程序之间在进行网络通信时所应用的一个默认地址。当计算机应用这个非凡的 IP 地址或主机名时,数据包就不会流向网络

② 路由协定

路由管制表的造成有两种形式:

  • 一种是管理员手动设置,也叫动态路由管制
  • 另一种是路由器与其余路由器相互交换信息时主动刷新,也叫动静路由管制

为了让动静路由即时刷新路由管制表,在网络上互联的路由器之间必须设置好某种协定,保障失常读取路由管制信息。这种协定就称为路由协定

当然,随着 IP 网络的倒退,只应用一种协定对所有网络进行对立治理是不可能的。因而,人们依据路由管制的范畴将路由协定大抵分为两类:

  • 内部网关协定 EGP(蕴含 RIP、OSPF 等协定)
  • 外部网关协定 IGP(蕴含 BGP 等协定)

没有 EGP 就不可能有世界上各个不同组织机构之间的通信,没有 IGP 就不可能有机构外部的通信

路由协定其实又是一个重难点,不过在面试中鲜有人问津,大多呈现在考试卷上,本文的拉锯工夫的确有点太久了,此处就不再具体解释,后续可能会独自出一篇路由协定的文章(如果大家需要的话)。

7. 总结

???? 这篇文章破费的工夫长达十多个小时,很大一部分工夫都花在理顺整篇文章的逻辑上,让他人懂和让本人懂真的是天壤之别。OK,对于 IP 协定自身的重要内容至此就根本说完了,不过和 IP 协定相干的技术(比方 ICMP 网际报文控制协议,IGMP 网际组治理协定,DNS 域名解析协定,ARP 地址解析协定,DHCP 动静主机配置协定)还有很多,诸位任重而道远,咱们下期再见 ????


???? 下方扫码关注公众号「飞天小牛肉」(专一于分享计算机根底、Java 根底和面试指南的相干原创技术好文,帮忙读者疾速把握高频重点常识,对症下药),与小牛肉一起成长、共同进步

???? 并向大家强烈推荐我保护的 Gitee 仓库 「CS-Wiki」(Gitee 举荐我的项目,目前已 0.9k star。面向全栈,致力于构建欠缺的常识体系:数据结构、计算机网络、操作系统、算法、数据库、设计模式、Java 技术栈、机器学习、深度学习、强化学习等),相比公众号,该仓库领有更健全的常识体系,欢送前来 star,仓库地址 CS-Wiki(Gitee 举荐我的项目,0.9k star)

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理