回覆列表
  • 1 # Geek視界

    根據我所知道的回答一下這個問題。

    IP頭的源ip是主機的ip不是閘道器的ip。從問題來看,沒有搞清楚閘道器的概念。

    閘道器

    這裡說的閘道器是電腦配置的閘道器地址,如下圖所示:

    訪問網路

    如果電腦的ip包要訪問網路,就需要閘道器,閘道器一般是路由器的某個介面地址或者三層交換機配置的vlan介面。

    如下圖所示的家庭網路,閘道器配置的就是路由器的地址192.168.1.1這類的

    訪問內網

    訪問內網,就不要經過網關了,也就是同屬於一個區域網,都屬於一個網段的。

    比如192.168.1.100/24和192.168.1.200/24,這兩個地址交換資料,就不需要經過閘道器。

  • 2 # strongada

    首先明確一下,資料在網路中傳輸時,A向B發包,資料包的源地址為A的IP地址,資料包的目的地址為B的IP地址。

    題主之所以會有這樣的疑問,可能是在學習《計算機網路》時,對IP和MAC的概念區分不清,我來詳細講解一下。

    什麼是MAC地址

    咱們平時接觸到的計算機,收發資料包的裝置都是乙太網卡,MAC地址的作用就是標識乙太網卡的身份。每個乙太網卡的MAC地址都是全球唯一的,是廠商在生產網絡卡的時候就置入的。同一網路兩臺裝置在通訊時,會在二層乙太網幀頭部寫上源MAC地址和目的MAC地址,使得接收端可以得知傳送者是誰。注意,這裡的兩臺機子有個前提,是同一網路下兩臺主機(確切的說是主機上的網絡卡,因為一臺主機可能會有多個網絡卡)依靠MAC地址來通訊。

    那麼,什麼是同一網路呢?同一網路通常是指裝置之間有相同的鏈路層通訊協議,比如乙太網協議,令牌環網協議,ATM以及衛星的鏈路層協議等等。由於現在應用比較廣的是乙太網協議,所以一般所指的鏈路層協議就是乙太網協議。可以再明確一點,一個網路中是沒有路由器這種裝置的,這就需要引入IP的概念。

    什麼是IP地址

    上面提到,一個網路中只依靠MAC地址進行通訊,那麼如果想要跨網路通訊呢?跨網路通訊則要依靠IP地址,IP地址將不同的鏈路層協議統一起來,使得他們之間可以進行通訊。

    上文提到了幾種不同的鏈路層協議,按理來說,由於終端所適配的協議不同,所以接收端並不能識別出發送端傳送了什麼東西。為了解決這一問題,人們在鏈路層協議的基礎上又加了一個網路層,網路層統一使用IP協議。網路層的轉發是依靠路由器來進行的,所以說路由器連線了不同的網路。在網路層的通訊,依靠IP地址來識別身份。那麼問題來了,IP地址和MAC地址都是識別身份用的,那麼他們有什麼不同呢?

    資料轉發流程

    為了更好地分析IP地址和MAC的區別,我介紹一個簡單的場景。有主機A、路由器B、路由器C和主機D四臺裝置,他們是依次直連的。路由器B有兩個乙太網卡,分別與主機A和路由器C相連;路由器C同理。

    當主機A給主機B發包時,主機A會將IP源地址填上主機A的地址,目的地址填上主機D的地址。在填完網路層報頭後,會再封裝一層鏈路層報頭,由於路由器B是主機A的閘道器,因此該二層報頭源MAC地址填的是主機A的MAC地址,目的地址則是路由器B中與A相連的網絡卡的MAC地址。這樣當資料包在同一個網路中傳輸時,交換機只用解析鏈路層封裝,就可以把資料包傳輸到目的地路由器B。

    路由器B收到資料包後,會進一步對資料包解封裝,這次會解析網路層的頭部,檢視源IP地址和目的IP地址,按照轉發表將資料包從配置好的網口轉發出去。在轉發之前,路由器會進行一個操作,把資料包的源MAC地址和目的MAC地址改掉。因為過了路由器就不是同一網路了,所以需要填一些第二個網路內的MAC地址。路由器B將源MAC地址填成了自己與C相連的網口的MAC地址,目的MAC地址填成了路由器C與B相連的網口的MAC地址。改完MAC地址後,可以保證資料包準確地從B到達C。

    資料包到達C後,查一下IP發現這個目的IP是自己網路內的IP,因此重新將源MAC地址改成自己的,目的MAC地址改成D的,保證資料包到達D。

    從以上過程可以分析出,MAC地址用於同一個網路內的轉發,IP地址用於跨網路路由。IP地址的跨網路路由也是建立在一跳一跳的MAC地址填寫正確的基礎之上的。因此,重新回到題主的問題,主機A與主機B通訊,源IP地址和目的IP地址分別是主機A和主機B的;源MAC地址和目的MAC地址分別是主機A和主機A的閘道器的。

    以上。

  • 3 # 平頭技術宅

    源ip是自己的ip,目標ip是接收方的。跟閘道器沒關係。只是說當資料包在計算機中生成時,先做ip地址與子網掩碼的與運算,看看源ip網段和目標網段是不是同網段,不是的話,才把第二層的目標Mac地址換成閘道器的mac地址,把資料幀發給閘道器,交由閘道器路由轉發出去。在轉發過程中,除了Nat地址轉換外,一般源ip地址和目標ip是不變的。

  • 中秋節和大豐收的關聯?
  • VB程式設計題:求二維陣列a(m,n)中的最大值以及最大值所在的行號和列號,行數m、列數n及陣列元素從鍵盤輸入?