网络层概述

这里放个导图

image-20240306232043207

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

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

网络层的功能

  • 功能一:路由选择与分组转发(选择最佳路径)

  • 功能二:异构网络互联

  • 功能三:拥塞控制

    若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施缓解这种拥塞;

    拥塞控制有两种方法:

    • 开环控制:这是静态的,即提前考虑网络会产生拥塞的各种情况并做好准备
    • 闭环控制:这是动态的,即在网络运行的时候进行实时调整

IP数据报格式

IP协议在网络层的占比很大

image-20240307125809633

ip数据包的整体结构

image-20240307141005938

数据部分就是传输层的报文段

具体格式
image-20240307141105140

IP数据报分片

最大传送单元MTU

链路层数据帧可封装的数据的上限

以太网的MTU是1500字节

image-20240307141645466

链路层的数据帧的数据部分就是IP分组,所以IP分组大小不能超过MTU,以太网就是不能超过1500字节;如果超过了MTU就要采取数据报分片的方法。

分片

分片的就和上面数据报中的标识、标志、片偏移三个部分相关

  • 标识:同一数据报的分片使用同一标识。比如有三个数据报他们的标识都是888,那他们就是属于同一个数据报,最后会重新组合成一个完整的数据报。

  • 标志:只有两位有意义

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

    最低位MF(More Fragment):MF=1,后面还有分片;MF=0,代表最后一片/没分片。

    最低位要在DF为0是才有讨论意义

  • 片偏移:指出较长分组分片后,某片在原分组中的相对位置,以8B为单位。

    比如片偏移字段为0000000000001,则代表该分片在8B的位置开始。

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

例题

一个很基础的例题,对上面一些概念的运用和简单计算

image-20240307143646764

IPv4地址

IP分类的历史阶段

分类的IP地址=》子网的划分=》构成超网(无分类编址方法)

分类的IP地址

IP地址:唯一的32位/4字节标识符,标识路由器主机的接口

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

为了方便人阅读,采用点分十进制的转换法

image-20240307144802830

各类别IP地址划分

image-20240307145139846

特殊IP地址

image-20240307145608889

私有IP地址

image-20240307145720156

可用网络号和主机数计算

image-20240307150107170

主机数需要减去全0和全1两种特殊情况

网络数A类需要减去全0和127,B类和C类只要减去全0

网络地址转换NAT

因为路由器对目的地址是私有IP地址的数据报一律不进行转发,那我们平时上网是怎么去外界通信呢,就是用到了NAT技术。

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

image-20240307151440901

子网划分与子网掩码

子网划分

就是将**{<网络号>,<主机号>}这样的两级IP地址变成{<网络号>,<子网号>,<主机号>}**这样的三级IP地址;不过外界是不知道内部的子网如何划分的。

image-20240307152212955

子网掩码

网络号(子网号也是)对应的二进制位全为1,主机号则全为0。

image-20240307221224860

子网掩码与IP地址逐位相与,就得到子网网络地址

例题

已知IP地址141.14.72.24,子网掩码是255.255.192.0,求网络地址

直接中间8位的192写出来和72一与就可以得到64,所以子网网络号为141.14.64.0。

使用子网时的分组转发

image-20240307222755852

无分类编址CIDR

CIDR消除了传统的A类,B类和C类地址以及划分子网的概念;网络号和子网号统一变成网络前缀。

image-20240307230252926

CIDR的写法是IP地址后加上/,然后写上网络前缀的位数,比如:128.14.32.0/20

CIDR融合子网地址与子网掩码,方便子网划分

image-20240307230656231

构成超网

将多个子网聚合成一个较大的子网,叫做构成超网,或路由聚合。

其方法就是将网络前缀缩短,在所有的网络地址取交集。

image-20240307231403673

比如上面的IP地址的交集就是前16位,然后就把前16位当作新的网络前缀。

最长前缀匹配

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

下面是一个例子:

image-20240308001842598

目的地址分别与上述路由表中的所有地址块进行匹配,左边两个都能成功匹配到网络号,而计算机系的网络前缀最长,所以会发送给计算机系。

ARP协议

ARP协议有点类似于网络层和链路层的一个中间协议,因为ARP协议就是完成主机或路由器IP地址到MAC地址的映射,也就是解决下一跳走哪的问题。

在实际网络的链路上传输数据帧时,最终必须使用MAC地址

ARP协议使用过程

检查ARP高速缓存,有对应表项则写入MAC帧,没有则用目的MAC地址为FF-FF-FF-FF-FF-FF的帧封装并广播ARP请求分组,同一局域网中所有主机都能收到该请求。目的主机收到请求后就会向源主机单播一个ARP响应分组,源主机收到后将此映射写入ARP缓存(10-20min更新一次)。

ARP协议的四种典型情况

  1. 主机A发给本网络上的主机B:用ARP找到主机B的硬件地址;

  2. 主机A发给另一网络上的主机B:用ARP找到本网络上一个路由器(网关)的硬件地址;

  3. 路由器发给本网络的主机A:用ARP找到主机A的硬件地址;

  4. 路由器发给另一网络的主机B:用ARP找到本网络上的一个路由器的硬件地址。

下面用向本局域网主机发送数据和向其他局域网主机发送数据的两个例子来说明ARP协议的运用

image-20240308153147166

现在是向本局域网内的3号主机发送数据,首先会在本地的ARP高速缓存中检查有没有3号主机对应的mac地址,没有的话就会另IP3为全1发送一个广播分组,交换机收到请求之后就会发送给所有主机,所有主机收到请求后,如果是对应的IP地址就会返回一个单播ARP响应分组,其中就包含了自己的mac地址。

image-20240308154025422

这是向非局域网内的5号主机传输数据,会先将IP5与自己的子网掩码相与一下看是否在同一个网段,如果不在就直接跳到自己的默认网关,局域网内的主机都知道自己的默认网关地址,然后就可以发送广播分组得到默认网关的mac地址,然后这里就填上mac6发送到默认网关,后面的mac地址的改变调整是路由器转发数据出去时自己内部改变的,包含自身mac地址和要去的mac地址。

交换机是没有mac地址的,要主机和路由器接口才有。

默认网关就是本局域网和外界通信的一个接口。

DHCP协议

主机要如何获得IP地址

  1. 静态配置:也就是管理由手动配置IP地址子网掩码默认网关这些东西

  2. 动态配置:这就是利用DHCP服务器来给局域网内的主机自动分配一个IP地址

    image-20240308155102460

DHCP工作过程

动态主机配置协议DHCP是应用层协议,使用客户/服务器方式,客户端和服务端通过广播方式进行交互,基于UDP。

DHCP提供即插即用联网的机制,主机可以从服务器动态获取IP地址、子网掩码、默认网关、DNS服务器名称与IP地址,允许地址重用,支持移动用户加入网络,支持在用地址续租。

流程

  1. 主机广播DHCP发现报文,也就是探测网络中是否有DHCP服务器,请求获得IP地址
  2. DHCP服务器广播DHCP提供报文,收到请求的服务器如果有空闲的IP地址及其相关配置都会广播发送出去
  3. 主机广播DHCP请求报文,收到多个提供报文,选择其中的一个IP地址使用(先到先得),广播发送确认使用该IP地址
  4. DHCP服务器广播DHCP确认报文,正式将该IP分配给主机

ICMP协议

ICMP协议起到传输层和网络层的桥梁作用。

ICMP协议支持主机或路由器,在网络层的分组出错时,在分组被丢弃之后需要发送一个差错(或异常报告),也就是发送特定ICMP报文:ICMP差错报文,ICMP询问报文

ICMP结构

ICMP报文是装在IP数据报的数据部分

image-20240309000752280

ICMP的5种差错报告报文

  1. 终点不可达:当路由器或主机不能交付数据报时就向源点发送终点不可达报文,即无法交付
  2. 源点抑制:当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢,在网络拥塞丢失数据是发生;不过现在已经不用这种报文了
  3. 时间超过:当路由器收到生存时间TTL=0的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文,即 TTL=0时。
  4. 参数问题:当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文。首部字段有问题时发生。
  5. 改变路由(重定向):路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器
    ,选择更好的路由。

ICMP差错报告报文数据格式

image-20240309001638857

不发送ICMP差错报文的情况

  1. 对ICMP差错报告报文不再发送ICMP差错报告报文。

  2. 对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。

  3. 对具有组播地址的数据报都不发送ICMP差错报告报文(组播地址区别于广播地址,一点到多点即可,只用给部分节点发送,而不像广播地址发送给所有节点)。

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

ICMP询问报文

  1. 回送请求和回答报文:主机或路由器向特定目的主机发出的询问,收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。测试目的站是否可达以及了解其相关状态。(平时用的ping命令就是一种)

  2. 时间戳请求和回答报文:请某个主机或路由器回答当前的日期和时间。用来进行时钟同步和测量时间。2.时间戳请求和回答报文

  3. 掩码地址请求和回答报文

  4. 路由器询问和通告报文

第三和第四种现在已经不再使用了

ICMP的应用

这里介绍两个命令

  1. ping:该命令测试两个主机之间的连通性,使用了ICMP回送请求和回答报文

  2. traceroute(Windows上是tracert):跟踪一个分组从源点到终点的路径,使用了ICMP时间超过差错报告报文

    他的原理是这样的

    image-20240309002552980

    一开始的报文TTL设置为1,经过一个路由,TTL变为0然后返回差错报告报文,就可以测试出一个路由,此后每次TTL加1,以此类推就可以测出经过多少路由,也就知道了路径。

    image-20240309003134315

    结果说明:第一列表示到达目标服务器经过的网络节点数,2-4列分别表示请求目标节点时间、目标节点响应时间和平均响应时间,最右边则表示到达目标服务器所经过的每个网络节点的IP

IPv6

因为IPv4的地址空间分配殆尽,所以IPv6就出现了来解决地址空间不足问题。

IPv6的改变

改进了首部格式以便快速处理和快速转发。

支持QoS(Quality of Service,服务质量):指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。

数据报格式

image-20240309004131851

image-20240309005425608

  1. 这里的版本指明了协议版本,IPv6他的字段值就是6
  2. 优先级就是区分数据报的类别和优先级
  3. 流标签有点类似数据报分片中的标识位,“流”是互联网络上从特定源点到特定终点的一系列数据报。所有属于同一个流的数据报都具有同样的流标签。比如B和A主机进行连接传输数据,在该连接上B向A发出的多个数据包都属于同一个流,所以他们也就有相同的流标签。
  4. 下一个首部顾名思义就是表示下一个首部是谁,比如基本首部的下一个首部标识扩展首部1,扩展首部的下一个首部标识扩展首部2,扩展首部2的下一个首部标识数据部分。
  5. 跳数限制就相当于IPv4的TTL。

IPv6和IPv4的区别

image-20240309010458862

在第七点中,因为在传输过程中不能在路由分片,所以如果超过了数据链路层的最大传输单元MTU就会将数据报丢弃,返回一个ICMPv6差错报文。

IPv6地址表示形式

  1. 一般形式:冒号十六进制记法**(八组四位十六进制数)**,比如:4BF5:AA12:0216:FEBC:BA5F:039A:BE9A:2170

  2. 压缩形式

    image-20240309011120976

IPv6基本地址类型

  1. 单播:一对一通信,可做源地址+目的地址
  2. 多播:一对多通信,可做目的地址
  3. 任播:一对多中的一个通信,可做目的地址

IPv6向IPv4过渡策略

  1. 双栈协议:双协议栈技术就是指在一台设备上同时启用IPv4协议栈和IPv6协议栈。这样的话,这台设备既能和IPv4网络通信,又能和IPv6网络通信。如果这台设备是一个路由器,那么这台路由器的不同接口上,分别配置了IPv4地址和IPv6地址,并很可能分别连接了IPv4网络和IPv6网络。如果这台设备是一个计算机,那么它将同时拥有IPv4地址和IPv6地址,并具备同时处理这两个协议地址的功能。
  2. 隧道技术:通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将其它协议的数据帧或包重新封装然后通过隧道发送。比如一段IPv6的数据报加上IPv4的首部,而IPv6的数据报则作为数据部分,然后重新封装当作IPv4进行传播。

SDN

路由转发和路由选择

转发:

达到路由器输入链路之一的数据报如何转发到该路由器的输出链路之一。花费时间短,通常用硬件解决

数据平面

数据平面对于数据处理过程中各种具体处理转发过程。对应路由转发

路由选择:

控制数据报沿着从源主机到目的主机的端到端路径中路由器之间的路由方式。花费时间长,通常用软件解决。

控制平面

控制平面用于控制和管理网络协议的运行,比如OSPF协议、RIP协议、BGP协议。对应路由选择。

数据平面

数据平面执行的主要功能是根据转发表进行转发,这是路由器的本地动作。

image-20240306235123180

控制平面

控制平面的传统方法也叫每路由器法:

路由选择算法运行在每台路由器中,并且在每台路由器中都包含转发和路由选择两种功能。

具体原理为:在一台路由器中的路由选择算法与其他路由器中的路由选择算法通信(通过交换路由选择报文)
计算出路由表和转发表。

SDN方法:Software-Defined Networking

控制平面从路由器物理上分离。路由器仅实现转发,远程控制器计算和分发转发表以供每台路由器所使用。

具体原理为:路由器通过交换包含转发表和其他路由选择信息的报文与远程控制器通信。因为计算转发并与路由器交互的控制器是用软件实现的,所以网络是软件定义的。

image-20240307093103127

控制平面中的路由选择处理器

传统方法:路由选择处理器执行控制平面功能。在传统的路由器中,它执行路由选择协议,维护路由选择表于关联链路状态信息,并为该路由器计算转发表。

SDN方法:在SDN路由器中,路由选择处理器负责与远程控制器通信,目的是接收远程控制器计算的转发表项。

SDN组件

  • SDN控制器:维护准确的网络状态信息(远程链路、交换机和主机的状态);为运行在控制平面中的网络控制应用程序提供这些信息(逻辑集中,在多台服务器上实现)

  • 网络控制应用程序:根据SDN控制器提供的方法,这些应用程序通过这些方法能够监视、编程和控制下面的网
    络设备。

image-20240307093843773

SDN控制器的细节

image-20240307094357878

路由算法

  • 静态路由算法(非自适应路由算法),

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

  • 动态路由算法(自适应路由算法)

    由路由器间彼此交换信息,按照路由算法优化出路由表项。
    路由更新快,适用大型网络,及时响应链路费用或网络拓扑变化。
    算法复杂,增加网络负担。

    动态路由算法又可以分为全局性和分散性

    • 全局性:链路状态路由算法(OSPF)

      所有路由器掌握完整的网络拓扑和链路费用信息。

    • 分散性:距离向量路由算法(RIP)

      路由器只掌握物理相连的邻居及链路费用。

分层次路由选择协议

分层协议产生的原因是因为很多单位在接入因特网的同时还要隐藏自己的路由选择协议,这里就涉及到一个自治系统AS的概念

自治系统AS

在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由协议以确定在AS之间的路由。个AS内的所有网络都属于一个行政单位来管辖,一个自治系统的所有路由器在本自治系统内都必须连通

路由选择协议又分为两种

image-20240307125518139

现在常用的是BGP-4

RIP协议

定义

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

相关规则

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

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

一个示例图:

image-20240309012809494

RIP协议交换规则

  1. 仅和相邻路由器交换信息
  2. 路由器交换的信息是自己的路由表
  3. 每30秒交换一次路由信息,然后路由器根据新信息更新路由表。若超过180s没收到邻居路由器的通告,则判定邻居没了,并更新自己路由表。

路由器刚开始工作时,只知道直接连接的网络的距离(距离为1),接着每一个路由器也只和数目非常有限的相路由器交换并更新路由信息。

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

距离向量算法

  1. 修改相邻路由器发来的RIP报文中所有表项。

    对地址为X的相邻路由器发来的RIP报文,修改此报文中的所有项目:把“下一跳”字段中的地址改为X,并把
    所有的“距离”字段+1。

    这里用一个演示图解释一下:

    image-20240309013653735

    与x相邻的路由为R1,x就把自己的上图路由表发给R1,原来的路由表表示,到Net3网络的最短路径为2跳,下一跳为R2,R1收到后就直接顺着修改成到Net3的最短路径为3,下一跳为x

  2. 对修改后的RIP报文中的每一个项目,进行以下步骤:

    • R1路由表中若没有Net3,则把该项目填入R1路由表。

    • R1路由表中若有Net3,则查看下一跳路由器地址:

      若下一跳是X不管距离大小,则用收到的项目替换源路由表中的项目;

      若下一跳不是X,比较原来距离比从X走的距离远则更新,否则不作处理。

  3. 若180s还没收到相邻路由器X的更新路由表,则把X记为不可达的路由器,即把距离设置为16。

  4. 返回。

RIP协议报文格式

image-20240309015032452

RIP特点

image-20240309015302320

要不断重复更新下去,直到双方路由表到网1的距离都更新到16,R1和R2才知道网络1是不可达的。

OSPF协议

定义
开放最短路径优先OSPF协议:“开放”标明OSPF协议不是受某一家厂商控制,而是公开发表的:”最短路径优先“是因为使用了Diikstra提出的最短路径算法SPF。

OSPF最主要的特征就是使用分布式的链路状态协议。

OSPF的特点

  1. 使用洪泛法向自治系统内所有路由器发送信息,即路由器通过输出端口向所有相邻的路由器发送信息,而每一个相邻路由器又再次将此信息发往其所有的相邻路由器;就相当于广播信息出去。最终整个区域内的路由器就得到了这个信息的一个副本。
  2. 发送的信息就是与本路由器相邻的所有路由器的链路状态(本路由器和哪些路由器相邻,以及该链路的度
    量/代价–费用、距离、时延、带宽等)。
  3. 只有当链路状态发生变化时,路由器才向所有路由器洪泛发送此信息。

最后,所有路由器都能建立一个链路状态数据库,即全网拓扑图。

链路状态路由算法

image-20240309093424516

OSPF的区域

OSPF常用于规模很大的网络,OSPF将一个自治系统再划分为若干个更小的范围,叫做区域;每一个区域都有一个32位的区域标识符(用点分十进制表示),区域也不能太大,在一个区域内的路由器最好不超过200个。

image-20240309093653477

位于主干边界的路由器,比如R3,R4,R7;既属于主干路由器也属于区域边界路由器

自治系统边界路由器就是与外界连接比如其他AS的路由器。

OSPF分组

image-20240309094030723

关于OSPF属于哪一层协议有点争议,判断某个协议属于哪一层:一个协议的实现需要依赖协议所在层次的下一层功能;所以RIP依赖UDP所以是应用层协议。

而OSPF依赖网络层,属于传输层协议;但是在考研的考纲中,OSPF是不使用UDP数据报传送,而是直接使用IP数据报传送,所以被划分到网络层协议。

其他特点

image-20240309095051174

BGP协议

交换信息的特点

  • 与其他AS的邻站BGP发言人交换信息。
  • 交换的网络可达性的信息,即要到达某个网络所要经过的一系列AS。
  • 发生变化时更新有变化的部分。

image-20240309095348561

发言人也不一定要是边界路由器,可以自己设定。

BGP协议交换内容首次为整个路由表,后面则为有变化的部分。

BGP交换信息过程

BGP 所交换的网络可达性的信息就是要到达某个网络所要经过的一系列 AS。当 BGP 发言人互相交换了网络可
性的信息后,各 BGP发言人就根据所采用的策略从收到的路由信息中找出到达各 AS的较好路由。

  • BGP发言人交换路径向量:

    image-20240309095956540

    主干网还可发出通知:要到达网络N5、N6和N7可沿路径(AS1,AS3)。

BGP协议报文格式

一个BGP 发言人与其他自治系统中的 BGP 发言人要交换路由信息,就要先建立 TCP 连接,即通过TCP传送,然后在此连接上交换 BGP 报文以建立 BGP 会话(session),利用 BGP 会话交换路由信息。

image-20240309100149532

BGP协议特点

BGP 支持 CIDR,因此 BGP 的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。

在 BGP 刚刚运行时,BGP的邻站是交换整个的 BGP路由表。但以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销都有好处。

BGP-4的四种报文

  1. OPEN(打开)报文:用来与相邻的另一个BGP发言人建立关系,并认证发送方。

  2. UPDATE(更新)报文:通告新路径或撤销原路径。

  3. KEEPALIVE(保活)报文:在无UPDATE时,周期性证实邻站的连通性;也作为OPEN的确认。

  4. NOTIFICATION(通知)报文:报告先前报文的差错;也被用于关闭连接。

三种路由协议的比较

image-20240309100705696

IP组播

IP数据报的三种传输方式

  1. 单播:单播用于发送数据包到单个目的地,且每发送一份单播报文都使用一个单播IP地址作为目的地址。是一种点对点传输方式。
  2. 广播:广播是指发送数据包到同一广播域或子网内的所有设备的一种数据传输方式,是一种点对多点传输方式。
  3. 组播(多播):当网络中的某些用户需要特定数据时,组播数据发送者仅发送一次数据,借助组播路由协议为组播数据包建立组播分发树,被传递的数据到达距离用户端尽可能近的节点后才开始复制和分发,是一种点对多点传输方式。

组播提高了数据传送效率。减少了主干网出现拥塞的可能性。组播组中的主机可以是在同一个物理网络,也可以来自不同的物理网络(如果有组播路由器的支持也就是运行组播协议的路由器)。

以一个发送视频数据的图例来解释:

image-20240309101432054

组播在每条链路上只有一份数据,大大降低网络拥塞的可能;如果是单播传输的话,服务器就要复制90份数据然后进行分发,链路上就会出现90份数据,网络拥塞程度就会上升。

image-20240309101706544

IP组播地址

IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个组播组IP地址(一群共同需求
主机的相同标识)。

组播地址范围为224.0.0.0~239.255.255.255(D类地址),一个D类地址表示一个组播组。组播地址只能用作分组的目标地址。源地址总是为单播地址。

组播数据报特点

  1. 组播数据报也是“尽最大努力交付”,不提供可靠交付,应用于UDP

  2. 对组播数据报不产生ICMP差错报文。

  3. 并非所有D类地址都可以作为组播地址。

硬件组播

在上面的视频传输的例子中,又有因特网范围内组播硬件组播

硬件组播是在局域网内进行组播;因特网组播则是还未进入局域网时组播。

image-20240309103003239

IGMP协议与组播路由选择协议

IGMP协议

也叫网际组管理协议

IGMP协议工作的两个阶段

  1. 某主机要加入组播组时,该主机向组播组的组播地址发送一个IGMP报文,声明自己要称为该组的成员。本地组播路由器收到IGMP报文后,要利用组播路由选择协议把这组成员关系发给因特网上的其他组播路由器。

  2. 本地组播路由器周期性探询本地局域网上的主机,以便知道这些主机是否还是组播组的成员。

    只要有一个主机对某个组响应,那么组播路由器就认为这个组是活跃的;如果经过几次探询后没有一个主机响应,组播路由器就认为本网络上的没有此组播组的主机,因此就不再把这组的成员关系发给其他的组播路由器。

组播路由器知道的成员关系只是所连接的局域网中有无组播组的成员。

image-20240309103754389

组播路由选择协议

组播路由选择协议目的是找出以源主机为根节点的组播转发树。

对不同的多播组对应于不同的多播转发树;同一个多播组,对不同的源点也会有不同的多播转发树。

image-20240309104118961

常用的三种算法

  1. 基于链路状态的路由选择

  2. 基于距离-向量的路由选择

  3. 协议无关的组播(稀疏/密集)

    组播组中的主机比较分散就用稀疏算法;较为密集就用密集算法。

第一第二种都在前面有说过。

移动IP

相关概念

移动IP技术是移动结点(计算机/服务器等)以固定的网络IP地址,实现跨越不同网段的漫游功能,并保证了基于网络IP的网络权限在漫游过程中不发生任何改变。

移动结点 具有永久IP地址的移动设备。

归属代理(本地代理) 一个移动结点的永久“居所”称为归属网络,在归属网络中代表移动节点执行移动管理功能的实体叫做归属代理。

永久地址(归属地址/主地址) 移动站点在归属网络中的原始地址。

外部代理(外地代理) 在外部网络中帮助移动节点完成移动管理功能的实体称为外部代理。

转交地址(辅地址) 可以是外部代理的地址或动态配置的一个地址。

移动IP通信过程

image-20240309105307481

网络层设备

路由器

路由器是一种具有多个输入端口和输出端口的专用计算机,其任务是转发分组。

image-20240309105633658

输入端口的处理

image-20240309105754630

输出端口

image-20240309105909980

三层设备的区别

路由器 可以互联两个不同网络层协议的网段。

网桥 可以互联两个物理层和链路层不同的网段。

集线器 不能互联两个物理层不同的网段

image-20240309110212888

路由表与路由转发

路由表根据路由选择算法得出的,主要用途是路由选择,总用软件来实现

image-20240309110538681