華為認證
華為認證有很多方向,例如路由交換、WLAN無線、安全、運營商、存儲、雲計算等等
路由交換
主要工作是基礎網絡搭建、路由器交換機的配置,通過學習路由交換的基礎知識,考取了華為證書,我們就是一名網絡工程師
網絡工程師
大部分工作是設備調試,例如調試路由器、交換機
網絡工程師需要掌握很多理論知識,例如IP、MAC、路由、路由選擇協議、VLAN、STP、隧道、IPSec、MPLS、組播等等
網絡建設
網絡建設前期需要做的工作有:IP地址規划、VLAN規划,拓撲規划等等
在網絡建設完成之后,網絡設備運行穩定,我們網絡工程師工作就偏向並於網絡維護,故障排查,定位故障點,解決問題
網絡
給我們的電腦,手機等終端設備提供相互通信的渠道,方式
通信
我們之間說話、寫信
說話:通過聲音傳遞,聲音傳遞需要媒介:空氣
寫信:通過文字傳遞,紙
通過手機、電腦發送消息,打電話
手機:通過無線網絡發送或接收消息、打電話是通過電話網絡
無線網:通過電磁波傳遞通訊信號
電腦:通過無線、有線發送或接收消息
有線網:通過網絡線纜傳遞通訊信號
網絡設備
交換機:
提問:為什么需要交換機?它幫助我們解決了什么問題?
電腦一般網卡只有一個,網口也只有一個。當存在大於等於三台電腦需要互聯時,電腦網口就無法滿足互聯需求。
交換機提供大量的網口,各個電腦只需和交換機互聯,即可完成互相連接。
舉例:微信聊天,平常聊天都是找一個人一對一聊天。如果想同時和多個人聊天,那么一對一私聊的方式就沒辦法滿足我們的多人聊天需求,因此我們創建了微信群。需要進行群聊的人都加入群里,就可以完成多人聊天。這里的微信群就相當於交換機。
路由器:
提問:為什么需要路由器?它幫助我們解決了什么問題?
通過交換機互聯組成的網絡,是在同一網段的網絡,也就是一個二層網絡。當電腦需要跨網段訪問時,交換機無法提供跨三層的轉發功能。
路由器就是將多個二層網絡進行連接,組合成的一個網絡就是三層網絡。通過路由器進行路由轉發,電腦才可以訪問其他網段中的電腦。
舉例:小A是1班的學生,小B是5班的學生,小A和小B是好朋友。有一天,小A忽然發現,小B班上有一個漂亮的小姐姐小C,小A很是心動,就想要到小C的聯系方式。但是小A和小C並不認識。那么,接下來要怎么辦?這時候小B就出馬了!小A把自己的聯系方式和交朋友的意願告訴小B,然后小B把小A的聯系方式和意願轉交給小C,小C收到之后,把自己的聯系方式給到小B,然后小B在轉交給小A。那么小B在這中間就類比路由器的角色
傳輸介質
線纜:網線(雙絞線)、光纖、同軸電纜、串行線纜
雙絞線:八根銅線芯,568B線序:橙白|橙|綠白|藍|藍白|綠|棕白|棕,傳輸電信號,最大傳輸距離100米,目前常用類型:超五類、六類,在線纜外皮上有標記,cat5e為超五類,cat6為六類,有屏蔽雙絞線和非屏蔽雙絞線兩類
光纖:玻璃纖維,有單模和多模兩種,傳輸光信號,傳輸距離可達到數十千米
單模光纖:只能傳輸一種波長的光,傳輸距離遠,帶寬高
多模光纖:可以傳輸多種波長的光,傳輸距離相對短,帶寬相對低
沖突域與廣播域的概念
沖突域
通過共享式介質互聯的網絡是一個沖突域,通過同軸電纜、集線器hub將多個終端設備互聯形成的一個網絡稱為一個沖突域
CSMA/CD 載波偵聽多路訪問/沖突檢測——先聽后發,邊發邊聽,沖突停發,隨機延遲后重發
舉例:過獨木橋的場景
廣播域
通過交換機將多個終端設備互聯組成的一個網絡稱為一個廣播域。
在一個廣播域中,廣播報文可以泛洪到整個廣播域中
舉例:一間教室內,老師在上課。這種場景下,一間教室就是一個廣播域。
廣播域太大導致的問題:如果廣播域很大,容納的主機數量非常非常多。那么主機通信的時候,會發送ARP的廣播請求。這樣的廣播報文,會傳播到廣播域中所有的成員。並且成員非常多時,將會充斥大量的廣播報文,這將造成大量的網絡帶寬的浪費,同時增加終端設備的負擔。
雙工模式
半雙工:要么只發送,要么只接收,發送和接收不能同時進行,例如對講機
全雙工:可以同時發送和接收
協議參考模型
OSI參考模型
共七層,從高到低依次為:應用層,表示層,會話層,傳輸層,網絡層,數據鏈路層,物理層
TCP/IP參考模型
共四層(或稱為五層),從高到低一次為:應用層,傳輸層,網絡層,網絡接口層(網絡接口層可以分為數據鏈路層和物理層)
數據封裝
在上層協議產生的數據添加報頭
提問:為什么要進行封裝,不封裝會有什么后果?
如果不進行數據封裝,下層協議將無法識別處理數據,進而無法進行數據轉發;數據封裝同時也提供了尋址的作用
舉例:寄快遞時,我們如果不打包裝盒,運輸過程中會亂作一團,甚至損壞。通過打包裝盒之后,運輸過程中就可以保證運輸過程中物品不會輕易損壞。同時,快遞運輸需要通過快遞單上面的地址進行運輸,否則就不知道這份快遞是誰寄出的,也不知道需要既往哪里。
以太網幀結構
802.3幀結構
EthernetII幀結構
目前常用的幀格式是EthernetII類型的幀格式
字段說明:
D.MAC:目的MAC地址,類比發快遞時快遞單號上的收件人
S.MAC:源MAC地址:類比發快遞時快遞單號上的發件人
Type:描述上層協議是什么類型的協議,例如取值0x0800時,上層協議為IP協議,
Data:上層協議的數據
FCS:幀校驗結尾,提供完整性檢查和差錯控制
MAC地址共48 bit,前24位代表供應商代碼OUI,后24位由廠商進行分配
表示格式,由12個十六進制數表示,例如5C-80-B6-8F-3A-C2------>01011100-80
分為單播,組播,廣播三種類型
單播地址,從左往右數第8位為0
組播地址,從左往右數第8位為1
廣播地址,所有位都為1
提問:MAC地址有什么用?沒有MAC地址可以嗎?可以有相同的MAC地址嗎?
MAC地址用來唯一標識一台設備,相當於我們自己的名字。那么,我們沒有名字可以嗎?答案肯定是不可以的,那么相同的,MAC地址也不可以沒有。
一般情況下,不會出現兩個設備的MAC地址完全一致的情況。不過,即便有相同的MAC地址,只要不在同一廣播域中,就沒有關系。比如,兩個人的名字一樣。只要在不同的班級,我們在某一個班級喊這個名字,就不會出現兩個人同時應答的情況。
IP編制
分為IPv4和IPv6兩個版本,當前廣泛使用的是IPv4地址,IPv6地址目前正在遷移
IPv4長度共32 bit,IPv6長度共128bit
IPv4地址格式:
表示方法:使用點分十進制方式表示,每8 bit用一個點分隔開,共計四小段,例如192.168.1.1--------->10100000.101010000.00000001.00000001(二進制表示方法)
分為ABCDE五類地址:
A類:0.0.0.0-127.255.255.255
B類:128.0.0.0-191.255.255.255
C類:192.0.0.0-223.255.255.255
D類:224.0.0.0-239.255.255.255
E類:240.0.0.0-255.255.255.255
其中我們可以使用的地址為ABC三類,也是單播地址,D類為組播地址,用於發送組播流量,E類為保留地址,有特殊用途。
分為網絡位和主機位兩部分,通過子網掩碼進行確為認網絡位數
提問:如何區分網絡位和主機位?怎樣通過子網掩碼進行確認網絡位數?
要確認網絡位和主機位,我們需要先把IP地址和子網掩碼轉換成二進制表示格式,例如IP地址192.168.1.1,子網掩碼255.255.255.0
轉換成二進制為
11000000.10101000.00000001.00000001-------192.168.1.1的二進制表示格式
11111111.11111111.11111111.00000000-------255.255.255.0的二進制表示格式
從上面的二進制表示格式中,我們可以看出,子網掩碼是由24個二進制1來表示的。我們認為,一個二進制數代表1個bit位,那么255。255.255.0這個子網掩碼我們一般稱為24位子網掩碼,通常也可以用/24來表示。將子網掩碼中為1的位和IP地址進行一一對應,我們可以在IP地址的二進制格式中得到同樣的24個bit位。那么通過這種通過子網掩碼和IP地址的二進制對應關系,我們就可以得知,IP地址192.168.1.1,子網掩碼255.255.255.0(也可以簡寫成192.168.1.1/24)這個IP的網絡位是前24位,剩余的部分就是主機位。
提問:網絡號是什么?網絡地址是什么?網段又是什么?廣播地址是什么?有效的網絡地址是什么?有效的主機地址是什么?為什么一個網段的可用IP數量是2的n次方-2,這個2是哪里來的?
網絡號和網絡地址,其實是同一種特殊的IP地址,只不過說法不同,實際上代表的是同樣的東西。它的特點是,IP地址的主機位全為0的特殊地址。例如上面的例子,192.168.1.1/24這個IP地址的網絡號(或者說網絡地址,都一樣)為192.168.1.0/24
網段,根據字面意思,“段”就是一段的意思,一個范圍,網段就代表一個IP地址范圍。這個范圍就是從主機位全0到主機位全1的一個范圍。例如上面的例子,192.168.1.1/24的網絡地址為192.168.1.0/24,那么這個網絡的IP地址范圍就是從192.168.1.0到192.168.1.255這樣的一個范圍,通常我們稱一個網段的時候,不會去特意說明其地址范圍,一般用網絡號(或者說網絡地址)代替。例如,192.168.1.1/24這個地址屬於192.168.1.0/24這個網段。
廣播地址,同樣是一個特殊的IP地址,剛好與網絡地址相反,即主機位全為1的特殊IP地址。例如上面的例子,192.168.1.0/24這個網段的廣播地址為192.168.1.255
經過上面的分析,我們知道了一個網段中,主機位全為0代表一個網絡的網絡號,主機位全為1代表這個網絡的廣播地址。這兩個特殊的地址不可以在主機上使用。那么一個網段的可用地址數量,就是二進制主機位的排列組合。例如上面的例子,192.168.1.1/24,主機位有8位,因此對應網段的IP地址總數量為2的n次方,這里n等於8,即2的8次方,256個地址。由於網絡號和廣播地址這兩個特殊地址不能用在主機上,因此需要將這兩個減去,才是我們這個網段的可用IP地址數量,即256-2=254個可用IP地址
提問:IP地址有什么用?網絡位代表什么?主機位代表什么?沒有IP地址可以嗎?IP地址可以重復嗎?
IP地址,就相當於我們實際的地理位置。例如:我們學校的地址是河南省鄭州市滎陽市學院路1號。那么網絡位就可以理解為河南省鄭州市滎陽市學院路。在學院路上有很多地點,那么就需要有一個編號來唯一標識我們的學校,因此地址中的1號,就代表主機位。那我們學校會不會是沒有地址呢?答案肯定是一定有地址,那么IP地址也一定要有。那么IP地址可以重復嗎?我們同樣類比一下,我們中國,會有兩個河南省鄭州市滎陽市學院路1號一模一樣的地址嗎?肯定是沒有的。那假如真的存在兩個一模一樣的地址在不同的地理位置,會發生什么情況?我們回學校,應該去第一個位置呢還是第二個位置呢?
私有地址,用於局域網內部使用,ABC三大類中均有一段私有地址
A類:10.0.0.0-10.255.255.255
B類:172.16.0.0-172.31.255.255
C類:192.168.0.0-192.168.255.255
除了以上三個段的地址以外,其他地址均為公有地址
提問:私有地址有什么用?為什么要有私有地址?沒有私有地址可以嗎?私有地址可以重復嗎?
私有地址僅僅是在公司或學校等局域網內部使用的地址。比如我們學校的1號宿舍樓,2號宿舍樓。那同樣的,我們學校有1號樓和2號樓,其他學校也會有1號樓和2號樓。總不能因為我們學校給兩棟樓命名了1號樓和2號樓之后,其他任何地方都不能用1號樓和2號樓去表示他們的樓宇了吧。私有地址的意義就在於此。由此可見,私有地址是可以重復的。只不過是有范圍限制,只能在局域網中使用
至於為什么要有私有地址,就涉及到地址空間的問題了。我們IPv4地址有2的32次方個,約為42.9億個。按照當今的網絡規模,這個地址遠遠不夠用的。因此,我們選擇在局域網內部使用私有地址,可以緩解地址不夠用的問題。例如10.0.0.0這個網段的私有地址,在我們學校可以使用,在其他學校,同樣可以使用。也就類似於,我們可以有1號樓,其他學校也可以有1號樓。
特殊地址:
0.0.0.0
255.255.255.255
127.0.0.0-127.255.255.255
特殊地址不能配置在設備上
子網掩碼
用來表示不同網段的輔助工具。假如沒有子網掩碼,那么192.168.10.1這個地址屬於哪個網段的呢?我們沒有辦法只從IP地址來判斷所屬網段,因此引入了子網掩碼。
表示格式:類似於IP地址,也是點分十進制表示方法。不同的是,子網掩碼從左往右依次用1進行填充
默認子網掩碼:
A類:255.0.0.0----------->11111111.00000000.00000000.00000000
B類:255.255.0.0-------->11111111.11111111.00000000.00000000
C類:255.255.255.0---->11111111.11111111.11111111.00000000
將IP地址和子網掩碼都轉換成二進制數,然后進行與運算,得出的結果就是IP地址所屬網段的網絡號了。
子網划分,即通過向主機位借位的方式,將一個網段拆分成多個網段的方法。
網關
一個網絡的出口。把我們學校類比一個網段的網絡的話,網關相當於我們的學校大門。我們要去學校以外的地方的時候,首先要從大門走出去。同樣的,我們的數據要去其他網段的話,就要從我們的網關轉發出去。
IP報文頭部的重要字段:
Version:用來表示IP的版本號
Time to Live:生存周期,用來表示當前IP包還能轉發多少次
Protocol:表示上層協議使用的是什么,例如TCP或UDP
ICMP協議
協議作用:在IP網絡設備之間發送控制報文,傳遞差錯、控制、查詢等信息
常用功能:
ICMP重定向
用於告知終端設備正確的數據轉發方向。當黑夜中的你迷失方向時,ICMP重定向功能會指引你正確的道路~~
ping工具
用來檢測網絡的連通性,實際上就是發送ICMP Echo Request報文,對方收到之后會回復ICMP Echo Reply
舉個例子:
A想知道B能不能聽見自己說話,就對B喊:“喂!能聽見我說話嗎?!”------------>A向B發送了ICMP Echo Request報文
將會有兩種結果
1.B聽到了,並且回應A:“我能聽到你說話!”----------->B向A回應了ICMP Echo Reply報文,代表網絡連通性沒有問題,網絡暢通
2.B沒有聽到------------------------------------------------------>B沒有向A回應,ICMP 報文超時,代表網絡連通性有問題,網絡不通
tracert工具
用來探測自己到目的中間經過的三層網絡設備
舉個例子:
張三給自己的朋友李四送一份禮物。但是路上遇到一些地痞,這些地痞要收過路費。好在收費不高,每個人只要1塊錢。
第一次出發的時候,張三帶了1塊錢。遇到了第一個地痞A,A向張三收了一塊錢過路費之后,問張三還有錢嗎?張三發現沒錢了。A就對張三一頓臭罵:”沒錢了還想往后走?沒門!滾回去!“(TTL=1的ICMP報文,探測到了第一跳三層設備的信息)
第二次出發的時候,張三帶了2塊錢。遇到了第一個地痞A,A向張三收了一塊錢過路費之后,問張三還有錢嗎?張三說還有。於是A放張三通過了。張三走着走着又碰到第二個地痞B了。B又向張三收過路費,然后問張三還有錢嗎,張三又沒錢了,B對張三又是一頓臭罵:“沒錢了還想往后走?滾回去!”(TTL=2的ICMP報文,探測到了第二跳三層設備的信息)
(假如張三一路上總共會遇到5次地痞)(省略了第三、四、五次的過程,和上面過程一樣)
第六次出發的時候張三帶了6塊錢。遇到了第一個地痞A,A向張三收了一塊錢過路費之后,問張三還有錢嗎?張三說還有。於是A放張三通過了。張三走着走着又碰到第二個地痞B了。B又向張三收過路費,然后問張三還有錢嗎,張三說還有。於是B放張三通過了。張三走着走着又碰到第三個地痞C了。C又向張三收過路費,然后問張三還有錢嗎,張三說還有,於是C放張三通過了……張三走着走着又碰到第五個地痞E了。E又向張三收過路費,然后問張三還有錢嗎,張三說還有,於是E放張三通過了。張三接着走,然后就找到了李四,跟李四哭訴說:”你知道我這一路多心酸嗎,我遇到了ABCDE五個地痞,非要我過路費……“(通過每一跳的探測,發送方獲悉了去往目的地沿途經過的三層設備是哪些。)
ICMP報文格式
ICMP消息編碼
有什么用?網絡設備沒辦法直接識別我們說的話,當然需要代碼來理解我們的內容啦。例如我們發送ICMP Echo Request報文時,需要將ICMP報文中的Type字段設置為8,Code字段設置為0。當路由器收到我們發送的ICMP報文之后,通過查看Type和Code字段的值,就可以知道我們發送的是ICMP Echo Request報文而不是重定向報文。