# 3.6.子網路間的通訊

* router
  * 必須負責解封裝, 再重新封裝, 就是轉送(forwarding)(封包從某nic進來後又從某nic出去), 怎麼選擇出去的路徑則屬於routing的範疇、
* default gateway:
  * 當設備不知道該往何處送出時, 就會將封包送往此預設閘道, 讓預設閘道代為尋找以及轉送等目的, 功用是連接兩個不同協定與傳輸介質網路的一台設備，GATEWAY可以是區域連接，也可以是廣域的連接 目的就是讓區域網路知道 封包的目的地如果不是再 區域網路裡面時 要將封包往哪裡傳 才能夠抵達目的地
* 子網路間的通訊
  * ex1. 兩台主機共皆於同一部switch上, 是否能互相通訊?
    * A: 10.0.1.1/24, 無default gateway
    * B: 10.0.2.1/24, 無default gateway
    * Ans:
      * A的網路區段為10.0.1.0/24, B的網路區段為10.0.2.0/24, 兩個主機屬於不同區段, 因此在網路層時會判斷為discard, 故無法互相通訊
      * A ping B或B ping A會顯示No route to host

        ![](https://3840825399-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4M0G8PXRnA3yHgZCAL%2F-M4M0Gn8DmjJ2aT88bjY%2F-M4M0IVCLeYbNqMNKwC4%2F%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202017-06-13%20%E4%B8%8B%E5%8D%887.28.43.png?generation=1586302900937467\&alt=media)
    * ex2. 兩台主機共皆於同一部switch上, 是否能互相通訊?
      * A: 10.0.1.1/24, 無default gateway
      * B: 10.0.2.1/16, 無default gateway
      * Ans:

        * A的網路區段為10.0.1.0/24, B的網路區段為10.0.2.0/16, A的網路區段是歸屬於B之內, A認為B是不同區段的網路, 但B會認為A是同個網域 因此B ping A可以, A ping B不通, 只能單向通訊
        * A ping B會顯示No route to host
        * B ping A會顯示100% packet loss

        ![](https://3840825399-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4M0G8PXRnA3yHgZCAL%2F-M4M0Gn8DmjJ2aT88bjY%2F-M4M0IVEqmFC4XJPC3An%2F%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202017-06-13%20%E4%B8%8B%E5%8D%887.30.13.png?generation=1586302895782245\&alt=media)
    * ex3. 兩台主機共皆於同一部switch上, 是否能互相通訊?
      * A: 10.0.1.1/24, default gateway: 10.0.1.254/24
      * B: 10.0.2.1/24, default gateway: 10.0.1.254/24
      * Ans:

        * 兩個主機屬於不同區段, A ping B或B ping A會先將封包送到default gateway(即router), 再由router轉送, 因此兩台主機可互相通訊

        ![](https://3840825399-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4M0G8PXRnA3yHgZCAL%2F-M4M0Gn8DmjJ2aT88bjY%2F-M4M0IVGSFUWQbqQSu1P%2F%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202017-06-13%20%E4%B8%8B%E5%8D%887.28.49.png?generation=1586302901106364\&alt=media)
    * ex4. 兩台主機共皆於同一部switch上, 是否能互相通訊?
      * A: 192.168.26.129/24, default gateway: 192.168.26.2
      * B: 192.168.26.3/31, default gateway: 192.168.26.2
      * Ans:
        * A的網路區段為192.168.26.0/24, B的網路區段為192.168.26.0/31, B的網路區段是歸屬於A之內, A認為B是同區段的網路, 但B認不得A, 因此當A ping B時, 封包會由A直接送到B, 而B回覆A時會先將封包給gateway, 封包最後會到A, 完成雙向通訊.

          ![](https://3840825399-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M4M0G8PXRnA3yHgZCAL%2F-M4M0Gn8DmjJ2aT88bjY%2F-M4M0IVIdgR534_-ymqM%2F%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202017-06-13%20%E4%B8%8B%E5%8D%887.28.55.png?generation=1586302895961792\&alt=media)
