目錄瀏覽器
關於計算機網絡的知識是一個專門的學科。這裏只簡單介紹計算機網絡基礎知識。服務器
C:client 客戶機 S:server 服務器網絡
所謂C/S架構就是客戶機/服務器,就是一些聯網的電腦應用程序所採用採用的架構。架構
用戶經過下載客戶機去訪問服務器的資源,使用客戶機和服務器之間產生數據交互tcp
C:browser 瀏覽器 S:server 服務器網站
C/S架構廣泛使用在網頁中。url
用戶經過瀏覽器進行瀏覽網頁,訪問服務器中的資源,完成一些操做。如天貓,淘寶,百度,京東的網頁等。計算機網絡
OSI(開放系統互連參考模型)七層模型是ISO(國際標準化組織)制定的標準網絡參考模型code
關於OSI七層模型,不作過多介紹,想要了解百度一大把資料。這裏只是說下有這麼個東西。server
真正Internet使用的是從OSI七層模型中的五層模型,也有的人把五層模型歸結爲四層模型,其實都差很少
五層模型:
四層模型
這裏所說的內容都是博主本身的理解。若有錯誤,請小聲bb。
經過物理傳輸介質傳輸高低電平信號,計算機表示爲0和1。
把 數據封裝成幀。每一數據幀分紅:報頭head和數據data兩部分
報頭: 固定18個字節,6:發送者地址/6:接收者地址/6:數據類型
**mac地址** :發送者,接收者地址,就是mac地址。每塊網卡都有一個惟一mac地址:12位16進制數表示(前六位是廠商編號,後六位是流水線號)
IP地址:ipv4:32位2進製表示:點分十進制表示 從0.0.0.0到255.255.255.255,範圍是有限的,不能表示出全部的網絡設備,因而出現了ipv6
子網掩碼:經過子網掩碼和ip判斷兩個ip是否處於同一個網段,經過ip地址和子網掩碼作按位與運算
ARP協議:廣播的方式發送數據包,獲取目標主機的mac地址
IP(網際)協議 經過 ARP(地址解析)協議 解析IP數據報獲得對端主機地址
TCP(傳輸控制)協議: 創建面向鏈接的可靠傳輸通路 (三次握手四次揮手),向對端主機地址的端口號發送數據,須要ACK響應,效率低,不會丟包,有快重傳等機制。
UPD(用戶數據報協議): 不須要創建鏈接,能夠直接向對端主機地址的端口號發送數據,不須要響應,效率高,容易丟包
端口:端口範圍0-65535,0-1023爲系統佔用端口。經過ip+子網掩碼惟一肯定一臺設備,經過ip+子網掩碼惟+端口號惟一肯定一個軟件。
下面會詳細說TCP創建鏈接過程
HTTP(超文本傳輸)協議
DNS(域名系統):提供域名解析服務
FTP(文件傳輸)協議
tcp協議:
面向鏈接的可靠傳輸,TCP數據包沒有長度限制,理論上能夠無限長,可是爲了保證網絡的效率,一般TCP數據包的長度不會超過IP數據包的長度,以確保單個TCP數據包沒必要再分割。
udp協議:
不可靠傳輸,」報頭」部分一共只有8個字節,總長度不超過65,535字節,正好放進一個IP數據包。
爲何說TCP協議是面向鏈接的可靠傳輸。一方面緣由是,TCP須要創建可靠的鏈接,而面向鏈接就是咱們所說的三次握手和四次揮手。另外一方面緣由是,可靠傳輸,它體如今對每一條數據包都須要進行ack確認,確保對端主機端口收到該數據包。若是沒有收到就會有一系列的相似快重傳等機制,會恢復數據的傳輸。若是長時間無響應則會斷開鏈接。
tcp協議創建鏈接的過程被形象的喻爲三次握手
釋放鏈接時的過程被形象的喻爲四次揮手
三次握手:
此時通過三次握手纔算正式的創建了通信傳輸的鏈接
數據傳輸:
四次揮手:
此時通過四次揮手纔算正式斷開了通信傳輸的鏈接
實際上,當用戶在瀏覽器上的地址欄中輸入url時,是經過域名的方式訪問該網站的站點服務器。如www.baidu.com
而DNS(域名解析系統)則是對域名作出解析操做,解析爲IP地址。這個解析的服務就是DNS提供的。
常見的DNS服務器地址有:114.114.114.114
,8.8.8.8