<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # 五層協議的體系結構 學習計算機網絡時我們一般采用折中的辦法,也就是中和 OSI 和 TCP/IP 的優點,采用一種只有五層協議的體系結構,這樣既簡潔又能將概念闡述清楚。 ![五層協議的體系結構](https://user-gold-cdn.xitu.io/2018/7/29/164e5307471e8eba?imageView2/0/w/1280/h/960/format/webp/ignore-error/1) 結合互聯網的情況,自上而下地,非常簡要的介紹一下各層的作用。 # 1 應用層 **應用層(application-layer)的任務是通過應用進程間的交互來完成特定網絡應用。**應用層協議定義的是應用進程(進程:主機中正在運行的程序)間的通信和交互的規則。對于不同的網絡應用需要不同的應用層協議。在互聯網中應用層協議很多,如**域名系統 DNS**,支持萬維網應用的 **HTTP 協議**,支持電子郵件的 **SMTP 協議**等等。我們把應用層交互的數據單元稱為報文。 ## 域名系統 > 域名系統(Domain Name System縮寫 DNS,Domain Name被譯為域名)是因特網的一項核心服務,它作為可以將域名和IP地址相互映射的一個分布式數據庫,能夠使人更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。(百度百科)例如:一個公司的 Web 網站可看作是它在網上的門戶,而域名就相當于其門牌地址,通常域名都使用該公司的名稱或簡稱。例如上面提到的微軟公司的域名,類似的還有:IBM 公司的域名是 [www.ibm.com](https://link.juejin.im?target=http%3A%2F%2Fwww.ibm.com)、Oracle 公司的域名是 [www.oracle.com](https://link.juejin.im?target=http%3A%2F%2Fwww.oracle.com)、Cisco公司的域名是 [www.cisco.com](https://link.juejin.im?target=http%3A%2F%2Fwww.cisco.com) 等。 ## HTTP協議 > 超文本傳輸協議(HTTP,HyperText Transfer Protocol)是互聯網上應用最為廣泛的一種網絡協議。所有的 WWW(萬維網) 文件都必須遵守這個標準。設計 HTTP 最初的目的是為了提供一種發布和接收 HTML 頁面的方法。(百度百科) # 2 運輸層 **運輸層(transport layer)的主要任務就是負責向兩臺主機進程之間的通信提供通用的數據傳輸服務**。應用進程利用該服務傳送應用層報文。“通用的”是指并不針對某一個特定的網絡應用,而是多種應用可以使用同一個運輸層服務。由于一臺主機可同時運行多個線程,因此運輸層有復用和分用的功能。所謂復用就是指多個應用層進程可同時使用下面運輸層的服務,分用和復用相反,是運輸層把收到的信息分別交付上面應用層中的相應進程。 ## 運輸層主要使用的協議 1. **傳輸控制協議 TCP**(Transmisson Control Protocol)--提供**面向連接**的,**可靠的**數據傳輸服務。 2. **用戶數據協議 UDP**(User Datagram Protocol)--提供**無連接**的,盡最大努力的數據傳輸服務(**不保證數據傳輸的可靠性**)。 ## UDP 的主要特點 1. UDP 是無連接的; 2. UDP 使用盡最大努力交付,即不保證可靠交付,因此主機不需要維持復雜的鏈接狀態(這里面有許多參數); 3. UDP 是面向報文的; 4. UDP 沒有擁塞控制,因此網絡出現擁塞不會使源主機的發送速率降低(對實時應用很有用,如 直播,實時視頻會議等); 5. UDP 支持一對一、一對多、多對一和多對多的交互通信; 6. UDP 的首部開銷小,只有8個字節,比TCP的20個字節的首部要短。 ## TCP 的主要特點 1. TCP 是面向連接的。(就好像打電話一樣,通話前需要先撥號建立連接,通話結束后要掛機釋放連接); 2. 每一條 TCP 連接只能有兩個端點,每一條TCP連接只能是點對點的(一對一); 3. TCP 提供可靠交付的服務。通過TCP連接傳送的數據,無差錯、不丟失、不重復、并且按序到達; 4. TCP 提供全雙工通信。TCP 允許通信雙方的應用進程在任何時候都能發送數據。TCP 連接的兩端都設有發送緩存和接收緩存,用來臨時存放雙方通信的數據; 5. 面向字節流。TCP 中的“流”(Stream)指的是流入進程或從進程流出的字節序列。“面向字節流”的含義是:雖然應用程序和 TCP 的交互是一次一個數據塊(大小不等),但 TCP 把應用程序交下來的數據僅僅看成是一連串的無結構的字節流。 # 3 網絡層 **網絡層(network layer)負責為分組交換網上的不同主機提供通信服務。** 在發送數據時,網絡層把運輸層產生的報文段或用戶數據報封裝成分組和包進行傳送。在 TCP/IP 體系結構中,由于網絡層使用 **IP 協議**,因此分組也叫 **IP 數據報** ,簡稱 **數據報**。 這里要注意:**不要把運輸層的“用戶數據報 UDP ”和網絡層的“ IP 數據報”弄混**。另外,無論是哪一層的數據單元,都可籠統地用“分組”來表示。 網絡層的另一個任務就是選擇合適的路由,使源主機運輸層所傳下來的分株,能通過網絡層中的路由器找到目的主機。 這里強調指出,網絡層中的“網絡”二字已經不是我們通常談到的具體網絡,而是指計算機網絡體系結構模型中第三層的名稱. 互聯網是由大量的異構(heterogeneous)網絡通過路由器(router)相互連接起來的。互聯網使用的網絡層協議是無連接的網際協議(Intert Prococol)和許多路由選擇協議,因此互聯網的網絡層也叫做**網際層**或**IP層**。 # 4 數據鏈路層 **數據鏈路層(data link layer)通常簡稱為鏈路層。兩臺主機之間的數據傳輸,總是在一段一段的鏈路上傳送的,這就需要使用專門的鏈路層的協議。** 在兩個相鄰節點之間傳送數據時,**數據鏈路層將網絡層交下來的 IP 數據報組裝程幀**,在兩個相鄰節點間的鏈路上傳送幀。每一幀包括數據和必要的控制信息(如同步信息,地址信息,差錯控制等)。 在接收數據時,控制信息使接收端能夠知道一個幀從哪個比特開始和到哪個比特結束。這樣,數據鏈路層在收到一個幀后,就可從中提出數據部分,上交給網絡層。 控制信息還使接收端能夠檢測到所收到的幀中有誤差錯。如果發現差錯,數據鏈路層就簡單地丟棄這個出了差錯的幀,以避免繼續在網絡中傳送下去白白浪費網絡資源。如果需要改正數據在鏈路層傳輸時出現差錯(這就是說,數據鏈路層不僅要檢錯,而且還要糾錯),那么就要采用可靠性傳輸協議來糾正出現的差錯。這種方法會使鏈路層的協議復雜些。 # 5 物理層 在物理層上所傳送的數據單位是比特。 **物理層(physical layer)的作用是實現相鄰計算機節點之間比特流的透明傳送,盡可能屏蔽掉具體傳輸介質和物理設備的差異。** 使其上面的數據鏈路層不必考慮網絡的具體傳輸介質是什么。“透明傳送比特流”表示經實際電路傳送后的比特流沒有發生變化,對傳送的比特流來說,這個電路好像是看不見的。 在互聯網使用的各種協中最重要和最著名的就是 TCP/IP 兩個協議。現在人們經常提到的TCP/IP并不一定單指TCP和IP這兩個具體的協議,而往往表示互聯網所使用的整個TCP/IP協議族。 # 總結 上面我們對計算機網絡的五層體系結構有了初步的了解,下面附送一張七層體系結構圖總結一下。 ![](https://box.kancloud.cn/81caf4fb629846c1f6900fc7cab80006_1120x1587.png) # 參考資料 [搞定計算機網絡面試,看這篇就夠了(補充版)](https://juejin.im/post/5b7be0b2e51d4538db34a51e#heading-11)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看