【TCP/IP】第五章 IP协议相关技术

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/HelloZEX/article/details/82658216


IP(Internet Protocol)旨在让最终目标主机收到数据包,但是在这一过程中仅仅有IP时无法实现通信的。必须还有能够解析主机名称和MAC地址的功能,以及数据包在发送过程中异常情况处理的功能。此外,还会涉及IP必不可少的其他功能。

仅凭IP无法完成通信

为了能让主机根据实际的IP包进行通信,有必要实现一种功能—将应用中使用的地址映射为IP地址。

此外,在数据链路层也不使用IP地址。在以太网的情况下只使用MAC地址传送数据包。而实际上将众多IP数据包在网络上进行发送的就是数据链路本身,因此,必须了解发送端MAC地址。

DNS

一般用户在使用TCP/IP进行通信时也不使用IP地址,是因为有了DNS(Domain Name System)功能的支持。

IP地址不便记忆

由于IP不便于记忆,TCP/IP世界中就有课一个叫做主机识别码的东西。它为每台计算机附以唯一的主机名,在进行网络通信时可以直接使用主机名而无需输入一大长串IP地址。并且此时,系统必须自动将主机名转换为具体IP地址。为了实现这样的功能,主机往往会利用一个叫做hosts的数据库文件。

在互联网的起源ARPANET中,起初由互联网信息中心(SRI-NIC)争议管理一份hosts文件。随着接入计算机的增加,这种集中管理主机名和IP地址可行性逐渐降低。

DNS的产生

DNS系统中的主机管理机构可以对数据进行变更和设定,就是说它可以维护一个用来表示组织内部主机名和IP地址之间对应关系的数据库。

在应用中,当用户输入主机名(域名)时,DNS会自动检索那个注册了主机名和IP地址的数据库,并迅速定位对应的IP地址。

域名的构成

域名是指为了识别主机名称和组织机构名称的一种具有分层的名称。

在使用域名时,可以在每个主机名后面追加上组织机构的域名。

域名的分层图如下:

域名服务器

域名服务器是指管理域名的主机和相应的软件,它可以管理在分层的域的相关信息。其所管理的分层叫做ZONE。如图,每层都设有一个域名服务器。

根部所设置的DNS叫做根域名服务器。它对DNS的检索数据功能起着至关重要的作用(根据DNS协议,根域名服务器可由13个IP地址表示,并且从A到M开始命名。然而,现在由于IP任播可以为多个节点设置同一个IP地址,为了提高容灾能力和负载均衡能力,根域名服务器的个数也在不断增加)。根域名服务器中注册着根以下第1层域名服务器的IP地址。根域名服务器中,注册了那些管理的域名服务器的IP地址。反之,如果想要新增一个类似js或org的域名或修改某个已有域名,就得在根域名服务器中进行追加或变更。

解析器(Resolver)

进行DNS查询的主机和软件叫做DNS解析器。用户所使用的工作站或个人电脑都属于解析器。一个解析器至少要注册一个以上域名服务器的IP地址。通常,它至少包括组织内部的域名服务器的IP地址。


DNS查询

解析器为了调查IP地址,向域名服务器进行查询处理。接收这个查询请求的域名服务器首先会在自己的数据库进行查找。如果有该域名所对应的IP地址就返回。如果没有,则域名服务器再向上一层根域名服务器进行查询处理。

解析器和域名服务器将最新了解到的信息暂时保存在缓存里。

DNS如同互联网中的分布式数据库

DNS是一种通过主机名检索IP地址的系统。但是它所管理的信息不仅仅是这些主机名跟IP地址之间的映射关系。

例如,主机名与IP地址的对应信息叫做A记录。反之,从IP地址检索主机名称的信息叫做PTR。


ARP

只要确定了IP地址,就可以向这个目标地址发送IP数据报。然而,在底层数据链路层,进行世纪通信确有必要了解每个IP地址所对应的MAC地址。

ARP概要

ARP属于数据链路层协议。

ARP(Address Resolution Protocol)是一种解决地址问题的协议。以目标IP地址为线索,用来定位下一个应该接收数据分包的网络设备对应的MAC地址。如果目标主机不在同一个连路上时,可以通过ARP查找下一跳路由器的MAC地址。不过ARP只适用于IPv4,不能用于IPv6。IPv6中可以可以用ICMPv6替代ARP发送邻居探索消息。

ARP的工作机制

ARP如何知道MAC地址的呢?简单说,ARP是借助ARP请求与ARP响应两种类型的包确定MAC地址的。

假定主机A向同一链路上的主机B发送IP包,它们互不知道对方的MAC地址。

主机A为了获得主机B的MAC地址,起初要通过广播发送一个ARP请求包。这个包中包含了想要了解其MAC地址的主机IP地址。就是说,ARP请求包中已经包含了主机B的IP地址。由于广播的包可以被同一个链路上的所有主机或路由器接收,因此ARP的请求包也会被着同一个链路上所有主句和路由器进行解析。如果ARP请求包中的目标IP地址与自己的IP地址一致,那么这个节点就将自己的MAC地址塞入ARP响应包返回给主机A。

总之,从一个IP地址发送ARP请求包以了解其MAC地址(ARP请求包还有一个作用,那就是将自己的MAC地址告诉给对方),目标地址将自己的MAC地址填入其中的ARP响应包返回到IP地址。由此,可以通过ARP从IP地址获得MAC地址,实现链路内的IP通信。

根据ARP可以动态地进行地址解析,因此,在TCP/IP的网络构造和网络通信中无需事先知道MAC地址是什么,只要有IP地址即可。

如果没发送一个IP数据报都要进行一次ARP请求以此确定MAC地址,那将会造成不必要的网络流量。通常做法是把获取到的MAC地址缓存一段时间。即把第一次通过ARP获取到的MAC地址作为IP对MAC的映射关系记忆到一个ARP缓存表中(记录IP地址与MAC地址对应关系的数据库叫做ARP表。通过arp-e命令获取该表信息),下一次再向这个IP地址发送数据报时不需再重新发送ARP请求,而是直接使用这个缓存表当中MAC地址进行数据报的发送。每次执行一次ARP,而是直接使用这个缓存表当中的MAC地址进行数据报的发送。每执行一次ARP,其对应的缓存内容会被清除。不过在清除之前都可以不需要执行ARP就可以获取想要的MAC地址。这样,在一定程度上也防止了ARP包在网络上被大量广播的可能性。

一般来说,发送过一次IP数据报的主机,继续发送多次IP数据报的可能性会比较高。因此,这种缓存能够有效地减少ARP包的发送。反之,接收ARP请求的那个主机又可以从这个ARP请求包获取发送端主机的IP地址及其MAC地址。这时他也可以将这些MAC地址的信息缓存起来,从而根据MAC地址发送ARP响应包给发送端主机。类似的,接收到IP数据报的主机又往往会继续返回IP数据报给发送端主机,以作为相应。因此,在接收主机端缓存MAC地址也是一种提高效率的方法。

不过,MAC地址的缓存是有一定期限的。超过了这个期限,缓存的内容将被清除。这使得MAC地址与IP地址对应关系即使发生了变化,也依然能将数据包正确地发送给目标地址。

IP地址和MAC地址缺一不可?

出现的疑问是:只要知道了IP地址,即使不做ARP,只要在数据链路上做一个广播不就能发给主机B了么?那么,为什么既需要IP地址又需要MAC地址呢?

如下的案例,主机A想要发送IP数据报给主机B时必须得经过路由器C。即使知道了主机B的MAC地址,由于路由器C会隔断两个网络,还是无法实现直接从主机A发送数据报给主机B。此时主机A必须得先将数据报发送给路由器C的MAC地址C1。

RARP

RARP(Reverse Address Resolution Protocol)是将ARP反过来,从MAC地址定位IP地址的一种协议。例如将打印机服务器等小型嵌入式设备接入到网络时就会用到。

平常我们可以通过个人电脑设置IP地址,也可以通过DHCP自动分配获得IP地址。然而,对于使用嵌入式设备时,会遇到没有任何输入接口或无法通过DHCP动态获取IP地址的情况。

在类似情况下,就可以使用RARP。为此,需要架设一台RARP服务器,从而在这个服务器上注册设备的MAC地址及其IP地址。然后再将这个设备接入到网络。

代理ARP

通常ARP包会被路由器隔离,但是采用代理ARP(Proxy ARP)的路由器可以将ARP请求转发给临近的网段。由此,两个以上网段的节点之间可以像在同一个网段中一样进行通信。

在目前TCP/IP网络中,一般情况下用路由器连接多个网络时,会在每个网段上定义各自的子网,从而进行路由控制。然而,对于那些不支持设定子网掩码的老设备来说,不使用代理ARP,有时就无法更好地使用网络。



ICMP

辅助IP的ICMP

ICMP的主要功能包括,确认IP包是否成功送达目标地址,通知在发送过程当中IP包被废弃的具体原因,改善网络设置等

在IP通信中如果某个IP包因为某种原因未能到达目标地址,那么这个具体原因将由ICMP负责通知。

如下图,主机A向主机B发送了数据包,由于某种原因,途中的路由器2未能发现主机B的存在,这时,路由器2就会向主机A发送一个ICMP包,说明发往主机B的包未能成功。

ICMP的这种通知消息会使用IP进行发送(在ICMP中,包以明文的形式像TCP/UDP一样通过IP进行传输。然而,ICMP所承担的功能并非传输层的补充,而应该把它考虑为IP的一部分)。因此,从路由器2返回的ICMP包会按照往常的路由控制先经过路由器1再转发给主机A。收到该ICMP包的主机A则分解ICMP的首部和数据域以后得知具体发生问题的原因。

ICMP的消息大致可以分为两类:一类是通知出错原因的错误消息,另一类是用于诊断的查询消息

ICMP消息类型:

主要的ICMP消息

ICMP目标不可达消息(类型3)

IP路由器无法将IP数据包发送给目标地址时,会给发送端主机返回一个目标不可达(Destination Unreachable Message)的ICMP消息,并在这个消息中显示不可达的具体原因。

在实际通信中经常会遇到错误代码1,标识主机不可达。错误代码4则用于MTU探索。

其他(省略)

ICMPv6

IPv4中ICMP仅作为一个辅助作用支持IPv4.就是说,在IPv4时期,即使没有ICMP,仍然可以实现IP通信。然而,在IPv6中,ICMP的作用被扩大,如果没有ICMPv6,IPv6就无法进行正常通信。



DHCP

DHCP实现即插即用

逐一为每一台主机设置IP地址会非常繁琐。为了实现自动设置IP地址,同一管理IP地址分配,就产生了DHCP(Dynamic Host Configuration Protocol)协议。有了DHCP,计算机只要连接到网络,就可以进行TCP/IP通信。DHCP不仅在IPv4中,在IPv6中也可以使用。

DHCP的工作机制

使用DHCP之前,首先要假设一台DHCP服务器。然后要架设一台DHCP服务器。然后将DHCP所要分配的IP地址设置到服务器上。此外,还需要将相应的子网掩码、路由控制信息以及DNS服务器的地址等设置到服务器上。

关于从DHCP中获取IP地址的流程(在发送DHCP发现包与DHCP请求包时,DHCP即插即用的IP地址尚未确定。因此,DHCP发现包的目标地址为广播地址255.255.255.255,而源地址则为0.0.0.0),主要分为两个阶段:

DHCP在分配IP地址有两种方法。一种是由DHCP服务器在特定的IP地址中自动选出一个进行分配。另一种方法是针对MAC地址分配一个固定的IP地址。而且这两种方法可以并用。

使用DHCP时,如果DHCP服务器遇到故障,将导致无法自动分配IP地址,从而也导致网段内所有主机之间无法进行TCP/IP通信。为了避免这类问题,通常人们会架设两台或两台以上DHCP服务器。不过启动多个DHCP服务器时,由于每个服务器内都记录着IP地址分配情况的信息,因此可能会导致几处分配IP地址相互冲突。

为了检查所要分配的IP地址以及已经分配了IP地址是否可用,DHCP服务器或DHCP客户端必须具备以下功能:

  • DHCP服务器 
    在分配IP地址前发送ICMP回送请求包,确认没有返回应答。
  • DHCP客户端
  • 针对从DHCP那里获得的IP地址发送ARP请求包,确认没有返回应答。

DHCP中继代理

家庭网络大多数都只有一个以太网(无线LAN)的网段,逾期连接的主机台数也不会太多。因此,只要有一台DHCP服务器就足以应对IP地址分配的需求,而大多数情况下都由宽带路由器充当这个DHCP的角色

当在多个以太网(无线LAN)的网段场景下,往往需要将DHCP统一管理。具体方法可以使用DHCP中继代理来实现。有了DHCP中继代理以后,对不同网段的IP地址分配也可以由一个DHCP服务器同一进行管理和运维。

这种方法使得在每个网段架设一个DHCP服务器被替代,只需在每个网段设置一个DHCP中继代理即可(DHCP中继代理多数为路由器)。它可以设置DHCP服务器的IP地址,从而可以在DHCP服务器上为每个网段注册IP地址的分配范围。

DHCP客户端会向DHCP中继代理发送DHCP请求包,而DHCP中继代理在收到这个广播包以后再以单播的形式发给DHCP服务器。服务器端收到该包以后再向DHCP中继代理返回应答,并由DHCP中继代理将此包转发给DHCP客户端。由此,DHCP服务器即使不在同一个链路上也可以实现统一分配和管理IP地址。



NAT

NAT定义

NAT(Network Address Translator)是用于在本地网络中使用私有地址,在连接互联网时转而使用全局IP地址的技术。除转换IP地址外,还出现了可以转换TCP、UDP端口号的NAPT(Network Address Ports Translator)技术,由此可以实现用一个全局IP地址与多个主机通信。

NAT(NAPT)实际上是为了正在面临地址枯竭的IPv4而开发的技术。IPv6中为了提高网络安全也在使用NAT,在IPv4和IPv6之间的相互通信当中常常使用NAT-PT。

NAT的工作机制

在NAT(NAPT)路由器的内部,有一张自动生成的用来转换地址的表。当10.0.0.10向163.221.120.9发送第一个包时生成这张表,并按照表中的映射关系进行处理。

当私有网络内的多台机器同时都要与外部进行通信,仅仅转换IP地址,人们担心全局IP地址是否不够用。这是采用包含端口号一起转换的方式(NAPT)可以解决这个问题。

在使用TCP或UDP的通信当中,只有目标地址、源地址、目标端口、源端口以及协议类型(TCP还是UDP)五项内容都一致时才被认为是同一个通信连接。此时所使用的正式NAPT。

这种转换表在NAT路由器上自动生成。例如,在TCP情况下,建立TCP连接首次握手时的SYN包一经发出,就会生成这个表。而后又随着收到关闭连接时发出FIN包的确认应答从表中被删除。

NAT-PT(NAPT-PT)

现在很多互联网服务都基于IPv4。如果这些服务不能做到IPv6中也能正常使用的话,搭建IPv6网络环境的有时也就无从谈起。

为此,就产生了NAT-PT(NAPT-PT)规范,PT是Protocol Translatio的缩写。NAT-PT是将IPv6的首部转换为IPv4的首部的一种技术。有了这种技术,那些只有IPv6地址的主机也就能够与IPv4地址的其他主机进行通信了。

NAT的潜在问题

由于NAT(NAPT)都依赖于自己的转化表,因此会有几点限制:

  • 无法从NAT的外部向内部服务器建立连接。
  • 转化表的生成以转换操作都会产生一定的开销。
  • 通信过程中一旦NAT遇到异常需重新启动时,所有的TCP连接都将被重置。
  • 即使备置两台NAT做容灾备份,TCP连接还是会被断开。

解决NAT的潜在问题与NAT穿越

解决NAT上述潜在的问题有两种方法:

  • 第一种方法就是改用IPv6。在IPv6环境下可用的IP地址范围有了极大的扩展,以至于公司或家庭当中所有设备都可以配置一个全局IP地址。因为如果地址枯竭问题解决了,就没必要使用NAT了。
  • 另一种方法是,即使是在一个没有NAT的环境里,根据所制作的应用,用户可以完全忽略NAT的存在而进行通信。在NAT内测(私有IP地址的一边)主机上运行的应用为了生成NAT转换表,需要先发送一个虚拟的网络包给NAT的外侧。而NAT并不知道这个虚拟包究竟是什么,还是会照样读取包首部中的内容并自动生成一个转换表。这时,如果转换表构造合理,那么还能实现NAT外侧的主机与内测的主机建立连接进行通信。有了这个办法,就可以让那些处在不同NAT内测的主机之间也能够进行相互通信。此外,应用还可以与NAT路由器进行通信生成NAT表,并通过一定方法将NAT路由器上附属的全局IP地址传给应用。 
    如此一来,NAT外侧与内测可以进行通信,这种现象叫做“NAT穿越”。于是NAT那个“无法从NAT的外部向内部服务器建立连接”的问题也就迎刃而解了。而且这种方法与已有的IPv4环境兼容性非常好,即使不迁移到IPv6也能通信自如。出于这些优势,市面上已经出现了大量与NAT紧密集合的应用(由此,IPv4的寿命又被延长,向IPv6的迁移也就放慢脚步了)。


IP隧道

网络A、B使用IPv6,如果处于中间位置的网络C支持使用IPv4的话,网络A与网络B之间将无法直接进行通信。为了让它们之间正常通信,这时必须得采用IP隧道的功能。

IP隧道中可以将那些从网络A发过来的IPv6的包统和为一个数据,再为之追加一个IPv4的首部以后在转发给网络C。

一般情况下,紧接着IP首部的是TCP/UDP的首部。然而,现在的应用当中“IP首部的后面还是IP首部”或者“IP首部的后面是IPv6的首部”等情况与日俱增。这种在网络层的首部后面继续追加网络层首部的通信方法就叫做“IP隧道”

构造一个既支持IPv4又支持IPv6的网络时一项极其庞大的工程。骨干网上通常使用IPv6或IPv4进行传输。因此,那些不支持的路由器就可以采用IP隧道的技术转发数据包,而对应的IP地址也可以在一旁进行统一管理。这就在一定程度上减轻了管理员的部分工作。此外,由于骨干网的设备上仅在一旁应对IP隧道即可,这就可以大量减少投资成本。

  • Mobile IP
  • 多播包的转播
  • IPv4网络中传送IPv6的包(6to4)
  • IPv6网络中传送IPv4的包
  • 数据链路帧通过IP包发送(L2TP 将数据链路的PPP包用IP包转发的一种技术)

下图展示了一个利用IP隧道转发多播消息的例子。由于现在很多路由器上没有多播包的路由控制信息,多播消息也就无法穿越路由器发送消息。这类环境中,如果使用IP隧道,就可以使路由器单播的形式发包,也就能够向距离较远的链路转发多播消息。

NAT-PT和隧道的差别 
NAT-PT和隧道都是IPv4向IPv6过渡的技术,但是它们之间的实现和适用范围都是有很大的不同的。 
首先报文转换和转发的方式不同,这个是NAT-PT和隧道最根本的差别。NAT-PT是对报文的网络层内容进行转换修改,剥离原先的报文头,替换为转换之后的报文头(IPv4àIPv6或者IPv6àIPv4);而隧道是对初始报文作另一层报文封装,根据隧道的不同类型加上相应的报文头。 
正是由于转换的方式不同,导致他们检查报文的方式也不同。NAT-PT会检查并且可以更改报文中的端口号;而隧道从来不会检查报文的传输层内容。 
转换方式的不同同样致使了他们的使用范围不一样,NAT-PT一般适用于IPv4与IPv6不同网络中主机互相访问的环境中;而隧道一般用于实现一种网络协议跨越另一种网络协议之间的通讯。所以,形成NAT-PT的环境只需要有一台可以进行NAT-PT转换的设备即可;而构造一种隧道的环境就必须要两台设备形成一个隧道。



其他IP相关技术

IP多播相关技术

在多播通信中,确认接收端是否存在非常重要。如果没有接收端,发送多播消息就会造成网络流量的浪费。

而确认是否有接收端,要通过MLD实现,它是IPv4中IGMP和IPv6中ICMPv6的重要功能之一。

IGMP(MLD)主要有两大作用:

  1. 向路由器表明要接收多播消息(并通知想接收多播的地址)
  2. 向交换集线器通知想要接收多播的地址。

首先,路由器会根据第1个作用,了解到想要接收多播的主机,并将这个信息告知给其他的路由器,准备接收多播消息。而多播消息的发送路径则由PIM-SM、PIM-DM、DVMRP、DOSPF等多播路由控制协议决定。

其次,第2个作用也被称作IGMP(MLD)探听。通常交换集线器只会习得单播地址(通常交换集线器可以会习得发送端的MAC地址。而由于多播地址只用于目标地址,因此无法从包中习得)。而多播帧(指目标MAC地址是多播地址)则跟广播帧一样不经过滤就会全部被拷贝到端口上。这会导致网络负荷加重,甚至给那些通过多播实现高质量图像传播的广播电视带来严重影响。

IP任播

IP任播主要用于报警电话110与消防电话119系统。当人们拨打110或119时,其接受电话并不只有一个。而是可以拨打到一个区域管辖范围内的所有公安或消防部门。

这种机制,在互联网上就是IP任播。

IP任播是指为那些提供同一种服务的服务器配置同一个IP地址,并与最近的服务器进行通信的一种方法。它可适用于IPv4和IPv6。

在IP任播的应用中最有名的当属DNS根域名服务器。使用IP任播可以让更多单位DNS根域名服务器三不到世界的各个角落。当发送一个请求包给DNS根域名服务器时,一个适当区域的IP地址也将被发送出去,从而可以从这个服务器获得应答。

IP任播有不少限制。它无法保证将第一个包和第二个包发送给同一个主机。

通信质量控制

通信质量的定义

通信线路上的拥堵也叫作收敛。当网络发生收敛,路由器和集线器(交换集线器)的队列(Buffer)溢出,会出现大量丢包现象,从而极端影响通信性能。

控制通信质量的机制

控制通信质量的工作机制类似于高速公路上的VIP通道。对于需要保证通信质量的包,路由器会进行特殊处理,并且在力所能及的范围之内对其进行优先处理。

显示拥塞通知

当发生网络拥塞时,发送主机应该减少数据包的发送量。作为IP上层协议,TCP虽然也能控制网络拥塞,不过它是通过数据包的实际损坏情况来判断是否发生拥塞。然而这种方法并不能在数据包损坏之前减少数据包的发送量。

为了解决这个问题, 人们在IP层新增了一种使用显示拥塞通知的机制,即ECN(Explict Congestion Notification)。

Mobile IP

Mobile IP的定义

IP地址由“网络地址”和“主机地址”两部分组成。其中“网络地址”表示全网中子网的位置,因此对于不同的地域它的值也会有所不同。

智能手机和笔记本电脑等移动设备每连接到不同的子网,都会由DHCP或手动的方式分配到不同的IP地址。

与移动设备通信时,所连接的子网一旦发生变化,则无法通过TCP继续通信。这时因为TCP平时面向连接的协议,自始至终都需要发送端和接收端主机的IP地址不发生变化。

在UDP情况下也无法继续通信,不过UDP是面向非连接的协议,或许可以在应用层面上处理变更IP地址的问题。然而,改造所有永盈让其适应IP地址变更不是容易的事。

由此,Mobile Ip出现了。这种技术在主机所连接的子网IP发生变化时,主机IP地址仍保持不变。应用不需要做任何改动,即使是在IP地址发生变化的环境下,通信也能继续。

IP隧道与Mobile IP

Mobile IP的工作机制:

移动主机(MH:Mobile Host) 
指那些移动了位置,IP地址却不变的设备。在没移动的时候,所连接的网络叫归属网络,IP地址叫归属地址。归属地址如同一个人的户籍,移动也不会改变地址。即使移动了也会被设置成所处子网中的IP地址,这种地址被称为移动地址(CoA,Care-of Address)。 
归属代理(HA:Home Agent) 
处于归属网络下,可监控移动设备的位置,并转发数据包给移动主机。这很像注册户籍信息的政府机关。 
外部代理(FA:Foreighn Agent) 
使用于支持移动主机的移动设备。所有需要接入网络的移动主机都需要它。

如上图,Mobile IP中的移动主机,在移动之前按照以往的模式进行通信,而移动之后则通过外部代理发送转发数据包向归属代理通知自己的地址。

从应用层看移动主机,会发现它永远使用归属地址进行通信。然后,实际上Mobile IP是使用转交地址转发数据包的。

附录

广播、多播(组播)、任播、单播

单播(unicast): 是指封包在计算机网络的传输中,目的地址为单一目标的一种传输方式。它是现今网络应用最为广泛,通常所使用的网络协议或服务大多采用单播传输,例如一切基于TCP的协议。

组播(multicast): 也叫多播, 多点广播或群播。 指把信息同时传递给一组目的地址。它使用策略是最高效的,因为消息在每条网络链路上只需传递一次,而且只有在链路分叉的时候,消息才会被复制。

广播(broadcast):是指封包在计算机网络中传输时,目的地址为网络中所有设备的一种传输方式。实际上,这里所说的“所有设备”也是限定在一个范围之中,称为“广播域”。

任播(anycast):是一种网络寻址和路由的策略,使得资料可以根据路由拓朴来决定送到“最近”或“最好”的目的地。



猜你喜欢

转载自blog.csdn.net/HelloZEX/article/details/82658216