[计网03] 网络层 笔记 总结 万字详解

发布时间:2024年01月10日

注意: 部分图片来自王道考研课:?王道计算机考研 计算机网络

网络层负责在不同的网络节点之间进行数据包的路由和转发。它使用 IP 协议来为数据包分配和处理逻辑地址,实现跨网络的数据传输。网络层的主要任务是选择最佳路径、实现数据包的分组和重组,以及处理路由选择和拥塞控制。

目录

概述和功能

短除法

常用二进制数

路由选择相关

拓扑

路由算法

最大传输单元MTU

分片

MAC地址

IP与MAC地址的关系和使用

IP数据报格式

IP地址的分类

IPv4

那么这样看D类地址的主机号都没有了怎么分配?

特殊IP地址

私有IP地址

LAN与WAN

内网穿透(NAT穿透)

VPN工作原理

网络地址转换NAT

子网划分

为什么要进行子网划分?

如何进行子网划分?

子网掩码

子网掩码的作用:

如何确定子网掩码:

CIDR表示法:

示例:

ip地址变子网掩码?CIDR

?CIDR

构成超网?

最长前缀匹配?

ARP协议

ARP的工作流程:

ARP缓存

ARP欺骗

DHCP协议

DHCP工作流程:

ICMP协议

RIP 与 距离向量算法

距离向量算法

工作流程

特点

缺点

IPv6

协议格式

IPV4对比IPV6

IPV4和IPV6相互转换

双栈协议

隧道技术


概述和功能

ipconfig?;? cmd 命令行查看ip地址信息

主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供
通信服务。

网络层传输单位是数据报。

短除法

本来是计组的内容 现在在这里再次提到

确定原始数值的进制和目标进制:
首先,确定原始数值所使用的进制(如二进制、十进制、十六进制等)以及要转换到的目标进制。

例子

十进制17转换为八进制:

1 0 7 (十进制数) /8  --13
     3 (余数)

结果: 133

十进制数84转换为二进制:

8 4 (十进制数) /2
     0 (余数)

  4 2  /2
     0 (余数)

  2 1  /2
     1 (余数)

  1 0  /2
     1 (余数)
     
  5  /2
     1 (余数)
     
  2  /2 
	  0 (余数)
	  
     1(商数为零,结束)
结果: 1010100

常用二进制数

用于做题和判断的常见二进制

  • 126的二进制表示为:01111110
  • 255的二进制表示为:11111111
  • 191的二进制表示为:10111111
  • 223的二进制表示为:11011111
  • 239的二进制表示为:11101111
128的二进制表示为:10000000  
192的二进制表示为:11000000  
224的二进制表示为:11100000  
240的二进制表示为:11110000  
248的二进制表示为:11111000  
252的二进制表示为:11111100  
254的二进制表示为:11111110  
255的二进制表示为:11111111

?

路由选择相关

拓扑

先解释一个概念拓扑

在计算机网络和图论中,拓扑(Topology)是指网络中节点(节点可以是计算机、设备或其他网络组件)之间连接关系的结构或布局。它描述了网络中各个节点之间的物理或逻辑关系,以及它们之间的通信方式和路径。

在计算机网络中,拓扑可以分为物理拓扑和逻辑拓扑两种类型。

  1. 物理拓扑:物理拓扑描述了网络中节点之间的物理连接方式和布局。它涉及到节点的位置、布线、设备之间的连接类型(如以太网、无线连接等)以及网络设备的部署方式(如集中式或分布式)等。

  2. 逻辑拓扑:逻辑拓扑描述了网络中节点之间的逻辑连接方式和通信路径。它关注的是节点之间的通信关系和数据流动的路径,不考虑物理连接的具体细节。常见的逻辑拓扑包括总线型、星型、环型、树型、网状等。

不同的拓扑结构具有不同的特点和适用场景,选择合适的拓扑结构可以影响网络的性能、可靠性和扩展性。常见的网络拓扑结构包括总线拓扑、星型拓扑、环型拓扑、树型拓扑、网状拓扑等。

总之,拓扑描述了网络中节点之间的连接关系和通信方式,是设计和管理计算机网络的重要概念。


?

路由算法

静态路由算法(非自适应路由算法)管理员手工配置路由信息。
简便、可靠, 在负荷稳定、拓扑变化不大的网络中运行效果很好,广泛用于高度安全性的军事网络和较小的商业网络。

路由更新慢,不适用大型网络。

动态路由算法(自适应路由算法)
路由器间彼此交换信息,按照路由算法优化出路由表项。

路由更新快,适用大型网络,及时响应链路费用或网络拓扑变,算法复杂,增加网络负担。


?

最大传输单元MTU

最大传输单元(Maximum Transmission Unit,简称MTU)它表示在网络通信中每个数据包(packet)能够携带的最大数据量。

MTU的大小是由网络设备或网络协议规定的,通常以字节(Bytes)为单位。在网络通信中,数据通常被分割成多个数据包进行传输。MTU决定了每个数据包的最大大小,超过MTU的数据需要进行分割成更小的片段进行传输。

不同类型的网络或网络协议可能具有不同的MTU值。以太网通常采用1500字节的MTU,而在其他类型的网络中,如无线网络(Wi-Fi)、广域网(WAN)等,MTU可能会有所不同。

MTU的大小对网络通信的性能和效率有一定影响。较大的MTU可以减少数据包的数量和传输开销,提高传输效率,但同时也增加了传输过程中的丢包风险。较小的MTU可以减少数据包的传输延迟和丢包风险,但会增加传输开销和网络负载。

在实际网络配置和调优中,根据网络环境和需求,可以根据具体情况调整MTU的大小,以达到最佳的传输性能和可靠性。


?

分片

标识: 同一数据报的分片使用同一标识。

标志:只有2位有意义x_-中间位DF (Don't Fragment)
DF=1,禁止分片
DF=0,允许分片

最低位MF (More Fragment) :
MF=1,后面“还有分片
MF=0,代表最后一片/没分片
片偏移:指出较长分组分片后,
某片在原分组中的相对位置。以8B为单位。

除了最后一个分片,每个分片长度一定是8B的整数倍。

MAC地址

MAC地址(Media Access Control address)是一个预先配置在网络接口控制器(NIC)硬件中的唯一标识符,用于在数据链路层(OSI模型的第二层)识别网络设备。它通常是固定的,由设备制造商分配,嵌入到硬件中。

MAC地址通常表示为六组两个十六进制数,由冒号或破折号分隔,例如?00:1A:2B:3C:4D:5E

在局域网(LAN)通信中,MAC地址用于确保数据包在同一网络段中正确地从一个设备传输到另一个设备。例如,在以太网中,交换机使用MAC地址来转发数据帧到正确的目的地。

IP与MAC地址的关系和使用

  • IP地址用于使设备能够在全球范围的互联网或局域网中找到彼此。
  • MAC地址用于确保信息能够在同一局域网中的设备之间正确地物理传输。

当一个设备尝试与同一局域网中的另一个设备通信时,它会使用ARP(地址解析协议)来将IP地址映射到相应的MAC地址。如果目标设备位于外部网络,本地设备会将数据发送到网关(通常是路由器),然后由路由器根据IP地址进行进一步的路由。

在数据从一个设备传输到另一个设备的过程中,源IP地址和目的IP地址保持不变,而MAC地址会在每次数据包到达新的网络段时改变,因为每个网络设备(如交换机或路由器)都有自己的MAC地址,并且会根据数据包的目的IP地址更新数据包的MAC信息。

IP数据报格式

?

总长度单位是1B
片偏移单位是8B 指的是?x*8B
首部长度单位是4B

一种8片4叶首饰


?

IP地址的分类

以?IPv4来说IP地址有32bit位
也就是4B
前一个字节用来标识

举例

64.0.0.0
  • 第一个字段:64,表示8个二进制位 0 0 1 0 0 0 0 0。
  • 第二个字段:0,同样表示8个二进制位全为0。
  • 第三个字段:0,同样表示8个二进制位全为0。
  • 第四个字段:0,同样表示8个二进制位全为0。

?

?

IPv4

IPv4(Internet Protocol version 4)是目前广泛使用的IP地址版本。它由32位二进制数组成,通常以点分十进制表示。根据网络的规模和用途,IPv4地址分为以下几类:

  • A类地址:以0开头,范围从1.0.0.0到126.0.0.0。用于大型网络,支持约16,777,216个主机。
  • B类地址:以10开头,范围从128.0.0.0到191.255.0.0。用于中型网络,支持约65,536个主机。
  • C类地址:以110开头,范围从192.0.0.0到223.255.255.0。用于小型网络,支持约256个主机。
  • D类地址:以1110开头,范围从224.0.0.0到239.255.255.255。用于多播(Multicast)通信,不用于标识主机。
  • E类地址:以1111开头,范围从240.0.0.0到255.255.255.255。保留给将来使用,目前未被分配。

?

那么这样看D类地址的主机号都没有了怎么分配?

在D类地址中,主机号部分确实没有分配给具体的主机,而是用于标识多播组。
前四位固定为1110(二进制),表示该地址属于D类地址。剩下的28位用于标识多播组

多播组是一个目标地址,当数据包发送到该地址时,它将被路由到订阅该多播组的所有主机。

为什么全0和全1不能标识网络地址

  • 全0地址通常用作默认路由(default route)或未指定地址(unspecified address)。它表示一个未知或未指定的目标地址,用于指示网络设备发送数据包到默认网关或进行本地子网广播。

  • 全1地址用于广播(broadcast)。当数据包被发送到全1地址时,它将被广播到同一子网中的所有主机。这样做可以实现向一个子网中的所有设备发送消息或命令,而无需知道每个设备的具体地址。


特殊IP地址

  1. 保留IP地址:
    保留IP地址是指为特定目的而保留的IP地址范围,不分配给具体设备或网络使用。这些地址被保留用于特殊用途或协议,例如:

    • 0.0.0.0:表示未指定具体IP地址,常用于网络配置中的默认路由。
    • 127.0.0.1:表示本地回环地址(Loopback Address),用于在单台设备上进行本地测试和通信。
    • 169.254.0.0到169.254.255.255:表示APIPA(Automatic Private IP Addressing),在无法获取有效IP地址时,设备会自动分配一个APIPA地址,用于本地通信。

    保留IP地址还包括用于广播和多播通信的特殊地址范围,如广播地址和多播组地址。


私有IP地址

  1. 私有IP地址:
    私有IP地址是指在私有网络(Private Network)中使用的IP地址。这些地址不会被分配给公共互联网上的设备,而是在私有网络内部使用。私有IP地址的使用可以帮助在内部网络中实现地址重用和网络隔离,同时提高网络安全性。以下是三个常用的私有IP地址范围:

    • 10.0.0.0到10.255.255.255(10.0.0.0/8)
    • 172.16.0.0到172.31.255.255(172.16.0.0/12)
    • 192.168.0.0到192.168.255.255(192.168.0.0/16)

    使用私有IP地址可以在局域网或企业内部网络中创建和管理内部通信,但需要通过网络地址转换(Network Address Translation,NAT)技术来实现与公共互联网的通信。


LAN与WAN

  • LAN:LAN是一种局域网,它涵盖相对较小的地理范围,如家庭、办公室、校园等。LAN通常覆盖的范围在几百米到几千米之间。
  • WAN:WAN是一种广域网,它覆盖更大的地理范围,通常跨越城市、国家甚至跨越全球。WAN可以连接多个LAN,并通过公共或私有网络提供广域性的通信

内网穿透(NAT穿透)

内网穿透是指在一个使用私有IP地址的内网中的设备主动与外网中的设备建立连接的技术。因为内网设备通常无法从外网直接访问,所以内网穿透技术通过以下方法之一允许外部访问:

  • 端口映射/端口转发:在网络的边界设备(通常是路由器)上配置,使得来自外网的特定端口的请求被转发到内网的特定设备上的端口。
  • UPnP(Universal Plug and Play):允许设备在路由器支持UPnP的情况下自动设置端口映射。
  • NAT穿透技术:如STUN(Session Traversal Utilities for NAT)、TURN(Traversal Using Relays around NAT)和ICE(Interactive Connectivity Establishment)等协议,允许在NAT环境中进行点对点网络连接。
  • VPN(Virtual Private Network):建立一个虚拟的网络通道,使得内网设备仿佛直接连接到外部网络。
  • 反向代理:在外网中设置一个服务器作为代理,接收外部的连接请求并转发给内网的服务器。

内网穿透常用在需要远程访问内网设备(例如监控摄像头、个人服务器等)的场景中。


?

VPN工作原理

VPN(Virtual Private Network,虚拟私人网络)是一种常用于加密和保护互联网连接的技术,它能够在公共网络上创建一个安全的“隧道”。通过VPN,用户可以安全地发送和接收数据,即使是在不安全的网络环境中,如公共Wi-Fi。VPN的工作原理涉及到数据封装、加密和解封装过程。

一般工作原理:

  1. 用户身份验证

    • 用户连接到VPN服务器时,需要通过用户名和密码、数字证书或双因素认证等方式进行身份验证。
  2. 建立安全通道

    • 认证成功后,VPN客户端和VPN服务器之间会建立一个安全通信隧道。
    • 通常使用传输层安全协议(TLS)或其前身安全套接层(SSL)来建立安全连接。
  3. 数据封装

    • 数据在发送到VPN服务器之前会被封装起来。这个过程被称为封装,其中用户数据被放入VPN协议的数据包中。
    • 封装的数据包也会包含路由信息,确保数据能正确地到达VPN服务器。
  4. 数据加密

    • 封装的数据包会被加密,确保数据在传输过程中的安全性和私密性。
    • 加密过程保证了即便数据包被截获,未经授权的第三方也无法解读数据内容。
  5. 传输封装数据

    • 加密后的数据包通过互联网发送到VPN服务器。
  6. 数据解封装和解密

    • VPN服务器接收到数据包后,会解封装并解密,还原出原始数据。
    • 解密过程需要VPN服务器使用与客户端相匹配的密钥。
  7. 数据发送到最终目的地

    • 解密后的数据从VPN服务器发送到最终的目的地(如网站或网络服务)。
  8. 返回的数据

    • 数据从最终目的地返回给VPN服务器,再次被加密和封装,然后发送回用户的VPN客户端。
    • 用户的VPN客户端解密和解封装返回的数据,用户即可看到请求的响应。

?


?

网络地址转换NAT

网络地址转换NAT(Network Address Translation):在专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫NAT路由器,它至少有一个有效的外部全球IP地址。

?

?


?

?

子网划分

计算机网络中的子网划分(Subnetting)是将一个较大的网络划分为若干个较小的、独立的网络的过程。
这样做的主要目的是提高地址利用率,降低网络的拥塞程度,增强网络的安全性以及改善网络的管理。

为什么要进行子网划分?

  • 地址管理:更有效地管理IP地址资源。
  • 安全性:不同的子网可以实施不同的安全策略。
  • 性能:减少广播域的大小,可以提高网络性能。
  • 隔离流量:可以将不同部门或组织单位的网络流量隔离开来。

?


?

如何进行子网划分?

  1. 选择子网掩码
    子网掩码决定了IP地址中用于网络地址的位数和用于主机地址的位数。在IPv4中,子网掩码通常是32位的,其中网络部分的位为1,主机部分的位为0。
  2. 确定子网数量和大小
    需要根据实际需要确定子网的数量和每个子网能容纳的主机数量。这会直接影响到所选择的子网掩码。
  3. 计算子网地址
    通过将IP地址与子网掩码进行逻辑AND运算,可以得出子网的网络地址。
  4. 分配IP地址
    在每个子网中分配IP地址给设备时,需要注意网络地址和广播地址不能分配给任何设备。网络地址是子网中的第一个地址,而广播地址是子网中的最后一个地址。

例子:

假设有一个C类IP地址?192.168.1.0,其默认子网掩码为?255.255.255.0(或者?/24),我们希望将它划分成四个子网。

  • 默认子网掩码是?255.255.255.0,表示最后8位是用于主机的。
  • 划分成四个子网意味着需要2位用于子网(2^2 = 4),因此子网掩码将变成?255.255.255.192(或者?/26),因为?192?的二进制是?11000000

现在,子网划分如下:

  • 子网1:192.168.1.0/26?- 可用IP范围是?192.168.1.1?到?192.168.1.62
  • 子网2:192.168.1.64/26?- 可用IP范围是?192.168.1.65?到?192.168.1.126
  • 子网3:192.168.1.128/26?- 可用IP范围是?192.168.1.129?到?192.168.1.190
  • 子网4:192.168.1.192/26?- 可用IP范围是?192.168.1.193?到?192.168.1.254

每个子网的第一个地址是子网地址,最后一个地址是广播地址,这两个地址不分配给任何主机。


子网掩码

子网掩码(Subnet Mask)
一系列连续的1 和连续的0 构成的二进制数
是一种用来定义一个IP网络或子网中哪些部分的IP地址用于表示网络地址,哪些部分用于表示主机地址的32位数字。

子网掩码与IP地址结合:
子网掩码是与IP地址结合使用的,通过对IP地址进行逻辑"AND"操作来确定网络的边界。在这个操作中,IP地址与子网掩码按位进行AND计算,生成网络地址的部分,剩下的则为主机地址的部分。

例如:
一个常见的子网掩码是255.255.255.0,这在二进制中表示为:

11111111.11111111.11111111.00000000
子网掩码的作用:
  • 定义网络大小:子网掩码定义了一个网络中可用的主机地址数量。掩码中的每个1表示网络地址部分,每个0代表主机地址部分。
  • 分隔网络:子网掩码可以将一个大型网络分割成若干个逻辑上分离的小网络,这些小网络被称为子网。
  • 路由决策:路由器使用子网掩码来确定目的IP地址是否在本地子网上,如果不是,它将数据包发送到更合适的路由器或网关。
如何确定子网掩码:

子网掩码的选择取决于你需要在网络中有多少个主机以及你需要多少个子网。掩码越长(即1的个数越多),可用于分配给主机的地址空间就越小。

CIDR表示法:

除了点分十进制表示法,子网掩码还可以使用无类别域间路由(CIDR)表示法来表示,这种表示法简单地指定了在子网掩码中有多少个连续的1位。例如,/24代表子网掩码255.255.255.0,因为前24位是1,后8位是0。

示例:

如果你有一个IP地址为192.168.1.100,使用子网掩码255.255.255.0,那么:

  • IP地址的二进制表示为:11000000.10101000.00000001.01100100
  • 子网掩码的二进制表示为:11111111.11111111.11111111.00000000

进行逻辑AND操作后,我们得到网络地址:11000000.10101000.00000001.00000000,即192.168.1.0。

这表示这个IP地址属于192.168.1.0这个网络,其余的部分(01100100,即100)是分配给该网络上特定设备的主机部分。

在这个子网中

  • 网络号是192.168.1
  • 主机号是从1到254的任何值

?

?


ip地址变子网掩码?CIDR

网络号(包括子网号)全0 ,主机号全1

子网掩码和ip地址逐位进行?按位进行 AND 运算

让我们看一道考研真题

?

由于目的地址 的主机地址 只能是全1 所以A排除
再拿 77 的二进制 和 252 进行按位与操作
得到76?0010 1100这个是主机所在的子网号
因为子网掩码最后一部分(最后8位)为1111 1100,这意味着子网的大小为2的2次方

当我们谈论子网掩码时,遇到的二进制位中的“1”代表网络地址的部分,而“0”代表主机地址的部分。在子网掩码255.255.252.0中,最后一部分的二进制是11111100。这里的“0”位表示这个子网的主机部分,而“1”位表示网络部分。

0010 1100
由于是广播分组 后两位变全1
0010 1111 -> 79

答案就是: D


?CIDR

构成超网?

列出超网取交集

首先,需要注意这些地址是连续的,并且每个子网掩码都是/21。这意味着每个网络包含2^(32-21) = 2^11 = 2048个IP地址。

这四个子网连续,它们的起始地址分别是:

  1. 35.230.32.0(二进制为00100011.11100110.0010 0000.00000000)
  2. 35.230.40.0(二进制为00100011.11100110.0010 1000.00000000)
  3. 35.230.48.0(二进制为00100011.11100110.0011 0000.00000000)
  4. 35.230.56.0(二进制为00100011.11100110.0011 1000.00000000)

观察这些地址的二进制表示,我们可以看到前19位是相同的,第20位在从第二个地址开始变为1,这意味着我们可以将这四个子网聚合到一个/20的子网中。这是因为/20的子网掩码将覆盖这四个子网所覆盖的全部范围。

因此,聚合后的网络地址是前19位相同的部分

答案是: C


最长前缀匹配?

?使用CIDR时,查找路由表可能得到几个匹配结果(跟网络掩码按位相与),应选择具有最长网络前缀的路由。前缀越长,地址块越小,路由越具体。

?

  • 132.0.0.0/8:这个路由覆盖了从132.0.0.0到132.255.255.255的所有地址。132.19.237.5确实在这个范围内,但这个匹配的子网掩码最不具体。
  • 132.0.0.0/11:这个路由覆盖了从132.0.0.0到132.31.255.255的地址。132.19.237.5也在这个范围内?目前是最长前缀匹配
  • 132.19.232.0/22:这个路由覆盖了从132.19.232.0到132.19.235.255的地址。132.19.237.5在这个范围之外,因此这个路由不匹配。
  • 0.0.0.0/0:这是一个默认路由,它可以匹配任何地址,但是它是最不具体的匹配。

?

?答案是: B


ARP协议

ARP协议(Address Resolution Protocol)是一种网络层协议,用于将网络层的协议地址(如IPv4地址)解析为数据链路层的物理地址,即MAC地址。ARP是局域网(LAN)上不可或缺的一部分,因为它允许设备在发送数据前了解目标设备的物理地址。

ARP的工作流程:
  1. ARP请求:当一个主机需要发送数据给同一局域网上的另一个主机,并且它知道目标主机的IP地址,但不知道其MAC地址时,它会在网络上广播一个ARP请求。这个请求包含发送者的IP地址和MAC地址,以及目标主机的IP地址,问“谁拥有这个IP地址?”
  2. ARP响应:局域网上的所有设备都会收到这个ARP请求,但只有IP地址匹配请求中的IP地址的设备会回应。该设备会发送一个ARP响应,告诉请求者它的MAC地址。
  3. 缓存:发送ARP请求的主机接收到响应后,它会将对应的IP地址和MAC地址存储在本地ARP缓存中。这样,下次需要发送数据时,它可以直接查看缓存而不需要再次广播ARP请求。
  4. 数据传输:一旦主机获知目标MAC地址,它就可以封装数据帧并将其发送到局域网上。
ARP缓存

ARP缓存是一个临时的表项集合,主机用它来存储本地网络上每个计算机的IP地址和相对应的MAC地址。缓存条目不是永久的,它们通常会在一定时间后过期并被删除,或者当网络接口卡(NIC)关闭时被清除。

ARP欺骗

ARP协议是一个无状态的协议,它不验证回应消息的来源。这种特性使得ARP容易受到一种称为ARP欺骗(ARP spoofing)或ARP中毒(ARP poisoning)的攻击。在此类攻击中,攻击者发送伪造的ARP消息到局域网,从而将攻击者的MAC地址与合法设备的IP地址关联起来。这可以导致网络流量被重定向到攻击者的设备,从而允许攻击者拦截、修改或阻断数据包。

为了减少ARP欺骗的风险,可以使用静态ARP记录或在交换机上实施某些安全措施,如动态ARP检查(DARP)、DHCP激活和IP源守卫。


DHCP协议

DHCP是一个客户端/服务器协议,它自动为客户端设备提供IP地址以及其他相关网络配置信息,如子网掩码、默认网关和DNS服务器地址。通过使用DHCP,网络管理员可以中央管理和自动化IP地址的分配,从而简化网络的配置工作。

DHCP工作流程:
  1. 发现(Discovery):当客户端设备连接到网络时,它会发送一个DHCP发现请求(DHCPDISCOVER)消息,寻找可用的DHCP服务器。
  2. 提供(Offer):DHCP服务器收到发现请求后,会发送一个DHCP提供(DHCPOFFER)消息给客户端,提供一个IP地址和其他配置信息。
  3. 请求(Request):客户端收到提供后,会选择一个提供并发送一个DHCP请求(DHCPREQUEST)消息,请求使用提供的IP地址和配置信息。
  4. 确认(Acknowledgement):DHCP服务器接收到请求后,会发送一个DHCP确认(DHCPACK)消息给客户端,确认IP地址的分配并提供租约期限。
ICMP协议

ICMP是TCP/IP协议族的一个核心协议,它用于在IP主机、路由器之间传递控制消息。这些控制消息通常用于诊断网络通信问题、报告错误信息(如传输中的数据包无法到达目的地),以及其他需要注意的信息。

ICMP工作在网络层,不是传送数据的协议,而是传送关于数据传输过程中出现的问题的信息。例如,当你使用ping命令检测另一台计算机是否可达时,你就是在使用ICMP。

ICMP消息类型包括:

  • 回显请求和回显回答(Echo Request and Echo Reply):用于测试网络连接,例如通过ping命令。
  • 目的不可达(Destination Unreachable):告知发送方,数据包无法送达目标。
  • 时间超出(Time Exceeded):当数据包在网络上过多次传输而未到达目标时发送,例如在路由循环中。
  • 参数问题(Parameter Problem):指出数据包头部的某些字段不正确。
  • 路由器通告和路由器选择:用于自动路由器发现和路由选择。

ICMP通常是网络工程师和管理员用来诊断网络问题的重要工具。然而,它也可能被滥用,比如在分布式拒绝服务(DDoS)攻击中。

RIP 与 距离向量算法

RIP是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单。

RIP协议要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录(即一组距离))。

距离:通常为“跳数”,即从源端口到目的端口所经过的路由器个数,经过一个路由器跳数+1。特别的,从一路由器到直接连接的网络距离为1。RIP允许一条路由最多只能包含15个路由器,因此距离为16表示网络不可达。

?


距离向量算法

距离向量算法(Distance Vector Algorithm)是计算机网络中用于路由选择的一种算法。它是基于动态路由选择过程的,其中路由器定期交换路由信息,并使用这些信息来更新自己的路由表。距离向量算法的一个经典实现是RIP(Routing Information Protocol)。

基本原理

距离向量算法的基本原理是每个路由器维护一个距离向量表,该表包括:

  • 到达每个可能目的地的最佳距离(通常是跳数,即经过的路由器数量)。
  • 到达该目的地的最佳下一跳路由器。

每个路由器仅知道其直接连接的邻居信息,并定期与它们交换自己的距离向量表。

工作流程

  1. 初始化:每个路由器只知道到达其直接连接的邻居的距离,初始值为1。

  2. 距离向量更新:每隔一段时间(例如,每30秒一次),路由器向其所有邻居广播整个距离向量表。

  3. 距离向量表的更新:当一个路由器收到邻居的距离向量表时,它会使用一个简单的算法来更新自己的表:

    • 对于每个目的地,如果通过该邻居可以得到一个更短的路径,那么就更新自己的距离向量表,记录新的距离和通过该邻居作为下一跳。
  4. 传递性更新:如果路由器的距离向量表更新了,它将在下一次广播时通知其邻居。

  5. 经过若干次更新后:所有路由器最终都会知道到达本自治系统任何一个网络的最短距离和下一跳路由器的地址,即“收敛”。

特点

距离向量算法的特点包括:

  • 简单易实现:算法的逻辑简单,容易在路由器上实现。
  • 分布式:每个路由器独立运行算法,只需要与邻居交换信息。
  • 周期性更新:路由器定期交换信息,不依赖于网络拓扑变化。
缺点

距离向量算法也有一些已知的缺点:

  • 收敛速度:在网络拓扑发生变化时,距离向量算法可能需要较长时间才能收敛到一致的路由表,尤其是在处理坏消息传播(比如路由环路)时。
  • 计数到无穷问题(Count-to-Infinity Problem):当网络中出现一个无法到达的目的地时,距离向量算法可能会导致路由器之间不断地增加距离度量,直到达到一个定义的最大值(通常是16),这个过程可以非常缓慢。
  • 带宽消耗:由于定期广播整个距离向量表,它可能在带宽有限的链路上消耗较多的带宽。

?

IPv6

IPv4 4B , IPv6 16B 相比于IP v4 地址 扩大了 42亿 x 42亿 x 42亿 x 42亿 倍 !
传说是可以给地球上所有的沙子分配一个地址的哈哈哈

其实China是大力推行IPv6的,因为IPv4的分配权大部分还是在美国人手里,加上美国的各种制裁,推行IPv6也是顺水推舟了

协议格式

?

IPV4对比IPV6

1.IPv6将地址从32位(4B)扩大到128位(16B),更大的地址空间。
2.IPv6将IPv4的校验和字段彻底移除,以减少每跳的处理时间。
3.lPv6将IPv4的可选字段移出首部,变成了扩展首部,成为灵活的首部格式,路由器通常不对扩展首部进行检查,大大提高了路由器的处理效率。
4.IPv6支持即插即用(即自动配置),不需要DHCP协议。
5.IPv6首部长度必须是8B的整数倍,IPv4首部是4B的整数倍。
6.IPv6只能在主机处分片,IPv4可以在路由器和主机处分片。
7.ICMPv6:附加报文类型“分组过大”。
8.IPv6支持资源的预分配,支持实时视像等,要求保证一定的带宽和时延的应用。
9.IPv6取消了协议字段,改成下一个首部字段。
10.IPv6取消了总长度字段,改用有效载荷长度字段。

IPV4和IPV6相互转换

双栈协议


双协议栈技术就是指在一台设备上同时启用lPv4协议栈和IPv6协议栈。这样的话,这台设备既能和IPv4网络通信,又能和IPv6网络通信。如果这台设备是一个路由器,那么这台路由器的不同接口上,分别配置了IPv4地址和lPv6地址,并很可能分别连接了IPv4网络和IPv6网络。如果这台设备是一个计算机,那么它将同时拥有IPv4地址和IPv6地址,并具备同时处理这两个协议地址的功能。

隧道技术


通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)
可以是不同协议的数据帧或包。隧道协议将其它协议的数据帧或包重新封装然后通过隧道发送

?

?

文章来源:https://blog.csdn.net/tq411810317/article/details/135506008
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。