《一本書讀懂TCP/IP》讀後感——第一章 TCP/IP網路起源
第一章 TCP/ IP網路起源
在計算機出現後,人們希望計算機之間可以溝通和分享,為保證秩序,需要一個一致遵守的協議。
1974年TCP/IP被提出,TCP(傳輸控制協議)描述如何在網路上建立可靠的,主機對主機之間的資料傳輸服務,IP(Internet協議)描述如何在互聯的網路之間實現定址的標準以及如何進行資料包路由。
1984年美國國防部將TCP/IP作為所有計算機網路的標準
1989年全球資訊網出現,TCP/IP網路大發展時代開始
IP世界是由通訊實體組成的,而通訊實體要分層以避免混亂。
1. OSIRM開放系統互連參考模型
這是一套分層結構
從底往上七層 |
資料格式 |
典型裝置 |
應用層application |
||
表示層 |
||
會話層 |
||
傳輸層 |
資料組織成資料段segment |
閘道器,協議轉換器 |
網路層 |
分割和重新組合資料包packet |
路由器 |
資料鏈路層 |
將位元資訊封裝成資料幀frame |
網橋,交換機,網絡卡 |
物理層 |
傳輸位元流bit |
光纖,同軸電纜 |
物理層解決最基礎的傳送通道問題,
資料鏈路層將物理層提供的位元流組成幀,要提供一定的糾錯和檢驗機制,乙太網就屬於這一層
網路層進行路由選擇,擁塞控制和網路互聯,還有統計與控制。網路層對傳輸層有兩種服務,一種叫面向連線的網路服務,一種叫無連線
傳輸層的任務,是向用戶提供可靠的,透明的端到端的資料傳輸,以及差錯控制和流量控制機制,TCP UDP屬於傳輸層
會話層在不同的機器之間提供會話程序通訊
表示層處理通訊程序之間交換資料的表示方法,包括語法轉換,資料格式的轉換加壓與減壓,壓縮與解壓縮等
應用層負責管理應用程式之間的通訊
2. TCP/IP
相對於OSI模型,TCP/IP的模型層級要少,從上到下依次是應用層,傳輸層,網際網路層(也稱網路層),網路介面層(對比以上七層)
網路介面層也稱為資料鏈路層,只是要求能夠提供給網路層一個訪問介面
網路層俗稱IP層,處理機器間的通訊,IP是一個不可靠的無連線協議
TCP UDP是傳輸層的重要協議,TCP是面向連線的可靠的協議,UDP是不可靠的,無連線協議,主要適用於不需要對報文進行排序和流量控制的場合
3.TCP報文格式
TCP報文包括首部和資料部分。
標誌位有六個
緊急位元URG=1時,表明此段資料優先順序高,應儘快傳送
確認位元ACK=1時確認號欄位才有效
推送位元PSH=1時應儘快交付給接收應用程序,而不再等到快取填滿後再向上
復位位元RST=1時表明tcp連線中出現嚴重差錯,必須釋放連線,然後再重新建立運輸連線
同步位元SYN=1表示這是一個連線請求或連線接受報文
注意確認序號ACK不同於標誌位中的ACK,確認方ACK=發起方SEQ+1
4.tcp的三次握手和四次揮手
tcp建立需要三次握手才能成立,斷開連線,需要四次揮手
三次握手:第一次握手:client向server傳送一個連線請求,標誌位SYN=1,傳送序號SEQ=x,client等待server確認
第二次握手:server收到資料包後由標誌位SYN=1知道client請求建立連線,server將標誌位SYN和ACK都設為1,確認序號等於ACK=x+1,隨機產生一個傳送序號SEQ=y,並將該資料包傳送給client以確認
第三次握手:client收到確認後,檢查確認序號ACK是否=x+1,標誌位ACK是否=1;如果正確,則將標誌位ACK設為1,確認序號ACK設為y+1,並將該資料包傳送給server,server檢查了兩個ACK後如果正確就建立連線
四次揮手來終止TCP連線,總共傳送4個包
第一次:客戶A要斷開連線時,傳送一個包,標誌位fin=1,ACK=1,傳送序號SEQ=x,確認序號ACK=y
第二次:客戶B知道A要斷開後,傳送一個確認包,標誌位ACK=1傳送序號SEQ=y,確認序號ACK= x+1
第三次:客戶B也要斷開TCP連線,此時傳送包標誌位fin=1,傳送序號SEQ=y+1
第四次:A收到B的請求後,傳送確認包,標誌位ACK=1,傳送序號SEQ=x+1,確認序號ACK= y+2
TCPIP與網際網路
網際網路包含因特網,因特網包含全球資訊網
國際標準的網際網路是internet i小寫
國際標準的因特網是Internet i大寫
凡是有能彼此通訊的裝置組成的網路就叫網際網路,即使僅有兩臺機器。因特網是網際網路中的一種,是由上千萬臺裝置組成的網路,因特網提供的服務一般包括全球資訊網,電子郵件,遠端登入服務,檔案傳輸服務等只要應用程式使用的是http,就稱為全球資訊網。