1、簡述osi七層模型和TCP/IP五層模型
- TCP/IP協議棧的實現:1975年Berkeley分校的Bill Joy,團隊BSRG接到美國軍方DARPA的一個項目,要在網絡上傳輸數據報文。于是它們就在BSD主機上實現了TCP/IP。
- TCP/IP協議棧:事先商定的協調機制、規范。
- 流式化數據:兩個主機間通信,其交換數據的格式,彼此可以理解。在一端流式化,在另一端可以還原。
- TCP/IP分層目的:信息交換考慮的復雜的問題,將其化整為零。
- OSI七層模型:?設計接口規范:過于重量;效率不高;所以”學習模型”。應用層、表示層、會話層、傳輸層、互聯網層、數據鏈路層、物理層
- TCP/IP四層或五層模型:接口不規范:”真正使用的模型”。 應用層、傳輸層、互聯網層、物理層
- 資源子網:用戶空間;應用層、表示層、會話層上三層:數據如何組織;
- 通信子網:內核空間;傳輸層、互聯網層、數據鏈路層、物理層;數據如何送到目的地;
- 應用層協議:“進行網絡通信”的軟件或程序實現應用層協議(例如:http、ssh、ftp、https、ldap協議);協議客戶端或服務端實現有多種不同程序;
- 應用層首部:告訴其如何流式化:發的內容取決于應用層。
- 在傳輸的過程中,解封裝多次幀,ip是不變的。
- 如果目標MAC是自己,解封裝,ip是自己,解封裝;看到端口,交給指定端口;
- 傳輸層協議:tcp, udp, sctp。傳輸層某協議的端口; 標識主機上進程地址,向內核注冊使用某端口( 獨占 )
- 內核空間:通信子網,下4層:報文安全到達對端。
- 內核空間協議:tcp,udp; ipv4, ipv6; ppp協議。通過內核中的代碼實現
- 互聯網層:IP
- 傳輸層:TCP, UDP
- 以太網幀:MTU(最大傳輸單元): 1500Bytes 所有首部封裝在數據頭部后總大??;
- C/S架構:S:Server端,監聽于IP:PORT。C:Client端,基于此協議交互。C/S借助于TCP/IP協議簇,完成報文傳輸;
- 物理層物理報文在TCP/IP上。
- 遂道:一種運輸工具承載另一種傳輸工具:
2、簡述iproute家族命令
將主機接入至網絡中基本網絡屬性
- IP/MASK
- GATEWAY(主機路由、網絡路由、默認路由)
- DNS服務器 FQDN主機名(通過主機名通信必須的)
- 主DNS服務器
- 次DNS服務器
- 第三DNS服務器
iproute家族:
- ip addr:IP/NETMASK
- ip link:接口
- ip route :路由
- ss :狀態及統計數據查看;網絡連接數量眾多時,比netstat性能高
- nmtui: 圖形接口
3、詳細說明進行管理工具htop、vmstat等相關命令,并舉例
htop子命令
- s 顯示syscall
- a 設置進程和cpu的affinity
- t 顯示層級結構
- l 顯示打開文件列表
- F6 排序
vmstat命令
vmstat [delay[count]]
delay 延遲幾秒刷新一次
count 刷新幾次-p partition
-s 顯示/proc/meminfo文件中的信息
4、使用until和while分別實現192.168.0.0/24網段內,地址是否能夠ping通,弱ping通則輸出”success!”,若ping不通則輸出”fail!”
until
#!/bin/bash # Version: 0.0.0 # Desc: until ping 192.168.0.0/24 # Author: jerry<jerry@whitehouse.gov> # Date: 2018/1/15 trap "exit 0" INT i=0 until false; do i=$[$i+1] if [ $i -gt 254 ]; then break fi ping -c 1 -W 1 -w 1 192.168.0.$i > /dev/null && RETVAL=$? if [ "$RETVAL" == "1" ]; then echo "192.168.0.$i success!" continue fi echo "192.168.0.$i fail!" donewhile
#!/bin/bash # Version: 0.0.0 # Desc: while ping 192.168.0.0/24 # Author: jerry<jerry@whitehouse.gov> # Date: 2018/1/15 trap "exit 0" INT i=0 while [ $i -le 253 ]; do let i++ ping -c 1 -W 1 -w 1 192.168.0.$i > /dev/null && RETVAL=$? if [ "$RETVAL" == "1" ]; then echo "192.168.0.$i success!" continue fi echo "192.168.0.$i fail!" done
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/90919
贊,總結的很詳細,也很清晰~最后一個檢測子網內是否能ping通,建議是 -c 2 ,因為第1次可能ping不通的情況~加油~
@馬哥教育:謝謝老師指導!