osi參考模型與tcp/ip模型雖然都是網路互聯模型,但是它們本質上還是有區別,具體區別如下。
一、兩者網路模型層數不同
1、OSI參考模型分為7層分別是物理層、數據鏈路層、網路層、傳輸層、會話層、表示層和應用層。雖然二者都採用了分層體系結構,將龐大而復雜的問題轉化為著干個較小且易於處理的子問題。但是OSI參考模型沒有TCP/IP模型簡化。
2、TCP/IP模型嚴格來說是一個四層的體系結構。應用層、傳輸層、網路層和數據鏈路層都包含其中,雖然它有四層網路模型層數,只是因為在TCP/IP模型中TCP模型和IP模型最具代表性,所以被稱為TCP/IP模型。它是保證網路數據信息及時、完整傳輸的兩個重要的模型。
二、兩者數據傳輸原理不同
1、TCP/IP模型當應用進程A的數據傳送到應用層時,將其組織成應用層的數據服務單元,然後向下傳輸到傳輸層。第二步,在傳輸層收到該數據單元後與本層的控制報頭構成傳輸層的數據服務單元。之後在傳輸層將報文傳送到網路層時,由於網路層數據單元的長度有限制,所以傳輸層的長度被分為若干個較短的數據段。每個數據段再加上網路層的控制報頭,就構成了網路層的數據服務單元。
網路層的分組傳送到數據鏈路層時,加上數據鏈路層的控制信息後構成數據鏈路層的數據服務單元。 數據鏈路層的幀傳送到物理層後,物理層將以比特流的方式通過傳輸介質傳輸出去。當比特流到達目的主機B時,再從物理層依層上傳,每層對其對應層的控制報頭進行處理,將用戶數據交給高層,最終將進程A的數據送給主機B的進程B,實現了數據的透明傳輸。
2、OSI參考模型中數據的傳輸和TCP/IP模型原理是一樣的,不過OSI參考模型在第二、三步驟中還要加上對表示層和會話層數據單元的封裝。都是通過數據發送方的各層相當於將各自的控制信息添加到上層傳來的數據上,然後一起打包繼續向前傳遞,而數據接收方的各層則是將接到的數據包進行解壓,去掉發送方對等層添加在數據上的控制信息,然後傳遞給上層,最終實現數據的傳輸。
三、兩者的優點不同
1、OSI參考模型
分工合作,責任明確。它把性質相似的工作劃分在同一層,性質相異的工作則劃分到不同層。把每一層所負責的工作范圍,都區分得很清楚,彼此不會重疊。
對等交談。指所處的層級相同,對等交談意指同一層找同一層談,例如:第3層找第3層談、第4層找第4層談...依此類推。所以某一方的第N層只與對方的第N層交談,是否收到、解讀自己所送出的信息即可,因此不必關心對方的第N-1層或第N+1層會如何做。
逐層處理,層層負責。OSI參考模型中,第N層收到數據後,一定先把數據進行處理,才會將數據向上傳送給第N+1層,處理無誤後才向下傳給第N-1層。任何一層收到數據時,都可以相信上一層或下一層已經做完它們該做的事,層級的多少還要考慮效率與實際操作的難易,並非層數越多越好。
2、tcp/ip模型
具有數據的時新性。TCP/IP模型的時效性則恰好具有時新性特點。它能利用高速運轉的網路技術,及時捕捉科學有效的數據信息。並且能隨著時間的變化,自動淘汰過時的無用信息,做到與時俱進。
具有數據的安全准確性。數據信息在傳輸過程中會一般會受傳輸者、接收者、傳輸渠道以及外部環境的影響。這些因素會不同程度上影響數據信息輸送的及時性。而TCP/IP模型的數據傳輸,不僅能處理好復雜的信息結構,繁多的數據信息,還能維護數據信息的安全,確保數據信息的科學准確性。
具有傳輸技術的先進易用性。它主要採用的是先進的數據壓縮技術。數據壓縮就是文本編碼的過程,以便將相同的數據信儲存在更少的位元組空間。文本佔用空間減少、傳輸速度加快。數據壓縮技術允許以最快的操作速度進行實時編碼。
㈡ 網路拓撲圖怎麼畫我們學校一個機房,一個路由器,15台電腦,應該怎麼畫越簡單越好!
這個怎麼樣?
㈢ 如何進行系統的架構設計
如何進行系統的架構設計
方法/步驟一個軟體項目在需求確定後,就可以開始系統的架構設計了。架構設計不同於編寫代碼,需要遵循嚴格的語法和編程規范。它沒有規范可遵循,存在即合理,適合系統開發和運行的架構就是最合理的系統架構。
系統的架構設計是在業務需求已經清晰的前提下進行的,假定在系統需求分析階段已經確定了系統的功能和業務范圍,也明確了系統運營需求。在上述需求還沒有確定的情況下,不適宜開展系統的架構設計,需要回到需求分析階段完善上述需求後再開展系統的架構設計。
系統架構就是一些模型圖,模型圖是人們用來理解系統和溝通的工具。這些模型圖需要提供給系統相關干係人來理解系統,系統相關干係人有項目經理、產品經理、開發人員、系統運營維護人員、客戶、項目投資人等。這些干係人有不同的知識背景,對同一架構模型圖也會有不同的認知和理解:如果把開發架構模型圖給產品經理或客戶看,他們定然看不懂也不能理解;同樣的道理,如果只把邏輯架構圖給開發人員看,就不能正確地指導開發人員構建開發環境。
因此架構設計師在進行系統架構設計時,需要從系統的不同維度進行設計,以滿足系統相關干係人理解系統架構的需求。架構設計模型主要有邏輯架構、開發架構、數據架構、物理架構和運行架構五種模型圖。一般來說需要設計的系統架構模型有邏輯架構、開發架構和物理架構三種架構模型圖。數據架構模型一般放在資料庫中進行設計,運行架構和物理架構基本相近,只是在物理架構中加了數據的流向,因此一些系統設計使用物理架構代替了運行架構。
設計邏輯架構模型
邏輯架構模型主要是確定系統的功能范圍和系統劃分。在設計邏輯架構模型時,可以抓住兩個關鍵點:一個關鍵點是對系統進行邏輯劃分,將一個大系統劃分為多個子系統;另外一個關鍵點是明確各子系統之間的協作和調用關系。
繪制邏輯架構的模型圖有系統流程圖和系統結構圖:系統流程圖描述了系統各子系統、相關文件和數據之間的關系,記錄了整個系統的體系結構;系統結構圖也稱為層次圖,它以層次方式描述了系統從頂層到最底層的功能分解。
下圖分別是人脈系統的系統流程圖和系統結構圖。
上面的人脈系統流程圖和人脈系統結構圖就是依據人脈系統需求規格說明書給出的功能和業務范圍繪制的。
設計開發架構模型
開發架構模型圖是給開發人員看的,開發架構模型指導開發人員如何來架構系統的開發環境。開發環境包括系統開發框架的選型、開發工具和編程語言、模塊劃分等內容。下圖是人脈系統開發架構模型圖。
開發架構模型圖給出了技術體系是B/S結構,開發框架選擇SSM,開發語言是JavaEE。系統採用三層結構,分別是表示層、WEB應用層和數據層。表現層是JSP頁面,在瀏覽器中運行,表現層是MVC的View。WEB應用層的控制層是MVC的Controller,業務邏輯層是MVC的Service,實體層是MVC的POJO。數據層由MyBaits資料庫開發框架組成。
設計物理架構模型
物理架構模型是給系統部署人員和運營維護人員看的,主要給出系統的部署環境模型,包括網路環境、硬體環境和軟體環境。下圖是系統部署網路環境模型圖。
從上面網路環境模型圖中可以看出,系統部署只需要一台主機,要求支持HTTP協議和遠程桌面協議。系統可以考慮部署到阿里雲或騰訊雲。
系統的架構設計主要涉及到三種模型圖,分別是邏輯架構模型、開發架構模型和物理架構模型。邏輯架構模型一般採用系統流程圖和系統結構圖建模;開發架構模型沒有標準的模型圖,可以使用PPT或Visio繪圖工具進行繪制;物理架構模型主要是由網路環境、硬體和軟體環境組成。
㈣ 圖說OSI七層網路模型
開放式系統互聯通信參考模型 (英語:Open System Interconnection Reference Model,縮寫為 OSI),簡稱為 OSI模型 (OSI model),一種 概念模型 ,由 國際標准化組織 提出,一個試圖使各種計算機在世界范圍內互連為網路的標准框架。定義於ISO/IEC 7498-1。
OSI將 計算機網路體系結構 (architecture)劃分為以下七層:
物理層 : 將數據轉換為可通過物理介質傳送的 電子信號 相當於郵局中的搬運工人。
數據鏈路層 : 決定訪問網路介質的方式。
在此層將數據分幀,並處理流控制。本層指定 拓撲結構 並提供硬體定址,相當於郵局中的裝拆箱工人。
網路層 : 使用權數據路由經過大型網路 相當於郵局中的排序工人。
傳輸層 : 提供終端到終端的可靠連接 相當於公司中跑郵局的送信職員。
會話層 : 允許用戶使用簡單易記的名稱建立連接 相當於公司中收寄信、寫信封與拆信封的秘書。
表示層 : 協商數據交換格式 相當公司中簡報老闆、替老闆寫信的助理。
應用層 : 用戶的應用程序和網路之間的介面老闆。
根據建議X.200,OSI將計算機網路體系結構劃分為以下七層,標有1~7,第1層在底部。 現「OSI/RM」是 英文 「Open Systems Interconnection Reference Model」的縮寫。
第7層 應用層
主條目: 應用層
應用層(Application Layer)提供為應用軟體而設的介面,以設置與另一應用軟體之間的通信。例如: HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等。
第6層 表達層
主條目:表達層
表達層(Presentation Layer)把數據轉換為能與接收者的系統格式兼容並適合傳輸的格式。
第5層 會話層
主條目: 會話層
會話層(Session Layer)負責在數據傳輸中設置和維護計算機網路中兩台計算機之間的通信連接。
第4層 傳輸層
主條目: 傳輸層
傳輸層(Transport Layer)把傳輸表頭(TH)加至數據以形成數據包。傳輸表頭包含了所使用的協議等發送信息。例如:傳輸控制協議(TCP,UDP)等。
第3層 網路層
主條目: 網路層
網路層(Network Layer)決定數據的路徑選擇和轉寄,將網路表頭(NH)加至數據包,以形成分組。網路表頭包含了網路數據。例如:互聯網協議(IP)等。
第2層 數據鏈路層
主條目: 數據鏈路層
數據鏈路層(Data Link Layer)負責網路定址、錯誤偵測和改錯。當表頭和表尾被加至數據包時,會形成幀。數據鏈表頭(DLH)是包含了物理地址和錯誤偵測及改錯的方法。數據鏈表尾(DLT)是一串指示數據包末端的字元串。例如乙太網、無線區域網(Wi-Fi)和通用分組無線服務(GPRS)等。
分為兩個子層:邏輯鏈路控制(logic link control,LLC)子層和介質訪問控制(media access control,MAC)子層。
第1層 物理層
主條目: 物理層
物理層(Physical Layer)在局部區域網上傳送 數據幀 (data frame),它負責管理計算機通信設備和網路媒體之間的互通。包括了針腳、電壓、線纜規范、集線器、中繼器、網卡、主機適配器等。
㈤ 網路圖的分類
根據我國《工程網路計劃技術規程》(JGJ/T 121-99)推薦常用的工程網路計劃類型包括:
1、雙代號網路計劃
2、單代號網路計劃
3、雙代號時標網路計劃
4、單代號時標網路計劃
根據表達的邏輯關系和時間參數肯定與否,又可分為肯定型和非肯定型兩大類;
根據計劃目標的多少,可以分為單目標網路模型和多目標網路模型。網路圖的形式如圖所示。其組成元素為箭線,節點和線路。節點和箭線在不同的網路圖形中有不同的含義,在單代號網路圖中,節點表示工作,箭線表示關系,而在雙代號網路圖中,箭線表示工作及走向,節點表示工作的開始和結束。線路是指從起點到節點的一條通路,工期最長的一條線路稱為關鍵線路,關鍵線路上工作的時間必須保證,否則會出現工期的延誤。
㈥ 一層層了解網路通信協議
互聯網的實現,分為好幾層,每一層都有自己特有的功能,而且每一層都靠下一層支持。用戶接觸到的,只是最上面的一層,我們稱為應用層,要理解互聯網,必須從最下層開始,自下而上的理解每一層的功能。
我們常見的網路模型,有以下三種:
它們之間的關系如下圖所示
其中, 理論五層模型 是綜合 OSI七層 和 TCP/IP四層 的優點,採用的一種原理體系結構。 我們接下來的探討也是基於 理論五層模型 來展開的。
理論五層模型 的結構如下圖
各層的作用如下:
簡單說,越下面的層,越靠近硬體;越上面的層,越靠近用戶。
每一層都是為了完成某一種功能。為了實現這些功能,需要遵守一些共同的規則,這些規則就是 協議(protocol) 。
互聯網的每一層,都定義了很多協議。這些協議的總稱,叫做 互聯網協議(Internet Protocol Suite) ,它們是互聯網的核心。
下面的內容中,我們通過每一層的功能的介紹,對每一層中的主要協議所起作用進行講解。
電腦要進行聯網,需要把電腦通過各種設備連接進網路,設備有光纜、電纜、雙絞線、無限電波等方式。
物理層是用於傳輸信號的介質,它傳輸的是 0和1 的電信號。但是關於電信號如何分組,每個信號位有何意義並沒有規定。
這就是 數據鏈路層 的功能,它在 物理層 的上方,確定了0和1的分組方式,用於兩個設備(同一種數據鏈路結點)之間進行信息傳遞。
早期的時候,每家公司都有自己的電信號分組方式。逐漸地,一種叫做 乙太網(Ethernet) 的協議,占據了主導地位。
乙太網規定,一組電信號構成一個數據包,叫做 幀(frame) ,每一幀分為兩個部分: 標頭(Head) 和 數據(Data) 。
MTU是鏈路層對物理層的限制。
由於鏈路層存在MTU的限制,導致網路層的報文如果超過1500位元組,就必要要對其進行分片發送。
上面我們提到,乙太網數據包的 標頭 ,包含了發送者和接受者的信息。那麼,發送者和接受者是如何標識呢?
乙太網規定,連入網路的所有設備,都必須具有 網卡 介面。數據包必須是從一塊網卡,傳送到另一塊網卡。 網卡的地址,就是數據包的發送地址和接收地址,這叫做 MAC地址 。
每塊網卡出廠的時候,都有一個全世界 獨一無二的MAC地址 ,長度是 48個二進制位 ,通常用 12個十六進制數 表示。
前6個十六進制數是廠商編號,後6個十六進制數是該廠商的網卡流水號。有了MAC地址,就可以定位網卡和數據包的路徑了。
定義地址只是第一步,後面還有更多的步驟:
上圖中,5號計算機向3號計算機 發送一個數據包 ,同一個子網路的1號、2號、3號、4號、6號計算機 都會收到 這個包。它們讀取這個包的 標頭 ,找到 接收方的MAC地址 ,然後 與自身的 MAC地址相 比較 ,如果兩者 相同 ,就 接收這個包 ,做進一步處理, 否則就丟棄 這個包。這種發送方式就叫做 廣播 (broadcasting)。
有了數據包的定義、網卡的MAC地址、廣播的發送方式,"鏈接層"就可以在多台計算機之間傳送數據了。
乙太網協議,依靠MAC地址發送數據。理論上,單單依靠MAC地址,成都的網卡就可以找到休斯頓的網卡了,技術上是可以實現的。
但是,這樣做有一個重大的缺點。 乙太網 採用 廣播 方式 發送數據包 ,所有成員人手一包,不僅 效率低 ,而且 局限在發送者所在的子網路 。也就是說,如果兩台計算機不在同一個子網路,廣播是傳不過去的。這種設計是合理的,否則互聯網上每一台計算機都會收到所有包,那會引起災難。
互聯網是無數子網路共同組成的一個巨型網路,很像想像成都和休斯頓的電腦會在同一個子網路,這幾乎是不可能的。
因此,必須找到一種方法,能夠區分哪些MAC地址屬於同一個子網路,哪些不是。如果是 同一個子網路 ,就採用 廣播 方式發送, 否則 就採用 路由 方式發送。( 路由 的意思,就是指如何向不同的子網路分發數據包,這是一個很大的主題,本文不涉及。)遺憾的是,MAC地址本身無法做到這一點。它只與廠商有關,與所處網路無關。
這就導致了 網路層 的誕生。 它的作用是 引進一套新的地址 ,使得我們能夠 區分 不同的計算機是否屬於同一個 子網路 。這套地址就叫做 網路地址 ,簡稱 網址 。
於是, 網路層 出現以後,每台計算機有了 兩種地址 ,一種是 MAC地址 ,另一種是 網路地址 。兩種地址之間沒有任何聯系,MAC地址是綁定在網卡上的,網路地址則是管理員分配的,它們只是隨機組合在一起。
網路地址幫助我們確定計算機所在的子網路,MAC地址則將數據包送到該子網路中的目標網卡。因此,從邏輯上可以推斷,必定是先處理網路地址,然後再處理MAC地址。
規定網路地址的協議,叫做 IP協議 。它所定義的地址,就被稱為 IP地址 。目前,廣泛採用的是IP協議的第四版和第六版,分別稱為IPv4和IPv6。
互聯網上的每一台計算機,都會分配到一個IP地址。這個地址分成 兩個部分 , 前一部分代表網路,後一部分代表主機 。比如,IP地址14.215.177.39,這是一個32位的地址,假定它的網路部分是前24位(14.215.177),那麼主機部分就是後8位(最後的那個1)。處於同一個子網路的電腦,它們IP地址的網路部分必定是相同的,也就是說14.215.177.2應該與14.215.177.1處在同一個子網路。
但是,問題在於單單從IP地址,我們無法判斷網路部分。還是以14.215.177.39為例,它的網路部分,到底是前24位,還是前16位,甚至前28位,從IP地址上是看不出來的。
那麼,怎樣才能從IP地址, 判斷兩台計算機是否屬於同一個子網路呢?這就要用到另一個參數 子網掩碼 (subnet mask) 。
子網掩碼 :
我們知道,IPv4的地址只有32位,地球上網民數量已經遠遠超出這個數字,那麼,為啥至今還沒出現地址枯竭呢?
因為我們還有一些技術,可以變相的緩解地址不足,比如NAT技術。
NAT(Network Address Translation,網路地址轉換)
IPv6擁有128位巨大的地址空間,對於那麼大的空間,也不是隨意的劃分,而是使用按照bit位進行號段劃分。
IPv6地址結構如下圖
例如 RFC4291 中定義了n=48, m=16,也就是子網和介面ID與各佔64位。
IPv6沒有子網掩碼mask的概念,它支持的是 子網前綴標識方法 。
使用 IPv6地址/前綴長度 表示方法,例如:
可以看到,一個IPv6的地址有子網前綴+介面ID構成,子網前綴由地址分配和管理機構定義和分配,而介面ID可以由各操作系統實現生成。
IPv6是用來解決IPv4 地址枯竭 問題的,IPv4地址為32位,而IPv6地址為 128位
除了地址數量以外,IPv6還有很多 優點 ,例如:
如上所述,IP協議的作用主要有兩個:
根據IP協議發送的數據,就叫做 IP數據包 。我們直接把IP數據包直接放進乙太網數據包的"數據"部分,不用修改乙太網的規格。這就是互聯網分層結構的好處: 上層的變動完全不涉及下層的結構 。
具體來說,IP數據包也分為 標頭 和 數據 兩個部分:
其中, 標頭 范圍為 20-60位元組 ( IPv6固定為40位元組 ), 整個 數據包的總長度 最大為65535位元組 。因此, 理論上 ,一個IP數據包的 數據部分 , 最長為65515位元組 。
如圖所示,標頭中 20位元組是固定不變的 ,它包含了版本、長度、IP地址等信息,另外還有可變部分的標頭可選。而數據則是IP數據包的具體內容。
將它放入乙太網數據包後,乙太網數據包就變成了下面這樣:
在乙太網協議中,乙太網數據包的數據部分,最長只有1500位元組。因此, 如果IP數據包超過了1500位元組,它就需要分割成幾個乙太網數據包,分開發送了 。
關於網路層,還有最後一點需要說明。因為IP數據包是放在乙太網數據包里發送的,所以我們必須同時知道 兩個地址 ,一個是對方的 MAC地址 ,另一個是對方的 IP地址 。通常情況下,對方的IP地址是已知的,但是我們 不知道它的MAC地址 。
所以,我們需要一種機制,能夠從IP地址得到MAC地址。
這里又可以分成兩種情況:
總之,有了ARP協議之後,我們就可以得到同一個子網路內的主機MAC地址,可以把數據包發送到任意一台主機之上了。
ARP攻擊是利用ARP協議設計時缺乏安全驗證漏洞來實現的,通過偽造ARP數據包來竊取合法用戶的通信數據,造成影響網路傳輸速率和盜取用戶隱私信息等嚴重危害。
ARP攻擊主要是存在於區域網網路中,區域網中若有一台計算機感染ARP木馬,則感染該ARP木馬的系統將會試圖通過「ARP欺騙」手段截獲所在網路內其它計算機的通信信息,並因此造成網內其它計算機的通信故障。
區域網中比較常見的ARP攻擊包括:上網時斷時續,拷貝文件無法完成,區域網內的ARP包激增。出現不正常的MAC地址,MAC地址對應多個IP地址,網路數據發不出去了,網上發送信息被竊取,個人PC中毒區域網內MAC地址泛洪使MAC地址緩存表溢出等問題。據包的協議地址不匹配,從而在網路中產生大量的ARP。
在區域網環境中,ARP攻擊是主要的安全威脅,在傳統網路中主要是通過靜態綁定的方式來解決,但是這種方式限制了網路擴展的易用性。
有了MAC地址和IP地址,我們已經可以在互聯網上任意兩台主機上建立通信。
接下來的問題是,同一台主機上有許多程序都需要用到網路,比如,你一邊瀏覽網頁,一邊與朋友在線聊天。當一個數據包從互聯網上發來的時候,你怎麼知道,它是表示網頁的內容,還是表示在線聊天的內容?
也就是說,我們還需要一個參數,表示這個數據包到底供哪個 程序(進程) 使用。這個參數就叫做 埠 (port),它其實是每一個使用網卡的程序的編號。每個數據包都發到主機的特定埠,所以不同的程序就能取到自己所需要的數據。
埠是0到65535之間的一個整數,正好16個二進制位。0到1023的埠被系統佔用,用戶只能選用大於1023的埠。 不管是瀏覽網頁還是在線聊天,應用程序會隨機選用一個埠,然後與伺服器的相應埠聯系。
傳輸層 的功能,就是建立 埠到埠 的通信 。相比之下, 網路層 的功能是建立 主機到主機 的通信。只要確定主機和埠,我們就能實現程序之間的交流。因此,Unix系統就把 主機+埠,叫做 套接字 (socket)。有了它,就可以進行網路應用程序開發了。
現在,我們必須在數據包中加入埠信息,這就需要新的協議。最簡單的實現叫做UDP協議,它的格式幾乎就是在數據前面,加上埠號。
UDP數據包,也是由標頭和數據兩部分組成:
UDP數據包非常簡單,標頭部分一共只有8個位元組,總長度不超過65,535位元組,正好放進一個IP數據包。
UDP協議的優點是比較簡單,容易實現,但是缺點是可靠性較差,一旦數據包發出,無法知道對方是否收到。為了解決這個問題,提高網路可靠性,TCP協議就誕生了。這個協議非常復雜,但可以近似認為,它就是有確認機制的UDP協議,每發出一個數據包都要求確認。如果有一個數據包遺失,就收不到確認,發出方就知道有必要重發這個數據包了。
因此, TCP協議能夠確保數據不會遺失。它的缺點是過程復雜、實現困難、消耗較多的資源。
TCP數據包和UDP數據包一樣,都是內嵌在IP數據包的數據部分。 TCP數據包沒有長度限制,理論上可以無限長 ,但是為了保證網路的效率, 通常 TCP數據包的長度 不會超過IP數據包的長度 ,以確保單個TCP數據包不必再分割。
應用程序收到傳輸層的數據,接下來就要進行解讀。由於互聯網是開放架構,數據來源五花八門,必須事先規定好格式,否則根本無法解讀。 應用層的作用,就是規定應用程序的數據格式。
舉例來說,TCP協議可以為各種各樣的程序傳遞數據,比如Email、WWW、FTP等等。那麼,必須有不同協議規定電子郵件、網頁、FTP數據的格式,這些應用程序協議就構成了應用層。這是最高的一層,直接面對用戶。它的數據就放在TCP數據包的數據部分。
因此,現在的乙太網的數據包就變成下面這樣:
㈦ 簡述計算機網路的組成,以及各個組成部分的作用
計算機網路由七層組成:
1、物理層:傳遞信息需要利用一些物理傳輸媒體,如雙絞線、同軸電纜、光纖等。物理層的任務就是為上層提供一個物理的連接,以及該物理連接表現出來的機械、電氣、功能和過程特性,實現透明的比特流傳輸。
2、數據鏈路層:數據鏈路層負責在2個相鄰的結點之間的鏈路上實現無差錯的數據幀傳輸。在接收方接收到數據出錯時要通知發送方重發,直到這一幀無差錯地到達接收結點,數據鏈路層就是把一條有可能出錯的實際鏈路變成讓網路層看起來像不會出錯的數據鏈路。
3、網路層:網路中通信的2個計算機之間可能要經過許多結點和鏈路,還可能經過幾個通信子網。網路層數據傳輸的單位是分組。網路層的主要任務是為要傳輸的分組選擇一條合適的路徑,使發送分組能夠正確無誤地按照給定的目的地址找到目的主機,交付給目的主機的傳輸層。
4、傳輸層:傳輸層的主要任務是通過通信子網的特性,最佳地利用網路資源,並以可靠與經濟的方式為2個端系統的會話層之間建立一條連接通道,以透明地傳輸報文。傳輸層向上一層提供一個可靠的端到端的服務,使會話層不知道傳輸層以下的數據通信的細節。
5、會話層:在會話層以及以上各層中,數據的傳輸都以報文為單位,會話層不參與具體的傳輸,它提供包括訪問驗證和會話管理在內的建立以及維護應用之間的通信機制。如伺服器驗證用戶登錄便是由會話層完成的。
6、表示層:這一層主要解決用戶信息的語法表示問題。它將要交換的數據從適合某一用戶的抽象語法,轉換為適合OSI內部表示使用的傳送語法。即提供格式化的表示和轉換數據服務。數據的壓縮和解壓縮、加密和解密等工作都由表示層負責。
7、應用層:這是OSI參考模型的最高層。應用層確定進程之間通信的性質以滿足用戶的需求,以及提供網路與用戶軟體之間的介面服務。
(7)電腦網路模型圖擴展閱讀:
傳輸層作為整個計算機網路的核心,是惟一負責總體數據傳輸和控制的一層。因為網路層不一定保證服務的可靠,而用戶也不能直接對通信子網加以控制,因此在網路層之上,加一層即傳輸層以改善傳輸質量。
傳輸層利用網路層提供的服務,並通過傳輸層地址提供給高層用戶傳輸數據的通信埠,使系統間高層資源的共享不必考慮數據通信方面和不可靠的數據傳輸方面的問題。
㈧ 最好用一個網路實例圖表示出來!標明每層所用到的協議,每個網路設備如何傳輸!實物模型圖最好!N倍加分!
從網上看到的,我獲益匪淺,希望對您也有幫助。Goodluck!
不再困惑互聯網OSI七層模型全解析
作者:中關村在線白寧
第1頁:認識OSI了解網路為什麼要分層
「互聯網」這個詞相信大家都不陌生,因為大家幾乎每天都在接觸互聯網,它已經完全融入到我們的日常生活當中。但你知道嗎?互聯網的各項應用,其實都是分層的,也就是很多網路達人口中的OSI七層模型。不了解嗎?沒關系,看過下面的介紹你就明白了,隨筆者一起變身網路達人吧。
什麼是OSI?
OSI參考模型(OSI/RM)的全稱是開放系統互連參考模型(,OSI/RM),它是由國際標准化組織ISO提出的一個網路系統互連模型。它是網路技術的基礎,也是分析、評判各種網路技術的依據,它揭開了網路的神秘面紗,讓其有理可依,有據可循。
網路應用為什麼要分層?
因為計算機網路中存在著眾多的體系結構,例如IBM公司的SNA(系統網路體系結構,7層)和DEC公司的DNA(數字網路體系結構,3層)等。由於體系結構的差異化,使得網路產品出現了嚴重的兼容性問題,影響了網路的快速發展。為了解決這個問題,ISO於1984年正式頒布了OSIRM。
這個模型把網路通信的工作分為7層。1至4層被認為是低層,這些層與數據移動密切相關。5至7層是高層,包含應用程序級的數據。每一層負責一項具體的工作,然後把數據傳送到下一層。由低到高具體分為:物理層、數據鏈路層、網路層、傳輸層、會話層、表示層和應用層。
OSI七層模型圖如圖一。
OSI模型的最低層或第一層:物理層
物理層包括物理連網媒介,實際上就是布線、光纖、網卡和其它用來把兩台網路通信設備連接在一起的東西。它規定了激活、維持、關閉通信端點之間的機械特性、電氣特性、功能特性以及過程特性。雖然物理層不提供糾錯服務,但它能夠設定數據傳輸速率並監測數據出錯率。
產品代表:TP-LINKTL-HP8MU集線器(如圖二)
物理層定義的標准包括:EIA/TIARS-232、EIA/TIARS-449、V.35、RJ-45等。
第2頁:OSI二至四層數據移動的關鍵
OSI模型的第二層:數據鏈路層
數據鏈路層主要作用是控制網路層與物理層之間的通信。它保證了數據在不可靠的物理線路上進行可靠的傳遞。它把從網路層接收到的數據分割成特定的可被物理層傳輸的幀,保證了傳輸的可靠性。它的主要作用包括:物理地址定址、數據的成幀、流量控制、數據的檢錯、重發等。它是獨立於網路層和物理層的,工作時無需關心計算機是否正在運行軟體還是其他操作。
產品代表:D-LinkDES-1024D(如圖三)
數據鏈路層協議的代表包括:SDLC、HDLC、PPP、STP、幀中繼等。
OSI模型的第三層:網路層
很多用戶經常混淆2層和3層的相關問題,簡單來說,如果你在談論一個與IP地址、路由協議或地址解析協議(ARP)相關的問題,那麼這就是第三層的問題。
網路層負責對子網間的數據包進行路由選擇,它通過綜合考慮發送優先權、網路擁塞程度、服務質量以及可選路由的花費來決定從一個網路中兩個節點的最佳路徑。另外,它還可以實現擁塞控制、網際互連等功能。
產品代表:TP-LINKTL-R4148(如圖四)
網路層協議的代表包括:IP、IPX、RIP、OSPF等。
OSI模型的第四層:傳輸層
傳輸層是OSI模型中最重要的一層,它是兩台計算機經過網路進行數據通信時,第一個端到端的層次,起到緩沖作用。當網路層的服務質量不能滿足要求時,它將提高服務,以滿足高層的要求;而當網路層服務質量較好時,它只需進行很少的工作。另外,它還要處理端到端的差錯控制和流量控制等問題,最終為會話提供可靠的,無誤的數據傳輸。
產品代表:NETGEARGS748TS(如圖五)
傳輸層協議的代表包括:TCP、UDP、SPX等。
網路通信工作的低層(1-4層)我們已經了解了,一起去看看高層(5-7層)吧。
第3頁:關注OSI五至七層總結
OSI模型的第五層:會話層
會話層負責在網路中的兩節點之間建立和維持通信,並保持會話獲得同步,它還決定通信是否被中斷以及通信中斷時決定從何處重新發送。
OSI模型的第六層:表示層
表示層的作用是管理數據的解密與加密,如常見的系統口令處理,當你的賬戶數據在發送前被加密,在網路的另一端,表示層將對接收到的數據解密。另外,表示層還需對圖片和文件格式信息進行解碼和編碼。
OSI模型的第七層:應用層
簡單來說,應用層就是為操作系統或網路應用程序提供訪問網路服務的介面,包括文件傳輸、文件管理以及電子郵件等的信息處理。
應用層協議的代表包括:Telnet、FTP、HTTP、SNMP等。
會話層,表示層,應用層構成開放系統的高3層,它們為應用進程提供分布處理,對話管理,信息表示,恢復最後的差錯等,它們每一層負責一項具體的工作,然後把數據傳送到下一層。
通過上面的介紹,相信你對OSI七層模型已經有了一定的了解,但是這些概念性的文字有點兒難懂,所以筆者引用了一段來自網路上的關於OSI七層模型的幽默描寫,讓OSI七層模型的概念變得簡單明了。
戀愛和OSImodel七層
起初只是近距離地點對點無線收發愛的信號,乃物理層;
然後就是通過某個媒體(比如一支花、一本書)將信號傳輸,乃數據鏈路層;
開始有選擇地分組分割發送和裝配接收愛的信號,選擇最佳的傳送路徑,乃網路層;
拖手和接吻可謂傳輸層,確保信號順利地傳送到目的地;
甜言蜜語與鴻雁往來屬於會話層,包括名字查找和安全防護;
訂婚歸於表示層,將信號格式轉換進行愛的解釋並加以鞏固;
結婚,當然是應用層,因為它提供了所有應用程序的直接支持。
總結:
OSI七層模型有效的解決了不同網路體系互連時所遇到的兼容性問題,它的出現減輕了網路的復雜程度,一旦網路發生故障,可迅速定位故障所處層次,便於查找和糾錯;通過在各層上定義標准介面,它使同屬一層的不同網路設備間能實現互操作;它還保證了各層之間的相對獨立;而高層協議可以放在多種低層協議上運行,提高了網路的效率;因為每次更新都只需在一個層次進行,不受整體網路的制約,所以它的出現有效刺激了網路技術革新,它是網路技術發展的源動力。
㈨ Docker容器間網路互聯原理,講不明白算我輸
如上紅字所描述:同一個宿主機上的不同容器之間的網路如何互通的???
我們安裝完docker之後,docker daemon會為我們自動創建3個網路,如下:
其實docker有4種網路通信模型,分別是:bridge、host、none、container
默認的使用的網路模型是bridge,也是我們生產上會使用到的網路模型。
下文中跟大家分享docker容器互通原理到時候呢,用到的也是bridge網路模型
另外,當我們安裝完docker之後,docker會為我們創建一個叫docker0的網路設備
通過ifconfig命令可以查看到它,看起來它貌似和eth0網路地位相當,像是一張網卡。然而並不是,docker0其實是一個Linux網橋
何以見得?可以通過下面的命令查看操作系統上的網橋信息
那大家怎麼理解Linux網橋的概念呢?
其實大家可以把docker0理解成一台虛擬的交換機!然後像下面這樣類比著理解,就會豁然開朗
1、它好比是大學在機房上課時,老師旁邊的那個大大的交換機設備。
2、把機房裡的電腦都連接在交換機上,類比成docker 容器作為一台設備都連接著宿主機上的docker0。
3、把交換機和機房中的機器的ip在同一個網段,類比成docker0、和你啟動的docker容器的ip也同屬於172網段。
類比成這樣:
我們剛才做類比理解docker0的時候說:把機房裡的電腦都連接在交換機上,類比成docker 容器作為一台設備都連接著宿主機上的docker0。那具體的實現落地實現用的是啥技術呢?
答案是:veth pair
veth pair的全稱是:virtual ethernet,就是虛擬的乙太網卡。
說到乙太網卡大家都不陌生呀,不就是我們常見的那種叫eth0或者是ens的網路設備嗎?
那這個veth pair是怎麼玩的呢?有啥用呢?大家可以看下面這張圖
veth-pair設備總是會成對的出現,用於連接兩個不同network-namespace.
就上圖來說,從network-namespace1的veth0中發送的數據會出現在 network-namespace2的veth1設備中。
雖然這種特性很好,但是如果出現有多個容器,你就會發現組織架構會越來越復雜,越來越亂
不過好在我們已經循序漸進的了解Linux網橋(docker0),以及這里的veth-pair設備,於是我們可以把整體的架構圖重新繪製成下面這樣
因為不同容器有自己隔離後的network-namespace所以他們都有自己的網路協議棧
那我們能不能找到容器裡面的網卡和物理機上的哪張卡是一對網路vethpair設備呢?
如下:
回到宿主機
意思是就是說,容器545ed62d3abf的eth0網卡和宿主機通過ip addr命令查看的網路設備標號55的設備組成一對vethpair設備,彼此流量互通!
先看個簡單的,同一個區域網中的不同主機A、B之間是如何互聯交換數據的。如下圖
那,既然是同一個區域網中,說明A、B的ip地址在同一個網段,如上圖就假設它們都在192.168.1.0網段。
還得再看下面這張OSI 7層網路模型圖。
主機A向主機B發送數據,對主機A來說數據會從最上層的應用層一路往下層傳遞。比如應用層使用的http協議、傳輸層使用的TCP協議,那數據在往下層傳遞的過程中,會根據該層的協議添加上不同的協議頭等信息。
根據OSI7層網路模型的設定,對於接受數據的主機B來說,它會接收到很多數據包!這些數據包會從最下層的物理層依次往上層傳遞,依次根據每一層的網路協議進行拆包。一直到應用層取出主機A發送給他的數據。
那麼問題來了,主機B怎麼判斷它收到的數據包是否是發送給自己的呢?萬一有人發錯了呢?
答案是:根據MAC地址,邏輯如下。
那對於主機A來說,它想發送給主機B數據包,還不能讓主機B把這個數據包扔掉,它只能中規中矩的按乙太網網路協議要求封裝將要發送出去的數據包,往下傳遞到數據鏈路層(這一層傳輸的數據要求,必須要有目標mac地址,因為數據鏈路層是基於mac地址做數據傳輸的)。
那數據包中都需要哪些欄位呢?如下:
其中的dst ip好說,我們可以直接固定寫,或者通過DNS解析域名得到目標ip。
那dst mac怎麼獲取呢?
這就不得不說ARP協議了! ARP其實是一種地址解析協議,它的作用就是:以目標ip為線索,找到目的ip所在機器的mac地址。也就是幫我們找到dst mac地址!大概的過程如下幾個step
推薦閱讀:白日夢的DNS筆記
簡述這個過程:主機A想給主機B發包,那需要知道主機B的mac地址。
嗯,在arp協議的幫助下,主機A順利拿到了主機B的mac地址。於是數據包從網路層流轉到數據鏈路層時已經被封裝成了下面的樣子:
根據OIS7層網路模型,我們都知道數據包經過物理層發送到機器B,機器B接收到數據包後,再將數據包向上流轉,拆包。流轉到主機B的數據鏈路層。
那主機B是如何判斷這個在數據鏈路層的包是否是發給自己的呢?
答案前面說了,根據目的mac地址判斷。
這個例子比較簡單,dst ip就是主機B的本機ip 所以它自己會處理這個數據包。
那數據包處理完之後是需要給主機A一個響應包,那問題又來了,響應包該封裝成什麼樣子呢?對主機B來說響應包也需要src ip、src mac、dst ip、dst mac
同樣的道理,響應包也會按照如下的邏輯被主機A接受,處理。
這一次,讓我在網路告訴你,當你請求 www..com 時都發生了什麼?
有了上面那些知識儲備呢?再看我們今天要探究的問題,就不難了。
如下紅字部分:同一個宿主機上的不同容器是如何互通的?
那我們先分別登陸容器記錄下他們的ip
先看實驗效果:在9001上curl9002
實驗結果是網路互通!
我們再完善一下上面的圖,把docker0、以及兩個容器的ip補充上去,如下圖:
那兩台機器之前要通信是要遵循OSI網路模型、和乙太網協議的。
我們管172.17.0.2叫做容器2
我們管172.17.0.3叫做容器3
比如我們現在是從:容器2上curl 容器3,那麼容器2也必須按照乙太網協議將數據包封裝好,如下
那現在的問題是容器3的mac地址是多少?
容器2會先查自己的本地緩存,如果之前沒有訪問過,那麼緩存中也沒有任何記錄!
不過沒關系,還有arp機制兜底,於是容器2會發送arp請求包,大概如下
容器2會查詢自己的路由表,將這個arp請求從自己的gateway發送出去
我們發現容器2的網關對應的網路設備的ip就是docker0的ip地址,並且經由eth0發送出去!
哎?eth0不就是我們之前說的veth-pair設備嗎?
並且我們通過下面的命令可以知道它的另一端對應著宿主機上的哪個網路設備:
而且我們可以下面的小實驗,驗證上面的觀點是否正確
所以說從容器2的eth0出去的arp請求報文會同等的出現在宿主機的第53個網路設備上。
通過下面的這張圖,你也知道第53個網路設備其實就是下圖中的veth0-1
所以這個arp請求包會被發送到docker0上,由docker0拿到這個arp包發現,目標ip是172.17.0.3並不是自己,所以docker0會進一步將這個arp請求報文廣播出去,所有在172.17.0.0網段的容器都能收到這個報文!其中就包含了容器3!
那容器3收到這個arp報文後,會判斷,哦!目標ip就是自己的ip,於是它將自己的mac地址填充到arp報文中返回給docker0!
同樣的我們可以通過抓包驗證,在宿主機上
於是容器2就拿到了容器3的mac地址,乙太網數據包需要的信息也就齊全了!如下:
再之後容器2就可以和容器3正常互聯了!
容器3會收到很多數據包,那它怎麼知道哪些包是發給自己的,那些不是呢?可以參考如下的判斷邏輯
㈩ 寫出計算機網路OSI模型的七個層次,並簡述個層的作用
看來你很需要 本來不回答0分的
===
網路協議設計者不應當設計一個單一、巨大的協議來為所有形式的通信規定完整的細節,而應把通信問題劃分成多個小問題,然後為每一個小問題設計一個單獨的協議。這樣做使得每個協議的設計、分析、時限和測試比較容易。協議劃分的一個主要原則是確保目標系統有效且效率高。為了提高效率,每個協議只應該注意沒有被其他協議處理過的那部分通信問題;為了主協議的實現更加有效,協議之間應該能夠共享特定的數據結構;同時這些協議的組合應該能處理所有可能的硬體錯誤以及其它異常情況。為了保證這些協議工作的協同性,應當將協議設計和開發成完整的、協作的協議系列(即協議族),而不是孤立地開發每個協議。
在網路歷史的早期,國際標准化組織(ISO)和國際電報電話咨詢委員會(CCITT)共同出版了開放系統互聯的七層參考模型。一台計算機操作系統中的網路過程包括從應用請求(在協議棧的頂部)到網路介質(底部) ,OSI參考模型把功能分成七個分立的層次。圖2.1表示了OSI分層模型。
┌—————┐
│ 應用層 │←第七層
├—————┤
│ 表示層 │
├—————┤
│ 會話層 │
├—————┤
│ 傳輸層 │
├—————┤
│ 網路層 │
├—————┤
│數據鏈路層│
├—————┤
│ 物理層 │←第一層
└—————┘
圖2.1 OSI七層參考模型
OSI模型的七層分別進行以下的操作:
第一層??物理層
第一層負責最後將信息編碼成電流脈沖或其它信號用於網上傳輸。它由計算機和網路介質之間的實際界面組成,可定義電氣信號、符號、線的狀態和時鍾要求、數據編碼和數據傳輸用的連接器。如最常用的RS-232規范、10BASE-T的曼徹斯特編碼以及RJ-45就屬於第一層。所有比物理層高的層都通過事先定義好的介面而與它通話。如乙太網的附屬單元介面(AUI),一個DB-15連接器可被用來連接層一和層二。
第二層??數據鏈路層
數據鏈路層通過物理網路鏈路提供可靠的數據傳輸。不同的數據鏈路層定義了不同的網路和協議特徵,其中包括物理編址、網路拓撲結構、錯誤校驗、幀序列以及流控。物理編址(相對應的是網路編址)定義了設備在數據鏈路層的編址方式;網路拓撲結構定義了設備的物理連接方式,如匯流排拓撲結構和環拓撲結構;錯誤校驗向發生傳輸錯誤的上層協議告警;數據幀序列重新整理並傳輸除序列以外的幀;流控可能延緩數據的傳輸,以使接收設備不會因為在某一時刻接收到超過其處理能力的信息流而崩潰。數據鏈路層實際上由兩個獨立的部分組成,介質存取控制(Media Access Control,MAC)和邏輯鏈路控制層(Logical Link Control,LLC)。MAC描述在共享介質環境中如何進行站的調度、發生和接收數據。MAC確保信息跨鏈路的可靠傳輸,對數據傳輸進行同步,識別錯誤和控制數據的流向。一般地講,MAC只在共享介質環境中才是重要的,只有在共享介質環境中多個節點才能連接到同一傳輸介質上。IEEE MAC規則定義了地址,以標識數據鏈路層中的多個設備。邏輯鏈路控制子層管理單一網路鏈路上的設備間的通信,IEEE 802.2標準定義了LLC。LLC支持無連接服務和面向連接的服務。在數據鏈路層的信息幀中定義了許多域。這些域使得多種高層協議可以共享一個物理數據鏈路。
第三層??網路層
網路層負責在源和終點之間建立連接。它一般包括網路尋徑,還可能包括流量控制、錯誤檢查等。相同MAC標準的不同網段之間的數據傳輸一般只涉及到數據鏈路層,而不同的MAC標准之間的數據傳輸都涉及到網路層。例如IP路由器工作在網路層,因而可以實現多種網路間的互聯。
第四層??傳輸層
傳輸層向高層提供可靠的端到端的網路數據流服務。傳輸層的功能一般包括流控、多路傳輸、虛電路管理及差錯校驗和恢復。流控管理設備之間的數據傳輸,確保傳輸設備不發送比接收設備處理能力大的數據;多路傳輸使得多個應用程序的數據可以傳輸到一個物理鏈路上;虛電路由傳輸層建立、維護和終止;差錯校驗包括為檢測傳輸錯誤而建立的各種不同結構;而差錯恢復包括所採取的行動(如請求數據重發),以便解決發生的任何錯誤。傳輸控制協議(TCP)是提供可靠數據傳輸的TCP/IP協議族中的傳輸層協議。
第五層??會話層
會話層建立、管理和終止表示層與實體之間的通信會話。通信會話包括發生在不同網路應用層之間的服務請求和服務應答,這些請求與應答通過會話層的協議實現。它還包括創建檢查點,使通信發生中斷的時候可以返回到以前的一個狀態。
第六層??表示層
表示層提供多種功能用於應用層數據編碼和轉化,以確保以一個系統應用層發送的信息可以被另一個系統應用層識別。表示層的編碼和轉化模式包括公用數據表示格式、性能轉化表示格式、公用數據壓縮模式和公用數據加密模式。
公用數據表示格式就是標準的圖像、聲音和視頻格式。通過使用這些標准格式,不同類型的計算機系統可以相互交換數據;轉化模式通過使用不同的文本和數據表示,在系統間交換信息,例如ASCII(American Standard Code for Information Interchange,美國標准信息交換碼);標准數據壓縮模式確保原始設備上被壓縮的數據可以在目標設備上正確的解壓;加密模式確保原始設備上加密的數據可以在目標設備上正確地解密。
表示層協議一般不與特殊的協議棧關聯,如QuickTime是Applet計算機的視頻和音頻的標准,MPEG是ISO的視頻壓縮與編碼標准。常見的圖形圖像格式PCX、GIF、JPEG是不同的靜態圖像壓縮和編碼標准。
第七層??應用層
應用層是最接近終端用戶的OSI層,這就意味著OSI應用層與用戶之間是通過應用軟體直接相互作用的。注意,應用層並非由計算機上運行的實際應用軟體組成,而是由向應用程序提供訪問網路資源的API(Application Program Interface,應用程序介面)組成,這類應用軟體程序超出了OSI模型的范疇。應用層的功能一般包括標識通信夥伴、定義資源的可用性和同步通信。因為可能丟失通信夥伴,應用層必須為傳輸數據的應用子程序定義通信夥伴的標識和可用性。定義資源可用性時,應用層為了請求通信而必須判定是否有足夠的網路資源。在同步通信中,所有應用程序之間的通信都需要應用層的協同操作。
OSI的應用層協議包括文件的傳輸、訪問及管理協議(FTAM) ,以及文件虛擬終端協議(VIP)和公用管理系統信息(CMIP)等。
2.2 TCP/IP分層模型
TCP/IP分層模型(TCP/IP Layening Model)被稱作網際網路分層模型(Internet Layering Model)、網際網路參考模型(Internet Reference Model)。圖2.2表示了TCP/IP分層模型的四層。
┌————————┐┌—┬—┬—┬—┬—┬—┬—┬—┬—┬—┬—┐
│ ││D│F│W│F│H│G│T│I│S│U│ │
│ ││N│I│H│T│T│O│E│R│M│S│其│
│第四層,應用層 ││S│N│O│P│T│P│L│C│T│E│ │
│ ││ │G│I│ │P│H│N│ │P│N│ │
│ ││ │E│S│ │ │E│E│ │ │E│它│
│ ││ │R│ │ │ │R│T│ │ │T│ │
└————————┘└—┴—┴—┴—┴—┴—┴—┴—┴—┴—┴—┘
┌————————┐┌—————————┬———————————┐
│第三層,傳輸層 ││ TCP │ UDP │
└————————┘└—————————┴———————————┘
┌————————┐┌—————┬————┬——————————┐
│ ││ │ICMP│ │
│第二層,網間層 ││ └————┘ │
│ ││ IP │
└————————┘└—————————————————————┘
┌————————┐┌—————————┬———————————┐
│第一層,網路介面││ARP/RARP │ 其它 │
└————————┘└—————————┴———————————┘
圖2.2 TCP/IP四層參考模型
TCP/IP協議被組織成四個概念層,其中有三層對應於ISO參考模型中的相應層。ICP/IP協議族並不包含物理層和數據鏈路層,因此它不能獨立完成整個計算機網路系統的功能,必須與許多其他的協議協同工作。
TCP/IP分層模型的四個協議層分別完成以下的功能:
第一層??網路介面層
網路介面層包括用於協作IP數據在已有網路介質上傳輸的協議。實際上TCP/IP標准並不定義與ISO數據鏈路層和物理層相對應的功能。相反,它定義像地址解析協議(Address Resolution Protocol,ARP)這樣的協議,提供TCP/IP協議的數據結構和實際物理硬體之間的介面。
第二層??網間層
網間層對應於OSI七層參考模型的網路層。本層包含IP協議、RIP協議(Routing Information Protocol,路由信息協議),負責數據的包裝、定址和路由。同時還包含網間控制報文協議(Internet Control Message Protocol,ICMP)用來提供網路診斷信息。
第三層??傳輸層
傳輸層對應於OSI七層參考模型的傳輸層,它提供兩種端到端的通信服務。其中TCP協議(Transmission Control Protocol)提供可靠的數據流運輸服務,UDP協議(Use Datagram Protocol)提供不可靠的用戶數據報服務。
第四層??應用層
應用層對應於OSI七層參考模型的應用層和表達層。網際網路的應用層協議包括Finger、Whois、FTP(文件傳輸協議)、Gopher、HTTP(超文本傳輸協議)、Telent(遠程終端協議)、SMTP(簡單郵件傳送協議)、IRC(網際網路中繼會話)、NNTP(網路新聞傳輸協議)等,這也是本書將要討論的重點。