网络层概述--IP组播、移动IP、网络层设备
1、IP组播
1.1、IP数据报的三种传输方式
单播:
单播用于发送数据包到单个目的地,且每单播发送一份单播报文都使用一个单播IP地址作为目的地址。是一种点对点传输方式。单播所占的资源和带宽比较多,因为在发送者和每一接收者之间需要单独的数据信道。
广播:
广播是指发送数据包到同一广播域或子网内的所有设备的一种数据传输方式,是一种点对多点传输方式。(源地址是单播IP地址,目的地址是全1广播地址)
组播(多播):
当网络中的某些用户需要特定数据时,组播数据发送者仅发送一次数据,借助组播路由协议为组播数据包建立组播分发树,被传递的数据到达距离用户端(局域网络)尽可能近的节点后才开始复制和分发,是一种点对多点传输方式。(到最后一步,一个数据报才会被复制成多个数据报,分发给各主机)
1.2、单播与多播的比较
组播提高了数据传送效率。减少了主干网出现拥塞的可能性。组播组中的主机可以是在同一个物理网络,也可以来自不同的物理网络(需要有组播路由器的支持,组播路由器就是运行组播协议的路由器,组播路由器既可以运行组播协议也可以运行单播协议)。多播地址只能用于目的地址,不能用于源地址
问题来了,发送的时候,怎么知道哪些主机是一个组播组呢?——IP组播地址
1.3、IP组播地址
分析:我们知道,在因特网中进行通信时,每个主机都有一个全球唯一的IP地址。如果组播组中的某个主机想接收组播数据报,组播数据报如何才能传到该主机中呢?组播数据报的目的地址肯定不能只写该主机的IP地址,因为这样写,只会发给这一个主机,其他的同处于多播组的主机收不到该数据报。但是也不可能在其首部写入这样多的主机的IP地址。因此,需要在该主机中产生一个IP组播地址,来接收组播数据报。
IP组播地址: IP组播地址让源设备能够将组播数据报发送给一组设备。即属于多播组的设备将被分配同一个组播组IP地址(一群共同需求主机的相同标识)。
组播地址范围:组播地址范围为224.0.0.0~239.255.255.255(D类地址),一个D类地址表示一个组播组。只能用作分组的目的地址。源地址总是为单播地址。
1.4、IP组播数据报特点
- 组播数据报也是“尽最大努力交付”,不提供可靠交付,应用于UDP。
- 对组播数据报不产生ICMP差错报文。
- 并非所有D类地址都可以作为组播地址。
IP组播可以分为两个部分,一部分是因特网范围内组播,一部分是局域网内部硬件组播。现在大部分主机都是通过连接局域网然后再连接因特网,所以最后通过因特网范围内组播之后还是要进入到局域网内的硬件组播。
1.5、硬件组播与组播MAC地址
硬件组播: 硬件组播说的其实就是在局域网范围内,对于一个组播数据报,应该怎么发给这些主机或者说给哪些主机。
组播MAC地址如何得到?:比如现在发来一个单播数据报,进入局域网后应该交给哪个主机?要看主机的MAC地址。同单播地址一样,组播IP地址也需要相应的组播MAC地址在本地网络中实际传送帧。组播MAC地址(48位=6B)以十六进制值01-00-5E(固定)打头,余下的6个十六进制位是根据IP组播组地址(D类IP地址)的最后23位转换得到的。
TCP/IP协议使用的以太网多播MAC地址的范围是:从01-00-5E-00-00-00到01-00-5E-7F-FF-FF
不同IP地址可能映射成同一MAC地址:可以发现,IP地址不能使用的5位可以构成2^5=32个IP地址。如果这32个主机的IP地址后面23位一样,那么这32个IP地址映射到多播MAC地址上就是一样的。也就是说,会导致32个不同的IP地址映射成了同一个MAC地址。如何解决?——进行过滤
过滤:收到多播数据报的主机,还要在IP层利用软件进行过滤,把不是本主机要接收的数据报丢弃。
1.6、IGMP协议与组播路由选择协议
1.6.1、IGMP协议(网络层)和组播路由选择协议概述
IGMP协议:
在一个路由器内部所使用的协议。
为什么使用IGMP协议:对于一个连在局域网上的组播路由器,查询它所连的局域网上是不是还有主机参加或退出了某个组播组。也就是一个组播路由器通过使用IGMP协议就可以知道它所连的局域网中,是不是还有可以接收组播数据报的主机。
组播路由选择协议:
一看到路由选择,就知道是一个在多个路由器之间进行路径选择的问题。
为什么使用组播路由选择协议:如果只有IGMP协议,无法完成组播的任务。因为连接在局域网上的组播路由器还必须要和因特网上的其他路由器进行信息交换,才能够把组播数据报用一个最小的代价(最优路径)来传送给组播组中的全部成员。这时就需要使用组播路由选择协议。
这两个协议其实就是在因特网范围内组播组要使用到的一些协议。
1.6.2、网际组管理协议IGMP
Internet group management protocol:网际组管理协议
IGMP协议作用:IGMP协议让路由器知道本局域网上是否有主机(的进程)参加或退出了某个组播组。
上图,有四个标明了IP地址的主机加入了组播组,组播IP地址是226.15.37.123。每个路由器通过使用IGMP协议可以判断如果如果接收到一个组播组数据报,要不要给我局域网中的主机。ICMP和IGMP都使用IP数据报传递报文。
IGMP工作的两个阶段:
ROUND 1:
- 主机向组播组地址发送IGMP报文表示要加入:某主机要加入组播组时,该主机向组播组的组播地址发送一个IGMP报文,声明自己要成为该组的成员。
- 加入后,也要告诉其他在组播组中的路由器呀:本地组播路由器收到IGMP报文后,要利用组播路由选择协议把这组成员关系发给因特网上的其他组播路由器。
ROUND 2:
- 定期探询,各主机是否还是组播组成员:本地组播路由器周期性探询(发送IGMP询问报文)本地局域网上的主机,以便知道这些主机是否还是组播组的成员。既然是询问,结果就有两种!
- 探询结果1——有主机响应:只要有一个主机对某个组响应,那么组播路由器就认为这个组是活跃的。
- 探询结果2——无响应,则不再发送该成员关系:如果经过几次探询后没有一个主机响应,组播路由器就认为本网络上的没有此组播组的主机,因此就不再把这组的成员关系发给其他的组播路由器。(有一个细节:组播组中有一台主机响应,该主机相当于代表一样告诉组播路由器我们还有一个组播组在这,那么该组播组内其他主机就不需要响应了)
- 成员关系:组播路由器知道的成员关系只是所连接的局域网中有无组播组的成员。 但是并不知道这一组成员有多少个,可以通过组播路由选择协议知道。
1.6.3、组播路由选择协议
虽然在TCP/IP中IP多播协议已成为建议标准,但多播路由选择协议(用来在多播路由器之间传播路由信息)则尚未标准化。
在多播过程中一个多播组中的成员是动态变化的。例如在收听网上某个广播节目时,随时会有主机加入或离开这个多播组。多播路由选择实际上就是要找出以源主机为根节点的多播转发树。在多播转发树上,每一个多播路由器向树的叶节点方向转发收到的多播数据报,但在多播转发树上的路由器不会收到重复的多播数据报(即多播数据报不应在互联网中兜圈子)。不难看出,对不同的多播组对应于不同的多播转发树。同一个多播组,对不同的源点也会有不同的多播转发树。
2、移动IP
- QQ是根据IP登录的,当你没有在开通手机号的地区登录时,就会有异地登录提醒。
- 之所以会产生漫游费,是因为这个过程会使用移动IP的技术,不管手机移动到哪里,都可以保证IP地址不变,别人依旧可以和这个IP 地址通信。这样的话就需要再引入一个转交地址,那么就需要对这2个地址进行管理,这样就可能产生额外的费用。
2.1、移动IP相关概念
移动IP技术是移动结点(计算机/服务器等)以固定的网络IP地址,实现跨越不同网段的漫游功能,并保证了基于网络IP的网络权限在漫游过程中不发生任何改变。
- 移动结点: 具有永久IP地址的移动设备。
- 归属代理(本地代理): 一个移动结点拥有的就“居所”称为归属网络,在归属网络中代表移动节点执行移动管理功能的实体叫做归属代理。
- 外部代理(外地代理): 在外部网络中帮助移动节点完成移动管理功能的实体称为外部代理。
- 永久地址(归属地址/主地址): 移动站点在归属网络中的原始地址。
- 转交地址(辅地址): 移动站点在外部网络使用的临时地址。
2.2、移动IP通信过程
A移动到了下一个网络:
- 在新外部代理登记注册一一个转交地址。
- 新外部代理给本地代理发送新的转交地址(覆盖旧的)。
- 通信
A回到了归属网络:
- A向本地代理注销转交地址。
- 按原始方式通信。
3、网络层设备
3.1、路由器
路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。
路由器组成
3.2、输入输出端口对线路上收到的分组的处理
1、输入端口对线路上收到的分组的处理过程:
- 在交换结构中进行分组处理:若收到RIP/OSPF分组(路由器之间交换信息的分组)等, 则把分组送往路由选择处理机;若收到数据分组,则查找转发表并输出。
- 为什么分组要排队:查表和转发时会产生时延,可以看出输入端口中的查找和转发功能在路由器的交换功能中是最重要的。
2、输出端口的处理过程:
缓存区域就是队列,如果交换结构转发到输出端口的速度超出链路发送的速度,可以在缓存区域排队。
3.3、三层设备的区别
- 路由器:可以互联两个不同网络层协议的网段。
- 网桥(链路层设备):可以互联两个物理层和链路层不同的网段。
- 集线器:傻瓜设备,不能互联两个物理层不同的网段。
3.4、路由表与路由转发
路由表(下一跳走哪):路由表根据路由选择算法得出的,主要用途是路由选择,总用软件来实现。
默认路由: 只要发送的分组在路由表中找不到对应的下一跳IP地址,就应该发给默认路由。
转发表: 转发表由路由表得来,可以用软件实现,也可以用特殊的硬件来实现。转发表必须包含完成转发功能所必需的信息,在转发表的每一行必须包含从要到达的目的网络到输出端口和某些MAC地址信息的映射。
3.5、路由器安全(信息安全)
安全管理措施: 为了保证路由器最基本的安全,需要在路由器上采取设置访问控制列表和升级IOS进行安全补漏的安全管理措施。(路由器安全是针对黑客入侵的逻辑安全)
IOS: 互联网操作系统IOS(Internetwork Operating System)