1、簡述osi七層模型和TCP/IP五層模型
? ? ? ? (一)舌胶、OSI七層模型
? ? ? ? ? ? ? ? ? ? 在去探索OSI有哪七層之前首先我覺得我們應(yīng)該了解的是為什么要建立OSI七層模型幔嫂,他的功用是什么?
? ? ? ? ? ? ? ? ? ? 在20世紀(jì)70年代,那時(shí)候基本的網(wǎng)絡(luò)結(jié)構(gòu)已經(jīng)形成片吊,但是各個(gè)廠家結(jié)構(gòu)都不一樣而涉,比如IBM的SNA標(biāo)準(zhǔn)啼县,Digital的DNA材原,美國國防部的TCP/IP,各個(gè)廠家的產(chǎn)品內(nèi)部自己使用沒有任何問題季眷,但是如果不同廠家的網(wǎng)絡(luò)想要合并使用余蟹,那就會(huì)因?yàn)闃?biāo)準(zhǔn)不一致而無法兼容。于是國際標(biāo)準(zhǔn)化組織在1977年成立了統(tǒng)一委員會(huì)推出了OSI七層模型子刮。
? ? ? ? ? ? ? ? ? ? 它就像一家公司一樣由各個(gè)不同的部門組成威酒,各個(gè)部門完成自己的工作不會(huì)產(chǎn)生干擾,必要的時(shí)候?yàn)槠渌块T提供服務(wù)挺峡,各謙所職葵孤,缺一不可狭姨。下面就讓我們來看一下它到底由哪些”部門“組成吧师抄。
????????????????????????????①谚殊、應(yīng)用層:工作在OSI七層模型的最上層剿干,最接近用戶的一層 定義了許多的網(wǎng)絡(luò)服務(wù)協(xié)議SMTP,POP3,FTP,SSH等幽歼,同時(shí)還為應(yīng)用程序提供接口砸烦,使得應(yīng)用程序能夠使用這些數(shù)據(jù)。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ②马僻、表示層:定義了數(shù)據(jù)如何表示女淑,以及加密解密和壓縮解壓縮。簡單來說就是定義了把下層傳過來的數(shù)據(jù)以何種的方式傳給上層
? ? ? ? ? ? ? ? ? ? ? ? ? ? ③嫉入、會(huì)話層:為兩臺(tái)主機(jī)建立一個(gè)連接同時(shí)為連接提供管理功能
? ? ? ? ? ? ? ? ? ? ? ? ? ? ④瞎颗、傳輸層:將上一層的數(shù)據(jù)進(jìn)行分割宫补,然后把數(shù)據(jù)傳給網(wǎng)絡(luò)層,工作在這一層的協(xié)議有TCP確保數(shù)據(jù)一定能到達(dá)鸳劳,安全性高但效率相對不高,UDP只管發(fā)送數(shù)據(jù),不管對方有沒有接受到电媳。數(shù)據(jù)單位是報(bào)文
? ? ? ? ? ? ? ? ? ? ? ? ? ? ⑤咧七、網(wǎng)絡(luò)層:定義了ip地址等,提供了路由功能,根據(jù)ip地址在網(wǎng)絡(luò)中搜尋對方主機(jī)的位置歉嗓。IP協(xié)議工作在這一層伦糯,數(shù)據(jù)單位是數(shù)據(jù)包。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ⑥乍惊、數(shù)據(jù)鏈路層:協(xié)商兩端的協(xié)議,流量控制放仗,在到達(dá)對方網(wǎng)絡(luò)內(nèi)的物理尋址润绎。arp,stp協(xié)議都工作在這一層诞挨。數(shù)據(jù)單位是幀
? ? ? ? ? ? ? ? ? ? ? ? ? ?? ⑦莉撇、物理層:主要功能是定義了網(wǎng)絡(luò)通訊接口及介質(zhì)的標(biāo)準(zhǔn),同時(shí)將上層的數(shù)據(jù)轉(zhuǎn)換為bit在網(wǎng)絡(luò)中傳輸惶傻,MAC地址就由這一層定義數(shù)據(jù)單位是bit
? ? PDU:協(xié)議數(shù)據(jù)單元棍郎,數(shù)據(jù)在產(chǎn)生發(fā)送的過程中經(jīng)過每一層處理的時(shí)候都會(huì)在數(shù)據(jù)的最前部封裝本層相對應(yīng)的數(shù)據(jù)。
????????????(二)银室、TCP/IP五層模型
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 原先是美國軍方內(nèi)部的網(wǎng)絡(luò)標(biāo)準(zhǔn)涂佃,現(xiàn)在慢慢被廣泛接受,逐漸取代OSI七層模型
????????????????????????????????????1. 應(yīng)用層:對應(yīng)于OSI參考模型的高三層蜈敢。
????????????????????????????????????2. 傳輸層:對應(yīng)于OSI參考模型的傳輸層辜荠。
????????????????????????????????????3. 網(wǎng)際互聯(lián)層:對應(yīng)于OSI參考模型的網(wǎng)絡(luò)層。
????????????????????????????????????4. 網(wǎng)絡(luò)接入層與OSI參考模型中的物理層和數(shù)據(jù)鏈路層相對應(yīng)抓狭。
2伯病、簡述iproute家族命令
ip命令:
????????show / manipulate routing, devices, policy routing and tunnels
????????????ip [ OPTIONS ] OBJECT { COMMAND | help }
? ? ? ? ? ? OBJECT := { link | addr | route | netns? }
注意: OBJECT可簡寫,各OBJECT的子命令也可簡寫否过;
ip? OBJECT:
????????ip link | l: 主要是查看網(wǎng)絡(luò)數(shù)據(jù)鏈路層相關(guān)信息午笛。可以查看到網(wǎng)絡(luò)是up還是down苗桂,ip a 無法查詢到
? ? ? ? ? ? ? dev NAME (default):指明要管理的設(shè)備药磺,dev關(guān)鍵字可省略;不寫則查看全部設(shè)備
????????????????????up和down:接口是禁用還是啟用
????????????????????multicast on或multicast off:啟用或禁用多播功能誉察;
????????????????????name NAME:重命名接口
????????????????????mtu NUMBER:設(shè)置MTU的大小与涡,默認(rèn)為1500;
??????????????? ip? link? help -? 顯示簡要使用幫助;
????????????ip netns:? - manage network namespaces.
????????????????????netns PID:ns為namespace驼卖,用于將接口移動(dòng)到指定的網(wǎng)絡(luò)名稱空間氨肌;
????????????????????ip? netns? list:列出所有的netns
????????????????????ip? netns? add? NAME:創(chuàng)建指定的netns
????????????????????ip? netns? del? NAME:刪除指定的netns
????????????????????ip? netns? exec? NAME? COMMAND:在指定的netns中運(yùn)行命令
? ? ? ? ? ?? ip address | a :ip地址管理
????????????ip address add - add new protocol address:可以臨時(shí)給網(wǎng)卡增加一個(gè)地址
????????global:全局可用;
? ? ? ? link:接口可用酌畜;
????????host:僅本機(jī)可用怎囚;
????????????????
????????ip address delete - delete protocol address
????????ip addr? delete? IFADDR? dev? IFACE
????????ip address show - look at protocol addresses
????????ip? addr? list? [IFACE]:顯示接口的地址;
????????ip address flush - flush protocol addresses
????????ip? addr? flush? dev? IFACE
? ? ip route - routing table management
????????ip route add - add new route
????????ip route change - change route
????????ip route replace - change or add new one
????????ip? route? add? TYPE PREFIX? via GW? [dev? IFACE]? [src SOURCE_IP]
示列:
3桥胞、詳細(xì)說明進(jìn)程管理工具h(yuǎn)top恳守、vmstat等相關(guān)命令,并舉例?
(一)贩虾、htop工具
htop命令:更加高級的top催烘,有的系統(tǒng)可能沒下載需要自己yum,甚至支持在字符界面進(jìn)行可視化操作
幫助:
????選項(xiàng):
????????????-d #:指定延遲時(shí)間間隔缎罢;
????????????-u UserName:僅顯示指定用戶的進(jìn)程伊群;
????????????-s COLUME:以指定字段進(jìn)行排序;
????子命令:
????????????l:顯示選定的進(jìn)程打開的文件列表策精;
????????????s:跟蹤選定的進(jìn)程的系統(tǒng)調(diào)用舰始;
????????????t:以層級關(guān)系顯示各進(jìn)程狀態(tài);
????????????a:將選定的進(jìn)程綁定至某指定的CPU核心咽袜;
vmstat工具:
vmstat? [options]? [delay [count]]
????procs:
????????r:等待運(yùn)行的進(jìn)程的個(gè)數(shù)丸卷;CPU上等待運(yùn)行的任務(wù)的隊(duì)列長度;
????????b:處于不可中斷睡眠態(tài)的進(jìn)程個(gè)數(shù)询刹;被阻塞的任務(wù)隊(duì)列的長度谜嫉;
????memory:
????????swpd:交換內(nèi)存使用總量;
????????free:空閑的物理內(nèi)存總量范抓;
????????buffer:用于buffer的內(nèi)存總量骄恶;
????????cache:用于cache的內(nèi)存總量;
? ? swap:
????????si:數(shù)據(jù)進(jìn)入swap中的數(shù)據(jù)速率(kb/s)
????????so:數(shù)據(jù)離開swap的速率(kb/s)
????io:
????????bi:從塊設(shè)備讀入數(shù)據(jù)到系統(tǒng)的速度(kb/s)
????????bo:保存數(shù)據(jù)至塊設(shè)備的速率(kb/s)
????system:
????????in:interrupts匕垫,中斷速率;
敲擊鍵盤相當(dāng)于一次中斷虐呻,中斷cpu當(dāng)前的任務(wù)象泵,去進(jìn)行其他任務(wù),許多io設(shè)備需要不斷完成交換
????????cs:context switch, 上下文 切換的速率斟叼;
????cpu:
????????us: 用戶進(jìn)程使用的百分比
????????sy:系統(tǒng)進(jìn)程使用的百分比
????????ni: 用戶進(jìn)程空間內(nèi)改變過優(yōu)先級的進(jìn)程占用CPU百分比
????????id:空閑百分比
????????wa:等待狀態(tài)百分比
????????hi :硬件中斷
????????si :軟件中斷?
????????st: stolen:被虛擬機(jī)偷走的時(shí)間
選項(xiàng):
-s:顯示內(nèi)存統(tǒng)計(jì)數(shù)據(jù)偶惠;
pmap命令:
- report memory map of a process
? ? ? ? ? ? pmap [options] pid [...]
????????????-x:顯示詳細(xì)格式的信息;
? ? ? ? ? ? ?? 另一種查看方式:cat? /proc/PID/maps
????glances命令:可以管理遠(yuǎn)程主機(jī)
常用選項(xiàng):
????????-b:以Byte為單位顯示網(wǎng)上數(shù)據(jù)速率朗涩;
????????-d:關(guān)閉磁盤I/O模塊忽孽;
????????-m:關(guān)閉mount模塊;
????????-n:關(guān)閉network模塊;
????????-t #:刷新時(shí)間間隔兄一;
????????-1:每個(gè)cpu的相關(guān)數(shù)據(jù)單獨(dú)顯示厘线;
????????-o {HTML|CSV}:輸出格式;
????????-f? /PATH/TO/SOMEDIR:設(shè)定輸出文件的位置出革;
????示范:glances -f /tmp/ -o HTML?
C/S模式下運(yùn)行g(shù)lances命令:
????服務(wù)模式:
????????glances? -s? -B? IPADDR
????????IPADDR:本機(jī)的某地址造壮,用于監(jiān)聽;
客戶端模式:
????????glances? -c? IPADDR
????????IPADDR:是遠(yuǎn)程服務(wù)器的地址骂束;
dstat命令:
????dstat [-afv] [options..] [delay [count]]
常用選項(xiàng):
????????-c耳璧, --cpu:顯示cpu相關(guān)信息;
????????-C #,#,...,total
????????-d, --disk:顯示磁盤的相關(guān)信息
????????-D sda,sdb,...,tobal
????????-g:顯示page相關(guān)的速率數(shù)據(jù)展箱;
????????-m:Memory的相關(guān)統(tǒng)計(jì)數(shù)據(jù)
????????-n:Interface的相關(guān)統(tǒng)計(jì)數(shù)據(jù)旨枯;
????????-p:顯示process的相關(guān)統(tǒng)計(jì)數(shù)據(jù);
????????-r:顯示io請求的相關(guān)的統(tǒng)計(jì)數(shù)據(jù)混驰;
????????-s:顯示swapped的相關(guān)統(tǒng)計(jì)數(shù)據(jù)召廷;
????????????--tcp
????????????--udp
????????????--raw
????????????--socket
????????????--ipc
????????????--top-cpu:顯示最占用CPU的進(jìn)程;
????????????--top-io:最占用io的進(jìn)程账胧;
????????????--top-mem:最占用內(nèi)存的進(jìn)程竞慢;
????????????--top-lantency:延遲最大的進(jìn)程;
kill命令:
????用于向進(jìn)程發(fā)送信號治泥,以實(shí)現(xiàn)對進(jìn)程的管理筹煮;
????顯示當(dāng)前系統(tǒng)可用信號:
kill -l [signal]
每個(gè)信號的標(biāo)識(shí)方法有三種:
????????1) 信號的數(shù)字標(biāo)識(shí);
????????2) 信號的完整名稱居夹;
????????3) 信號的簡寫名稱败潦;
向進(jìn)程發(fā)信號:
????kill? [-s signal|-SIGNAL]? pid...
常用信號:
????????1) SIGHUP:無須關(guān)閉進(jìn)程而讓其重讀配置文件;
????????2)SIGINT:終止正在運(yùn)行的進(jìn)程准脂,打斷劫扒,相當(dāng)于Ctrl+c
????????9)SIGKILL:殺死運(yùn)行中的進(jìn)程;強(qiáng)制直接殺死
????????15)SIGTERM:終止運(yùn)行中的進(jìn)程狸膏;把數(shù)據(jù)交還等
????????18)SIGCONT:
????????19)SIGSTOP:
killall命令:
????- kill processes by name
? ? killall? [-SIGNAL]? program:通過進(jìn)程名來管理沟饥,更方便適用于一組進(jìn)程的情況
4、使用until和while分別實(shí)現(xiàn)192.168.0.0/24 網(wǎng)段內(nèi)湾戳,地址是
否能夠ping通贤旷,弱ping通則輸出"success!",若ping不通則輸出"fail!"
while的實(shí)現(xiàn)方式
until的實(shí)現(xiàn)方式