簡述osi七層模型和TCP/IP五層模型

OSI七層模型.png

網(wǎng)絡(luò)模型對應(yīng)說明.png
應(yīng)用層——Application(Layer 7)
各種應(yīng)用程序協(xié)議,如HTTP、FTP、SMTP、POP3等
表示層——Presentation(Layer 6)
信息的語法語義以及它們的關(guān)聯(lián),如加密解密、轉(zhuǎn)換翻譯、壓縮解壓縮
會話層——Session(Layer 5)
不同機(jī)器上的用戶之間建立及管理會話
傳輸層—— Transport(Layer 4)
接受上一層的數(shù)據(jù),在必要的時(shí)候?qū)?shù)據(jù)進(jìn)行切割,并把數(shù)據(jù)交給網(wǎng)絡(luò)層,且保證數(shù)據(jù)段有效到達(dá)對端
網(wǎng)絡(luò)層——Network(Layer 3)
控制子網(wǎng)的運(yùn)行,如邏輯編址、分組傳輸、路由選擇
數(shù)據(jù)鏈路層——Data Link(Layer 2)
物理尋址,同時(shí)將原始比特流轉(zhuǎn)變?yōu)榱_技傳輸線路
物理層——Physical(Layer 1)
機(jī)械、電子、定時(shí)接口通信信道上的原始比特流傳輸
簡述iproute家族命令
ip命令:
show / manipulate routing, devices, policy routing and tunnels
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { link | addre| route | netns }
ip OBJECT:
ip link: network device configuration
ip link set: 修改設(shè)備屬性
dev NAME(default): 指名要管理的設(shè)備,dev關(guān)鍵字可省略
up 和 down:
multicast on或off: 啟用或禁用多播功能
name NAME: 重命名接口
mtu NUMBER: 設(shè)置MTU的大小,默認(rèn)為1500;
netns PID: ns為namespace,用于將接口移動到指定的網(wǎng)絡(luò)名稱空間;
ip link show: 顯示設(shè)備屬性
ip link help: 顯示簡要幫助信息
ip netns: process network namespace management
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 addr add IFADDR dev IFACE(基本用法)
[label NAME]: 為額外添加的地址指名接口別名;
[broadcast ADDRESS]: 廣播地址;會根據(jù)IP和NETMASK計(jì)算得到,一般都無需配置;
[scope SCOPE_VALUE]:
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: 清空接口上所有的地址
詳細(xì)說明進(jìn)行管理工具h(yuǎn)top、vmstat等相關(guān)命令,并舉例
htop命令:
- 選項(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 - Report virtual memory statistics
vmstat [options] [delay [count]]
- proc:
- r: 等待運(yùn)行的進(jìn)程的個數(shù);cpu上等待運(yùn)行的隊(duì)列長度;
- b: 處于不可中斷睡眠態(tài)的進(jìn)程個數(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中的數(shù)據(jù)速率(kb/s)
- io:
- bi: 從塊設(shè)備讀入數(shù)據(jù)到系統(tǒng)的速率(kb/s)
- bo: 保存數(shù)據(jù)至塊設(shè)備的速率(kb/s)
- system:
- in: interrupts,中斷速率
- cs: context switch,上下文切換的速率
- cpu:
- us: user space
- sy: system
- id: idle
- wa: wait
- st: stolen
- 選項(xiàng):
- -s: 顯示內(nèi)存統(tǒng)計(jì)數(shù)據(jù);
使用until和while分別實(shí)現(xiàn)192.168.0.0/24 網(wǎng)段內(nèi),地址是否能夠ping通,若ping通則輸出"success!",若ping不通則輸出"fail!"
#!/bin/bash
#
declare -i i=1
while [ $i -le 254 ]; do
if ping -c 1 -w 1 -W 1 192.168.0.$i &> /dev/null; then
echo "Ping 192.168.0.$i success!"
else
echo "Ping 192.168.0.$i fail!"
fi
let i++
done
#!/bin/bash
#
declare -i i=1
until [ $i -gt 254 ]; do
if ping -c 1 -w 1 -W 1 192.168.0.$i &> /dev/null; then
echo "Ping 192.168.0.$i success!"
else
echo "Ping 192.168.0.$i fail!"
fi
let i++
done