计算机网络-网络层

计算机网络中网络层的作用

Posted by liz on July 26, 2022

网络层

为什么需要网络层

网络层是为传输层提供服务的,为了向传输层提供服务,网络层必须使用数据链路层提供的服务。

而数据链路层的主要作用是负责解决两个直接相邻节点之间的通信,但并不负责解决数据经过通信子网中多个转接节点时的通信问题。

因此,网络层需要实现两个端系统之间的数据透明传送,让源端的数据能够以最佳路径透明地通过通信子网中的多个转接节点到达目的端,使得传输层不必关心网络的拓扑构型以及所使用的通信介质和交换技术。

网络层的设计思路

网络层向上只提供简单灵活的,无连接的、尽最大努力交付的数据报服务。

由于传输⽹络不提供端到端的可靠传输服务,⽹络中的路由器可以做得⽐较简单,⽽且价格低廉:

  • 如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由⽹络的主机中的运输层负责可靠交付(包括差错处理、流量控制等);

  • 这种设计思路的好处是:⽹络的造价⼤⼤降低,运⾏⽅式灵活,适应多种应⽤。

数据报服务无连接

tcp

⽹际协议 IP

⽹际协议 IP 是 TCP/IP 体系中两个最主要的协议之⼀。

与 IP 协议配套使⽤的还有三个协议:

1、地址解析协议 ARP;

2、⽹际控制报⽂协议 ICMP;

3、⽹际组管理协议 IGMP。

tcp

虚拟互联网络

如果要把在全世界数以百万计的网络都互相连接起来,并且能够相互通信,是一件很复杂的事情。

网络技术是不断发展的。网络的制造厂家也要经常要推出新的网络,在竞争中求生存,因此在市场上总是有很多不同性能、不同网络协议的网络。

将⽹络互相连接起来要使⽤⼀些中间设备。中间设备⼜称为中间系统或中继 (relay)系统。

有下面五种中间设备:

1、物理层中继系统:转发器 (repeater,中继器);

2、数据链路层中继系统:⽹桥 或 桥接器 (bridge);

3、⽹络层中继系统:路由器 (router);

4、⽹桥和路由器的混合物:桥路器 (brouter);

5、⽹络层以上的中继系统:⽹关 (gateway)。

互联网与虚拟互联网

实际的互联网是通过一些路由器连接的,由于参与互联的计算机网络都使用相同的网际 IP 协议,因此可以把互联以后的网络看成是一个虚拟互联网络。

tcp

所谓虚拟互连⽹络也就是逻辑互连⽹络:

  • IP 协议可以使这些性能各异的⽹络从⽤户看起来好像是⼀个统⼀的⽹络;

  • 使⽤ IP 协议的虚拟互连⽹络可简称为 IP ⽹。

使⽤虚拟互连⽹络的好处是:

  • 当互联⽹上的主机进⾏通信时,就好像在⼀个⽹络上通 信⼀样,⽽看不⻅互连的各具体的⽹络异构细节。

来看下分组在互联网中的传递

tcp

整个互联网就是一个单一的,抽象的网络。IP 地址就是给互联网中上的每一台主机(或路由器)的每一个接口分配的一个在全世界范围内唯一的32位的标识符。

IP 地址由互联⽹名字和数字分配机构ICANN (Internet Corporation for Assigned Names and Numbers)进⾏分配。

IP 地址的编址方式经历了三个历史阶段

1、分类的 IP 地址。这是最基本的编址方式。

2、子网的划分。这是对最基本编址方式的改进。

3、构成超网。这是比较新的无分类编址法。

分类 IP 地址

分类 IP 地址:就是将 IP 地址划分成若干个分类,每一类地址都有两个固定长度的字段组成。

第一个字段是网络号:标志着主机(或路由器)所连接的网络,一个网络号在整个互联网中是唯一的。

第二个字段是主机号:主机号用于识别该网络中的主机。一台主机号在它前面的网络号做指定的网络的范围内必须是唯一的。

所以网络号的唯一,加上主机号在网络号中的唯一,可以得出 IP 地址在整个互联网内是唯一的。

IP 地址:={<网络号>,<主机号>}

分类 IP 地址在设计的过程中,前面一部分是网络号,后面一部分是主机号。

tcp

常用的三种类别的 IP 地址

tcp

对于主机和路由器来来说,IP 地址都是 32 位的二进制代码,但是这样可读性不好,所以引入了点分十进制记法

点分十进制记法:为了提高可读性,尝尝把 32 位的 IP 地址中每 8 位插入一个空格(机器中是没有这样的空格)。同时用等效的十进制数字表示,同时加入一个点。

tcp

知道了如何分类,我们就能算出 IP 地址的指派范围

tcp

IP 地址是⼀种分等级的地址结构。分两个等级的好处是:

1、IP 地址管理机构在分配 IP 地址时只分配⽹络号,⽽剩下的主机号则由得到该⽹络号的单位⾃⾏分配。这样就⽅便了 IP 地址的管理;

2、路由器仅根据⽬的主机所连接的⽹络号来转发分组(⽽不考虑⽬的主机号),这样就可以使路由表中的项⽬数⼤幅度减少,从⽽减⼩了路由表所占的存储空间。

划分子网

为什么需要划分子网

1、节省 IP 地址资源,提高 IP 地址的利用率;

划分子网之后,其实是减少了能连接在网络中的主机数,但是却说提高了 IP 地址的利用率,可能有点歧义,这里举个栗子,来分析下

加入某个学校有四个机房,每个机房30台机器,如果不划分子网,那就很简单,申请 4 个 C 类地址,一个个机房配置下就行了,这样做就造成一部分 IP 的浪费。

我们知道 C 类地址的最大主机数是254,那么这样使用下来,每个机房只用到了30个IP,一共造成了 4*(256-30) 个 IP 的浪费。如果大家都这样操作的话,那么 Internet 上的 IP 地址早就枯竭了。

划分子网之后

只需要申请一个 C 类地址,然后划分成 4 个子网,这样可以满足需求了

2、给每一个物理网络分配一个网络号会使得路由表变得太大因为网络性能变差

每一个路由器都应当能够从路由表中查出应怎样到达其它网络的下一跳路由器,因此互联网中的网络数越多,路由器路由表中的项目数也就越多,这样会使整个路由器和互联网的性能下降。

3、减少广播所带来的负面影响

减少广播所带来的负面影响,提高性能的整体性能。因为广播数据包只能在同一网段中传输,通过划分子网,网络规模小了,网络中用户数少了,当然所占用的资源也就少了。

划分子网的基本思路

划分⼦⽹纯属⼀个单位内部的事情。单位对外仍然表现为没有划分⼦⽹的⽹络。

具体⽅法:从主机号借⽤若⼲个位作为⼦⽹号 subnet-id,主机号 host-id 相应减少了若⼲个位。

tcp

子网划分的方法

有固定⻓度⼦⽹和变⻓⼦⽹两种⼦⽹划分⽅法:

1、在采⽤固定⻓度⼦⽹时,所划分的所有⼦⽹的⼦⽹掩码都是相同的;

2、划分⼦⽹增加了灵活性,但却减少了能够连接在⽹络上的主机总数。

举个栗子,来说明下

一个未划分子网的 B 类地址

tcp

划分子网后

tcp

子网掩码

子网掩码是一个32位地址,是与IP地址结合使用的一种技术。它的主要作用有两个,一是用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。二是用于将一个大的IP网络划分为若干小的子网络。

1、声明网络地址与主机地址

子网掩码是一个32位地址:

对于A类地址来说,默认的子网掩码是 255.0.0.0

对于B类地址来说默认的子网掩码是 255.255.0.0

对于C类地址来说默认的子网掩码是 255.255.255.0

将32位的子网掩码与IP地址进行二进制形式的按位逻辑“与”运算得到的便是网络地址;

将子网掩码二进制的非的结果和IP地址二进制进行逻辑“与”(AND)运算,得到的就是主机地址。

子网掩码的规则:

用户连续的1对应网络号和子网号;

用连续的0对应主机号,得到32位的二进制;

2、划分子网

上面我们讨论了划分子网的意义,子网掩码就可以帮助我们对子网进行划分。

其作用是:减少网络上的通信量;节省IP地址;便于管理;解决物理网络本身的某些问题。使用子网掩码划分子网后,子网内可以通信,跨子网不能通信,子网间通信应该使用路由器,并正确配置静态路由信息。

子网划分结构的规则。就是用连续的1在IP地址中增加表示网络地址,同时减少表示主机地址的位数。

总结下划分子网的优点:

1、减少IP地址浪费;

2、⽹络组织更加灵活;

3、便于管理和维护。

无类型域间选路(CIDR)

分类 IP 地址的划分还是有点不科学,比如 c 类地址,同一个网络下面只有 254 个主机,显然是有点少了,B 类地址中,同一个网络中可以放65534台主机,这显然有点多了,一般企业达不到这样的规模。

可以不可以按需分配IP地址呢,需要多少个就分配多少个。

所以有了一个折中的方式叫作无类型域间选路,简称 CIDR。

无类型域间选路(CIDR)打破了原来设计中的几类地址的做法,将 32 位的 IP 地址一分为二,前面是网络号,后面是主机号

tcp

栗如:10.100.122.2/24

这个 IP 地址中有一个斜杠,斜杠后面有个数字 24。这种地址表示形式,就是 CIDR。后面 24 的意思是,32 位中,前 24 位是网络号,后 8 位是主机号。

CIDR 的优点:

1、使用变长的”网络前缀”(network-prefix)来替代分类中的网络号和主机号,IP 地址从三级编址(使用子网掩码)又回到了两级编制。

2、可以将网络前缀相同的连续IP地址组成”CIDR地址块”,一个”CIDR地址块”可以表示很多地址,这种地址的聚合成为路由聚合,也称为构成超网。在互联网中,只要有可能,就显示为一个聚合的网络,路由聚合减少了路由器之间的路由选择信息交换,提高了整个互联网的性能;

3、可以更加有效的分配IPv4地址空间,通过分配适大小的CIDR地址块,按需分配IP地址呢,需要多少个就分配多少个。

IP 地址与硬件地址

为什么不使用硬件地址直接通信?

1、硬件地址⽤于直接相连的⽹络(同⼀个⼆层⼴播⽹络),⽤于找到局域⽹中的主机;

2、互联⽹中很多局域⽹是异构的,硬件地址不同,需要地址转换;

3、IP地址是软件地址或逻辑地址,⽤于定位主机所处的⽹络(⽹络号不同的⽹络),连接到互联⽹上的主机都有⼀个唯⼀的IP地址。

网络数据报如何通过硬件地址进行流动

tcp

信息传递的时候,需要知道两个地址:终点地址,下一跳地址。IP地址本质上是终点地址,它在跳过路由器的时候不会改变,而 MAC 地址则是下一跳的地址,每跳过一次路由器都会改变。这就是为什么还要用 MA C地址的原因之一,它起到了记录下一跳的信息的作用。

IP 地址和硬件地址的关系

1、查找路由使⽤IP地址;

2、实现路由使⽤硬件地址。

ARP 协议

ARP 协议的作用:根据网络层使用的 IP 地址,解析数据链路层使用的网络地址。

ARP的作⽤范围:直连的⽹络(同⼀个⼆层⼴播⽹络)。

tcp

ARP请求以⼴播帧形式发送,所有主机接收该帧,ARP响应以单播帧形式发送,只有⽬标主机接收。

ARP 协议运行的过程

当主机 A 欲向本局域⽹上的某个主机 B 发送 IP 数据报时,先在其 ARP ⾼速缓存中查看有⽆主机 B 的 IP 地址:

  • 如有,就可查出其对应的硬件地址,再将此硬件地址写⼊ MAC 帧,然后通过局域⽹将该 MAC 帧发往此硬件地址;

  • 如没有,ARP 进程在本局域⽹上⼴播发送⼀个 ARP 请求分组。收到 ARP 响应分组后,将得到的 IP 地址到硬件地址的映射写⼊ ARP ⾼速缓存。

ARP 协议不能穿透路由器

1、ARP ⽤于解决同⼀个局域⽹上的主机或路由器的 IP 地址和硬件地址的映射问题;

2、如果所要找的主机和源主机不在同⼀个局域⽹上,那么就要通过 ARP 找到⼀个位于本局域⽹上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下⼀个⽹络;

3、从 IP 地址到硬件地址的解析是⾃动进⾏的,主机的⽤户对这种地址解析过程是不知道的。

使用 ARP 协议的四种典型情况

tcp

从 IP 地址到硬件地址的解析是自动完成的,主机用户对这种地址解析过程是不知道的。

IP 数据报格式

IP 数据报由首部和数据两部分组成

  • 首部的前一部分是固定长度,共 20 字节;

  • 在首部的固定部分的后面是一些可选字段,长度是可变的。

tcp

  • 版本:占 4 位,指 IP 协议的版本。⽬前的 IP 协议版本号为 4 (即 IPv4)。

  • ⾸部⻓度:占 4 位,可表示的最⼤数值是 15 个单位(⼀个单位为 4 字节)。IP 的⾸部⻓度的最⼤值是 60 字节。⼀般IP⾸部仅有固定部分20字节。故通常该字段对应的值为:0101。

  • 标识:是⼀个计数器,⽤来产⽣IP数据报标识。所有IP分⽚的标识与原始IP标识⼀致,便于接收⽅还原原始IP数据报;

  • 标志:占3位,最⾼位⽆意义;

中间位DF(Don’t Fragment):DF=1,不允许分⽚;DF=0,允许分⽚。

最低位MF(More Fragment):MF=1,后⾯还有分⽚;MF=0,这是最后⼀⽚。

  • ⽚偏移:占13位,某⽚在原始IP中的相对位置,以8字节为单位。

  • ⽣存时间:占8 位,记为 TTL (Time To Live),指示数据报在⽹络中可通过的路由器数的最⼤值。路由器收到 IP 数据报后,将 TTL 减1,减1之后 TTL 值若变为0,路由器丢弃该 IP 数据报。并向源端报超时错误。

  • 协议:占8 位,指出此数据报携带的数据使⽤何种协议,以便⽬的主机的 IP 层将数据部分,上交给那个处理过程。

IP分片

为什么要进行IP分片?

如果IP数据报加上数据帧头部后大于 MTU,数据报文就会分成若干片进行传输。那么什么是 MTU 呢?每一种物理网络都会规定链路层数据帧的最大长度,称为链路层 MTU。

举个分片的栗子

原始IP数据报总⻓度为6578字节,则原始IP数据报中携带的数据为6558字节(固定⾸部20字节)。

假设该IP分组需通过以太⽹帧传输(MTU=1500字节),则需要分为5个IP分⽚。

前4个IP分⽚每⽚携带1480字节(加上IP分⽚⾸部20字节,刚好1500字节),最后1个IP分⽚携带638字节。

tcp

IP 层转发分组的过程

关于分组转发,最主要的操作就是确定下一跳的地址。

1、根据目的网络来确定下一跳路由器;

2、中间可能有多次的间接交付,也就是寻找下一跳路由器的过程;

3、找到了最后有个路由器之后,向目主机进行直接姐交付。

tcp

路由表没有给分组指明到某个⽹络的完整路径。路由表指出:

  • 到某个⽹络应当先到某个路由器(即下⼀跳路由器);

  • 到达下⼀跳路由器后,继续查找其路由表,再下⼀步应当到哪⼀个路由器;

  • 这样⼀步⼀步地查找下去,直到最后到达⽬的⽹络。

需要注意的是

IP 数据报的⾸部中没有地⽅可以⽤来指明“下⼀跳路由器的 IP 地址”。

⽹络接⼝软件使⽤ ARP 根据下⼀跳路由器的 IP 地址获取硬件地址,并将此硬件地址作为 MAC 帧的⽬的 MAC 地址,然后将该 MAC 帧交付给下⼀跳路由器。

⽹际控制报⽂协议 ICMP

ICMP(Internet Control Message Protocol)Internet 控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。

控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

tcp

ICMP 差错报告报⽂共有 4 种

1、终点不可达;

2、时间超过;

3、参数问题;

4、改变路由(重定向)(Redirect) 。

ICMP数据字段需要加上原始出错IP中的数据字段前8个字节,来告诉源IP数据报发送端,是哪⼀个进程发送的IP数据报出错。

不应发送 ICMP 差错报告报⽂的⼏种情况

1、对 ICMP 差错报告报⽂不再发送 ICMP 差错报告报⽂;

2、对第⼀个分⽚的数据报分⽚的所有后续数据报⽚都不发送 ICMP 差错报告报⽂;

3、对具有多播地址的数据报都不发送 ICMP 差错报告报⽂;

4、对具有特殊地址(如127.0.0.0 或 0.0.0.0)的数据报不发送 ICMP 差错报告报⽂。

ICMP 的应用举例

PING (Packet InterNet Groper)

1、PING ⽤来测试两个主机之间的连通性;

2、PING 使⽤了 ICMP 回送请求与回送回答报⽂;

3、PING 是应⽤层直接使⽤⽹络层 ICMP 的例⼦,它没有通过运输层的 TCP 或 UDP。

ping 命令会发送一份 ICMP 回显请求报文给目标主机,并等待目标主机返回ICMP回显应答。因为ICMP协议会要求目标主机在收到消息之后,必须返回ICMP应答消息给源主机,如果源主机在一定时间内收到了目标主机的应答,则表明两台主机之间网络是可达的。

由于往返的 ICMP 报文上都有时间戳,因此可以很容易得出往返时间,最后显示出统计的结果,发送到哪个机器,发送的收到的和丢失的分组数,以及往返时间的最小值,最大值和平均值。

traceroute

traceroute 是诊断网络问题时常用的工具。它可以定位从源主机到目标主机之间经过了哪些路由器,以及到达各个路由器的耗时。

原理:利⽤ IP 数据报中的 TTL 字段和 ICMP 时间超过差错报告报⽂实现对从源点到终点的路径的跟踪。

tcp

Traceroute收到目的主机的IP后,首先给目的主机发送一个TTL=1的UDP数据包,而经过的第一个路由器收到这个数据包以后,就自动把TTL减1,而TTL变为0以后,路由器就把这个包给抛弃了,并同时产生一个主机不可达的ICMP数据报给主机。

主机收到这个数据报以后再发一个TTL=2的UDP数据报给目的主机,然后刺激第二个路由器给主机发ICMP数据报。如此往复直到到达目的主机。这样,traceroute就拿到了所有的路由器ip。从而避开了ip头只能记录有限路由IP的问题。主叫方首先发出TTL=1的数据包,第一个路由器将TTL减1得0后就不再继续转发此数据包,而是返回一个ICMP超时报文,主叫方从超时报文中即可提取出数据包所经过的第一个网关地址。

然后又发出一个TTL=2的ICMP数据包,可获得第二个网关地址,依次递增TTL便获取了沿途所有网关地址。

需要注意的是,并不是所有网关都会如实返回ICMP超时报文。出于安全性考虑,大多数防火墙以及启用了防火墙功能的路由器缺省配置为不返回各种ICMP报文,其余路由器或交换机也可被管理员主动修改配置变为不返回ICMP报文。

互联网组管理协议 IGMP

IGMP(互联网组管理协议)是一种互联网协议,IGMP协议是让连接在本地局域⽹上的多播路由器知道本局域⽹上是否有主机参加或退出了某个多播组,仅在本地⽹络范围内有效。

tcp

若一个主机想要接收发送到一个特定组的组播数据包,它需要监听发往那个特定组的所有数据包。为解决Internet上组播数据包的路径选择,主机需通过通知其子网上的组播路由器来加入或离开一个组,组播中采用IGMP来完成这一任务。这样,组播路由器就可以知道网络上组播组的成员,并由此决定是否向它们的网络转发组播数据包。当一个组播路由器收到一个组播分组时,它检查数据包的组播目的地址,仅当接口上有那个组的成员时才向其转发。

IGMP提供了在转发组播数据包到目的地的最后阶段所需的信息,实现如下双向的功能:

  • 主机通过IGMP通知路由器希望接收或离开某个特定组播组的信息。

  • 路由器通过IGMP周期性地查询局域网内的组播组成员是否处于活动状态,实现所连网段组成员关系的收集与维护。

IPv6

网际协议第6版(英语:Internet Protocol version 6,缩写:IPv6)是网际协议的最新版本,用作互联网的协议。用它来取代 IPv4 主要是为了解决 IPv4 地址枯竭问题,同时它也在其他方面对于 IPv4 有许多改进。

IPv6 具有比 IPv4 大得多的编码地址空间。這是因为 IPv6 采用 128 位元的地址,而 IPv4 使用的是 32 位元。因此新增的地址空间支持2128(約3.4×1038)个位址,具体数量为340,282,366,920,938,463,463,374,607,431,768,211,456 个,也可以说成1632个,因为每4位地址(128位分为32段,每段4位)可以取 24=16 个不同的值。

以地球人口70亿人计算,每人平均可分得为 4.86×1028(486117667×1020) 个IPv6位址。

IPv6 地址格式

IPv6 地址的大小和格式使得寻址功能大为增强。

IPv6 地址大小为 128 位。首选 IPv6 地址表示法为 x:x:x:x:x:x:x:x,其中每个 x 是地址的 8 个 16 位部分的十六进制值。IPv6 地址范围从 0000:0000:0000:0000:0000:0000:0000:0000ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff

除此首选格式之外,IPv6 地址还可以用其他两种短格式指定:

省略前导零

通过省略前导零指定 IPv6 地址。例如,IPv6 地址 1050:0000:0000:0000:0005:0600:300c:326b 可写作 1050:0:0:0:5:600:300c:326b

双冒号

通过使用双冒号(::)替换一系列零来指定 IPv6 地址。例如,IPv6 地址 ff06:0:0:0:0:0:0:c3 可写作 ff06::c3。一个 IP 地址中只可使用一次双冒号。

IPv6地址的分类

IPv6地址分为单播地址、任播地址(Anycast Address)、组播地址三种类型。和IPv4相比,取消了广播地址类型,以更丰富的组播地址代替,同时增加了任播地址类型。

IPv6单播地址

IPv6单播地址标识了一个接口,由于每个接口属于一个节点,因此每个节点的任何接口上的单播地址都可以标识这个节点。发往单播地址的报文,由此地址标识的接口接收。

IPv6定义了多种单播地址,目前常用的单播地址有:未指定地址、环回地址、全球单播地址、链路本地地址、唯一本地地址ULA(Unique Local Address)。

IPv6组播地址

IPv6 的组播与 IPv4 相同,用来标识一组接口,一般这些接口属于不同的节点。一个节点可能属于0到多个组播组。发往组播地址的报文被组播地址标识的所有接口接收。例如组播地址 FF02::1 表示链路本地范围的所有节点,组播地址 FF02::2 表示链路本地范围的所有路由器。

IPv6任播地址

任播地址标识一组网络接口(通常属于不同的节点)。目标地址是任播地址的数据包将发送给其中路由意义上最近的一个网络接口。

任播地址设计用来在给多个主机或者节点提供相同服务时提供冗余功能和负载分担功能。目前,任播地址的使用通过共享单播地址方式来完成。将一个单播地址分配给多个节点或者主机,这样在网络中如果存在多条该地址路由,当发送者发送以任播地址为目的IP的数据报文时,发送者无法控制哪台设备能够收到,这取决于整个网络中路由协议计算的结果。这种方式可以适用于一些无状态的应用,例如 DNS 等。

总结

1、网络层是为传输层提供服务的,为了向传输层提供服务,网络层必须使用数据链路层提供的服务。而数据链路层的主要作用是负责解决两个直接相邻节点之间的通信,但并不负责解决数据经过通信子网中多个转接节点时的通信问题;

2、网络层向上只提供简单灵活的,无连接的、尽最大努力交付的数据报服务;

3、⽹际协议 IP 是 TCP/IP 体系中两个最主要的协议之⼀;

4、IP 地址的编址方式经历了三个历史阶段;

  • 1、分类的 IP 地址。这是最基本的编址方式。

  • 2、子网的划分。这是对最基本编址方式的改进。

  • 3、构成超网。这是比较新的无分类编址法。

5、为什么需要划分子网;

  • 1、节省 IP 地址资源,提高 IP 地址的利用率;

  • 2、给每一个物理网络分配一个网络号会使得路由表变得太大因为网络性能变差;

  • 3、减少广播所带来的负面影响。

6、ARP 协议的作用:根据网络层使用的 IP 地址,解析数据链路层使用的网络地址;

7、为什么要进行IP分片?如果IP数据报加上数据帧头部后大于 MTU,数据报文就会分成若干片进行传输。那么什么是 MTU 呢?每一种物理网络都会规定链路层数据帧的最大长度,称为链路层 MTU;

8、ICMP 它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用;

9、IGMP(互联网组管理协议)是一种互联网协议,IGMP协议是让连接在本地局域⽹上的多播路由器知道本局域⽹上是否有主机参加或退出了某个多播组,仅在本地⽹络范围内有效;

10、IPv6 用来取代 IPv4 ,主要是为了解决 IPv4 地址枯竭问题,同时它也在其他方面对于 IPv4 有许多改进,IPv6 最经典的广告词,可以为地球上每一粒沙子分配一个IP地址,可以看出 IPv6 的数量之多;

11、Pv6 地址大小为 128 位。首选 IPv6 地址表示法为 x:x:x:x:x:x:x:x,其中每个 x 是地址的 8 个 16 位部分的十六进制值。IPv6 地址范围从 0000:0000:0000:0000:0000:0000:0000:0000ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff

参考

【极客时间-趣谈网络协议】https://time.geekbang.org/column/intro/100007101
【计算机网络第八版】https://www.bilibili.com/video/BV1WP4y1j7JU?p=1
【计算机网络学习笔记】https://github.com/boilingfrog/Go-POINT/tree/master/tcp
【IPv6 地址格式】https://www.ibm.com/docs/zh/i/7.2?topic=concepts-ipv6-address-formats