第六周 "1伞剑、簡述osi七層模型和TCP/IP五層模型
1.1 OSI七層模型
全稱:open system Internetconnection(開放系統(tǒng)互聯(lián))
由ISO國際標準化組織定義
目的:規(guī)范網(wǎng)絡環(huán)境摊灭,實現(xiàn)軟硬件兼容
內(nèi)容:共分為七層,自上而下分別為:應用層懂鸵,表示層消玄,會話層删壮,傳輸層,網(wǎng)絡層炎咖,數(shù)據(jù)鏈路層,物理層寒波。
應用層:應用程序及接口
表示層:對數(shù)據(jù)進行轉(zhuǎn)換乘盼,加密、壓縮
會話層:維持不同應用程序的數(shù)據(jù)分離
傳輸層:提供可靠的端到端的報文傳輸和差錯控制
網(wǎng)絡層:將分組從源端到目的端俄烁,提供路由選擇
數(shù)據(jù)鏈路層:將分組數(shù)據(jù)封裝成幀绸栅,提供節(jié)點到節(jié)點的方式傳輸
物理層:在媒體上傳輸比特,提供電氣和機械的規(guī)約
舉例:小明和小紅需要通過QQ傳輸一段視頻
應用層:QQ這個軟件
表示層:對傳輸?shù)囊曨l進行壓縮加密
會話層:打開一個qq窗口
傳輸層:斷點續(xù)傳页屠,保證數(shù)據(jù)端到端的傳遞
網(wǎng)絡層:路由選擇粹胯,傳遞數(shù)據(jù)和選路
數(shù)據(jù)鏈路層:交換機 節(jié)點到節(jié)點 MAC
特點:上層依賴于下層,下層為上層提供服務
1.2TCP/IP五層協(xié)議
TCP/IP的應用層相當于OSI七層協(xié)議的應用層辰企、表示層风纠、會話層,其他各層一一對應牢贸,在每一層工作者不同的設備竹观,如網(wǎng)絡層工作著路由器,數(shù)據(jù)鏈路層工作著交換機十减;每一層的協(xié)議也不通栈幸。
應用層:為應用軟件提供接口愤估,使應用程序能夠使用網(wǎng)絡服務
常見的應用層協(xié)議:
--http(80)、https(443)速址、dns(53)
-ftp(20/21) -smtp(25) -pop3(110)? -telnet
傳輸層(TCP/UDP)
2玩焰、簡述iproute家族命令
靜態(tài)配置地址的方法有一下幾種方式:
(1)ifconfig (2)ip命令 (3)GUI工具 (4)TUI工具 (5)編輯配置文件
2.1ifconfig[Interface] -a:包括未激活狀態(tài)的所有接口
啟用或者禁用:ifconfig IFNAME up|down 也可以是啟用:ifup IFNAME 禁用:ifdown IFNAME
設置IP地址:ifconfig IFNAME IP/Netmask [up]? ?或者:ifconfig IFNAME IP netmask Netmask
設定的地址會立即送往內(nèi)核,因此芍锚,會立即生效昔园,但不會永久生效。
2.2通過ip命令來配置網(wǎng)卡IP地址參數(shù)
ip [OPTIONS] OBJECT {COMMAND| help}
OBKECT:={link | addr | route}
link:連接接口并炮,如eth0?
addr:管理接口上的地址
route:管理路由地址
link有如下子屬性:
set:設定接口屬性? ip link set DEVICE {up|down}:啟用或者關閉接口
promisc{on|off}:是否支持混雜模式:
name NEWNAMW:設定接口使用新名字
show:顯示接口狀態(tài)默刚,例如啟用的特性,HWADDR等逃魄;
ip link? show [DEVICE],顯示設備相關信息
addr:管理地址
add:添加地址
?del:刪除地址
? ip addr {add | del} IFNAME dev STRING
show:顯示該網(wǎng)卡的所有地址
flush:清除協(xié)議地址
route:管理路由
list|show:顯示路由
add:添加路由?
ip route add DESTINETION via GATEWAY [dev IFNAME]
del:刪除路由
ip route del:
2.3路由管理
主機想訪問其他網(wǎng)絡就必須有網(wǎng)關和相應的路由信息荤西,路由管理主要通過route命令來管理。
2.3.1 查看本機內(nèi)核路由表:route -n
-n:以數(shù)字格式顯示地址 route -n
2.3.2 添加路由:新增路由條目伍俘,用戶告訴本機至某目標網(wǎng)絡或主機要經(jīng)過的下一跳路由
route add [-net|-host] TARGET gw GATEWAY [dev IFNAME]
-net 后面需要跟一個網(wǎng)絡地址邪锌,表示網(wǎng)絡路由
-host后面跟一個主機地址,表示路由地址
2.3.3刪除路由:
route del [-net|-host] TARGET gw GATEWAY [dev IFNAME]
注意:所有配置立即發(fā)往內(nèi)核中的協(xié)議棧癌瘾,所以會立即生效觅丰;不會永久生效,如果想永久生效就得修改對應的靜態(tài)路由的配置文件妨退,配置文件可以通過兩種方式進行定義妇萄。(配置文件路徑為 /etc/sysconfig/network-scripts/route-IFNAME)
2.3.4 網(wǎng)絡狀態(tài)探測工具:
netstat -r:顯示路由表
-n:numeric,數(shù)字顯示咬荷,不反解ip地址至主機名:
-t:tcp 協(xié)議的相關連接
-u:udp協(xié)議的相關連接
-l:顯示所有處于監(jiān)聽狀態(tài)(即等待別的進程連接訪問)
-a:顯示所有連接冠句,對于tcp而言即處于各種狀態(tài);
-p:顯示相關連接的關聯(lián)到的進程的名字及PID萍丐;
常用組合:-tcp -udp
ss:-t:tcp協(xié)議相關連接
-n:數(shù)字格式
-u:udp相關的連接
-l:處于監(jiān)聽狀態(tài)
常用組合:-tnl -unl -tan?
3轩端、詳細說明進行管理工具htop、vmstat等相關命令逝变,并舉例
3.1? ps:顯示系統(tǒng)當前進程的運行情況
選項與參數(shù):-A:所有的進程均顯示出來基茵,與-e有同樣的效果
? ? ? ? ? ? ? ? ? ? ? -a:不與終端相關的進程
? ? ? ? ? ? ? ? ? ? ? ?-u:與用戶相關的進程
? ? ? ? ? ? ? ? ? ? ? ? ?x:通常與a參數(shù)一起使用,列出較為完整的信息
輸出格式:
? ? ? ? ? ? ? ? ? ? l:較詳細的將該pid的信息列出來
? ? ? ? ? ? ? ? ? ? j:工作格式(job format)
? ? ? ? ? ? ? ? ? ?-f:做一個較為完整的輸出
常見的組合方式:
1壳影、ps -ef? 以完整的信息顯示所有進程的信息
2拱层、ps aux?
3、 ps axo
進程有以下幾種狀態(tài):
R:running宴咧,運行狀態(tài)根灯;
S:interruptable sleeping,可中斷睡眠
D:uninteruptable sleeping,不可中斷睡眠
T:stopped
Z:zombie
自定義顯示ps axo 烙肺,如:只顯示pid纳猪,command,psr桃笙,pri,ni
我們有時還可能只顯示指定的進程信息氏堤,此時就可以通過pgrep命令來檢索,例如查找root用戶的進程:pgrep -U root
顯示指定命令所啟動的進程ID:pidof
語法格式:pidof PROGRAM
3.2 top:動態(tài)的持續(xù)監(jiān)控進程的狀態(tài)
VIRT:進程需要的虛擬內(nèi)存大小搏明,而非使用的虛擬內(nèi)存大小
RES:進程實際所占用的內(nèi)存大小鼠锈,不包括swap
TIME+:累計使用的CPU時間大小
3.3 uptime:更加簡潔地命令,列出當前系統(tǒng)時間星著,登錄時長购笆,登錄用戶數(shù),以及系統(tǒng)的平均負載
3.4htop:htop是top的增強版命令虚循,系統(tǒng)默認沒有安裝同欠,需要epel源來進行安裝。
htop支持的一些選項:
-d #:延遲時長
-u USERNAME:僅顯示指定用戶的進程
-s COLUMN:根據(jù)指定的字段進行排序
3.5 vmstat:vmstat主要用來動態(tài)顯示系統(tǒng)資源的使用情況邮丰,這些資源包括:磁盤行您,內(nèi)存網(wǎng)絡cpu等
用法:vmstat【OPTION】【delay【count】】
-s:將一些時間導致的內(nèi)存變化列出來
-S:后面可以接單位,如K剪廉、M取代bytes的容量;
-d:列出磁盤的讀寫總量統(tǒng)計表
3.6 glances:glances是一款用于Linux炕檩、BSD的開源命令行系統(tǒng)監(jiān)視工具斗蒋,它使用Python語言開發(fā),能夠監(jiān)視CPU笛质、磁盤泉沾、內(nèi)存、網(wǎng)絡流量妇押、文件系統(tǒng)跷究、系統(tǒng)溫度等等,功能非常強大敲霍。
glances的使用方法及常用選項:
? ? ? ? ? ? ?-b:以Byte/s為單位顯示網(wǎng)卡設備數(shù)據(jù)交換速率
-d:關閉磁盤IO的功能模塊
-f: /path/to/somefile:設置輸出文件的位置及格式
-o{HTML|CSV}
-m:關閉mount功能模塊
-n:關閉網(wǎng)絡功能模塊
-r:關閉進程列表功能模塊
-t:指定延時時長俊马,默認3秒
-l:單獨顯示每顆CPU的相關負載數(shù)據(jù)信息
glances支持遠程模式,即可以在C/S模式工作
Server:以監(jiān)聽模式啟動glances:glances -s -B IPADDR肩杈,此時的IPADDR表示用于指明監(jiān)聽的本地地址柴我;
Client:以遠程模式啟動glances,遠程連入指定服務器扩然,啟動:glances -c IPADDR
-c:用于連入的服務器地址
3.7dstat:dstat是可以取代vmstat艘儒,iostat,netstat和ifstat這些命令的多功能產(chǎn)品。dstat克服了命令的局限并增加了另外的功能界睁,增加了監(jiān)控項觉增,變得更加靈活。dstat可以很方便的監(jiān)控系統(tǒng)運行狀態(tài)并用于基準測試和排除故障翻斟。
dstat可以讓你實時看到系統(tǒng)的所有資源
--top-cpu:顯示最占用CPU的進程
--top-io:顯示最消耗io的進程
--top-mem:顯示最消耗內(nèi)存的進程
--tcp:顯示tcp套接字相關的數(shù)據(jù)
3.8 kill:顯示當前系統(tǒng)的可用信號逾礁,并對進程發(fā)送信號
kill -l:可顯示當前系統(tǒng)的可用信號
信號可以用完整名稱,簡寫名稱和數(shù)字序號表示
向進程發(fā)送信號:kill [-SIGNAL]PID
killall [-SIGNAL]PROGRAM,這個使用的是進程名稱
3.9作業(yè)管理
1杨赤、對于已經(jīng)啟動并處于運行的作業(yè):使用Ctrl+z
2敞斋、對于尚未啟動的作業(yè):使用 COMMAND &
作業(yè)查看:jobs
作業(yè)控制命令:fg(將作業(yè)調(diào)回前臺)bg(將作業(yè)調(diào)入后臺)
kill【%job_num】:終止指定的作業(yè)
3.10 調(diào)整nice值的方法:
1话原、對于尚未啟動的進程:nice -n N COMMAND:N表示nice猎贴。范圍是-20~19
2稍算、對于已經(jīng)啟動并在運行的進程:renice -n? N PID
注意:ps -l 可以查看進程的優(yōu)先級及nice值
4混埠、使用until和while分別實現(xiàn)192.168.0.0/24
網(wǎng)段內(nèi)绪钥,地址是否能夠ping通痒蓬,若ping通則輸出""success!""王财,若ping不通則輸出""fail!""
4.1使while循環(huán):
declare -i i=0
while [ $i -lt 255 ];do
? ? ping 192.168.0.$i >& /dev/null
? ? if [ $? -eq 0 ];then
? ? ? echo "192.168.0.$isuccess!"
else
? echo "192.168.0.$ifailed!"
fi
let i++
done
4.2使用until循環(huán)
declare -i i=0
until [ $i -ge 255 ];do
? ? ping 192.168.0.$i >& /dev/null
? ? if [ $? -eq 0 ];then
? ? ? echo "192.168.0.$isuccess!"
else
? echo "192.168.0.$ifailed!"
fi
let i++
done