今日內容:vim
1,特殊ip地址緩存
2,子網劃分(借網絡位給主機位用)、服務器
3,vlan(一種基於端口的,一個基於標籤的)網絡
4,實際部位架構
4.1 修改網卡名運維
4.2 網卡的丟包問題以及如何解決tcp
4.3 網卡的詳細信息阿里雲
4.4 路由配置雲計算
一,特殊的ip地址spa
.0 表明本網段的網絡地址。
.1 表明本網段網關的網絡地。
.255 表明本網段的廣播地址。
255.255.255.255 表明全網廣播地址。
lo 表明本地迴環地址。
lo:就是把一個數據包從應用層,層層包裝,到物理層打散成二進制位,到網卡,沒有從網卡往外送,直接又一次次解到應用層,沒有走到交換機,發包解包都是網絡網卡完成的
lo:這個地址不光開發要用,運維人員也要用,做用就是,它直接杜絕了網絡對你的影響,不管開發cs架構仍是bs架構,它都是基於網絡通訊的軟件,一端是客戶端,一端是服務端,一端發包一端收包,必定會涉及到網絡的問題,那麼若是一個軟件出現了問題,多是軟件的問題,也多是網絡環境出現的問題,因此第一步應該先定位軟件問題,看看是網絡環境問題,仍是軟件的問題,這時候就使用ol地址,先在本地迴環,若是沒問題,就證實軟件自己沒有問題,那麼發包的ip是ol地址,如127.0.0.1 收包也是ol地址,127.0.0.1那麼如何不衝突?首先想要寄快遞(發包),須要知道對方在哪,就須要知道對方的ip地址,mak地址(能夠忽略,由於arp協議能夠幫助拿到),還有端口號,這三個,其實只須要ip和端口號,就能夠標識全世界獨一無二的一個軟件,有了這個地址,就能夠把數據送給對方,如今本地迴環,ip地址都是ol,127.0.0.1,如何作到不衝突,就是設定他們不一樣的端口號,這樣就能夠互相通訊地址還不衝突,作到都是獨一無二的。
lo地址,除了開發要使用,運維也要使用,好比部署一個很龐大的集羣架構,先在本身的機器上部署,假如涉及大量的軟件,就要一邊搭一邊修改配置文件,軟件之間要互相找到,這時候若是基於tcp協議的時候,服務端要先啓動,服務端應該綁定一個ip和端口,如使用ol,127.0.0.1加個端口號,先在本機把各個軟件組件部署完以後,先保證軟件能夠運行,證實本身的配置文件沒有問題。有可能部署軟件涉及7個組件,再把組件在一臺機器上部署完,它能跑起來,證實本身的配置文件沒有問題。接下來有可能這7個組件,要配置到7個機器上,把7個組件分到7個機器上運行,無非就是把ip地址改改就行,這個時候再出問題,就是網絡出現的問題。就能夠準確排錯,否則出現問題,有多是配置文件有問題,也有多是網絡有問題,很難知道究竟是怎麼出錯。因此部署集羣,先在本機部署一下。
在公司部署軟件的時候
1,是經過rpm安裝,至關於一個安裝程序,定製好了安裝配置,版本一般比較老
2,yum安裝,須要解決一個依賴性問題,要對應一個yum倉庫。yum源須要自定義,如今都是用阿里雲,華爲雲,可是在公司不該該用這些,運維圖穩,不圖軟件最新,不是致命漏洞,不要升級。在公司裏,假如須要部署一個軟件,先在一臺機器本身部署一下,首先拿到一個鏡像,而後用鏡像安裝操做系統,在剛安裝完操做系統就應該打開yum緩存,而後配好阿里雲,華爲雲,而後更新內核,而後部署龐大的集羣架構,用yum安裝,直到本地存了一份最完整的rpm包,依賴性都解決了,把這些rpm包放到一個目錄裏面,作成一個yum源,找一個機器,能夠是管理機,把yum源放上去,配了一個本身的yum源,好處就是其餘機器再下載軟件包,就不須要去網上下載了。之後在線上部署,使用的rpm包都用本身本地的。每臺機器使用的軟件包都是如出一轍,就不會出現亂七八糟的各類問題。阿里源和華爲源也是如此。
總結:由本地迴環講到架構思想,先在本機部署,把該準備好的軟件包,配置文件準備好,調試好,而後到集羣部署時,不要再手動部署,全都用本地的準備好的配置文件複製粘貼。不要上來就集羣架構部署,先在本機所有部署完,再慢慢向其餘延伸。可是若是是比較簡單的組件,就客戶端,服務端,就不須要這麼複雜。
3,源碼安裝,本身定製化,要安裝最新,用源碼安裝。
私有地址:
1,10.0.0.0~10.255.255.255 表示一個A類地址
2,172.16.0.0~172.31.255.255 表示B類地址 公司選擇B類的緣由:一個網絡包含的主機位多,之後公司作大了,就不用改。考慮到擴展性。
3,192.168.0.0~192168.255.255 表示c類地址 辦公室特別多。
拓展:若是不想鏈接外網,能夠不按照這個規定。
0.0.0.0 服務端須要ip端口,客戶端也須要ip端口,可是服務端應該固定ip端口,首先服務端想被別人訪問,別人須要知道它在哪,因此須要公網地址,外界須要知道的也是公網ip地址,公網ip和私網ip應該有映射關係(網絡工程師的工做)。假如公網地址是:101.206.30.24/24:80 ,私網ip是:172.16.10.11/24:80 ,用戶使用域名訪問,在dns裏域名對應公網ip地址,而後公網ip又對應和它有映射關係的私網ip,用戶就能夠訪問到。
重點:本身在啓動服務端端口的時候,不能是公網ip,由於本身的機器是看不到公網ip地址的,也不能是172.16.10.11由於,綁定以後,就只有172.16.10.0這個網段的用戶能夠訪問到,因此服務端應該綁定0.0.0.0/24:80,表明只要是客戶端,能和服務端聯通的,均可以訪問。
課後:買一個阿里雲服務器,會對應一個公網ip,私網ip,服務端但凡要啓動一個端口號,都是綁定0.0.0.0對應一個端口號。阿里雲會自動關聯一個公網ip,外界只有訪問公網ip,就會映射到0.0.0.0
二,子網劃分(增長子網掩碼)
子網掩碼,經過和ip按位與運算,來標識出來ip的網絡位和主機位,網段。
而子網劃分,就是把子網掩碼的位數改動一下。原來默認c類的24位,能夠借主機位給網絡位,子網掩碼改變,會影響網絡地址。
例如:192.168.11.1/24和192.168.11.6/24,經過arp協議,算出來是一個局域網,用mak通訊,若是不在一個局域網,源mak是本身mak,目標mak是網關mak地址,把包在局域網內送給網關,經過網卡往外發,由網關經過路由協議把包發出去。
因此ip地址在不在一個局域網內,直接決定數據包往哪發。
192.168.11.1/25 把子網掩碼由24改爲25,這時候仍是192.168.11.0
192.168.11.128/25 時 網絡地址就變成了,192.168.11.128
原本24的子網掩碼,是同一個網段裏,如今253個網絡地址,劃分紅了倆個網絡地址,
總結:24位子網掩碼,192.168.11.(0-127)的網絡地址是192.168.11.0
25位子網掩碼,192.168.11.(128-255)的網絡地址是192.168.11.128
通常起始位置的網絡地址,都是本網段的網絡地址。
24位的 .0是本網段的網絡地址,.1是本網關的網絡地址,127是本網段的廣播地址,25也同樣。
課下試驗:用倆個虛擬機,橋接模式,使用這倆個網絡地址,就發現ping不通。路由條目上也沒有,就ping不通。ping就是發包收包。
爲何要子網劃分?
優勢:1,縮小廣播域,提高傳輸效率。
2,減小ip地址的浪費。
拓展:在公司中,默認就好,通常不會子網劃分,由於可能會增長集羣,而子網劃分是壓縮了主機個數。
三,vlan(虛擬,局域網)
一般來講沒有劃分過子網,幾臺機器鏈接到一個交換機,這個交換機就是一個局域網。
如今若是想劃分不一樣的局域網,不一樣的局域網還要能夠跨網段通訊,就須要經過路由器轉發。例如教師裏的機器都鏈接到交換機上,隔壁教師的機器都連在本身教室的交換機上,若是想讓着倆個交換機能夠通訊的話,就須要讓這倆個交換機鏈接在一臺路由器上。
這麼作的不少不合理的地方。
1,由於倆倆局域網就都須要一個路由器,通過的設備就會不少,網絡延遲就大,傳輸速度就低。
2,ip地址浪費,劃分方式也沒有把廣播域縮小。
解決方法:
1,使用三層交換機,之前交換機都是倆層設備,如今有些直接集成了路由器的功能,成爲三層交換機。
2,首先進行子網劃分,把ip精簡到最合理的範圍,即便進行了子網劃分,倆臺機器在三層上來說,是不一樣的廣播域,可是因爲鏈接在一個交互機上,交換機廣播工做時,就致使倆個廣播域的都能接收到,致使了它們二層沒有分隔,而三層分隔開,應該只是在本身的網段內廣播纔對,那怎麼統一到一塊兒,如今的交換機不能統一到一塊兒。須要比較強大的交換機,之後去公司裏面都是這種類型的交換機。雖然是一個交換機,可是這個交換機能夠劃分出來多個廣播域,一個廣播域就稱之爲一個局域網,只不過不是lan,而是vlan,這是交換機作的事,也就是二層劃分好的廣播域,1到10是一個局域網,11到20是一個局域網,假如1發一個數據包,發給交換機,交換機只在1到10廣播,交換機廣播的量就會大幅減小。
爲什麼劃分vlan
vlan是在交換機內劃分出多個廣播域,一個廣播域稱之爲一個虛擬的局域網。
vlan是二次 的隔離,ip的子網是三層的隔離
注意:二層的隔離應該和三層隔離的隔離保持一致。
vlan的劃分的倆種方式:
1,是基於端口的
2,是基於標籤(tag)的:tag vlan ,它會把數據鏈路層的進行一些處理。
基於端口的vlan圖:
123端口是連電腦的,而4號端口是用來鏈接另外一臺交換機廣播的,因此給1發廣播包,會在本身交換機裏劃分好的1234廣播,沒個端口號都有標記,標記本身是哪一個vlan,它只會在和1同樣vlan裏廣播,到了4,會把包發到和4鏈接的第二臺交換機的端口,而後進行第二次廣播,只會在一樣的vlan裏廣播。
基於端口的弊端是,若是不跨交互機無所謂,能夠各自在各自的vlan裏廣播,若是跨交換機,那麼每個vlan就須要預留一個端口,就會很亂,多了端口也須要預留不少。
基於tag標籤的vlan
1,數據格式:
由於802.1Q這個協議的規定,它把以太網的協議的數據幀進行了改動,源mak和目標mak,在這12個字節後加了4個字節的vlan標記,其中4個字節的vlan標記中,有12個比特位專門存vlanID,等於111111111111,等於2的12次方-1,等於一共4095,0到4095是4096個,可是有效值範圍是1-4094。即802.1Q協議規定一臺交換機最多劃分4096個vlan(雲計算時代根本不夠用。後來出現vxlan)
注:802.1Q協議不是計算機內工做的,是交換機學會的協議,是在交換機裏工做的。
2,交互機的端口分爲兩類
access口:鏈接計算機,就是計算機鏈接交換機的口,收的時候加上vlan標記,發的時候去掉vlan標記。
trunk口:交換機彼此互連的端口,能夠同時劃分多個vlan,trunk收到的包,有vlan標記,是accrss口加的,它發的包不會去掉vlan標記,由於它是發給另外一個交換機的,另外一個交互機是靠vlan標記來知道廣播給哪些端口的。(不能用accrss口來代替。)
根據tag vlan圖,假如電腦pc A-1要往外發數據包,我的計算機鏈接到交換機的access口,交換機accrss口會遵循802.1Q協議,首先物理層彙總,而後到數據鏈路層,把數據幀12字節後面加上4個字節的vlan標記,其中vlan標記裏12個比特位寫的是vlan id,假如就寫個一,封好以後,轉成物理層開始廣播,只在屬於vlan一里進行廣播,和基於端口的目前同樣,假如pc A-2收到這個包,首先到2號accrss口,它如今是收包,而後發給pc A-2計算機,accrss口在發包的時候,會把包拆開,看到802.1Q標記,而後看到其中12個比特位的vlan ID,是一,若是不是一,就不要,是一就發給pc A-2,可是發的時候會把這4個字節的vlan標籤去除掉,再發給pc A-2,因此從始至終,計算機感受不到vlan標記的存在。
總結:accrss口,在收到計算機收到數據包時,會加上4個比特位的vlan標記,在發送包給計算機時,會去掉4個比特位的vlan標記。
注意:一個accrss口只能劃分給一個vlan,而一個trunk口能夠同時劃分給多個vlan。
拓展:怎麼把兩個交換機作成一個交換機,須要各留一個trunk口,還須要各留一個備份線。
A類,劃分網絡位少,主機位多,但凡劃分一個網絡位,一個網絡裏主機數很是多
B類,適中,公司通常用B類,之後拓展,主機位夠用。
C類,劃分的網絡位多,主機位少,網絡多,可是每一個網絡位的主機位只有0到255,由於0用來當網絡地址,255用來當本網段的廣播地址,1用來當網關地址,因此只有253個主機位能用。
注:網絡位就是能劃分多少局域網,主機位是一個局域網有多少個機器能夠鏈接使用。
四,網絡相關操做與配置
網卡名字
查看主板上鍊接的網卡。(lspci | grep -i eth)
查看是否鏈接網線,link ok,表明鏈接 (mii-tool eth0),排除網線是否有問題。
ifconfig,查看全部激活的網卡信息。
ifconfig eth1 down 就是指定關閉網卡
ifconfig -a 查看全部的網卡信息,不管是否開啓。
ifconfig eth0 查看指定網卡信息
ifconfig eth1 172.16.10.22/24 配置ip信息
ifconfig eth0:0 172.16.13.21/24 配置子端口,可讓一個網卡綁定多個ip地址(可是多個ip走的物理地址都仍是一個網卡,正常一個網卡走一個網段的數據包。瞭解)
ifconfig eth0:0 down 或者ifconfig eth0:0 del,這是刪除
ifconfig eth1 up 開啓指定網卡
注意:ifconfig eth1 down/up,不會重置配置文件,而ifdown eth1和ifup eth1會重置配置文件。
ifconfig eth1 mtu 2000 修改網卡的mtu值,千兆網卡一般1500就夠了,若是是光纖模塊,也就是萬兆網卡,能夠調大。
網卡詳細的配置信息分別表明什麼意思:
第一行:eth0(網卡名),up(網卡開啓狀態),broadcast(網卡支持廣播)running(正在運行)multicast(支持多播),mtu(一次傳多少字節數據)
第二行:ipv4地址,本網段地址,全網廣播地址
第三行:ipv6地址
第四行:網卡mak地址,網卡傳輸隊列多長,最多1000個包
第五行:開機以後累計收了多少包,總共多少字節,合成多少字節
第六行:開機收包多少錯誤的包,crc校驗不經過的包,溢出的包(緩衝區須要調大),真衝突
第七行:開機以後累計發包多少個
第八行,發包時候和上面收包同樣。
ls;asdasda;pwd 把多個命令鏈接在一塊兒,無論中間是否出錯,都會執行
ls && sadasd && pwd 若是中間出錯,第一個出錯執行以後,後面再也不執行
while true ;do echo 123;echo 456;done (do和done中間的地方就是放循環執行的命令的地方)拓展:clear 清屏命令
ifconfig命令改的都是臨時修改,想永久修改網卡配置文件,須要去修改配置文件。
vim /etc/sysconfig/network-scripts/ifcfg-eth0
第一行,類型,是否是以太網協議。
第四行,none,就是若是寫了按寫的來,沒寫的話就是dhcp自動獲取
nm_controlled=no 一般改成no 這個進程在的時候網卡配置容易出問題。
也能夠經過命令關閉這個進程。
倒數第6行,onboot=yes 啓動網絡服務的時候網卡是否被激活
而後是ip地址
子網掩碼
網關地址
運營商dns地址,能夠配多個,不過須要在配置文件里加上peerdns=yes,而後dns2=8.8.8.8當輔助dns
ipv6地址
拓展(cat /etc/resolv.conf 查看運營商地址,能夠修改,也能夠在網卡配置文件裏修改。)
修改完配置文件,systemctl restart network,重啓網絡配置服務
五,路由
每鍵一個虛擬機,至關於機器,每建一個虛擬網絡,會生成一個虛擬網卡,都至關於一臺交換機。