三层转发的学习

1、网络拓扑

三层路由是根据 IP 地址进行进行转发,本章根据如上拓扑图。对 PC1 发出的报 文如何发送到 PC2,以及 PC2 如何回复 PC1 的过程进行学习。

2、三层互通

首先使用 PC1 去 ping 着 PC2,然后在 PC1 上抓包,分别查看 ARP 报文, 和 ICMP 报文的内容。

过程如下:

  1. 首先 PC1 发出 ARP 请求,原 MAC 是 PC1 的 MAC,是一个目标 MAC 为全 F 的广播包。信息部分请求者的 IP 和 MAC 都是 PC1 的。请求的 IP 是 PC2 的 IP,由于不知道 PC2 的 MAC 所以请求的 MAC 为全 F。

  1. 网关回复 PC1 一个单播报文,原 MAC 是网关的,目标 MAC 是 PC1 的。信息部分发送者的 IP 是网关的 IP,MAC 是网关的 MAC。请求的 IP 是 PC1的 IP,请求的 MAC 是 PC1 的 MAC。

  1. PC1 发送 ICMP 报文,报文格式如下,原 IP 和 MAC 地址是自己的, 目标 IP 是 PC2 的,目标 MAC 是网关的。

  1. PC1 收到 PC2 的回复,原 IP 是 PC2 的,原 MAC 是网关的 MAC, 目标 IP 和 MAC 是 PC1 的。

3、点位抓包

在 PC2 上抓包查看,ICMP 报文的内容。

  1. 目标 IP 和原 IP,对比在发送端抓到的数据包一样。

(2)目标 MAC 为自己电脑的 MAC 。

(3)原 MAC 查看自己的 ARP 表可以看到是网关的 MAC。

4、 DHCP

学习自动获取IP的过程。

  1. PC1起discover报文寻找DHCP服务器,原MAC为PC1的MAC, 目标 MAC 为全 F 的广播报文,寻找 DHCP 服务器。由于自己没有 IP 所以原 IP 是 0.0.0.0,目标 IP 是 255.255.255.255。

Option53

DHCP报文类型,01表示discover报文

Option61

DHCP客户端的标识

Option55

DHCP客户端向服务端请求的网络参数

  1. DHCP 服务器收到 discover 报文回复 offer 报文,由于 DHCP 知道客户端 MAC,所以发送的数据包目标 MAC 是 PC1,原 MAC 是自己的。原 IP 是 DHCP 的 IP,目标 IP 是分配给 PC2 的 IP。

Your (client) IP address

DHCP服务端分配给客户端的IP

Option53

DHCP报文类型,02表示offer报文

Option1

下发给客户端的子网掩码

Option3

下发给客户端的网关

Option6

下发给客户端的DNS

Option54

DHCP服务端标识

  1. 电脑发送广播的 request 报文回复 DHCP 的 offer 报文,并告诉其他 可能存在的 DHCP 这个客户端已经回复了其中一个 DHCP。原 MAC 为 PC1 的 MAC,目标 MAC 为全 F 的广播。由于客户端还没有获取到 IP 所以原 IP 是0.0.0.0,目标 IP 是 255.255.255.255。

Option53

DHCP报文类型,03标识request报文

Option54

DHCP服务端标识

Option50

客户端请求使用的IP

Option61

客户端标识

  1. DHCP 服务器发送 ACK报文回复电脑的请求,原 MAC 为网关的 MAC, 目标 MAC 为 PC1 的 MAC。原 IP 为网关 IP,目标 IP 为 PC1 的 IP。

Your (client) IP address

DHCP服务端分配给客户端的IP

Option53

DHCP报文类型,05标识ACK报文

Option1

确认下发给客户端的子网掩码

Option3

确认下发给客户端的网关

Option6

确认下发给客户端的DNS

Option54

DHCP服务端标识

5、主机路由

为什么 ARP 请求的是网关的 MAC 地址?为什么 PC1 的 ICMP 报文目标 MAC 是网关地址? 电脑上 route print 打印出路由表,得知各项信息含义如下:

网络目标+网络掩码

标识网络范围

决定匹配的路由条目

网关

标识数据包送到的下一站IP

决定ARP请求的MAC和数据包封装的目标MAC

接口

标识数据包出去的网卡

决定数据包封装的源MAC

跃点数

优先级,数值越小优先级越高

6、网关路由表

网关是连接两个不同 LAN 的设备,上面会有指向不同 LAN 的路由,基本结 构 和 电 脑 一 样 。 下 图 就 是 网 关 的 路 由 表 , 拥 有 192.168.1.0/24 和 192.168.166.0/24 这两个 LAN 的路由。

当有两条路由可以到达同一个目的地时,按照掩码位数更多的路由进行优先匹配是一种常见的路由选择策略。这种策略也被称为最长匹配(Longest Match)。

7、路由匹配

在IP网络中,每个路由条目都包含目的地址和对应的掩码。掩码表示了网络地址的前缀长度,即网络前缀中1的位数。当路由器接收到一个数据包时,它会根据目的地址和路由表中的路由条目进行匹配。

在最长匹配策略中,路由器会与路由表中所有的路由条目进行匹配,并选择掩码位数最长的路由条目作为最佳匹配。掩码位数更多意味着网络前缀更长,这样可以更精确地确定数据包的下一跳。

例如,假设有两个路由条目:

路由1:目的地址为192.168.0.0/24

路由2:目的地址为192.168.0.0/16

如果接收到一个目的地址为192.168.0.1的数据包,根据最长匹配策略,路由器会选择掩码位数更多的路由2作为匹配项,因为它的网络前缀更长。

通过使用最长匹配策略,路由器可以更准确地选择最佳路由,避免将数据包错误地发送到错误的目的地。这有助于提高网络的效率和可靠性。

需要注意的是,最长匹配策略通常仅适用于静态路由或路由协议中的基本配置。在动态路由协议中,如OSPF或BGP,路由器会自动学习和更新路由表,最长匹配也会自动应用于动态路由更新过程中。

8、多网卡

当主机具有多个网卡(网络接口)时,路由选择通常基于以下几个因素:

目标地址: 主机使用目标地址来确定哪个网卡应该用于发送数据包。如果目标地址与特定网卡的网络地址匹配,主机将选择相应的网卡发送数据。

默认网关: 如果目标地址不与任何网卡的网络地址匹配,主机将使用默认网关。默认网关是一个指定的IP地址,主机将将数据包发送到该地址,由网关负责将数据包转发到正确的目标。

路由表: 主机维护一个路由表,其中记录了特定网络地址或子网的路由信息。路由表根据数据包的目标地址选择最佳的网卡发送数据。路由表中的每个条目通常包含目标网络地址、掩码、下一跳网关以及出接口。

优先级和度量值: 在路由表中,每个条目可能会分配一个优先级或度量值。主机根据这些值选择最佳匹配项。优先级或度量值可以根据网络管理员的配置和需求进行调整。

需要注意的是,多网卡选择还取决于网络协议栈的配置和操作系统的路由策略。操作系统可能提供额外的配置选项,例如绑定特定的应用程序到特定的网卡,或根据流量负载均衡来选择网卡。

在实际应用中,多网卡选择可用于网络负载均衡、提高网络性能和可靠性。通过合理配置路由和网络接口,可以充分利用多个网卡资源,并确保数据包按照最佳路径传输。

9、互联网的DNS

电脑和服务器之间通信都是通过 IP 进行的,但是我们访问网页输入的都不 是具体的 IP,而是像 www.baidu.com 这样的域名。这样的域名是没法用来通 信的,所以需要知道这个域名和 IP 的对应关系。要用到 DNS 协议进行交互,实 际上就是客户端向服务端查找 IP 和域名的对应关系。 当访问 www.baidu.com 时,电脑会发送一个使用 UDP 协议目标 53 端 口的 DNS 报文,请求查询域名对应的 IP 地址。

DNS 服务器收到之后会回复一个,使用 UDP 协议原 53 的端口,给出域名 对应的 IP 信息。

  • 26
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值