Moven Tsai
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Versions and GitHub Sync Note Insights Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       owned this note    owned this note      
    Published Linked with GitHub
    Subscribed
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    Subscribe
    {%hackmd c1P5X0mPQhaEltq2LBeAqQ %} # 計算機網路實驗報告 ### 實驗三結報 <div>組別:6 <div style="display: flex;"> <span style="flex-shrink: 0">組員:</span> b09902064 楊冠柏、b09902067 易冠廷、b09902070 蔡其翰、b09902076 白哲銘、b09902119 柯宇陽、b06610009 蔡昊辰 </div> </div> ## 解釋IPv6的Unicast、Multicast與Anycast並舉例說明。(10%) - Unicast 網路中從單一源節點發送到單一目標節點的通訊方式。在IPv6中,Unicast地址分配給單個網路接口,用於點對點通訊。IPv6的Unicast地址包括以下幾個部分:Global Unicast、Link-local和Unique Local。 > 舉例: 假設一個網路中使用IPv6地址的兩台電腦A和B,當電腦A嘗試與電腦B建立連接時,會使用Unicast地址來進行通訊。 - Multicast 網路中從單一源節點發送到多個目標節點的通訊方式。在IPv6中,Multicast地址用於將單個數據包傳送給多個接收者,而無需對每個接收者單獨發送數據包。IPv6的Multicast地址以"ff"開頭,後跟其他標識符來確定其範圍和用途。 > 舉例: 假設一個網路中有多台電腦,其中一台電腦A想要發送一個消息給其他多台電腦。它可以使用Multicast地址(例如,ff02::1)來傳送數據包,所有訂閱該Multicast地址的節點都將收到消息。 - Anycast 網路中從單一源節點發送到最近可用的目標節點的通訊方式。在IPv6中,Anycast地址分配給多個接口(可能位於不同節點上),網路將數據包傳送給距離源最近的接收節點。Anycast地址與Unicast地址具有相同的格式,但在多個接口上分配。 > 舉例: 假設有一個CDN具有幾個節點分佈在世界各地。這些節點具有相同的Anycast地址。當用戶試圖訪問CDN提供的內容時,他們的請求將被路由到與他們距離最近的CDN節點,這樣可以加快內容傳輸速度並降低延遲。 ## 解釋Router Solicitation與Router Advertisement的用途與功能。(5%) Router Solicitation(RS)和Router Advertisement(RA)是IPv6中用於發現路由器和網路配置資訊的兩種重要封包。它們是Neighbor Discovery Protocol(NDP)的一部分,用於幫助節點在網路中自動發現並配置相關資訊。 - Router Solicitation (RS): Router Solicitation是一個由IPv6主機發送的ICMPv6封包,用於尋找網路中的路由器並請求它們提供配置資訊。 - 當主機加入網路或重新啟動時,它會發送RS封包以快速獲取網路配置資訊,而不需要等待路由器的下一次定期RA封包。 - RS封包通常發送到所有路由器的Multicast地址以確保所有路由器都能接收到該消息。 - 收到RS封包的路由器將回覆一個RA封包,提供網路配置資訊給主機。 - Router Advertisement (RA): Router Advertisement是一個由IPv6路由器發送的ICMPv6封包,用於向網路中的主機提供配置資訊,如子網前綴、默認路由器地址等。 - RA封包可以定期發送,以便主機在加入網路後能夠自動獲取配置資訊。 - 路由器也可以根據收到的RS封包回复RA封包,以提供網路配置資訊給請求主機。 - RA封包通常發送到所有節點的Multicast地址,這樣網路中的所有IPv6主機都能接收到該封包。 - RA封包中可以包含多種配置資訊,例如子網前綴、默認路由器地址、生存時間(hop limit)以及其他可能的設定(如DNS伺服器地址)。 ## 解釋何謂Stateful與Stateless address configuration。 (10%) 在IPv6中,可以透過Stateful和Stateless這兩種方法實現地址配置,將IP地址分配給網路中的主機或設備。 - Stateful address configuration: Stateful地址配置是一種基於中央伺服器(通常是DHCPv6伺服器)為主機分配IP地址和相關網路設定的方法。在這種配置方式下,伺服器需要跟踪和管理已分配的地址,以避免地址衝突並確保每個主機獲得唯一的IPv6地址。 - 伺服器會為主機分配唯一的IPv6地址和其他網路配置(如DNS伺服器地址、網關等)。 - 主機需要向伺服器發送請求來獲取地址和配置訊息。 - 伺服器會維護一個已分配地址的狀態表,以確保地址的唯一性並可以根據需要重新分配地址。 - Stateless address configuration: Stateless地址配置是一種基於網路中的路由器廣播訊息自動生成IPv6地址的方法。通過此方法,主機可以在不需要中央伺服器的情況下自行生成唯一的IPv6地址。這種配置方式通常使用SLAAC(Stateless Address Autoconfiguration)進行。 - 主機根據路由器的Router Advertisement封包中提供的網路前綴和本地生成的接口標識(通常基於MAC地址)生成IPv6地址。 - 這種方法不需要中央伺服器來分配或跟踪地址,降低了網路管理的複雜性。 - 主機可以通過擴展Router Advertisement封包來獲取其他網路配置訊息,如DNS伺服器地址。 ## 何謂DAD(Duplicate Address Detection)與其運作方式。(5%) Duplicate Address Detection(DAD)用於確保分配給主機的IPv6地址在網路中是唯一的,目的是避免因地址衝突而導致的網路問題。 在DAD運作的時候,當主機生成或分配到一個新的IPv6地址時,它需要先確保該地址在同一個子網內是唯一的。DAD通過使用IPv6的NDP來完成此檢查過程。 運作方式: 1. 當主機生成或分配到一個新的IPv6地址時,該地址初始處於“Tentative”狀態,表示尚未確認其唯一性。 2. 主機使用NDP發送一個Neighbor Solicitation(NS)封包,目標地址是要檢查的Tentative IPv6地址。此封包的目的是檢測是否有其他主機正在使用相同的IPv6地址。 3. NS封包被發送到Solicited-Node Multicast地址,該地址是根據檢查中的IPv6地址生成的。這樣可以減少網路上的多播流量,因為只有可能具有相同地址的節點才會加入這個Multicast group。 4. 如果網路中沒有其他主機使用該Tentative IPv6地址,則不會收到任何回應。在一定時間內(通常為1秒),主機將認為該地址是唯一的,並將其狀態更改為“Preferred”。 5. 如果網路中存在另一個主機使用相同的IPv6地址,則該主機會回覆一個Neighbor Advertisement(NA)封包,指示地址衝突。收到NA封包的主機將無法將Tentative IPv6地址設為“Preferred”狀態,因此必須停止使用該地址並報告地址衝突。 ## MIPv6 如何解決Triangular Routing Problem (10%) Triangular Routing Problem是指當一個MN與其他節點(CN)通訊時,數據需要通過Home Agent做routing,導致不必要的網路延遲和資源浪費。MIPv6通過使用一種稱為Route Optimization的技術來解決Triangular Routing問題。 Route Optimization的過程如下: 1. 當MN首次與CN通訊時,通訊數據首先通過Home Agent進行routing。此時,MN會將其Home Address和Care-of Address發送給CN。 2. 收到MN的信息後,CN會創建一個暫存,其中包含MN的Home Address和CoA。完成後,CN就可以將封包直接發送到MN的CoA,而無需經過HA。 3. MN也可以直接將封包發送到CN,從而避免通過HA。 通過MIPv6的Route Optimization,可以消除Triangular Routing問題,使封包能夠直接在MN和CN之間傳輸,降低了延遲並提高了網路資源的利用率。 ## 實驗中遇到的難題與解決方法 (10%) 1. 我們在進行Mobile Address Gateway設定的時候(以VirtualBox為例),發現介面卡1和2的設定須分別對應到內網和有線網路,若對調就無法設定成功。 我們發現問題可能是在VirtualBox允許在Host-Only網卡上創建IPv6 prefix。它將靜態地為接口分配一個地址,但不會advertise route。這意味著連接到Host-Only的客戶端虛擬機將無法自動配置其IPv6 stack,在某些操作系統中存在一個問題,即IPv6 stack無法同時充當host和router。參考資料如下 - https://gist.github.com/sc68cal/dfc37458e9fe331ca3b9 - https://lkml.org/lkml/2011/7/26/482 2. 在準備展演的過程,我們發現發現不同裝置做出來的IPv6的後綴不同。 經過資料蒐集後,發現原因應該是當前的MN不是用EUI-64去產生IPv6 address的,如CISCO技術文章中提及,但默認情況下,Windows會使用隨機值來生成IPv6的本地地址,導致EUI-64的過程是錯誤的。經修正後,我們已正確地讓MN用EUI產生IPv6 address。參考資料如下 - https://sid-500.com/2018/02/07/ipv6-how-windows-generates-link-local-addresses-eui-64/ ## 實驗心得(每位同學都要) (10%) | | 心得 | | ------ |:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 楊冠柏 | 我在實驗中學到很多新知識,比如Router Solicitation和Router Advertisement的用途,以及Stateful和Stateless address configuration的差異。這些都是我以前不太熟悉的知識,我非常感謝這次的實驗機會。 | | 柯宇陽 | 我特別注意到實驗過程中的細節。例如,我們在設定Mobile Address Gateway時遇到的問題,實際上是由於VM的介面卡1和2的設定對調所導致的。這讓我明白在進行實驗時,即使是最小的細節也可能影響到結果。 | | 白哲銘 | 透過實際操作,使我學到如何建置PMIPv6網路環境,並使我更了解到IPv6是如何運作以及更了解IP的移動性。在此次實驗的過程中,我雖然有遇到一些環境上的問題,但幸好有其他組員的協助,使我能夠順利的解決,非常感謝其他組員! | | 蔡其翰 | 能深入理解IPv6的運作還滿讚的!再仔細認識Unicast、Multicast和Anycast的部分讓我了解到如何有效地傳送封包。我們的團隊在設定Mobile Address Gateway時遇到一點問題,但我們成功地找到並解決了問題,這真的很有成就感! | | 蔡昊辰 | 我們的實驗遇到了一些難題,像是AP設定或者是VM介面卡的設定一直卡住,但我們一起努力解決,這對大家來說是一個很好的挑戰。我也喜歡這種克服困難的感覺,這次實驗是一次很好學習實作的經驗。 | | 易冠廷 | 平常的網路課程教授的都是IPv4的內容,雖然知道IPv6的存在,也知道IPv6希望解決的各種IPv4問題,但卻沒什麼機會實際接觸到IPv6相關的課程。因此透過這次實驗,讓我能進一步了解IPv6的各種技術細節,也讓我了解IPv6跟IPv4的不同。 |

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully