我发送数据的时候只知道目的IP,路由器是咋把数据包传到目的IP呢也就是他是咋选择下一个传输节点的。

每台接入网络的主机,都有一个路由表,这个路由表中定义了某一IP范围的数据包,要通过哪个网络接口(网卡)发送,除此之外还有一个默认网关,未在路由表中定义的地址会发往默认网关。一般个人计算机因为在网络的最末端,只有一个默认网关,即你的路由器,然后越靠近网络核心,即骨干路由,路由表会越完整。意思是这个意思,术语可能不准确。
■网友
第二次修改,已经完全看过计算机网络了,能理解清楚。
其实这个是对OSI七层模型不了解,对交换机/路由器/ARP协议等不了解而已。
1 交换机
1.0.1 交换机的功能:交换机是组建局域网必不可少的设备,但没有让局域网联网的能力。
我发送数据的时候只知道目的IP,路由器是咋把数据包传到目的IP呢也就是他是咋选择下一个传输节点的。


1.0.2 交换机的工作原理:
交换机在收到一个数据帧的时候,读取帧头,先记录帧头的 【源Mac地址+交换机接口】 以形成一张Mac地址表,读取到目标Mac地址,再用Mac地址表来匹配,无匹配项则广播转发,有匹配项,则单播转发。
1.0.3 通过四个案例来讲解:
我发送数据的时候只知道目的IP,路由器是咋把数据包传到目的IP呢也就是他是咋选择下一个传输节点的。

解析一:如上图当AA给BB发送一帧消息时,帧头是(MacBB,MacAA),Sw1地址表先记录【AA F0/1】,拿目标Mac地址BB来查表,表里面只有一条AA的数据,交换机就会广播出去,BB听到广播后会响应一个数据帧,回帧帧头是(MacAA,MacBB),包含着自己的Mac地址,Sw1先将BB的Mac地址【BB F0/2】记录到地址表,再将帧转发给AA。
此时Sw1的Mac地址表为:
AA F0/1
BB F0/2
解析二:如上图当AA给DD发送一帧消息时,帧头是(MacDD,MacAA),Sw1地址表先记录【AA F0/1】,拿目标Mac地址DD来查表,表里只有一条AA的数据,交换机就会广播出去,Sw2从F0/2接口收到数据,就先在地址表记录【AA F0/2】,Sw2再广播出去,DD收到广播后返回一帧数据,帧头是(MacDD,MacAA),Sw2记录下【DD F0/1】, Sw1记录【DD F0/3】,AA收到返回数据。
此时Sw1的Mac地址表:
AA F0/1
DD F0/3
此时Sw2的Mac地址表:
AA F0/2
DD F0/1
解析三:如果AA拔网线走了,Mac地址表在300秒没有接收到AA的任何信息,就会删掉这个条目,注意Mac地址默认有效期是300S。
Sw1的Mac地址表:
AA F0/1
BB F0/2
此时Sw1的Mac地址表:
BB F0/2
解析四:如果AA拨了网线插到BB上面了,Sw1发现AA地址冲突了,直接马上更新,BB F0/2等待300秒无响应再丢弃,因为交换机分辨不出来BB是否来自其他交换机。
更换后Sw1的Mac地址表:
AA F0/2
BB F0/2

2 路由器
2.0.1 路由器的功能:
路由器负责不同网络之间的通信,但是有这么多的路由器,就代表有这么多条路,那数据包从局域网出来它究竟会走哪条路呢?
我发送数据的时候只知道目的IP,路由器是咋把数据包传到目的IP呢也就是他是咋选择下一个传输节点的。

2.0.2 路由器的工作原理:
路由就是为数据包选择路径的过程,而为数据包选择路径的唯一依据就是路由表。
我发送数据的时候只知道目的IP,路由器是咋把数据包传到目的IP呢也就是他是咋选择下一个传输节点的。

首先先知道第一个路由器左右两端的IP是多少?
是10.1.254-20.1.1,互联网网段路由器端口定义是 左1右2,上1下2。
那第二个路由器左右两端IP是多少?
是20.1.2-30.1.1,知道这个才能往下说。
我觉得有那么多的ip,一个路由器总不会全记住吧,现在开始讲疑惑部分了。


推荐阅读