- 簡述OSI七層模型和TCP/IP五層模型應用層:為計算機用戶提供應用程序接口和各種網絡服務,通??梢姷木W絡服務協議有:http,https,ftp,smtp,pop。會話層:建立、管理和終止表示層之間的通信會話。網絡層:進行邏輯地址尋址,實現不同網絡之間的路徑選擇物理層: 建立維護和斷開物理連接應用層:對應OSI七層模型中的應用層、表示層、會話層網絡層:物理層:數據鏈路層:
- 傳輸層:
- TCP/IP五層模型
- 數據鏈路層:建立邏輯連接,進行硬件地址尋址和差錯校驗
- 傳輸層:用于建立主機之間端到端之間的連接。定義傳輸數據的協議端口號和差錯校驗。
- 表示層:提供應用層數據的表示、安全和壓縮,確保數據可以從一臺主機安全的運輸到另一臺主機,并且可以被其識別并用于應用層會話。
- OSI七層模型
- 簡述iproute家族命令語法:ip [ OPTIONS ] OBJECT { COMMAND | help }?????? OBJECT可簡寫,各OBJECT的子命令也可簡寫;?? 功能:網絡設備配置???????? #ip link set 修改設備屬性,?????????????????? up and down :打開或者關閉?????????????? ???mtu number :MTU大小???????? #ip link show :顯示網卡信息???????????????????? 注意:僅顯示處于激活狀態的接口????1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 12: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 10003: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT qlen 1000顯示更為詳細的統計信息1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1?? RX: bytes packets errors dropped overrun mcast???? TX: bytes packets errors dropped carrier collsns2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000?? RX: bytes packets errors dropped overrun mcast???? TX: bytes packets errors dropped carrier collsns3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT qlen 1000?? RX: bytes packets errors dropped overrun mcast???? TX: bytes packets errors dropped carrier collsns2、ip address????????? #ip address add – add new protocol address?????????????????????? label NAME :為額外添加的地址指明接口別名;?????????????????????? scope SCOPE_VALUE :???????? ?????????????????????link :僅鏈接可用????????????????? 用法與add相同???????? #ip address show – look at protocol addresses???????? ?????????[label NAME]1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1?? inet 127.0.0.1/8 scope host lo?? inet6 ::1/128 scope host2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000?? inet 192.168.1.20/24 brd 192.168.1.255 scope global ens33?? inet6 fe80::29b3:d7ad:612f:ffab/64 scope link tentative dadfailed?? inet6 fe80::cdae:fa02:2647:2ae5/64 scope link tentative dadfailed?? inet6 fe80::f20e:5c79:b0f9:6869/64 scope link tentative dadfailed3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000?? inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr04: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000??? routing table management?????????? #ip route add – add new route?????????? #ip route replace – change or add new one???????????????? 示例:????????????????? ip route delete?????????????????? ip route flush TYPE PRIFIX?????????? #ip route get – get a single route???????????????? 示例: ip route get xxx.xxx.xxx.xxx/xx???? manage network namespaces?????????? #ip netns list:列出所有的netns?????????? #ip netns del NAME :刪除指定的netns
- ?????????? #ip netns exec NAME COMMAND :在指定的netns中運行命令
- ?????????? #ip netns add NAME :創建指定的netns
- 4、ip netns
- ???????????????? ip route get TYPE PRIFIX
- ?????????? #ip route flush
- ?????????? #ip route show – list routes
- ???????????????? 示例:ip route delete xxx.xxx.xxx.xxx/xx
- ?????????? #p route delete – delete route
- ?????????????????? ip route add 192.168.2.5/24 via 192.168.2.1 dev eth1 src 200.200.200.200
- ???????????????? ip route add TYPE PREFIX via GW [dev IFACE] [src SOURCE_IP]
- ?????????? #ip route change – change route
- 3、ip route
- ?? link/ether 52:54:00:7c:45:ce brd ff:ff:ff:ff:ff:ff
- ?????? valid_lft forever preferred_lft forever
- ?? link/ether 52:54:00:7c:45:ce brd ff:ff:ff:ff:ff:ff
- ?????? valid_lft forever preferred_lft forever
- ?????? valid_lft forever preferred_lft forever
- ?????? valid_lft forever preferred_lft forever
- ?????? valid_lft forever preferred_lft forever
- ?? link/ether 00:0c:29:38:1a:aa brd ff:ff:ff:ff:ff:ff
- ?????? valid_lft forever preferred_lft forever
- ?????? valid_lft forever preferred_lft forever
- ?? link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
- [root@20frs1dr90lts3b grub]# ip address show
- ?????????????????? [dev NAME]
- ???????? #ip address delete – delete protocol address
- ?????????????????????????????? host :本機可用
- ?????????????????????????????? global:全局可用
- ?????????????????????? broadcast ADDRESS :廣播地址,會根據IP和掩碼自動計算
- ???????????????? ip addr add ADDR dev IFCAE
- ?? 格式:
- ?? 功能:ip地址的刪除或者添加
- ?? 0???????? 0?????? 0?????? 0?????? 0?????? 0
- ?? 0???????? 0?????? 0?????? 0?????? 0?????? 0
- ?? link/ether 52:54:00:7c:45:ce brd ff:ff:ff:ff:ff:ff
- ?? 3022626?? 42153?? 0?????? 0?????? 0?????? 0
- ?? 650865318 441152?? 0?????? 0?????? 0?????? 0
- ?? link/ether 00:0c:29:38:1a:aa brd ff:ff:ff:ff:ff:ff
- ?? 128222???? 1301???? 0?????? 0?????? 0?????? 0
- ?? 128222???? 1301???? 0?????? 0?????? 0?????? 0
- ?? link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
- [root@20frs1dr90lts3b grub]# ip -s link show up
- link/ether 52:54:00:7c:45:ce brd ff:ff:ff:ff:ff:ff
- ?? link/ether 00:0c:29:38:1a:aa brd ff:ff:ff:ff:ff:ff
- ?? link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
- [root@20frs1dr90lts3b grub]# ip link show up
- ?????????????????? eg:ip link show dev ens111
- ?????????????????? netns PID :ns為namespace,用于將接口移動到指定的網絡名稱空間
- ?????????????????? name NAME:重命名接口
- ?????????????????? dev NAME :指明dev
- ?? 格式:
- 1、ip link
- ?????? 常用OBJECT := { link | addr |route |netns }
- IP命令
- 詳細說明進行管理工具htop、vmstat等相關命令,并舉例
htop
左上角顯示CPU、內存、交換區的使用情況,右邊顯示任務、負載、開機時間,下面就是進程實時狀況。下面是 F1~F10 的功能和對應的字母快捷鍵。
Shortcut?Key | Function?Key | 中文說明 |
h,?? | F1 | 查看htop使用說明 |
S | F2 | htop?設定 |
/ | F3 | 搜索進程 |
\ | F4 | 增量進程過濾器 |
t | F5 | 顯示樹形結構 |
<,?> | F6 | 選擇排序方式 |
[ | F7 | 可減少nice值,這樣就可以提高對應進程的優先級 |
] | F8 | 可增加nice值,這樣就可以降低對應進程的優先級 |
k | F9 | 可對進程傳遞信號 |
q | F10 | 結束htop |
命令行選項:
-C –no-color 使用一個單色的配色方案
-d –delay=DELAY 設置延遲更新時間,單位秒
-h –help ? 顯示htop 命令幫助信息
-u –user=USERNAME ? 只顯示一個給定的用戶的過程
-p –pid=PID,PID… ??? 只顯示給定的PIDs
-s –sort-key COLUMN ??? 依此列來排序
-v –version ?? 顯示版本信息
交互式命令:
上下鍵或PgUP, PgDn 選定想要的進程,左右鍵或Home, End 移動字段,當然也可以直接用鼠標選定進程;
Space 標記/取消標記一個進程。命令可以作用于多個進程,例如 “kill”,將應用于所有已標記的進程
U 取消標記所有進程
s 選擇某一進程,按s:用strace追蹤進程的系統調用
l 顯示進程打開的文件: 如果安裝了lsof,按此鍵可以顯示進程所打開的文件
I 倒轉排序順序,如果排序是正序的,則反轉成倒序的,反之亦然
+, – When in tree view mode, expand or collapse subtree. When a subtree is collapsed a “+” sign shows to the left of the process name.
a (在有多處理器的機器上) 設置 CPU affinity: 標記一個進程允許使用哪些CPU
u 顯示特定用戶進程
M 按Memory 使用排序
P 按CPU 使用排序
T 按Time+ 使用排序
F 跟蹤進程: 如果排序順序引起選定的進程在列表上到處移動,讓選定條跟隨該進程。這對監視一個進程非常有用:通過這種方式,你可以讓一個進程在屏幕上一直可見。使用方向鍵會停止該功能。
K 顯示/隱藏內核線程
H 顯示/隱藏用戶線程
Ctrl-L 刷新
Numbers PID 查找: 輸入PID,光標將移動到相應的進程上
vmstat
vmstat命令可以顯示進程隊列、內存、交換空間、塊I/O和CPU的活動信息;
vmstat [options] [delay [count]]
- 常用選項
-n:只在開始時顯示一次各字段名稱;
-a:顯示活躍和非活躍內存信息;
-m:顯示/proc/slabinfo;
-s:顯示內存相關統計信息;
-S:使用指定單位顯示,默認單位是K;
root@20frs1dr90lts3b grub]# vmstat 5 2
procs ———–memory———- —swap– —–io—- -system– ——cpu—–
r b?? swpd?? free?? buff cache?? si?? so?? bi?? bo?? in?? cs us sy id wa st
3 0 222432 61024???? 36 253928?? 3?? 19?? 625?? 89 129 196 2 1 97 0 0
0 0 222432 181948???? 36 238928?? 0?? 0 2622???? 0 205 261 6 2 91 1 0
[root@20frs1dr90lts3b grub]# vmstat
procs ———–memory———- —swap– —–io—- -system– ——cpu—–
r b?? swpd?? free?? buff cache?? si?? so?? bi?? bo?? in?? cs us sy id wa st
4 0 222432 182144???? 36 239120?? 3?? 19?? 625?? 89 129 196 2 1 97 0 0
[root@20frs1dr90lts3b grub]# vmstat -a
procs ———–memory———- —swap– —–io—- -system– ——cpu—–
r b?? swpd?? free inact active?? si?? so?? bi?? bo?? in?? cs us sy id wa st
3 0 222432 83936 420808 315276?? 3?? 19?? 630?? 89 129 196 2 1 97 0 0
[root@20frs1dr90lts3b grub]# vmstat -s -S M
976 M total memory
564 M used memory
290 M active memory
402 M inactive memory
109 M free memory
0 M buffer memory
302 M swap cache
2047 M total swap
217 M used swap
1830 M free swap
16154 non-nice user cpu ticks
7052 nice user cpu ticks
11714 system cpu ticks
1193385 idle cpu ticks
1671 IO-wait cpu ticks
0 IRQ cpu ticks
1053 softirq cpu ticks
0 stolen cpu ticks
7775272 pages paged in
1098058 pages paged out
9708 pages swapped in
58189 pages swapped out
1591026 interrupts
2416208 CPU context switches
1531619822 boot time
10154 forks
4,使用until 和while分別實現192.16.0.024網段內地址是否能夠ping通,ping通輸出“success”,否則顯示”fail”
declare j=1
while [ $j -le 255 ]; do
if ping -c 1 192.168.1.$j &> /dev/null;then
echo “192.168.1.$j: success!”
else
echo “192.168.1.$j: fail!”
fi
let j=$j+1
done
declare j=1
until [ $j -ge 255 ]; do
if ping -c 1 192.168.1.$j &> /dev/null;then
echo “192.168.1.$j: success!”
else
echo “192.168.1.$j: fail!”
fi
let j=$j+1
done
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/102975