路由器作为网络层的中间设备,起到了连接不同网络的功能
    因此它可以同时属于不同的网络
    image.png
    如图,两个路由器连接了网1,网2与网3
    路由器A连接网1与网2,同时具有网1与网2的IP15.0.0.920.0.0.1
    路由器A连接网2与网3,同时具有网2与网3的IP20.0.0.930.0.0.1
    路由器根据具体的IP地址来转发数据
    当路由器接受到一个数据包,这个数据包包含了该数据包的目的IP地址,随后使用该IP查找路由表
    根据匹配结果对照路由表来决定从哪个端口发送出去
    对于路由器A
    最简化的路由表结构如图

    目的网络地址 下一跳地址
    20.0.0.0 接口1(20.0.0.1)
    15.0.0.0 接口2(15.0.0.1)
    30.0.0.0 20.0.0.9

    当路由器A从网1收到来自IP15.0.0.2发送往20.0.0.2的数据报,
    这时候会从15.0.0.1处接受数据
    然后根据路由表发现,目的IP为20.0.0.2的目的网络为20.0.0.0
    符合路由表的第一项,从接口1发送出去.
    当从网1收到来自IP15.0.0.2发送往30.0.0.2的数据报
    15.0.0.1处接受数据
    然后根据路由表发现,目的IP为30.0.0.2的目的网络为30.0.0.0
    符合路由表的第三项,就发往路由器B的20.0.0.9
    路由器B接受数据随后对照路由表发送给目的主机

    即转发的基本步骤如下

    1. 从数据报的首部提取目的主机的IP地址D,得出目的网络地址N(子网掩码和IP地址做与运算可得出网络地址)。
    2. 若N就是于此路由器直接相连的某个网络地址,则进行直接交付,不需要在经过其他路由器,直接把数据报交付给目的主机;否则就是间接交付。
    3. 若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器。
    4. 若路由表中有达到网络N的路由,则把数据报传送给路由表中所指明的下一跳路由器。
    5. 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器。
    6. 报告转发分组出错。