tcp/ip 4層結構:應用層 傳輸層 網路層 鏈路層
探索過程問題:乙個主機的資料要經過哪些過程才到達對方的主機上
一組電訊號就是乙個資料報,乙個資料報稱為一幀,制定這個規則的就是乙太網協議
0 物理介質:
http傳送乙個請求時,應用層,傳輸層,網路層和鏈路層的相關協議依次對 該請求 進行 包裝 並 攜帶對應的首部,最終在 鏈路層 生成乙太網資料報;
對方接收到資料報,就對該資料報一層一層採用對應的協議進行拆包,最後把 應用層資料 交給 應用程式 處理;
路由器把 資料報 通過物理介質**到各個閘道器,閘道器根據資料裡面攜帶的mac位址,確認是否需要**到其他閘道器,當 資料報 到達目標閘道器之後,閘道器在根據ip位址找到對應的主機
1 鏈路層:
完整的乙太網資料報 :
資料:46 - 1500位元組;如果傳輸資料超過1500位元組 就分割層多個幀進行傳送。
尾部:4位元組;資料幀校驗序列,確認資料報傳輸過程中是否損壞。
接入網路的裝置必須安裝網路裝置器(網絡卡);
網絡卡位址就是資料報的傳送位址和接收位址 -- 幀首部包含的mac位址,mac位址具有全球唯一性,十六進製制,6個位元組;
乙太網採用 廣播 形式 把資料報發給我所有子網內的所有主機,主機讀取首部裡面的mac位址 跟自己的mac位址比對,如果不同就丟棄
總結:鏈路層的主要工作是對電訊號進行分組並形成具有特定意義的資料幀,然後以廣播的形式通過物理介質傳送給接收方
2 網路層:
傳送者如何知道接受者和自己屬於同個子網?
如果接受者的自己不在同乙個子網,資料報如何發給對方?
網路層定義了三個協議:ip協議、arp協議、路由協議
ip協議
mac位址與廠商有關,與網路無關;ip位址能夠區分兩台主機是否在同個網路;
版本:ipv4、ipv6
32位 4個十進位制數字,前半部分表示網路位址,後半部分表示該主機在區域網中的位址。所以能根據網路位址判斷是否處於同個子網內。
ip位址和子網掩碼通過按位與運算等到網路位址
arp協議(位址解析協議)
是根據ip位址獲取mac位址的乙個網路層協議
arp的mac定址是在同乙個子網中
過程:1arp傳送乙個請求資料報 首部包含了目標主機的ip位址
2在鏈路層進行再次封裝,生成乙太網資料報,然後由乙太網廣播給子網內的所有主機
3所有主機收到這個資料報,取出ip位址,然後和自己的ip位址比較。
相同就返回自己的mac位址
不同就丟棄資料報
4arp接受返回資訊,確定目標機的mac位址
5同時將返回的mac位址與對應的ip位址存入本機arp快取,下次請求時候直接查詢arp節約資源
路由協議
通過ip協議判斷兩台主機是否按在同個子網內;
如果在,就通過arp查詢對應的mac位址,然後以廣播的形式向該子網內的所有主機傳送資料報;
如果不在,就將該資料報**給本子網的閘道器進行路由。
完成這個過程的物理裝置就是路由器,扮演交通樞紐的角色,會根據通道情況,選擇並設定路由器,以最佳路徑**資料報
ip資料報
在網路層,被包裝的資料報叫做ip資料報,ipv4資料報的結構如下圖所示:
資料:最大65515位元組
3 傳輸層:
鏈路層定義了主機的mac位址;
網路層定義了ip位址,明確了主機所在的網段;
問題:資料報從主機的某個應用程式發出,由對方主機接收,而每台電腦都可能執行很多應用程式,所以當資料報背傳送到主機上之後,是無法確定哪個應用程式要接收這個包的。
解決:傳輸層映入udp協議,定義了埠號,同個主機上的每個應用程式都需要制定唯一的埠號,並且規定網路傳輸的資料報必須加上埠資訊。
udp定義的資料報叫udp資料報
首部:8個位元組 包含埠,目標埠;
資料:65527位元組
缺點:沒有確認機制,無法知道對方是否收到,可靠性較差;
解決:tcp協議誕生
tcp協議(tcp傳輸控制協議)
面向連線的、可靠的、基於位元組流的通訊協議。
簡單的說:tcp協議就是有確認機制的udp協議。每發出乙個資料報都要求確認,如果有乙個資料報丟失,就收不到確認,傳送方必須重發這個資料報
為了保證傳輸的可靠性,tcp協議在udp基礎上建立了三次對話的確認機制,也就是說,在正式手法資料之前,必須和對方建立可靠的連線。三次握手
相比udp,tcp實現過程複雜,消耗連線資源較多,傳輸速度慢
總結:傳輸層的主要工作是定義埠,表示應用程式身份,實現埠到埠的通訊,tcp協議可以保證資料傳輸的可靠性
4 應用層:
常見:http ftp sftp
總結:應用層主要工作是定義資料格式並按照對應的格式解讀資料
5 全流程:
傳輸層:定義埠,確認主機應用程式身份,並把資料報交給應用程式
應用層:接收資料格式,並通過一定的格式解析資料
深入淺出TCP IP協議
目錄話說兩台電腦要通訊就必須遵守共同的規則,就好比兩個人要溝通就必須使用共同的語言一樣。乙個只懂英語的人,和乙個只懂中文的人由於沒有共同的語言 規則 就沒辦法溝通。兩台電腦之間進行通訊所共同遵守的規則,就是網路協議。tcp ip 是乙個協議族,也是按照層次劃分。共四層 應用層,傳輸層,互連網路層,網...
(四)對IP協議的深入淺出
那麼問題來了,怎麼規劃子網?這就引入了ip協議了,當然,有ip協議就有對應的ip位址標準,目前擁有ipv4,以及ipv6。子網劃分 子網定址 有了5大型別abcde,同個型別不同的網路號都占有一樣的主機數,有些地方可能不需要那麼多的主機號,而且分配ip位址也很麻煩,每個區域的中心網路需要負責整個區域...
深入淺出http協議 學習筆記
參考資料 http是一套計算機通過網路進行通訊的規則,目前http協議是1.1,http是一種無狀態的協議 即web瀏覽器與web伺服器不需要建立持久的鏈結,遵循request response模型。http通訊機制 1.建立tcp連線 在http開始工作前,web瀏覽器首先通過網路與web伺服器建...