一、分类编址的IPv4地址 与 NAT
二、划分子网的IPv4地址
三、无分类编址的IPv4:CIDR
小结:
四、网络层转发分组过程
给左边的网络分配:
网络地址192.168.0.0
子网掩码:255.255.255.128
给右边的网络分配:
网络地址192.168.0.128
子网掩码:255.255.255.128
直接交付:同一个网络中的主机之间可以直接通信
间接交付:不同网络中的主机之间的通信需要通过路由器来中转
默认网关(默认路由)
主机c如何知道应该把IP数据报交给哪个路由器进行转发呢?
用户为了让本网络中的主机能和其他网络中的主机进行通信,就必须指定网络中的一个路由器,该路由器帮忙进行转发。所指定的路由器也被称为默认网关(默认路由)
对于本例:
将路由器接口0的IP地址指定给该接口所直连网络中的各个主机作为默认网关
将路由器接口1的IP地址指定给该接口所直连网络中的各个主机作为默认网关
当本网络的主机要和其他网络中的主机进行通信时,会将IP数据报传输给默认网关。由默认网关帮主机将IP数据报转发出去。
假设本例中的主机A要给主机D地发送IP数据报。这属于间接交付主题,A会将该IP数据报传输给自己的默认网关,也就是图中所示的路由器。
那么当路由器收到IP数据报后又是如何转发的呢?
(1)路由器首先会检查IP数据报的首部是否出错,若出错则丢弃带IP数据报并通告原主机;若没有出错和进行转发
(2)路由器根据IP数据报首部中的目的地址,在自己的路由表中查找匹配的路由条目,若找到匹配的路由条目,则转发给路由条目中指示的吓一跳;若找不到,则丢弃该IP数据报并通告源主机。
具体过程举例:
为了简单起见,我们假设本地中的数据报首部没有出现差错。
路由器取出IP数据报首部各地址字段的值,原地址字段的值为主机A的IP地址。目的地址字段的值为主机D的IP地址。接下来路由器就要对该IP数据报进行查表转发了:
当我们给路由器的接口配置IP地址和子网掩码时,路由器就知道了自己的该接口与哪个网络是直连的。
接口0所直连的网络是192.168.0.0 ,相应的地址掩码为255.255.255.128 ,不需要下一跳,路由器因为接口与该网络是直连的。
接口1所直连的网络是192.168.0.128,相应的地址掩码为255.255.255.128 ,不需要下一条路由器,因为接口1与该网络是直连的。
(路由表中可能还会其他路由条目)
(1)路由器根据IP数据报首部的目的地址在自己的路由表中查找匹配的路由条目。逐条检查路由条目:
将路由条目中的地址掩码和目的地址 按位与运算 得到目的网络地址
若该目的网络地址与路由条目中的目的网络地址不相同,则这条路由条目不匹配,再检查下一条路由条目。
将路由条目中的地址掩码和目的地址 按位与运算 得到目的网络地址,
该目的网络地址与路由条目中的目的网络地址相同,则这条路由条目就是匹配的路由条目。按照它的下一跳指示,也就是从接口1转发该IP数据报。这样主机D就可以收到路由器转发来的该IP数据报。
(2)若前面的都失败。但转发表有一个默认路由,则把分组转发给默认路由。
补充:
得到下一跳路由器的IP地址后,并不是直接将该地址装入待发送的数据报,而是通过ARP将该IP地址转化为MAC地址,将MAC地址放入MAC帧首部中,然后根据这个MAC地址找到下一跳路由器。
《计算机网络微课堂》—湖科大教书匠