一篇带你串联计算机网络---网络层(计算机网络之网络层)本文讲的是计算机网络中的最重要,知识点最多的层--网络层,一篇串
网络层:
要学习网络层,首先需要对网络层是怎么设计的(设计思路),有什么用(功能),对其架构是什么样的有一个初步的认知。下面就从设计思路、功能、架构概述这三方面对网络层进行一个阐述,希望读者能有一个初步的认识,为后续路由器的转发,路由选择的学习打好基础:
一:网络层简单的设计思路是:
向上只提供简单灵活的,无连接的,尽最大能力交付数据报服务。也就是说如果数据(分组)可能出差错被丢弃,使得接收端收到的数据缺失(即不可靠传输),但需注意区别,可靠传输和无差错传输,这里虽然是不可靠传输,但收到的数据都是正确的(正确不一定等于全部都收到,可能是收到部分,那部分一定是无差错的)。
采用这种思路的优势是:
1、使网络的路由器比较简单,不需要负责可靠传输这个功能;
2、网络造价大大降低,运行方式更灵活,能够适应多用应用;
二:网络架构SDN:
软件定义网络(SDN) 是近几年流行的一种创新的网络架构。采用集中式控制平面(对应路由选择)和分布书的数据平面(对应转发);可以理解为把网络层分成1、数据平面(负责转发);2、控制平面(负责路由选择)。
传统的网络架构是路由器同时担负路由选择和转发两个功能,SDN架构中,路由器只负责转发,路由选择问题交给另外有独立服务器的软件来控制。
SDN的优点:
1、集中式控制,分布式高速转发;
2、路由选择和转发功能分离
缺点:容易受攻击,黑客只要攻击控制平面,就能使整个网络瘫痪。
SDN常见接口:
上面说到路由选择问题是交给另外独立服务器的软件来控制,既然有软件,那就会有一些功能被封装成接口, 下面是常见的接口:
1、北向接口:用户想设计自己的SDN软件,用的就是北向接口; 2、南向接口:SDN控制器和转发设备建立双向会话的接口; 3、东西向接口:用于增强整个控制平面的可靠性和拓展性;
三:网络层的功能:
1、路由选择、分组转发(也是最重要的功能):数据以分组为单位,由路由器通过一定的路由选择算法进行转发
2、拥塞控制(这里区别于数据链路层的流量控制,流量控制是让发送端慢点发,拥塞控制是对整个网路的负载而言做整体的把控),拥塞控制。
3、实现异构网络互联:(异构网络是指数据链路层和物理层均不同的网络)把全球范围内的所有网络互联起来;
自此,相信你们对网络层的有一个印象,下面将从网络层的功能中的转发,路由选择两方面对其进行阐述
功能一:转发:
转发的过程可以总结为:IP在很大的互联网中找到目的网络(即找到某个局域网),然后通过ARP协议,在局域网通过IP与MAC地址的映射,找到目的主机,完成通信。(即找到目的网络--->找到MAC地址)
怎么找到目的网络
网络层依靠路由器计算:目的ip地址&子网掩码/网络掩码=目的网络 *从而确定收到的ip地址要转发到哪个接口,对此我们需要有ip的格式,ip地址,ip的编址有一定的了解。 *才能知道路由器是怎么工作,怎么通过计算收到的ip然后对其进行转发的。
一:IP(即IP数据报):
ip地址的表示方式: 比较简单,也就是用32个二进制数表示(一般写成点分十进制表示),如192.168.1.0 这一点大家应该都很清楚,这里就不过多的叙述
ip数据报的格式:
IP数据报其实是由首部➕数据部分组成的。首部固定大小20B,首部由固定部分和可变部分组成。
IP数据报的格式:直接上图,下面解释各个字段的所代表的意义:
1、版本:指定IP数据报的版本,IPv4或者IPv6;
2、首部长度:指定首部的长度,占4位,单位为4B(以4字节为单位);
规定首部最小为20B,所以首部字段为0101-1111;
3、区分服务:期望获得哪种类型的服务;
4、总长度:整个IP数据报的长度(首部➕数据部分),占16位,单位为1B,所以IP最长为2的16次=65535B;
标识,标志,片偏移后面讲
5、生存时间TTL:IP分组不是能一直在路由器中转发的,而是有保质期的,也就是TTL,每经过一个路由器,TT L就会减1,当TTL为0时丢弃该IP;
6、协议:指定数据部分的协议(相关协议后面会讲)
7、首部校验和:只对首部进行检验
8、源地址:也就是发送该IP的发送端端IP地址
9、目的IP地址:接收端端IP地址
10、可选部分:不需要了解
11、填充:当首部长度少于20B时,填充全0,保证首部长度为20B;
二:分组:
路由器接收和转发IP时,对IP的长度有要求,当IP过长时,主机或路由器会将IP数据报切割,形成分组(分组可以理解为长度小一点的IP数据报),那么如何区分不同分组是否来自同一个IP呢,同时,如何区分同一IP下的分组顺序呢?当然是从标识,标志,片偏移这三个字段结合来判断。
1、标识:同一IP的分片具有同一个标识;
2、标志:共3位,其中只有2未有意义:第一位没意义,第二位代表DF(don't fragment),第三位代表MF(more fragment):
当DF=1时表示禁止分片,当DF=0时表示允许分片。
当MF=1时表示该分片后面还有别的分片;当MF=0时表示该分片后面没有分片了,即该分片是该ip的最后一个分组。
显然,只有当DF=0时,MF才能起作用,才有意义。
3、片偏移:指出该分片的相对位置,占13位,单位8B
三:IP编址三种方式:
IP编址,也就是解决IP是怎么划分的。下面介绍三种IP编址的方法:
1、分类的IP地址;
2、子网划分的方式;
3、CIDR地址块;
1、分类的IP地址方式:
这种方式将IP分为网络号+主机号
分类的IP地址方式,将IP分为A、B、C、D、E类:
A类:1-126开头
B类:128-191开头
C类:192-223开头
D类:224-239开头
E类:240-255开头
网络类别 | 最大可用的网络数 | 第一个网络号 | 最后一个网络号 | 网络中最大的主机数 |
---|---|---|---|---|
A | 2^7 - 2 | 1 | 126 | 2^24-2 |
B | 2^14 | 128.0 | 191.255 | 2^16-2 |
C | 2^21 | 192.0.0 | 223.255.255 | 2^8-2 |
私有IP地址:
地址类别 | 范围 | 网段个数 |
---|---|---|
A类 | 10.0.0.0-10.255.255.255 | 1 |
B类 | 172.16.0.0-172.31.255.255 | 16 |
C类 | 192.168.0.0-192.168.255.255 | 256 |
其中有一些特殊的IP地址:
网络号全0的地址表示本网络,可以作为源IP地址,不能作为目的IP
主机号全1的地址表示广播地址,不能作为源IP地址,可作为目的IP地址。
网络号位127的既可以作为源Ip也可以作为目的IP
NAT技术:
解释为什么要有私有IP地址: 有时我们使用IP时不希望把自己的IP暴露在公众下,就使用私有IP地址,路由器对私有IP地址的发出来的分组一律是不会转发的,如果需要转发,就需要使用NAT技术,NAT技术其实就是路由器中装有NAT软件,能实现私有IP和公有IP的映射,以及对应端口的映射,将私有IP转为公有IP再发送分组。同样,如果路由器收到对应的公有ip的分组,会将该公有IP对照自己的NAT转换表,转为对应的私有IP在准确的发送到对应主机。
2、子网划分方式:
1、子网划分是什么:
子网划分只是把ip地址的主机号这部分进行在划分,而不改变ip地址原来的网络号,因此,从一个ip地址本身或ip数据报的首部,无法判断该主机所连接的网络是否进行了子网划分。
2、那么问题来了,怎么知道这个网络是否有进行子网划分呢?
这里就引入子网掩码概念:为了告诉主机或路由器对一个A B C类网络进行了子网划分,就使用子网掩码来表达原网络中的主机号借位。子网掩码规定的格式为,网络号+子网号全1,主机号全0。至此,通过A B C类ip可以知道该ip地址到底有几位是网络号,通过子网掩码,知道网络号➕子网号占几位(子网号自然也就能求出来),主机号也就是剩下的几位。如一个目的主机的ip地址为192.168.5.56 (56: 00111000),子网掩码为255.255.255.224(224: 11100000)可知,前24位为网络号,中间3位为子网号,最后5位置为主机号。
由于目的ip地址 & 子网掩码 =目的网络。所以,相同的ip地址&不同的子网掩码可能得到相同的目的网络,
所以在设置子网掩码的时候并不是随便设置的,要尽量避免在相同的ip地址范围使用不同的子网掩码。
3、为什么要有子网划分这种方式:
将原来的网络号+主机号这种二级分类方式改为网络号+子网号➕主机号,这种三级的分类方式,解决了二级划分情况下IP资源利用率低的问题。
3、无分类编址CIDR方式:
CIDR使用网络前缀➕主机号,这种方式来划分ip地址,使用斜记法,如192.168.45.1/20,表示前20位为网络号,后12位为主机号。
1、CIDR编址的优点:
1)消除了传统的A B C类地址以及划分子网的概念,更加灵活的划分ip
2)融合了子网地址和子网掩码,方便子网划分。
2、相关概念:
CIDR地址块:网络前缀相同的连续IP地址可以组成CIDR地址块。显然,一个CIDR地址块可以表示很多地址(类似一个网络),这种地址的聚合称为路由聚合,或称构成超网。如网络A: 206.1.0.0/17和网络B:206.1.128.0/17可以聚合成超网:206.1.0.0/16 。问题又来了,为什么要聚合:路由聚合使得路由表中的一个项目可以表示多个ip地址,有利于减少路由之间的信息交换,从而提高网络性能。
3、通过CIDR方式的ip地址,在路由器中是如何找到下一跳的?
原理与子网划分的方式差不多,需要注意的是,CIDR虽然消去了子网掩码概念,但还是有子网掩码的思想,这里我们称为CIDR掩码,或者网络掩码。网络掩码规定:网络前缀全1,主机号全0
过程:由路由表中的目的网络可以求出其网络掩码,路由器收到目的ip地址时,将目的ip地址&各网络掩码,得到目的网络,如果目的网络在路由表中有记录,也就是下一跳就是对应的接口(这里需要注意,目的ip地址&各网络掩码可能出现多个能匹配的目的网络,这是我们要选择网络前缀更长的那个网络,(也就是最长匹配原则),因为网络前缀越长,主机号越短,CIDR地址块越小,路由更具体)
总结怎么找到目的网络:
路由器收到ip后,通过*目的ip地址&子网掩码/网络掩码=目的网络 (与运算:两个1才是1,其他都是0) *。知道该ip是通往哪个网络的,再对照路由表中的信息(路由表中有:目的网络,子网掩码,下一跳接口)找到对应的下一跳,即可进行转发。
那么问题来了,这次转发实际上只是完成的*找到目的网络, **并没有找到目的主机,也就是还没找到MAC地址。 *那么IP是怎么在局域网中找到自己的目的主机的呢?当然是通过一定的协议,下面,我们介绍ARP协议:
怎么找到目的主机(MAC地址):
1、ARP协议
ARP协议(Address Resolution Protocol),地址解析协议。完成的是IP地址与目的mac地址之间的映射:在一个局域网内,发送方A向接收放B发送IP数据报时,先在其ARP高速缓存中查看有没有B的mac地址,如果有,就可以查看与该ip地址对应的mac地址,也就是查看到了具体地址了,直接发送。如果没有,发送端会向该局域网发送一个广播ARP请求分组,其中包含《源IP,目的IP,发送方MAC,下一跳MAC》其中下一跳MAC为全1,表示广播。接收方收到该广播分组后,响应单播的ARP响应分组《下一跳IP,下一跳mac》,告诉发送端自己的mac地址。
注意:ARP协议解决的是同一局域网上的主机或路由器的IP地址与MAC地址之间的映射问题,如果两台主机位于不同的局域网,ARP其实就是不同局域网上的路由器之间的交流,可以理解为找个代表,一步一步缩小范围,最后找到目的mac地址。
补充知识点:
细心的同学会发现,目的IP地址是怎么来的呢,我们日常使用的电脑(主机),是怎么获取自己的IP地址的呢?最原始的方法是手动配置IP地址,子网掩码,默认网关等。然而,手工配置麻烦,有没有一种自动的配置方法呢?有,当然也是通过一定的协议,下面我们介绍DHCP协议:
补充一:DHCP协议:
DHCP协议)(Dynamic Host Configuration Protocol),也叫动态主机配置协议。用于给主机动态的分配IP地址,它提供了即插即用的联网机制,允许地址重用,支持在用地址续租。这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与。
原理也比较简单:通过主机与DHCP服务器之间的交换:
1、主机到达新的网络后,广播发送DHCP发现报文;(有没有IP能配置给我)
2、DHCP服务器收到该报文后,响应广播DHCP提供报文;(有)
3、主机发送广播DHCP请求报文;(那给我一个IP)
4、DHCP服务器广播DHCP确认报文。(ok)
补充二:ICMP:
在本文的最初提到,网络层的设计思路是提供“尽最大努力交付”的服务,为了提高IP数据报的交付成功的机会,在网络层使用的网际控制报文协议(Internet Control Message Protocol,ICMP)来让主机或路由器报告差错和异常情况。
ICMP工作原理是通过发送ICMP报文来实现的,具体实现了
1、差错/异常报告;
2、网络探寻;
ICMP报文有两种:1、ICMP差错报文 2、ICMP询问报文
1、ICMP差错报文
1)终点不可达:当主机或路由器不能交付ip数据报时,会向源点发送终点不可达报文;
2)源点抑制:当主机或路由器由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报发送速率放慢;
3)时间超时:当TTL=0时,发送时间超时报文。(TTL是前面讲到的IP数据报格式中的字段,即生存时间);
4)参数问题:当主机或路由器发现收到的IP数据报的首部中有的字段的值不正确时,就丢弃该ip数据报,并向源点发送参数问题报文;
5)改变路由(重定向):路由器把改变路由报文发送给主机,告诉主机下次应该将数据报发送给另外的路由器(有更好的选择。)
2、ICMP询问报文:
1)会送请求和回答报文(如我们经常使用的Ping命令);
2)时间戳请求和回答报文; 3)地址掩码请求和回答报文;
4)路由器询问和通告报文;
ICMP可以理解为有错就发送ICMP报文,当然,并不是一出问题主机或路由器就会发送ICMP报文通知发送方的,下面3种是即使出错了也不会发送ICMP报文的情况:
1、ICMP报文本身自己出错;
2、第一个分片后续的所有分片出错;(分片的知识也是IP数据报格式里讲的)
3、目的地址为组播地址的IP数据报出错(关于什么是组播地址后面会讲);
4、目的地址为特殊地址的IP数据报出错(如127.0.0.0 0.0.0.0);
以上就是以IPv4为例子的转发内容的讲解;接下来,我们考虑一个问题,IPv4是以32位2进制的数表示的,如192.168.1.0。也就是总的IP地址也就2的32次方,总有用完的一天。随之互联网的普及,IPv4地址也的确不够分配了,那么想要解决IP地址不够用的情况,一是省着点用,从分类的IP地址-->子网划分-->CIDR地址的演变,其实就是省着点用的方案,因为总的也就2的32次方那么多,分配的个人,怎么划分子网,也不可能多于2的32次方吧!!!!。二是能不能找到种能表示更多,几乎用不完的IP地址的表示方法,答案肯定是能的,即IPv6;
补充三:IPv6:
IPv6,就是IP的版本是v6,采用的是128位的二进制数来表示,每4位用一个16进制的数来表示(如4BF5:AA22:0000:0000:0000:0000:2170:8E9A),可知IP的总数为2的128次方,是一个天文数字,据说这个范围能覆盖地球上的每一个粒子。所以IPv6上从本质上解决了IP地址不够用的情况。 IPv6的表示方式:
一般方式:4BF5:AA22:0000:0000:0000:0000:2170:8E9A
压缩方式:4BF5:AA22::2170:8E9A
IPv6的类型:
1、单播:可作为源/目的地址;
2、多播(组播):可作为目的地址;(多播包含广播)
3、任播:IP数据报只交给任播组中的一台主机
那么现在问题又来了,如果主机A使用的是IPv4地址,主机B使用的是IPv6地址,那么两台主机还能完成通信吗?能:两台主机之间要通信,必须遵循一定的协议:
双栈协议:
让一台设备同时拥有IPv4地址和IPv6地址,如果要跟IPv4地址的主机通信,就使用IPv4地址发送,当然,如果要跟IPv6地址的主机通信,就使用IPv6地址发送。
隧道协议:
主机A(使用IPv4)向主机B(使用IPv6)发送数据时,会使用隧道协议对其进行封装,然后通过隧道发送:IPv4要进入IPv6网络时,吧这个那个IPv4数据报封装成IPv6数据报的数据部分,使得IPv6数据报就好像在IPv4网络隧道中传输。
总结功能一:转发:
路由器通过目的IP&子网掩码=目的网络,找到某个局域网,然后通过ARP协议,找到具体的某台主机,这就完成了转发的功能。其中需要学习的从目录即可明显看出。
自此网络层的转发功能也就告一段落。下面思考一个问题:路由表中的信息是怎么来的。当然是通过路由选择算法得到的。
路由选择算法:
自治系统AS
在讲路由选择算法之前,先补充一个知识,自治系统AS
为了方便管理,将一个很大的互联网划分成一个区域一个区域,这样一个区域称为自治系统AS; 自治系统AS内有自己的路由选择协议,即IGP(内部网关协议):RIP和OSPF就是属于IGP范围内的。
当然,自治系统间也是有自己的路由选择协议的,即EGP(外部网关协议):如BGP
自治系统内:
自治系统内的路由选择算法,也就是通过一点的方式,一定的算法,计算出下一跳。
自治系统内路由选择算法包含两部分:
1、静态路由算法:管理员手工配置路由表信息,这种缺点就很明显,如果路由表很多,网络拓扑复杂,就很难找出一个合适的路径,而且如果某个节点出现问题,整个路径可能都要改动。但也不是没用,这种方式使用于一些小型的专有网络,如军事网。其网络拓扑一般不改变。
2、动态路由算法:(动态路由算法有两种:)
1)距离向量算法,(其中基于距离向量算法的RIP协议是路由选择中很重要的协议)
2)链路状态算法,(其中基于链路状态算法的OSPF协议也是路由选择中很重要的协议)
距离向量算法
下面通过一道题来了解距离向量算法的思想:
IGP之RIP协议--应用层协议:
RIP协议(Rounting Information Protocol)是一种分布式的,基于距离向量算法的协议。
RIP协议原理:通过交换相邻路由表的信息,维护自己到目的网络的最短距离和下一跳。
总结就是“交换”:
1、和谁交换:相邻路由表
2、交换什么:交换自己的路由表
3、什么时候交换:每隔30s交换1次,如果180秒内收不到路由表的信息,则判定相邻路由器或之间的路径有故障。更新所有通过该路径的路由表。
最终,路由表完整,即收敛。
如:路由表R6收到相邻路由表R4的路由信息,则更新完的R6的路由表信息为:
路由表R4:
目的网络 | 距离 | 下一跳 |
---|---|---|
N1 | 3 | R1 |
N2 | 4 | R2 |
N3 | 1 | 直接交付 |
路由表R6:
目的网络 | 距离 | 下一跳 |
---|---|---|
N2 | 3 | R4 |
N3 | 4 | R5 |
更新完的R6:
目的网络 | 距离 | 下一跳 |
---|---|---|
N1 | 4 | R4 |
N2 | 5 | R4 |
N3 | 2 | R4 |
每次更新并不一定使用距离更短,因为网络拓扑可能发生改变,距离变长也是合理的。
RIP报文:
相邻路由表的信息交换载体就是RIP报文,每个RIP报文最多能携带25条路由表项信息,如果该路由表的表项太多,就会分多次传输。所以RIP协议只适用于网络规模小的互联网。
RIP报文:
RIP报文是直接分装在UPP中传输的,UDP是传输层的传输单元,所以,RIP协议其实是应用层协议
存在问题:
1、好消息传得快,坏消息传得慢
2、不实用于规模很大的互联网
IGP之OSPF协议--传输层协议:
OSPF协议采用链路状态算法思想,即使用*洪泛法, *给相邻路由表发送路由信息,并由相邻路由表依次传下去,最后每个路由表都拥有一张全网的拓扑图,在通过Dijkstra算法得出权值最优的路径(权值可能是路径,也可能是费用,是管理员自己定义的。)
总结也就是“交换”:
1、和谁交换:相邻路由表,洪泛法;
2、交换什么:本路由器和所有相邻路由器的路由器的链路状态;
3、多久交换一次:只有当链路发生改变时;
过程:1、发送问候分组,发现和维护邻站的可达性;
2、设置成本度量metric(权值)
3、构造DD数据库描述分组;数据库每隔30秒要刷新一次。
4、路由器发送LSR链路状态请求分组(请求更新)
5、邻站发送LSU链路状态更新分组(邻站进行更新)
6、邻站返回LSAck链路状态确认分组(邻站进行确认)
最后,用Dijkstra算法得出权值最优的路径记录在路由表中
OSPF报文:
OSPF报文是直接分装在IP数据报中的,所以说OSPF是传输层协议,有的课本也说是网络层协议
OSPF的优点:
1、不存在好消息传得快,坏消息传得慢点现象,都很快。
2、由于OSPF是自治系统内的协议,自治系统内还可以继续划分,这样一个路由器的路由信息其实很快就收敛,所以OSPF适合规模较大的互联网。
自治系统间:
EGP之BGP协议--应用层协议
自治系统间路由交换使用的协议是BGP协议(边界网关协议),采用的思想是路径-向量算法的思想
两个自治系统的路由信息交换,至少一个自治系统要有一个路由器作为代表。原理与OSPF一样。但是,由于是自治系统间,最大范围是因特网,范围太大了,所以BGP并不一定能找到最优解,只是该方案尽可能的好而已。
BGP报文:
BGP报文是直接封装在TCP中的,所以BGP协议属于应用层协议
总结RIP,OSPF,BGP:
RIP使用UDP为直接载体,采用距离向量算法思想---RIP为应用层协议--找到最佳路径 OSPF使用IP为直接载体,采用链路状态算法思想---OSPF为传输层协议--找到最佳路径
BGP使用TCP为直接载体,采用路径向量算法思想---BGP为应用层协议--找到更优路径
总结功能二:路由选择:
路由器通过一定的协议RIP,OSPF,BGP完成对路由表信息的更新,完成路由选择功能
补充四:IP组播:
单播:只有一个主机能收到信息
广播:所有主机都能收到信息
组播(多播):特定的一台或几台主机能收到信息(视频会议,直播间等)
为了能支持像视频点播和视频会议这样的多媒体应用,网络必须实施某种有效的组播机制。多个单播传过来仿真组播总是可能的,但会引起很大的网络开销。所以,组播技术得以出现:
组播一定是应用于UDP的,它是面向无连接的,尽最大努力交付的方式,而不是TCP面向连接,可靠的服务方式,这点很容易理解,比如直播间的所有用户并不是每个人都一直能收到相同的信息,有时网卡收不到。
组播机制有因特网层面的,也有局域网层面的:
1、因特网上的组播-IGMP:
一个组播路由器通过IGMP协议(网际组管理协议),就能知道本网内是否有主机参与或退出某组播组。
IGMP两个阶段:
1)某主机A想进入组播组,则A发出IGMP报文请求加入,本地网收到IGMP报文之后,利用组播路由选择协议(类似上面说到的路由选择协议),告诉因特网的某组播组A已经加入。这时,因特网上的路由器就知道哪些主机上在哪个组播组里面的了。
2)本地组播利用IGMP报文,周期性探寻本地局域网内还有没有组播组主机。
组播路由选择协议三种算法:1、基于链路状态的路由选择;
2、基于距离向量的路由选择;
3、协议无关的组播(PIM),这种算法可以建立在任何路由器协议之上,所以称为协议无关。
2、硬件组播:
组播数据报在因特网传输,然后进入某个局域网后的传输,称为硬件传输:
组播IP地址:
一个组播内的所有主机拥有一个组播IP地址,主播IP地址不是生来就有的,当主机A想进入某直播间时,才会给主机A一个主播IP地址。组播IP地址224.0.0.0--239.255.255.255(D类地址),只能作为目的地址,源地址还是单播地址。
组播MAC地址:
当主机A想进入某直播间时,才会给主机A一个主播IP地址,之后会根据这个组播IP地址生成组播MAC地址。那么问题来了,组播IP地址是怎么生成组播MAC地址的?
组播MAC地址一共48位:前24位一定是01-00-5E ,然后一位是0,接着最后23位来自组播IP地址的后23位。这样组播IP地址与组播MAC地址就有了映射
所以硬件传输是利用组播IP地址和组播MAC地址的映射完成的:
当组播IP地址在因特网中找到并进入某局域网后,通过其主播IP地址与组播MAC地址对比,找到对应的主机。
补充五:移动IP:
移动IP是指移动站(主机)在不同的区域都有相同的IP地址。
相关概念:
- 归属网络:移动节点的永久居所
- 归属代理:归属网络管理移动站。
- 永久地址(归属地址/主地址):移动站最原始的地址
- 外部代理(外地代理):外部网络中帮助移动节点通信的实体
- 转交地址:外部代理的地址。(这个地址是供移动站,归属代理,外地代理使用的,各种应用程序是不会使用该地址的)
移动IP技术的通信基本流程如下:
若移动站在归属网络内时:按传统的TCP/IP方式进行通信
若移动站在归属网络外时:
1)移动站赢在外地代理进行登记,获得一个转交地址,同时,外地代理也要在归属代理登记转交地址。
2)当别的主机发送数据给该移动站时,还是发送给归属代理,由归属代理转发给外部代理;
3)当该移动站发送数据给别的主机时,该数据是由外部代理转发的,但该移动站的源地还是永久地址
最后:
网络层设备:路由器,路由器完成的是转发和路由选择,相应的知识上面很详细。至此,网络层以全部结束,计算机网络中最难的层也就这样。如果想了解其他层,关注关注关注me!!!!
转载自:https://juejin.cn/post/7381804958126948404