我的電腦通過浏覽器訪問百度,實際上就是我的浏覽器進程和百度服務器的WEB服務在網絡中進行通信交互的過程。這個過程發生了什麼?
1、 計算機應用層根據HTTP協議規定生成一個HTTP報文,交給運輸層處理。
2、 運輸層給這個報文添加一個TCP首部(包含目的地址源地址等),形成一個TCP報文段,接下來交給網絡層處理。
3、 網絡層再給TCP報文段添加一個IP首部,變成IP數據報(使報文可以在網路中傳輸,被路由轉發),網絡層将IP數據報交給數據鍊路層處理。
4、 數據鍊路層給IP數據報添加一個首部和一個尾部,形成一個幀(包含目的地址,源地址,類型,保障可以被目的地址接收)鍊路層将幀交給物理層。
5、 物理層将幀前面加一段前導碼(讓目的主機做好接受幀的準備)物理層将整段報文處理成0和1的高低平信号,發送給網絡。
6、 到達路由器,路由器物理層将信号變換為比特流,将前導碼去掉,也就是幀,交給數據鍊路層。
7、 數據鍊路層将首位去掉,交付給網絡層,也就是IP數據報。
8、 網絡層解析出IP數據報的首部,知道目的地址,查找路由器自身的路由表,确定轉發端口,網絡層把IP報交給數據鍊路層。
9、 數據鍊路層加一個首部尾部,形成幀,交給物理層。
10、 物理層将幀得比特流前面加上前導碼,轉化為物理信号交給網線傳到WEB服務器,
11、 WEB服務器的物理層收到比特流後,将前導碼去掉,保留的幀交給數據鍊路層。
12、 數據鍊路層拿到幀,數據鍊路層将首尾去掉,生成IP數據報,交給網絡層。
13、 網絡層将IP數據報的首部去掉,也就是TCP報文段,交付給運輸層。
14、 運輸層将TCP報文段的TCP首部去掉後,把HTTP報文交給應用層。
15、 應用層對HTTP報文進行解析,然後回複給計算機發送HTTP相應報文。
這個返回報文和請求報文的過程一樣,從應用層、傳輸層、網絡層、數據鍊路層、物理層層層穿衣服過後,發送給路由器,路由器脫衣服,拖到隻剩IP數據報,再把衣服傳回去,發送我我的電腦,我的電腦再脫衣服,拖到最後一件,露出HTTP報文段。
專用術語來源于OSI體系結構,但也适用于TCP/IP協議族,分為三類
協議、實體、服務
實體 是指任何可發送或接受信息的硬件或軟件進程
對等實體 收發雙方相同層次中的實體
協議 控制兩個對等實體進行邏輯通信的規則的集合。
這些邏輯通信實際不是直接通訊的,單獨研究某一層時,排除其他層的過程,方便學習
協議有三個要素
語法:定義所交換信息的格式
例如如圖的IP協議,規定了報文的内容,順序,長度
語義:定義收發雙方所要完成的操作
例如,我要訪問百度,我先要給百度發一個get http請求,百度解析報文後,知道這是http請求,對請求内容進行回複,發送一個http響應報文給我的主機,主機收到報文後,解析,取出百度給我的内容。這就是HTTP協議規定的。
同步:定義通訊雙方的時序關系
例如TCP協議的三次握手的過程就顯示了各過程時序的關系
服務 在協議的控制下,兩個對等實體間的邏輯通信使得本層能夠向上一層提供服務。
要實現本次協議,還需要使用下面一層提供的服務。
實體看得見相鄰下層提供的服務,但并不知道實現該服務的具體協議。也就是說,下面的協議對上面的實體是“透明”的。我們知道手機給我們提供的功能,但不知道工作原理。
服務訪問點 在同一系統中相鄰兩次的實體交換信息的邏輯接口,用于區分不同的服務類型。
數據鍊路層服務訪問點是幀的“類型”字段
網絡層的服務訪問點是IP數據報首部中的“協議字段”。
運輸層的服務訪問點為“端口号”
服務原語 上層使用下層提供的服務必須通過與下層交換一些命令,這些命令就是服務原語
協議數據單元PDU 對等層次之間傳送的數據包稱為該層的協議數據單元
例如物理層對等實體邏輯通信的數據包稱為比特流;
鍊路層對等實體邏輯通信的數據包為幀
網絡層的對等等實體邏輯通信的數據包為IP數據包或分組
運輸層的對等等實體邏輯通信的數據包為TCP報文段/UDP用戶數據報
應用層的對等等實體邏輯通信的數據包為報文,例如HTTP報文
服務數據單元SDU 同一系統内,層與層之間交換的數據包稱為數據服務單元
多個SDU可以合成為一個PDU;一個SDU也可劃分為幾個PDU。
本文為筆者自學過程中整理的筆記,如有錯誤之處,歡迎指正,謝謝![來看我]
上一篇:「筆記」計算機網絡體系結構& 計算機網絡體系結構分層的必要性
下一篇:「筆記」計算機網絡體系結構物理層的傳輸媒介與傳輸方式
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!