欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    現在(因特網)使用的主流協議族是TCP/IP協議族,它是一個分層、多協議的通信體系。簡單說一下TCP/IP協議族體系結構以及主要協議,這些你可能不知道的知識。

    1.1TCP/IP協議族體系結構以及主要協議

    TCP/IP協議族是一個四層協議系統,自底而上分別是數據鏈路層、網絡層傳輸層和應用層。每一層完成不同的功能,且通過若干協議來實現,上層協議使用下層協議提供的服務,如圖1-1所示。

    1.1.1數據鏈路層

    數據鏈路層實現了網卡接口的網絡驅動程序,以處理數據在物理媒介(比如以太網、令牌環等)上的傳輸。不同的物理網絡具有不同的電氣特性,網絡驅動程序隱藏了這些細節,為上層協議提供一個統一的接口。

    數據鏈路層兩個常用的協議是ARP協議( ,地址解析協議)和RARP協議( ,逆地址解析協議)。它們實現了IP地址和機器物理地址(通常是MAC地址,以太網、令牌環和802.11無線網絡都使用MAC地址)之間的相互轉換。

    網絡層使用IP地址尋址一臺機器,而數據鏈路層使用物理地址尋址一臺機器,因此網絡層必須先將目標機器的IP地址轉化成其物理地址,才能使用數據鏈路層提供的服務,這就是ARP協議的用途。RARP協議僅用于網絡上的某些無盤工作站。因為缺乏存儲設備,無盤工作站無法記住自己的IP地址,但它們可以利用網卡上的物理地址來向網絡管理者(服務器或網絡管理軟件)查詢自身的IP地址。運行RARP服務的網絡管理者通常存有該網絡上所有機器的物理地址到IP地址的映射。

    1.1.2網絡層

    網絡層實現數據包的選路和轉發。WAN(Wide Area ,廣域網)通常使用眾多分級的路由器來連接分散的主機或LAN(Local Area ,局域網),因此,通信的兩臺主機一般不是直接相連的,而是通過多個中間節點(路由器)連接的。網絡層的任務就是選擇這些中間節點,以確定兩臺主機之間的通信路徑。同時,網絡層對上層協議隱藏了網絡拓撲連接的細節,使得在傳輸層和網絡應用程序看來,通信的雙方是直接相連的。

    網絡層最核心的協議是IP協議( ,因特網協議)。IP協議根據數據包的目的IP地址來決定如何投遞它。如果數據包不能直接發送給目標主機,那么IP協議就為它尋找一個合適的下一跳(next hop)路由器,并將數據包交付給該路由器來轉發。多次重復這一過程,數據包最終到達目標主機,或者由于發送失敗而被丟棄。可見,IP協議使用逐跳(hop by hop)的方式確定通信路徑。

    網絡層另外一個重要的協議是ICMP協議( ,因特網控制報文協議)。它是IP協議的重要補充,主要用于檢測網絡連接。ICMP協議使用的報文格式如圖1-2所示。

    圖1-2中,8位類型字段用于區分報文類型。它將ICMP報文分為兩大類:一類是差錯報文,這類報文主要用來回應網絡錯誤,比如目標不可到達(類型值為3)和重定向(類型值為5);另一類是查詢報文,這類報文用來查詢網絡信息,比如ping程序就是使用ICMP報文查看目標是否可到達(類型值為8)的。有的ICMP報文還使用8位代碼字段來進一步細分不同的條件。比如重定向報文使用代碼值0表示對網絡重定向,代碼值1表示對主機重定向。ICMP報文使用16位校驗和字段對整個報文(包括頭部和內容部分)進行循環冗余校驗( Check,CRC),以檢驗報文在傳輸過程中是否損壞。不同的ICMP報文類型具有不同的正文內容。我們將在第2章詳細討論主機重定向報文,其他ICMP報文格式請參考ICMP協議的標準文檔RFC 792。

    需要指出的是,ICMP協議并非嚴格意義上的網絡層協議,因為它使用處于同一層的IP協議提供的服務(一般來說數據結構 存儲ip地址,上層協議使用下層協議提供的服務)。

    1.1.3傳輸層

    傳輸層為兩臺主機上的應用程序提供端到端(end to end)的通信。與網絡層使用的逐跳通信方式不同,傳輸層只關心通信的起始端和目的端,而不在乎數據包的中轉過程。圖1-3展示了傳輸層和網絡層的這種區別。

    圖1-3中,垂直的實線箭頭表示TCP/IP協議族各層之間的實體通信(數據包確實是沿著這些線路傳遞的),而水平的虛線箭頭表示邏輯通信線路。該圖中還附帶描述了不同物理網絡的連接方法。可見,數據鏈路層(驅動程序)封裝了物理網絡的電氣細節;網絡層封裝了網絡連接的細節;傳輸層則為應用程序封裝了一條端到端的邏輯通信鏈路,它負責數據的收發、鏈路的超時重連等。

    傳輸層協議主要有三個:TCP協議、UDP協議和SCTP協議。

    TCP協議( ,傳輸控制協議)為應用層提供可靠的、面向連接的和基于流()的服務。TCP協議使用超時重傳、數據確認等方式來確保數據包被正確地發送至目的端,因此TCP服務是可靠的。使用TCP協議通信的雙方必須先建立TCP連接,并在內核中為該連接維持一些必要的數據結構,比如連接的狀態、讀寫緩沖區,以及諸多定時器等。當通信結束時,雙方必須關閉連接以釋放這些內核數據。TCP服務是基于流的。基于流的數據沒有邊界(長度)限制,它源源不斷地從通信的一端流入另一端。發送端可以逐個字節地向數據流中寫入數據,接收端也可以逐個字節地將它們讀出。

    UDP協議(User ,用戶數據報協議)則與TCP協議完全相反數據結構 存儲ip地址,它為應用層提供不可靠、無連接和基于數據報的服務。“不可靠”意味著UDP協議無法保證數據從發送端正確地傳送到目的端。如果數據在中途丟失,或者目的端通過數據校驗發現數據錯誤而將其丟棄,則UDP協議只是簡單地通知應用程序發送失敗。因此,使用UDP協議的應用程序通常要自己處理數據確認、超時重傳等邏輯。UDP協議是無連接的,即通信雙方不保持一個長久的聯系,因此應用程序每次發送數據都要明確指定接收端的地址(IP地址等信息)。基于數據報的服務,是相對基于流的服務而言的。每個UDP數據報都有一個長度,接收端必須以該長度為最小單位將其所有內容一次性讀出,否則數據將被截斷。

    SCTP協議( ,流控制傳輸協議)是一種相對較新的傳輸層協議,它是為了在因特網上傳輸電話信號而設計的。本書不討論SCTP協議,感興趣的讀者可參考其標準文檔RFC 2960。

    1.1.4應用層

    應用層負責處理應用程序的邏輯。數據鏈路層、網絡層和傳輸層負責處理網絡通信細節,這部分必須既穩定又高效,因此它們都在內核空間中實現,如圖1-1所示。而應用層則在用戶空間實現,因為它負責處理眾多邏輯,比如文件傳輸、名稱示。而應用層則在用戶空間實現,因為它負責處理眾多邏輯,比如文件傳輸、名稱查詢和網絡管理等。如果應用層也在內核中實現,則會使內核變得非常龐大。當然,也有少數服務器程序是在內核中實現的,這樣代碼就無須在用戶空間和內核空間來回切換(主要是數據的復制),極大地提高了工作效率。不過這種代碼實現起來較復雜,不夠靈活,且不便于移植。本書只討論用戶空間的網絡編程。

    應用層協議很多,圖1-1僅列舉了其中的幾個:

    ping是應用程序,而不是協議,前面說過它利用ICMP報文檢測網絡連接,是調試網絡環境的必備工具。

    協議是一種遠程登錄協議,它使我們能在本地完成遠程任務,本書后續章節將會多次使用客戶端登錄到其他服務上。

    OSPF(Open Path First,開放最短路徑優先)協議是一種動態路由更新協議,用于路由器之間的通信,以告知對方各自的路由信息。

    DNS( Name ,域名服務)協議提供機器域名到IP地址的轉換,我們將在后面簡要介紹DNS協議。

    應用層協議(或程序)可能跳過傳輸層直接使用網絡層提供的服務,比如ping程序和OSPF協議。應用層協議(或程序)通常既可以使用TCP服務,又可以使用UDP服務,比如DNS協議。我們可以通過/etc/文件查看所有知名的應用層協議,以及它們都能使用哪些傳輸層服務。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有