當今社會家庭生活,職場工做都離不開電腦。咱們須要電腦,可是僅僅咱們本身一臺電腦是沒法知足我哦們的生活與工做需求的,經過網線咱們能夠把不少臺電腦鏈接起來,在辦公室能夠訪問一個公司局域網,也能夠訪問全球因特網網站,在家裏咱們也能夠訪問公司的網絡,也能夠問全球因特網網站,這都是歸功於互聯網網絡技術。linux
今天咱們就來聊聊網絡技術的一些基礎知識。數組
1. MAC(Media Access Control,介質訪問控制)地址,或稱爲物理地址,也叫硬件地址,用來定義網絡設備的位置,MAC地址是網卡出廠時設定的,是固定的(但能夠經過在設備管理器中或註冊表等方式修改,同一網段內的MAC地址必須惟一)。MAC地址採用十六進制數表示,長度是6個字節(48位),分爲前24位和後24位。 網絡
a、MAC地址分類oop
1)單播 MAC 地址是指第一個字節的最低位是 0 的 MAC 地址。(經常使用於手機,電腦,路由器,交換機), 你看看你的電腦 是否是?學習
2)組播 MAC 地址是指第一個字節的最低位是 1 的 MAC 地址。(經常使用於 iPTV電視等 )
測試
3)廣播 MAC 地址是指每一個比特都是 1 的 MAC 地址。廣播 MAC 地址是組播 MAC 地址的一個特例。網站
c、 MAC 地址也能夠用於網站訪問流量權限控制。(綁定某個mac地址的電腦訪問網站)url
2. IP地址(Internet Protocol Address),縮寫爲IP Adress,是一種在Internet上的給主機統一編址的地址格式,也稱爲網絡協議(IP協議)地址。它爲互聯網上的每個網絡和每一臺主機分配一個邏輯地址。IP協議目前有兩個版本IPv4 與 IPv6 ,目前IPv6接觸不多。咱們瞭解咱們目前經常使用的IPv4就算了。 spa
a、IP地址的分類,IP地址分A、B、C、D、E五類,其中A、B、C這三類是比較經常使用的IP地址,D、E類爲特殊地址。 計算機網絡
在計算機網絡中,主機ID所有爲0的地址爲網絡地址,而主機ID所有爲1的地址爲廣播地址,這2個地址是不能分配給主機用的。
b、IP地址總結學習思惟導圖以下:
如下這些特殊IP地址都是不能分配給主機用的地址:
保留的特殊IP地址思惟導圖以下:
公網IP地址
公有地址分配和管理由Inter NIC(Internet Network Information Center 因特網信息中心)負責。各級ISP使用的公網地址都須要向Inter NIC提出申請,有Inter NIC統一發放,這樣就能確保地址塊不衝突。
私網IP地址
建立IP尋址方案的人也建立了私網IP地址。這些地址能夠被用於私有網絡,在Internet沒有這些IP地址,Internet上的路由器也沒有到私有網絡的路由表。
PS:私網地址訪問Internet須要作NAT或PAT網絡地址轉換
公網和私網IP地址思惟導圖以下:
d 、經常使用C類IP地址詳解
如下是咱們window系統電腦的IP設置。
在計算機二進制中,1個字節 = 8位 = 8bit(比特)
IP地址(IPv4)由32位二進制數組成,分爲4段(4個字節),每一段爲8位二進制數(1個字節)
每一段8位二進制,中間使用英文的標點符號「.」隔開
計算機其實是隻識別二進制的ip地址的,因爲二進制數太長,爲了便於記憶和識別,把每一段8位二進制數轉成十進制,大小爲0至255.
IP地址的這種表示法叫作「點分十進制表示法」。
IP地址表示爲:xxx.xxx.xxx.xxx
舉個例子:192.168.31.101 就是一個IP地址的表示。
2的冪也稱爲2的指數,還能夠稱爲2的次方,如2的2次方、2的3次方等等,任何數的0次方都等於1。
在IP地址中,0次方到7次方恰好爲8位,這對於IP地址二進制轉換爲十進制很是方便。
舉個栗子:11010010 = 1×2^7+1×2^6+0×2^5+1×2^4+0×2^3+0×2^2+1×2^1+0×2^0 = 128+64+0+16+0+0+2+0 = 210
咱們須要記住上圖的2的冪的結果,不須要死記硬背,這個是有技巧的,從上圖來看,很容易發現,因爲是2的冪,全部相鄰的冪的先後都是相差2倍,因此只要知道其中一個冪值,就知道相鄰的冪的值。
舉個例子,我本身的電腦ip:
十進制: 192.168.31.101
二進制(計算機其實是隻識別二進制的ip地址): 11000000.10101000.000011111.01100101
IP地址=網絡地址+主機地址,好比
計算機的IP地址由兩部分組成,一部分爲網絡標識,一部分爲主機標識,同一網段內的計算機網絡部分相同,主機部分不一樣同時重複出現。路由器鏈接不一樣網段,負責不一樣網段之間的數據轉發,交換機鏈接的是同一網段的計算機。經過設置網絡地址和主機地址,在互相鏈接的整個網絡中保證每臺主機的IP地址不會互相重疊,即IP地址具備了惟一性。
3)IP地址與MAC地址區別
IP和MAC二者之間分工明確,默契合做,完成通訊過程。在數據通訊時,IP地址專一於網絡層,網絡層設備(如路由器)根據IP地址,將數據包從一個網絡傳遞轉發到另一個網絡上;而MAC地址專一於數據鏈路層,數據鏈路層設備(如交換機)根據MAC地址,將一個數據幀從一個節點傳送到相同鏈路的另外一個節點上。IP和MAC地址這種映射關係由ARP(Address Resolution Protocol,地址解析協議)協議完成,ARP根據目的IP地址,找到中間節點的MAC地址,經過中間節點傳送,從而最終到達目的網絡。
計算機在和其餘計算機通訊以前,首先要判斷目標IP地址和本身的IP地址是否在一個網段,這決定了數據鏈層的目標MAC地址是目標計算機的仍是路由器接口的MAC地址。數據包的目標IP地址決定了數據包最終到達哪個計算機,而目標MAC地址決定了該數據包下一跳由哪一個設備接收,不必定是終點。
①、子網掩碼(Subnet Mask)又叫網絡掩碼、地址掩碼,必須結合IP地址一塊兒對應使用。
②、只有經過子網掩碼,才能代表一臺主機所在的子網與其餘子網的關係,使網絡正常工做。
③、子網掩碼和IP地址作「與」運算,分離出IP地址中的網絡地址和主機地址,用於判斷該IP地址是在本地網絡上,仍是在遠程網絡網上。
④、子網掩碼還用於將網絡進一步劃分爲若干子網,以免主機過多而擁堵或過少而IP浪費。
①、同IP地址同樣,子網掩碼是由長度爲32位二進制數組成的一個地址。
②、子網掩碼32位與IP地址32位相對應,IP地址若是某位是網絡地址,則子網掩碼爲1,不然爲0。
③、舉個栗子:如:11111111.11111111.11111111.00000000
注:左邊連續的1的個數表明網絡號的長度,(使用時必須是連續的,理論上也能夠不連續),右邊連續的0的個數表明主機號的長度。
①、點分十進制表示法
二進制轉換十進制,每8位用點號隔開
例如:子網掩碼二進制11111111.11111111.11111111.00000000,表示爲255.255.255.0
②、CIDR斜線記法
IP地址/n
例1:192.168.1.100/24,其子網掩碼錶示爲255.255.255.0,二進制表示爲11111111.11111111.11111111.00000000
例2:172.16.198.12/20,其子網掩碼錶示爲255.255.240.0,二進制表示爲11111111.11111111.11110000.00000000
不難發現,例1中共有24個1,例2中共有20個1,因此n是這麼來的。運營商ISP經常使用這樣的方法給客戶分配IP地址。
注:n爲1到32的數字,表示子網掩碼中網絡號的長度,經過n的個數肯定子網的主機數=2^(32-n)-2(-2的緣由:主機位全爲0時表示本網絡的網絡地址,主機位全爲1時表示本網絡的廣播地址,這是兩個特殊地址)。
前面說道,子網掩碼能夠分離出IP地址中的網絡地址和主機地址,那爲何要分離呢?由於兩臺主機要通訊,首先要判斷是否處於同一網段,即網絡地址是否相同。若是相同,那麼能夠把數據包直接發送到目標主機,不然就須要路由網關將數據包轉發送到目的地。
能夠這麼簡單的理解:A主機要與B主機通訊,A和B各自的IP地址與A主機的子網掩碼進行And與運算,看得出的結果:
一、結果若是相同,則說明這兩臺主機是處於同一個網段,這樣A能夠經過ARP廣播發現B的MAC地址,B也能夠發現A的MAC地址來實現正常通訊。
二、若是結果不一樣,ARP廣播會在本地網關終結,這時候A會把發給B的數據包先發給本地網關,網關再根據B主機的IP地址來查詢路由表,再將數據包繼續傳遞轉發,最終送達到目的地B。
計算機的網關(Gateway)就是到其餘網段的出口,也就是路由器接口IP地址。路由器接口使用的IP地址能夠是本網段中任何一個地址,不過一般使用該網段的第一個可用的地址或最後一個可用的地址,這是爲了儘量避免和本網段中的主機地址衝突。
在以下拓撲圖示例中,A與B,C與D,均可以直接相互通訊(都是屬於各自同一網段,不用通過路由器),可是A與C,A與D,B與C,B與D它們之間不屬於同一網段,因此它們通訊是要通過本地網關,而後路由器根據對方IP地址,在路由表中查找剛好有匹配到對方IP地址的直連路由,因而從另外一邊網關接口轉發出去實現互連。
①、缺省子網掩碼
也叫默認子網掩碼,即未劃分子網,對應的網絡號的位都置 1 ,主機號都置 0 。
未作子網劃分的IP地址:網絡號+主機號
A類網絡缺省子網掩碼: 255.0.0.0,用CIDR表示爲/8
B類網絡缺省子網掩碼: 255.255.0.0,用CIDR表示爲/16
C類網絡缺省子網掩碼: 255.255.255.0,用CIDR表示爲/24
②、自定義子網掩碼
將一個網絡劃分子網後,把本來的主機號位置的一部分給了子網號,餘下的纔是給了子網的主機號。其形式以下:
作子網劃分後的IP地址:網絡號+子網號+子網主機號
舉個栗子:
如:192.168.1.100/25,其子網掩碼錶示:255.255.255.128
意思就是將192.168.1.0這個網段的主機位的最高1位劃分爲了子網。關於子網劃分將在下篇文章講到,這裏不在闡述。
子網掩碼是用來判斷任意兩臺主機的IP地址是否屬於同一網絡的依據,就是拿雙方主機的IP地址和本身主機的子網掩碼作與運算,如結果爲同一網絡,就能夠直接通訊。
And按位與運算:
與運算是計算機中一種基本的邏輯運算方式,符號表示爲&,也能夠表示爲 and。
參加運算的兩個數據,按二進制位進行「與」運算。
運算規則:0&0=0;0&1=0;1&0=0;1&1=1;
即:兩位同時爲「1」,結果才爲「1」,不然爲0
如何根據IP地址和子網掩碼,計算網絡地址:
①、將IP地址與子網掩碼轉換成二進制數。
②、將二進制形式的 IP 地址與子網掩碼作「與」運算。
③、將得出的結果轉化爲十進制,便獲得網絡地址。
以下圖:
網絡地址計算小技巧:IP地址和子網掩碼作與運算,把IP地址的主機位直接歸0,就快速獲得網絡地址。因此只要一看到IP地址和子網掩碼,就能立刻確認網絡地址。
4. 測試網絡經常使用的小命令:
ping 命令 用法以下:
注意, 此處 ping 的是域名,不是url,域名能夠經過DNS解析成IP地址
ping命令的功能
(1)能驗證網絡的連通性
(2)會統計響應時間和TTL(IP包中的Time To Live,生存週期)
那麼如何驗證的呢?
(1)ping命令會先發送一個 ICMP Echo Request給對端
(2)對端接收到以後, 會返回一個ICMP Echo Reply
(3)若沒有返回,就是超時了,會認爲指定的網絡地址不存在。
————————————————
traceroute也是基於ICMP協議實現的。
功能:
打印出可執行程序主機,一直到目標主機以前經歷多少路由器。
舉例以下:
win10 端是:
tracert baidu.com
能夠看到每一跳都有三個時間,三個時間都表示什麼呢?
tracert 每一跳會發出三個TTL包(TTL(Time To Live )是IP協議包中的一個值,它告訴網絡,數據包在網絡中的時間是否太長而應被丟棄。),返回三個時間都是從上個節點到這個節點的時間,三個數字都表示ping值,其中最後一個地址表示的目的地址。
Tracert 先發送 TTL 爲 1 的迴應數據包,並在隨後的發送過程將 TTL 遞增 1,直到目標響應或 TTL 達到最大值,經過「ICMP 已超時」肯定目標路由。
在此過程當中設定三個時間則是爲了計算時取平均值,減少偏差。
其中時間可能出現*,*是響應時間超時,或者目標拒絕ping的攻擊。
bogon是指那些不應出如今internet路由表中的地址吧
這些地址應該包括:
1,私有地址 如10.X.X.X,172.16-31 , 192.168.....
2,還未正式分配出去的地址
END !!