1.計算機網絡基礎
計算機網絡:
- 線路(網線,光纖,無線。。。)
- 計算機終端(服務器,電腦設備,終端機,POS機,ATM機。。。)
- 網絡設備(路由器,交換機,中繼器,光電轉換器,負載均衡,防火牆,中繼器。。。)
- 軟件和協議
- 網絡通信的目的:通信和資源共享
網絡的七層模型:物理層,數據鏈路層,網絡層,傳輸層,會話層,表示層,應用層
2.物理層
目的:保證原始數據比特流的無誤傳輸;
任務:確定與物理媒體相關的機械特性,電氣特性、機械特性、功能特性以及規程特性
- 機械特性:連接器形式與插針分配
- 電氣特性:接口電氣信號特性
- 功能特性:數據傳遞、控制、定時、接地
- 規程特性:接口電路所使用的規程
物理層-寬帶
- 帶寬
- 帶寬的單位:bps(比特率),即bits/sec
- 帶寬單位和文件單位的區別
- 帶寬的大小,指的是每秒能吞吐多少個“位” (0/1)
- 文件的大小,指的是1字節=8位(8個0/1)
- 網絡距離和寬帶的關系
- 距離與寬帶成反比,距離越遠,帶寬越低
- 列如:局域網的帶寬比廣域網大
- 比如生活中100M寬帶,實際下載速度只有10M左右的原因就是:
- 寬帶:每秒鍾傳輸的數字比特
- 下載速度:每秒鍾傳輸的字節數
- 1 Byte(字節) = 8bits
- 10101100 每一個數字為一個bite(比特),文件中的每一個數字/字母存儲的時候占用一個字節,一個中文則占用兩個字節
物理層:將二進制的數字信息比特流從一個節點傳輸到下一個節點
- 設備:線路(網線、光纖,無線,同軸電纜等),網卡,無線(3G,4G,5G,藍牙,紅外,WiFi)
物理層-網卡的作用:
-
- 將數字信息進行串/並轉換;
- 地址標識;
- 數據幀的封裝和拆卸;
MAC地址:又叫網卡地址,48bits(8個字節),0~23位是廠商代碼,24~47位是產商自行分派
如下圖所示:54-EE-75-D6-F1-93,是用16進制替代
- 計算機內部:CPU, 內存,硬盤,鍵盤
- 例如代碼程序,已知:定義變量a = 1, b = 2 求: X = a + b的結果
- 計算機計算原理:第一步,計算機會在內存中,划分一塊區域,表示為a,大小為1,表示為b,大小為2;第二步,CPU從內存中取到到數據進行計算,再把計算結果存儲到內存中,表示為X,大小為3;
- 緩存:由於CPU ,內存和硬盤傳輸效率不同,CPU > 內存 > 硬盤,所以需要緩存進行數據暫存,緩存大小不同,影響電腦性能;
- 內存和硬盤的區別:斷電下,硬盤的數據會保存下來,但是內存/緩存的數據會丟失;
- CPU:
- 位數:一位按照8位的倍數,32位,64位表示一個脈沖可以傳輸64個bits;
- 主頻:2.6GHZ,一秒鍾傳輸2.6G,1k = 1024KB 1M = 1000K 1G = 1024M 1G = 10億bits 2.6GHZ相當於一秒鍾64 * 26億bits
3.數據鏈路層
目的:保證數據在物理鏈路上實現可靠的傳輸
- 數據的封裝和拆卸
- 地址標識
- 數據校驗,如:1101101100,在尾部加上數據准確性檢查,如果1為偶數就是1,奇數為0,接收端看接收到的數據中1是不是為偶數,是則表示數據接收是對的,存在一點風險
任務:解決信道共享及維護數據幀的完整性
- 數據幀:10101100為一幀
交換機:交換機里面會有端口號/MAC地址,用戶在請求資源時,交換機會根據端口號和MAC地址,尋找是不是局域網資源,如果不是,就通過運營商資源請求外部資源;
4.網絡層
網絡層數據傳輸單位(包),其作用有:
- 路由選擇;
- 實現數據跨網絡的鏈接;
- IP協議
- 網絡層包含:版本號,頭部長度,服務器類型,數據包總長度,生存期,源地址,目標地址等
IP協議——地址
- IPV4地址由32位二進制數字組成,每8位為一段,共分為4段,段間用 “.” 隔開,為了便於閱讀,每一段表示為其對應的十進制數字,稱為“點分十進制”表示形式;
- IPV4地址由類型,網絡號和主機號三個部分組成,路由尋址時,首先根據地質的網絡號到達網絡,然后利用主機號達到主機;
- IPV4地址分為5類,不同的類型適用於不同規模的網絡;
- IP地址在0~255之間,255為廣播地址,0表示網段
檢查是不是同一個網段的:
網絡號:IP地址和子網掩碼進行邏輯與計算的結果
如上圖:IP:10.102.129.158 子網掩碼:255.255.255.0
十進制轉換成二進制:除二取余數,位數不夠時,補0
二進制轉換成十進制:2的n次方相加,n是1所在的位置(從右往左,0位開始)
- 10.102.129.158十進制轉換成二進制:00001010.01100110.10000001.01110110
- 255.255.255.0十進制轉換成二進制:11111111.11111111.11111111.00000000
- 邏輯與結果為:00001010.01100110.10000001轉換成十進制就是10.102.129
- 所以網絡號:10.102.129 主機號:158
檢查網絡是否通:ping IP -t -l (0~65000)-t是表示持續發送,-l包的的大小字節
如果一個web網頁打不開的原因:
- 通過ping命令定位,是物理層+數據鏈路層+網絡問題,還是上層問題。
- ping不通的原因:線路松動,或者斷開;網卡問題,網卡壞了,網卡驅動問題;網絡層問題,IP地址錯誤,IP不在同一個網絡中,並且沒有路由
4.傳輸層
物理層 + 數據鏈路層 + 網絡層:實現數據從原主機的網卡送到目標主機的網卡中;
物理層 + 數據鏈路層 + 網絡層 + 傳輸層:實現數據從源主機的進程送到目標主機的應用程序進程(端口號)
傳輸的目的:
- 實現數據從源進程到目標進程的傳輸;
- 斷點續傳;
- 擁塞控制
傳輸層的兩個協議:UDP協議,TCP協議,兩個協議區別如下:
- UDP無連接協議,TCP是面向連接的協議;
- TCP比UDP更可靠;
- UDP比TCP要占用的網開銷小很多
端口號的概念:
- 對於TCP或UDP的應用程序,都有標識該應用程序的端口號,即端口號用於區分各種應用;
- 端口號的長度是16位,可提供65536(2的16次方)個不同的端口號;
- 端口號1-255是公共端口號,256-1024是用於Unix服務;
- 端口號的另一種分配方法叫本地分配,使用1024以上的端口號,本地分配方式不受網絡規模限制,但是通信雙方要預先知道。
網絡鏈接的三次握手四次斷開,如:A和B進行通信,三次握手四次釋放過程如下:
- 三次握手:
- 1.A發請求給B(希望對方可以一起吃飯,SYN, seq=0)
- 2.B回復A(可以一起吃飯,,SYN, seq=0,ACK ACK number=1)
- 3.A確認收到B的確認消息(ACK ACK number=1)
- 四次斷開:
- 1.A告訴B,數據發送完了(序號n,FIN=1)
- 2.B告訴A,收到最后一個消息了(ACK number=n+1,ACK flag=1)
- ........
- 3.B的數據發送完了后,B告訴A,數據發送完了(序號m, FIN=1)
- 4.A告訴B,收到了最后一個消息(ACK number=m+1, ACK flag=1)
5.應用層
應用層,確定數據格式,數據加密,數據壓縮等;
應用層常用的協議:
HTTP協議:HyperText Transfer Protocol 超文本傳輸協議,是應用層協議,請求和響應應有固定的格式,
- 請求由四部分組成:請求行,請求頭,空行,請求體;
- 響應也是有四部分組成:響應行,響應頭,空行,請求體;
接口請求的方式有:GET(獲取資源), POST(傳送數據),delete,trace,put,option,head
響應碼:100-599
- 2XX:服務器正常響應
- 4XX:客戶端錯誤
- 5XX:服務器錯誤
DNS:Domain Name System 域名,配置很多域名和IP對應的關系。