1、簡述osi七層模型和TCP/IP五層模型
網絡協議通常分不同層次進行開發,每一層分別負責不同的通行功能。
1.1 OSI七層模型
OSI:Open System Internetconnection(開放系統互聯),由ISO國際標準化組織定義;目的是規範網絡環境,實現軟硬件兼容;自上而下共分爲七層,分別爲:應用層,表示層,會話層,傳輸層,網絡層,數據鏈路層,物理層。
應用層:各種應用程序及接口
表示層:對數據進行轉換,加密、壓縮
會話層:維持不同應用程序的數據分離
傳輸層:提供可靠的端到端的報文傳輸和差錯控制
網絡層:將分組從源端到目的端,提供路由選擇
數據鏈路層:將分組數據封裝成幀,提供節點到節點的方式傳輸
物理層:在媒體上傳輸比特,提供電氣和機械的規約
特點:上層依賴於下層,下層爲上層提供服務
1.2 TCP/IP五層模型
TCP/IP(Transmission Control Protocol/Internet Protocol)協議屬於網絡傳輸協議。TCP提供IP環境下的數據可靠傳輸,它提供的服務包括數據流傳送、可靠性、有效流控、全雙工操作和多路復 用。通過面向連接、端到端和可靠的數據包發送。TCP/IP的應用層相當於OSI七層協議的應用層、表示層、會話層,其他各層一一對應。
應用層:爲應用軟件提供接口,使應用程序能夠使用網絡服務
傳輸層:TCP/UDP
OSI七層模型和TCP/IP五層模型聯繫:
2、簡述iproute家族命令
ip命令:通過ip來配置網卡IP地址參數
語法:ip [OPTION] OBJECT {COMMAND | help}
OBJECT := {link | addr | route}
link:鏈接接口
addr:管理接口上的地址
route:管理路由
ip link:
ip link set {up|down} :設置接口啓用或禁用
ip link promisc {on|off} :是否支持混雜模式
ip link name NEWNAME : 設定接口使用新名字
ip link show [DEVICE] :顯示網卡的相關硬件信息
ip link help – 顯示簡要使用幫助
如:
ip addr:管理地址
add:添加地址
del:刪除地址
ip addr { add | del } dev IFADDR STRING
ip addr show:顯示該網卡的所有地址信息
ip addr show [ dev IFAME ]
ip addr flush:清除協議地址
ip addr flush [ dev IFAME ]
ip route:管理路由
list | show:顯示路由
ip route list
add:添加路由
ip route add DESTINATION via GATEWAY [ dev IFNAME]
del:刪除路由
ip route del DESTINATION
3、詳細說明進行管理工具htop、vmstat等相關命令,並舉例
htop命令:htop是一款運行於Linux系統監控與進程管理軟件,用於取代Unix下傳統top。與top只提供最消耗資源進程列表不同,htop提供所有進程的列表,並且使用彩色標識出處理器、swap和內存狀態。
選項:
-d #:指定延遲時間間隔;
-u USERNAME:僅顯示指定用戶的進程;
-s COLUME:以指定字段進行排序;
子命令:
l:顯示選定進程打開的文件列表,能跟蹤一個進程所打開的文件;
s:跟蹤選定的進程所發起的系統調用;
t:以層級關係顯示各進程狀態,樹狀結構顯示進程父子關係;
a:將選定的進程綁定在指定的CPU核心,設置進程在哪顆CPU上運行(affinity);
F2:設定顯示格式、顯示方式等 ;
u:顯示用所有戶進程;
H:隱藏/顯示用戶線程threads;
K:隱藏/顯示內核線程;
F:使用光標選擇進程;
P M T:根據CPU%,MEM%,TIME排序;
c:標記進程和子進程;
Esc:返回主界面;
示例:
vmstat命令:是一個即時顯示內存使用情況的工具。
語法:vmstat [-V] [-n] [delay [count]]
選項:
-V 顯示vmstat的版本;
-n causes the headers not to be reprinted regularly;
-a 顯示所有激活和未激活內存的狀態;print inactive/active page stats;
-d 顯示硬盤統計信息;prints disk statistics;
-D 顯示硬盤分區表;prints disk table;
-p 顯示硬盤分區讀寫狀態等;prints disk partition statistics;
-s 顯示內存使用情況;prints vm table;
-m prints slabinfo;
-S 定義單位,k K;
delay 是兩次刷新時間間隔;
count 刷新次數;
示例:
4、使用until和while分別實現192.168.0.0/24網段內,地址是否能夠ping通,弱ping通則輸出"success!",若ping不通則輸出"fail!"
until:
while: