1. 什麼是互聯網協議及爲什麼要有互聯網協議
互聯網的本質就是一系列網絡協議,互聯網協議就是讓孤立的計算機可以互相溝通聯繫。英語成爲世界上全部人通訊的統一標準,若是把計算機當作分佈於世界各地的人,那麼鏈接兩臺計算機之間的internet實際上就是一系列統一的標準,這些標準稱之爲互聯網協議,互聯網的本質就是一系列的協議,總稱爲‘互聯網協議’(Internet Protocol Suite)。能讓孤立的計算機之間互相聯繫,方便信息的交流和傳輸,因此要有互聯網協議。
2.OSI五層模型
互聯網的實現,分紅好幾層。每一層都有本身的功能,就像建築物同樣,每一層都靠下一層支持。用戶接觸到的,只是最上面的一層,根本沒有感受到下面的層。要理解互聯網,必須從最下層開始,自下而上理解每一層的功能。通常分爲五層:最底下的一層叫作」物理層」(Physical Layer),最上面的一層叫作」應用層」(Application Layer),中間的三層(自下而上)分別是」連接層」(Link Layer)、」網絡層」(Network Layer)和」傳輸層」(Transport Layer)。越下面的層,越靠近硬件;越上面的層,越靠近用戶。
- 物理層:物理層即爲將電腦鏈接起來的光纜,電線等。把電腦用物理手段鏈接起來。主要是基於電器特性發送高低電壓(電信號),高電壓對應數字1,低電壓對應數字0。
- 連接層:單純的0和1沒有任何意義,連接層即定義了電信號的分組形式,每組什麼意思。
- 以太網協議:以太網規定,一組電信號構成一個數據包,叫作」幀」(Frame)。每一幀分紅兩個部分:標頭(Head)和數據(Data)。標頭」包含數據包的一些說明項,好比發送者mac地址、接受者mac地址、數據類型等等;」數據」則是數據包的具體內容。「標頭」的長度,固定爲18字節。」數據」的長度,最短爲46字節,最長爲1500字節。所以,整個」幀」最短爲64字節,最長爲1518字節。若是數據很長,就必須分割成多個幀進行發送。
- mac地址:以太網規定,連入網絡的全部設備,都必須具備」網卡」接口。數據包必須是從一塊網卡,傳送到另外一塊網卡。網卡的地址,就是數據包的發送地址和接收地址,這叫作MAC地址。每塊網卡出廠的時候,都有一個全世界獨一無二的MAC地址,長度是48個二進制位,一般用12個十六進制數表示。前6個十六進制數是廠商編號,後6個是該廠商的網卡流水號。有了MAC地址,就能夠定位網卡和數據包的路徑了。
- 廣播:有了mac地址仍是不夠的。一塊網卡怎麼之道另一塊網卡的地址了?就算知道了地址,系統有怎樣準確送到接收方了?這是由於有一種arp協議讓咱們能夠獲悉另一塊網卡的地址。這個後面介紹;準確送到是由於以太網採用了一種很」原始」的方式,它不是把數據包準確送到接收方,而是向本網絡內全部計算機發送,讓每臺計算機本身判斷,是否爲接收方。
- 網絡層:它的做用是引進一套新的地址,使得咱們可以區分不一樣的計算機是否屬於同一個子網絡。這套地址就叫作」網絡地址」,簡稱」網址」。因而,」網絡層」出現之後,每臺計算機有了兩種地址,一種是MAC地址,另外一種是網絡地址。兩種地址之間沒有任何聯繫,MAC地址是綁定在網卡上的,網絡地址則是管理員分配的,它們只是隨機組合在一塊兒。網絡地址幫助咱們肯定計算機所在的子網絡,MAC地址則將數據包送到該子網絡中的目標網卡。所以,從邏輯上能夠推斷,一定是先處理網絡地址,而後再處理MAC地址。
- 傳輸層:有了MAC地址和IP地址,咱們已經能夠在互聯網上任意兩臺主機上創建通訊。接下來的問題是,同一臺主機上有許多程序都須要用到網絡,好比,你一邊瀏覽網頁,一邊與朋友在線聊天。當一個數據包從互聯網上發來的時候,你怎麼知道,它是表示網頁的內容,仍是表示在線聊天的內容?也就是說,咱們還須要一個參數,表示這個數據包到底供哪一個程序(進程)使用。這個參數就叫作」端口」(port),它實際上是每個使用網卡的程序的編號。每一個數據包都發到主機的特定端口,因此不一樣的程序就能取到本身所須要的數據。「端口」是0到65535之間的一個整數,正好16個二進制位。0到1023的端口被系統佔用,用戶只能選用大於1023的端口。不論是瀏覽網頁仍是在線聊天,應用程序會隨機選用一個端口,而後與服務器的相應端口聯繫。「傳輸層」的功能,就是創建」端口到端口」的通訊。相比之下,」網絡層」的功能是創建」主機到主機」的通訊。只要肯定主機和端口,咱們就能實現程序之間的交流。所以,Unix系統就把主機+端口,叫作」套接字」(socket)。有了它,就能夠進行網絡應用程序開發了。
- 應用層:應用程序收到」傳輸層」的數據,接下來就要進行解讀。因爲互聯網是開放架構,數據來源五花八門,必須事先規定好格式,不然根本沒法解讀。「應用層」的做用,就是規定應用程序的數據格式。舉例來講,TCP協議能夠爲各類各樣的程序傳遞數據,好比Email、WWW、FTP等等。那麼,必須有不一樣協議規定電子郵件、網頁、FTP數據的格式,這些應用程序協議就構成了」應用層」。這是最高的一層,直接面對用戶。它的數據就放在TCP數據包的」數據」部分。
3.用戶上網流程
打開電腦--插上網線--填入本機的IP地址--子網掩碼--網關的IP地址--DNS的IP地址--應用層協議--TCP協議--以太網協議--服務器終端響應。