七層協議和四層協議(阿里)

若是想了解HTTP的協議結構,原理,post,get的區別(阿里面試題目),請參考:HTTP協議 結構,get post 區別(阿里面試) 

查看 http 1.0和1.1的區別參考:HTTP/1.0和HTTP/1.1的區別,HTTP怎麼處理長鏈接html

可是若是想進入阿里的話,仍是看本文理解TCP的三次握手和四次揮手,發送的報文和狀態都要掌握,阿里問了好幾回了。能夠參考:三次握手,四次揮手 具體發送的報文和狀態都要掌握面試

爲何會有TCP/IP協議

在世界上各地,各類各樣的電腦運行着各自不一樣的操做系統爲你們服務,這些電腦在表達同一種信息的時候所使用的方法是千差萬別。就好像聖經中上帝打亂了各地人的口音,讓他們沒法合做同樣。計算機使用者意識到,計算機只是單兵做戰並不會發揮太大的做用。只有把它們聯合起來,電腦纔會發揮出它最大的潛力。因而人們就千方百計的用電線把電腦鏈接到了一塊兒。算法

可是簡單的連到一塊兒是遠遠不夠的,就好像語言不一樣的兩我的互相見了面,徹底不能交流信息。於是他們須要定義一些共通的東西來進行交流,TCP/IP就是爲此而生。TCP/IP不是一個協議,而是一個協議族的統稱。裏面包括了IP協議,IMCP協議,TCP協議,以及咱們更加熟悉的http、ftp、pop3協議等等。電腦有了這些,就好像學會了外語同樣,就能夠和其餘的計算機終端作自由的交流了。瀏覽器

TCP/IP協議分層

           

TCP/IP協議族按照層次由上到下,層層包裝。服務器

應用層:
向用戶提供一組經常使用的應用程序,好比電子郵件、文件傳輸訪問、遠程登陸等。遠程登陸TELNET使用TELNET協議提供在網絡其它主機上註冊的接口。TELNET會話提供了基於字符的虛擬終端。文件傳輸訪問FTP使用FTP協議來提供網絡內機器間的文件拷貝功能。網絡

傳輸層:
提供應用程序間的通訊。其功能包括:1、格式化信息流;2、提供可靠傳輸。爲實現後者,傳輸層協議規定接收端必須發回確認,而且假如分組丟失,必須從新發送。post

網絡層 :
負責相鄰計算機之間的通訊。其功能包括三方面。
1、處理來自傳輸層的分組發送請求,收到請求後,將分組裝入IP數據報,填充報頭,選擇去往信宿機的路徑,而後將數據報發往適當的網絡接口。編碼

2、處理輸入數據報:首先檢查其合法性,而後進行尋徑--假如該數據報已到達信宿機,則去掉報頭,將剩下部分交給適當的傳輸協議;假如該數據報還沒有到達信宿,則轉發該數據報。加密

3、處理路徑、流控、擁塞等問題。url

網絡接口層
這是TCP/IP軟件的最低層,負責接收IP數據報並經過網絡發送之,或者從網絡上接收物理幀,抽出IP數據報,交給IP層。

IP 是無鏈接的

IP 用於計算機之間的通訊。

IP 是無鏈接的通訊協議。它不會佔用兩個正在通訊的計算機之間的通訊線路。這樣,IP 就下降了對網絡線路的需求。每條線能夠同時知足許多不一樣的計算機之間的通訊須要。

經過 IP,消息(或者其餘數據)被分割爲小的獨立的包,並經過因特網在計算機之間傳送。

IP 負責將每一個包路由至它的目的地。

IP地址

每一個計算機必須有一個 IP 地址纔可以連入因特網。

每一個 IP 包必須有一個地址纔可以發送到另外一臺計算機。

網絡上每個節點都必須有一個獨立的Internet地址(也叫作IP地址)。如今,一般使用的IP地址是一個32bit的數字,也就是咱們常說的IPv4標準,這32bit的數字分紅四組,也就是常見的255.255.255.255的樣式。IPv4標準上,地址被分爲五類,咱們經常使用的是B類地址。具體的分類請參考其餘文檔。須要注意的是IP地址是網絡號+主機號的組合,這很是重要。

CP/IP 使用 32 個比特來編址。一個計算機字節是 8 比特。因此 TCP/IP 使用了 4 個字節。
一個計算機字節能夠包含 256 個不一樣的值:
00000000、0000000一、000000十、000000十一、00000100、0000010一、000001十、000001十一、00001000 ....... 直到 11111111。
如今,你知道了爲何 TCP/IP 地址是介於 0 到 255 之間的 4 個數字。

TCP 使用固定的鏈接

TCP 用於應用程序之間的通訊。

當應用程序但願經過 TCP 與另外一個應用程序通訊時,它會發送一個通訊請求。這個請求必須被送到一個確切的地址。在雙方「握手」以後,TCP 將在兩個應用程序之間創建一個全雙工 (full-duplex) 的通訊。

這個全雙工的通訊將佔用兩個計算機之間的通訊線路,直到它被一方或雙方關閉爲止。

UDP 和 TCP 很類似,可是更簡單,同時可靠性低於 TCP。

IP 路由器

當一個 IP 包從一臺計算機被髮送,它會到達一個 IP 路由器。

IP 路由器負責將這個包路由至它的目的地,直接地或者經過其餘的路由器。

在一個相同的通訊中,一個包所經由的路徑可能會和其餘的包不一樣。而路由器負責根據通訊量、網絡中的錯誤或者其餘參數來進行正確地尋址。

域名

12 個阿拉伯數字很難記憶。使用一個名稱更容易。

用於 TCP/IP 地址的名字被稱爲域名。w3school.com.cn 就是一個域名。

當你鍵入一個像 http://www.w3school.com.cn 這樣的域名,域名會被一種 DNS 程序翻譯爲數字。

在全世界,數量龐大的 DNS 服務器被連入因特網。DNS 服務器負責將域名翻譯爲 TCP/IP 地址,同時負責使用新的域名信息更新彼此的系統。

當一個新的域名連同其 TCP/IP 地址一同註冊後,全世界的 DNS 服務器都會對此信息進行更新。

TCP/IP

TCP/IP 意味着 TCP 和 IP 在一塊兒協同工做。

TCP 負責應用軟件(好比你的瀏覽器)和網絡軟件之間的通訊。

IP 負責計算機之間的通訊。

TCP 負責將數據分割並裝入 IP 包,而後在它們到達的時候從新組合它們。

IP 負責將包發送至接受者。

 

 

  OSI 七層模型經過七個層次化的結構模型使不一樣的系統不一樣的網絡之間實現可靠的通信,所以其最主要的功能就是幫助不一樣類型的主機實現數據傳輸 。完成中繼功能的節點一般稱爲中繼系統。一個設備工做在哪一層,關鍵看它工做時利用哪一層的數據頭部信息。網橋工做時,是以MAC頭部來決定轉發端口的,所以顯然它是數據鏈路層的設備。具體說:

  • 物理層:網卡,網線,集線器,中繼器,調制解調器
  • 數據鏈路層:網橋,交換機
  • 網絡層:路由器
  • 網關工做在第四層傳輸層及其以上 

  路由器的一個做用是連通不一樣的網絡,另外一個做用是選擇信息傳送的線路。選擇通暢快捷的近路,能大大提升通訊速度,減輕網絡系統通訊負荷,節約網絡系統資源,提升網絡系統暢通率。  

物理層
  
在OSI參考模型中,物理層(Physical Layer)是參考模型的最低層。物理層的做用是實現相鄰計算機節點之間比特流的透明傳送,儘量屏蔽掉具體傳輸介質和物理設備的差別。「透明傳送比特流」表示經實際電路傳送後的比特流沒有發生變化,對傳送的比特流來講,這個電路好像是看不見的。

數據鏈路層
  
數據鏈路層(Data Link Layer)是OSI模型的第二層,負責創建和管理節點間的鏈路。該層的主要功能是:經過各類控制協議,將有差錯的物理信道變爲無差錯的、能可靠傳輸數據幀的數據鏈路。在計算機網絡中因爲各類干擾的存在,物理鏈路是不可靠的。所以,這一層的主要功能是在物理層提供的比特流的基礎上,經過差錯控制、流量控制方法,使有差錯的物理線路變爲無差錯的數據鏈路,即提供可靠的經過物理介質傳輸數據的方法。數據鏈路層的具體工做是接收來自物理層的位流形式的數據,並封裝成幀,傳送到上一層;一樣,也未來自上層的數據幀,拆裝爲位流形式的數據轉發到物理層;而且,還負責處理接收端發回的確認幀的信息,以便提供可靠的數據傳輸。

網絡層
  
網絡層(Network Layer)是OSI模型的第三層,它是OSI參考模型中最複雜的一層。它在下兩層的基礎上向資源子網提供服務。其主要任務是:經過路由選擇算法,爲報文或分組經過通訊子網選擇最適當的路徑。具體地說,數據鏈路層的數據在這一層被轉換爲數據包,而後經過路徑選擇、分段組合、順 序、進/出路由等控制,將信息從一個網絡設備傳送到另外一個網絡設備。通常地,數據鏈路層是解決同一網絡內節點之間的通訊,而網絡層主要解決不一樣子網間的通訊。例如在廣域網之間通訊時,必然會遇到路由(即兩節點間可能有多條路徑)選擇問題。 

傳輸層
  傳輸層(Transport Layer)是OSI模型的第4層。所以該層是通訊子網和資源子網的接口和橋樑,起到承上啓下的做用。該層的主要任務是:向用戶提供可靠的端到端的差錯和流量控制,保證報文的正確傳輸。傳輸層的做用是向高層屏蔽下層數據通訊的細節,即向用戶透明地傳送報文。該層常見的協議:TCP/IP中的TCP協議和UDP協議。傳輸層提供會話層和網絡層之間的傳輸服務,這種服務從會話層得到數據,並在必要時,對數據進行分割。而後,傳輸層將數據傳遞到網絡層,並確保數據能正確無誤地傳送到網絡層。所以,傳輸層負責提供兩節點之間數據的可靠傳送,當兩節點的聯繫肯定以後,傳輸層則負責監督工做。綜上,傳輸層的主要功能以下:監控服務質量
會話層
  會話層(Session Layer)是OSI模型的第5層,是用戶應用程序和網絡之間的接口,主要任務是:向兩個實體的表示層提供創建和使用鏈接的方法。將不一樣實體之間的表示層 的鏈接稱爲會話。所以會話層的任務就是組織和協調兩個會話進程之間的通訊,並對數據交換進行管理。 用戶能夠按照半雙工、單工和全雙工的方式創建會話。當創建會話時,用戶必須提供他們想要鏈接的遠程地址。而這些地址與MAC(介質訪問控制子層)地址或網絡層的邏輯地址不一樣,它們是爲用戶專門設計的,更便於用戶記憶。

表示層
  表示層(Presentation Layer)是OSI模型的第六層,它對來自應用層的命令和數據進行解釋,對各類語法賦予相應的含義,並按照必定的格式傳送給會話層。其主要功能是「處理用戶信息的表示問題,如編碼、數據格式轉換和加密解密」等。

應用層
  應用層(Application Layer)是OSI參考模型的最高層,它是計算機用戶,以及各類應用程序和網絡之間的接口,其功能是直接向用戶提供服務,完成用戶但願在網絡上完成的各類工做。它在其餘6層工做的基礎上,負責完成網絡中應用程序與網絡操做系統之間的聯繫,創建與結束使用者之間的聯繫,並完成網絡用戶提出的各類網絡服務及 應用所需的監督、管理和服務等各類協議。此外,該層還負責協調各個應用程序間的工做。
  
    

參考:七層協議和四層協議

相關文章
相關標籤/搜索