為了方便交流,人類發明了語言,約定了每個漢字符號代表的意思。同理,為了機器之間的交流,我們也需要一些「約定」,我們稱這些約定為「協議」。
在網際網路中,所有的計算機都是由 路由器和交換機 連線到一起的。計算機之間的傳輸媒介是光訊號和電訊號。通過「頻率」和「強弱」來表示 0 和 1 這樣的資訊。要想傳遞不同的資訊,就需要約定好雙方的資料格式。
1. osi七層協議(物數網傳會表應)
分層名稱
功能作用
應用層針對特定應用的協議
針對每個應用的協議:
電子郵件(電子郵件協議),
遠端登陸(遠端登入協議)
表示層可確保乙個系統的應用層所傳送的資訊
可以被另乙個系統的應用層讀取。
裝置固有的資料格式和
網路標準資料格式的轉化
會話層通過傳輸層建立資料傳輸的通路。
通訊管理。負責建立和斷開通訊連線
(資料流動的邏輯通路)。管理傳輸層以下的分層
何時建立連線,何時斷開連線?保持多久的連線?
傳輸層定義了傳輸資料的協議和埠號。如tcp和udp。
管理兩個節點之間的資料傳輸。
負責可靠傳輸(確保資料被可靠地傳送到目標位址)
主要是將從下層接收的資料
進行分段和傳輸,
到達目的地後再進行重組,
常常把這一層資料叫做段
網路層在位於不同地理位置的網路中的
兩個主機系統之間提供連線和路徑選擇。
即位址管理與路由選擇
經過哪個路由傳遞到目標位址?
資料鏈路層
定義了如何讓格式化資料以幀為單位進行傳輸,
以及如何讓控制對物理介質的訪問。
這一層還提供錯誤檢測與糾正,
以確保資料的可靠傳輸。
資料幀與位元流之間的轉換
物理層主要定義物理裝置標準。
如:網線的介面型別、
光纖的介面型別、
各種傳輸介質的傳輸速率等。
傳輸位元流,就是由「0」「1」轉化為電路強弱來進行傳輸、
到達目的地後再轉化為1,0。
也就是我們常說數模轉換與模數轉換,
這一層的資料叫做位元。
2.tcp/ip五層模型
tcp/ip是一組協議的代名詞,它還包括許多協議,組成了tcp/ip協議簇,是常用的網路協議,所以要記住每一層及其含義。
tcp/ip協議通訊採用了5層的層級結構,每一層都呼叫它的下一層所提供的的網路來完成自己的需求。
分層名稱
描述裝置
常用協議
物理層負責光/電訊號的傳遞方式,
比如現在乙太網通用的網線(雙絞線),
早期乙太網採用的同軸電纜(現在主要用於有線電視),
光纖,現在的wifi無線網使用電磁波等都屬於物理層的概念。
物理層的能力決定了最大傳輸速率,傳輸距離,抗干擾性等。
集線器(hub)工作在物理層
硬體資料鏈路層
負責裝置之間的資料幀的傳送和識別。例如網絡卡裝置的驅動,幀同步(就是說從網線上檢測到什麼訊號算作新幀的開始),衝突檢測(如果檢測到衝突就自動重發),資料差錯校驗等工作
交換機(switch)
乙太網,令牌環網,無線lan等標準
網路層負責位址管理和路由選擇,例如在ip協議中,通過ip位址來標識一台主機,並通過路由表的方式規劃出兩台主機之間的資料傳輸的線路(路由)
路由器(router)
arp, ip, icmp
傳輸層負責兩台主機之間的資料傳輸,如傳輸控制協議(tcp),能夠確保資料可靠地從源主機傳送到目標主機
tcp, udp, udp-lite,
sctp, dccp
應用層負責應用程式之間溝通,如簡單電子郵件傳輸(smtp),檔案傳輸協議(ftp),網路遠端訪問協議(telnet)
3. 資料報封裝和分用
我們已經了解到tcp/ip四層模型,那麼資料在網路中到底是如何傳輸的呢?比如說a主機現在打算給b主機傳輸一條訊息:「約嗎?朋友」,我們直接把這條訊息丟到網路中去傳輸,可以嗎?當然是不行。因此我們就需要了解到資料報封裝和分用的內容了。
封裝過程
如上圖所示:應用層的一段資料,經過邏輯封裝,tcp封裝,ip封裝,幀封裝,然後從網絡卡出去;接收端則是逆過程。其中tcp及以下的封裝,一般不需要我們自己動手,僅考慮應用層的封裝即可。
分用過程
五層TCP IP模型
tcp ip模型 應用層利用所需的應用層報頭,建立封裝所需的應用層資料,通常是http協議或pop3,smtp協議 傳輸層將應用層資料封裝在傳輸層中,選擇tcp或udp協議 網路層將傳輸層的資料封裝在網路層 ip層 的報文中 資料鏈路層將網路層提供的資料封裝在網路接入層報頭和報尾之間 物理層將資料鏈...
TCP IP協議棧與資料報封裝
tcp ip 網路協議棧分為應用層 傳輸層 transport 網路層 network 和鏈路層 link 四層。如下圖所示 該圖出自 tcpip 圖 36.1.tcp ip協議棧 兩台計算機通過 tcp ip 協議通訊的過程如下所示 該圖出自 tcpip 圖 36.2.tcp ip通訊過程 傳輸層...
TCP IP協議棧與資料報封裝
兩台計算機通過tcp ip協議通訊的過程如下所示.傳輸層及其以下的機制由核心提供,應用層由使用者程序提供 後面將介紹如何使用socket api編寫應用程式 應用程式對通訊資料的含義進行解釋,而傳輸層及其以下處理通訊的細節,將資料從一台計算機通過一定的路徑傳送到另一台計算機。應用層資料通過協議棧發到...