數據在網絡中的發送和接收過程--簡略版(TCP/IP五層結構)


在應用層上設備A想給IP地址為P的設備B發送信息:(假定已知B的IP)

  數據信息從應用層而來,在傳輸層指定特定的端口號,再將這些數據放到TCP報文或者UDP報文內。

    若使用UDP,不論從應用層來的數據信息有多大,UDP照單全收,UDP是一次性發送一個完整的報文,同樣在接收時也是直接接收整個報文;

    若使用TCP,不論從應用層來的數據塊有多大,或者有多小,TCP總是把這些數據存着,根據通信對方給出的窗口值和當前網絡的擁塞程度判斷將合適的數據放到一個TCP報文段中,這些數據段都是有標記的,用於重組時可以順序地拼接起來;

      在網絡層,運輸層的報文作為IP數據報的數據部分,並根據鏈路層所規定的最大傳輸單元(MTU)判斷是否對運輸層的數據進行截斷處理。同時,將源端、目的端的IP地址填寫到IP報文頭部。並在這里執行ARP協議,是否目的地址就處於本網段內。如果目的端就在本網段內,直接根據獲得的目的端的MAC地址,通過鏈路層將數據幀轉發給目的端。如果目的端不在本網段內,則將該IP數據報發送給本網段的網關節點(路由器),網關節點(路由器)根據路由表信息,將IP數據包向其他網關節點(路由器)轉發(這個過程同樣需要執行一次ARP協議),最后IP數據包到達目的端所在的網段,再執行一次ARP協議,得到目的端的MAC地址,完成數據幀的轉發。

        在數據鏈路層,IP數據報作為MAC幀的數據部分,根據ARP協議所得到的目的端的MAC地址,構成完整的MAC幀,並通過數據鏈路層將MAC幀發送給本網段的某一個設備(可能是目的端也可以能是中間路由器)。

          物理層傳輸比特流;

        在數據鏈路層,本網段的設備監聽到MAC幀,並將MAC幀的目的地址與自身的MAC地址相匹配,若匹配成功則接收該MAC幀,並將數據部分提取出來;

      在網絡層,解析IP數據報,將TCP或者UDP的報文提取出來;

    在傳輸層,將TCP報文中的數據提取出來(並校驗數據等),拼裝成完整的數據交給應用層。對於UDP報文,將其中的數據直接交付給應用層;

設備B在應用層或得到數據。 

        


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM