主機到交換機到路由器到交換機到主機數據轉發過程(網絡處于初始化狀态),數據穿越路由器時二層解封裝和重封裝過程。
拓撲圖:
主機A和主機B通信(網絡初始化狀态)(設備明顯不在自己的同一網段内)
1:主機A要發送數據給主機B, 主機A有自己的源IP地址和源MAC地址,但是隻知道主機B的IP 地址,不知道主機B的MAC地址。
2:數據在傳輸層封裝相應的頭部信息後交付給網絡層。
3:主機A的網絡層收到由傳輸層送來的數據,網絡層将封裝自己的源IP地址和目标IP地址和數據打包成數據包,發現數據包的目标IP地址不在同一網段範圍内,需要把數據包發送給網關。(數據包由網關進行轉發數據)
4:因為網絡在初始化狀态,主機A無法知道主機B和網關地址的MAC地址,而主機A需要發送一個ARP請求給網關。主機A就發送一個ARP 請求給網關,而與自己連接的是交換機1,需要通過交換機1将ARP請求往外發。
5:交換機1的接口1收到一個ARP請求,在自己的MAC地址表中添加該物理接口和主機A的MAC地址對應的映射關系,并且查看自己的MAC地址表是否有網關的MAC地址,在表内無法查到網關的MAC地址,然後将接收到的ARP請求向接口1以外的所有物理接口進行泛洪。
6:路由器的接口1收到由交換機1的接口2發來的ARP請求,查看相應字段,發現是請求自己的MAC地址,然後回送一個單播數據給主機A(回送的數據中包含自己的IP地址和MAC地址)。
7:交換機1的接口2收到路由器回送的數據查看後,在自己的MAC地址表中形成了物理接口與路由器的MAC地址的對應映射關系。且将把路由器回送的ARP回應報文數據交付給接口1發送出去。
8:主機A收到由交換機1的接口1發來的ARP回應後。将已封裝好網絡層頭部信息的數據,添加源MAC地址和目标MAC地址的頭部信息,變成比特流由物理層發送給交換機1。
9:交換機1的接口1收到由主機A發送來的數據幀,查看相應字段信息後。查找MAC地址表中的物理接口和MAC地址的映射關系後,知道了路由器MAC地址和自己物理接口的對應關系後,由自己接口2發送出去給路由器。
10:路由器的接口1收到了由交換機1的接口2發送來的比特流。交付給自己的數據鍊路層分析,路由器對接收到的數據幀,查看源MAC地址和目标MAC地址和相應字段後,發現數據是發送給自己的。然後将收到的數據幀進行剝除數據幀的頭部信息,剝除後的數據發送給自己的網絡層去分析。網絡層查看該數據包的頭部相應字段信息,發現目的IP是在自己物理接口2的網段内(路由器的物理接口已經有相關的IP地址信息)。
11:路由器對接收到的數據的分析,目的IP地址是在接口2的網段内,但是路由器查找相關信息,不知道目的IP地址的MAC地址無法進行轉發數據。路由器發起一個ARP請求。從接口2出去。交換機2接口1收到由路由器接口2發送來的ARP請求,在自己的MAC地址表中查看,無法找到對應的目的MAC信息。将接收的源MAC地址與物理接口信息對應的映射關系添加到自己的MAC 地址表中。且将收到的ARP請求,通過交換機2的接口1以外的所有物理接口進行泛洪動作。
12:主機B收到由交換機2的接口2發送來的數據,查看相應字段後,知道是發送給自己的一個ARP請求。是請求自己的MAC地址,就回應一個ARP請求并且添加自己的IP地址和MAC地址。
13:交換機2的接口2收到由主機B回送的一個ARP請求。查看相應字段後,在自己的MAC地址表中添加物理接口和MAC地址的對應關系。且将收到的數據查看MAC 地址表後由自己的接口1發送出去。
14:路由器收到了由交換機2的接口1發送來的ARP回應後。将剛被自己解封裝的數據,将網絡層的源IP地址和目标IP地址原封不動的封裝好後,交給自己的數據鍊路層,路由器的數據鍊路層添加自己的MAC地址信息和主機B的MAC信息後和其他相應字段。形成數據幀後變成比特流再由物理層發送給交換機2.
15:交換機2的接口1收到由路由器的接口2發送來的數據幀。查看相應字段後,查找MAC地址表和物理接口的對應映射關系。知道了該數據幀需要從自己的物理接口2發送出去。把數據幀從交換機2的接口2發送出去。
16:主機B收到由交換機2的接口2發送來的比特流。交付給自己的數據鍊路層分析,路由器對接收到的數據幀,查看源MAC地址和目标MAC地址,發現數據是發送給自己的。主機B将收到的數據幀剝除數據幀的頭部信息和相應字段後,将數據送給自己的網絡層去分析。網絡層收到數據後剝除數據包的頭部信息和相應字段後。數據交給傳輸層,由傳輸層剝離相應的頭部信息後。最後把數據送給應用層。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!