KeyWords:
誕生,網絡基礎TCP/IP,TCP/IP協議族,TCP/IP的分層管理,TCP/IP通信傳輸流,
IP、TCP和DNS,URI和URL
關鍵語句:
1. Web是建立在Http協議上通信的, 協議指規則的約束
2.Http的出現主要為了解決 文本傳輸的 難題,現在Http協議已經超出了Web這個框架的局限,被應用到各種場景中
3.通常使用的網絡(包括互聯網)是在TCP/IP協議族的基礎上運作的。而HTTP屬于它內部的一個子集
4.協議Protocal的定義:計算機和網絡設備要相互通信,雙方就必須基于相同的方法。比如如何探測到通信目標、由哪一邊先發起通信、使用哪種語言進行通信、怎樣結束通信等規則都需要事先確定。不同的硬件、操作系統之間的通信,所有這一切都需要一種規則。而我們把這種規則稱為協議。
5.TCP/IP的分層管理:應用層、傳輸層、網絡層和數據鏈路層。
6.把TCP/IP層次化是有好處的。比如,如果互聯網只由一個協議統籌,某個地方需要改變設計時,就必須把某個地方整體替換掉。而分層之后只需要把變動的層替換掉即可。把各層之間的接口部分規劃好之后,每個層次內部的設計就能夠自由改動了。
7.應用層 決定了向用戶提供應用服務時通信的活動。HTTP協議也處于該層。應用服務:比如:FTP文件傳輸協議和DNS域名系統等
8.傳輸層 對上層應用層,提供處于網絡連接中的兩臺計算機之間的數據傳輸。在傳輸層有兩個性質不同的協議:TCP傳輸控制協議 和 UDP用戶數據報協議
9.網絡層 用來處理在網絡上流動的數據包。 數據包:是網絡傳輸的最小數據單位。該層決定了通過怎樣的路徑(所謂的傳輸路線)到達對方計算機,并把數據包傳送給對方。
10.鏈路層 (又叫數據鏈路層、網絡接口層),用來處理連接網絡的硬件部分。包括控制操作系統、硬件的設備驅動、NIC網卡,及光纖等可見部分。硬件上的范疇均在鏈路層的作用范圍之內。
11.利用TCP/IP協議族進行網絡通信時,會通過分層順序與對方進行通信。發送端從應用層往下走,接收端則往上向應用層走。
12.我們用HTTP舉例來說明,首先作為發送端的客戶端在應用層(HTTP協議)發出一個想要看到某個Web頁面的HTTP請求。
接著,為了傳輸方便,在傳輸層(TCP協議)把從應用層處收到的數據(HTTP請求報文)進行分割,并在各個報文上打上標記序號及端口號后轉發給網絡層。
在網絡層(IP協議),增加作為通信目的地的MAC地址后轉發給鏈路層。這樣以來,發往網絡的通信請求就準備齊全了。
接收端的服務器在鏈路層接收到數據,按序往上層返送,一直到應用層。當傳輸到應用層,才能算真正接收到由客戶端發送過來的HTTP請求。
13.IP協議:負責傳輸。位于網絡層。作用是把各種數據包傳送給對方。而要保證確實傳送到對方那里,則需要滿足各類條件。其中兩個重要的條件是IP地址和MAC地址。
IP地址指明了 節點被分配到的地址。MAC地址是指網卡所屬的固定地址。
IP地址可以和MAC地址進行配對。IP地址可變換,但MAC地址基本上不會更改。
14.TCP協議:確保可靠。位于傳輸層。提供可靠的字節流服務。
15.三次握手:為了準確無誤地將數據送達目標處,TCP協議采用了三次握手策略(three-way handshaking)。用TCP協議把數據包送出去后,TCP不會對傳送后的情況置之不理,它一定會像對方確認是否成功送達。握手過程中使用了TCP的標志-SYN(synchronize)和ACK(acknowledgement)。
發送端首先發送一個帶SYN標志的數據包給對方。接收端收到后,回傳一個帶SYN/ACK標志的數據包以示傳達確認信息。最后發送端再回傳一個帶ACK標志的數據包,代表握手結束。
若在握手過程中某個階段莫名中斷,TCP協議會再次以相同的順序發送相同的數據包。
16. 除了三次握手,TCP協議還有其他各種手段來保證通信的可靠性。
17.DNS(Domain Name System)服務是和HTTP協議一樣位于應用層的協議。它提供域名到IP地址之間的解析服務。
18.DNS提供通過域名查找IP地址,或逆向從IP地址反查域名的服務。
19.IP協議、TCP協議和DNS服務在使用HTTP協議的通信過程中各自發揮了哪些作用,可以用下圖說明:
20.URI:Uniform Resource Identifier,統一資源標志符
21.URI用字符串標識某一互聯網資源,而URL表示資源的地點(互聯網上所處的位置)。可見URL是URI的子集。
22.URL:Uniform Resource Locator,統一資源定位符