協議
要想讓兩臺計算機進行通信,必須使它們采用相同的信息交換規(guī)則。計算機網絡中用于規(guī)定信息的格式以及如何發(fā)送和接收信息的一套規(guī)則稱為網絡協議(network protocol)或通信協(communication protocol),簡稱協議(Protocol)其實就是用來說明網絡中傳輸的二進制數據具體含義和作用的上下文
網絡協議三要素:
語法:即數據與控制信息的結構或格式
語義:即需要發(fā)出何種控制信息,完成何種動作以及做出何種響應
時序:即事件實現順序的詳細說明
PDU:Protocol Data Unit 協議數據單元
即協議對應的具體二進制數據
分層模型
為了減少網絡協議設計的復雜性,網絡設計者并不是設計一個單一、巨大的協議來為所有形式的通信規(guī)定完整的細節(jié),而是采用把通信問題劃分為許多個小問題,然后為每個小問題設計一個單獨的協議的方法,這樣做使得每個協議的設計、分析、編碼和測試都比較容易。
分層模型(layering model)是一種用于開發(fā)網絡協議的設計方法。本質上,分層模型描述了把通信問題分為幾個小問題(稱為層次)的方法,每個小問題對應于一層。
網絡中同等層之間的通信規(guī)則就是該層使用的協議,如有關第N層的通信規(guī)則的集合,就是第N層的協議。
而同一計算機的不同功能層之間的通信規(guī)則稱為接口( i n t e r f a c e),在第N層和第(N 1)層之間的接口稱為N /(N 1)層接口。
總的來說,協議是不同機器同等層之間的通信約定,而接口是同一機器相鄰層之間的通信約定。
分層的優(yōu)勢:
各層之間是獨立的。下層對于上層而言是個黑匣子,上層不需要知道下層是如何實現的,只需要知道下層提供什么功能怎么使用功能。
靈活性好。當任何一層發(fā)生變化時,只要層間接口保持不變,則其它層不受影響。
結構上可分割開。各層都可以采用最合適的技術來實現。
易于實現和維護。使得實現和調試一個龐大而又復雜的系統變得易于處理。
能促進標準化工作。因為每一層的功能及其所提供的服務都已有了精確的說明。
通常各層需要完成的功能包括以下一種或幾種任務:
差錯控制:使得通信更加可靠
流量控制:發(fā)送速率和接收速率基本同步
分段和重裝:將數據分組發(fā)送,接收端再還原
復用和分用:復用底層連接,在接收端再進行分用
連接建立和釋放:邏輯連接的建立和釋放
TCP/IP
TCP:Transmission Control Protocol,傳輸控制協議
IP:Internet Protocol,因特網互聯協議
這兩個協議是因特網最核心的協議.因特網中傳輸層、網際層所有協議的統稱,也叫TCP/IP協議族或TCP/IP協議棧,簡稱TCP/IP
注:協議?!獛讉€層次疊在一起很像一個棧結構
TCP/IP只有四層結構:
應用層:直接為用戶的應用進程提供服務
運輸層:負責兩個主機中進程之間的通信
網際層:負責不同主機之間的通信
網絡接口層:沒有具體內容
計算機科學中為了研究方便一般采用5層協議模型研究TCP/IP
TCP/IP四層模型
TCP/IP原始模型與OSI七層模型
TCP/IP五層模型
應用層:直接為用戶的應用進程提供服務
傳輸層:負責兩個主機中進程之間的通信
網絡層:負責不同主機之間的通信
數據鏈路層:負責相鄰設備間的通信
物理層:負責傳輸比特流
網絡體系結構對比:
TCP/IP數據組織
典型的C/S結構模型:
物理層
主要功能:研究怎樣才能在連接計算機的傳輸媒體上傳輸比特流,而不是指具體的傳輸媒體。網絡設備、傳輸媒體多種多樣,通信方式也各自不同,物理層正是盡可能地屏蔽掉這些差異,而讓上層數據鏈路層無須顧慮,專心完成自己的協議和服務。
物理層的協議也稱為物理層規(guī)程
主要任務是確定與傳輸媒體的接口有關的一些特性。
機械特性:指明接口所用接線器的形狀、尺寸、引腳數目等等。
電氣特性:指明在接口電纜的各條線上出現的電壓范圍
功能特性:指明每條線上出現的某一電平的電壓表示何種意義
過程特性:指明對于不同功能的各種可能事件的出現順序
數據鏈路層
鏈路:即Link指從一個結點到相鄰結點的一段物理線路,中間沒有任何其他的交換結點
又稱為物理鏈路。
數據鏈路:
即Data Link,又稱邏輯鏈路
當需要通過一條線路傳輸數據時,除了必須有一條物理線路外,還必須有一些必要的通信協議來控制數據的傳輸。
把實現這些協議的硬件和軟件加到鏈路上就構成了數據鏈路。數據鏈路的典型實現——網絡適配器(俗稱網卡)
網絡層
網絡層向上只提供簡單靈活的、無連接的、盡最大努力交付的數據報服務。
網絡層不提供服務質量的承諾。即所傳送的分組可能出錯、丟失、重復和失序(不按序到達終點),當然也不保證分組傳送的時限。
如果主機(即端系統)中的進程之間的通信需要是可靠的,那么就由網絡的主機中的傳輸層負責(包括差錯處理、流量控制等)。
網絡層的協議:
網際協議 IP 是 TCP/IP 體系中最主要的協議之一,也是網絡層的核心協議,與 IP 協議配套使用的還有四個協議:
地址解析協議 ARP(Address Resolution Protocol):根據IP地址獲取物理地址
逆地址解析協議 RARP(Reverse Address Resolution Protocol):根據物理地址獲取IP地址
網際控制報文協議 ICMP(Internet Control Message Protocol):用于在IP主機、路由器之間傳遞控制消息??刂葡⑹侵妇W絡通不通、主機是否可達、路由是否可用等網絡本身的消息。這些控制消息雖然并不傳輸用戶數據,但是對于用戶數據的傳遞起著重要的作用
網際組管理協議 IGMP(Internet Group Management Protocol):在ip主機和與其直接相鄰的組播路由器之間建立、維護組播組成員關系。所謂組播:一臺發(fā)送者同時給多個的接收者傳輸相同的數據,也只需復制一份的相同數據包
IP地址
就是給因特網上的每一個主機(或路由器)的每一個接口分配一個在全世界范圍唯一的32位的標識符(指在Internet核心網)
由因特網名字與號碼指派公司ICANN (Internet Corporation for Assigned Names and Numbers)進行分配
ICANN對IP地址進行分類管理,每一類地址都由兩個固定長度的字段組成,其中一個字段是網絡號 net-id,它標志主機(或路由器)所連接到的網絡,而另一個字段則是主機號 host-id,它標志該主機(或路由器)。
IP 地址 ::= { <網絡號>, <主機號>} 注: ::=代表定義為
路由器的工作方式:
傳輸層
從通信和信息處理的角度看,運輸層向它上面的應用層提供通信服務。
當網絡的邊緣部分中的兩個主機使用網絡的核心部分的功能進行端到端的通信時,只有位于網絡邊緣部分的主機的協議棧才有運輸層,而網絡核心部分中的路由器在轉發(fā)分組時都只用到下三層的功能
傳輸層為相互通信的應用進程提供端到端的邏輯通信
傳輸層的兩個主要協議
用戶數據報協議 UDP (User Datagram Protocol):提供面向無連接的服務。在傳送數據之前不需要先建立連接。接收方的運輸層在收到 UDP 報文后,不需要給出任何確認。雖然 UDP 不提供可靠交付,但在某些情況下 UDP 是一種最有效的工作方式
傳輸控制協議 TCP (Transmission Control Protocol):提供面向連接的服務。TCP 不提供廣播或多播服務。由于 TCP 要提供可靠的、面向連接的運輸服務,因此不可避免地增加了許多的開銷。這不僅使協議數據單元的首部增大很多,還要占用許多的處理機資源。
應用層
每個應用層協議都是為了解決某一類應用問題,而問題的解決又往往是通過位于不同主機中的多個應用進程之間的通信和協同工作來完成的。應用層的具體內容就是規(guī)定應用進程在通信時所遵循的協議。
應用層的許多協議都是基于客戶服務器方式??蛻?client)和服務器(server)都是指通信中所涉及的兩個應用進程??蛻舴掌鞣绞剿枋龅氖沁M程之間服務和被服務的關系??蛻羰欠照埱蠓剑掌魇欠仗峁┓?。
P2P其實也是C/S模式的一個特例
持續(xù)更新,歡迎關注,一起交流學習~
聯系客服