第六周作業

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

1、 osi七層模型

1、應用層:OSI 參考模型中最靠近用戶的一層,為計算機用戶提供應用接口,也為用戶直接提供各種網絡服務。我們常見應用層的網絡服務協議有:HTTP,HTTPS,FTP,POP3、SMTP等。

2、表示層:提供各種用于應用層數據的編碼和轉換功能,確保一個主機的應用層發送的數據能被另一個主機的應用層識別。如果有必要,該層可以提供一種標準的表示形式,用于將計算機內部的多種數據格式轉換成通信中采用的標準表示形式。

3、會話層:負責建立、管理和終止表示層實體之間的通信會話。

4、傳輸層:建立了主機之間的端到端的連接。傳輸層的作用,是為上層協議提供端到端的可靠的透明的數據傳輸服務,包括差錯控制和流量控制等問題。我們通常說的TCP、UDP就是在這一層。端口號即是這里的“ 端 ”。TCP 協議。UDP 協議。

5、網絡層:網絡層通過 IP 尋址來建立兩個網絡節點之間的連接,為源主機的傳輸層送來的分組,選擇合適的路由和交換節點,正確無誤的按照 IP 地址傳送給目的主機的傳輸層。就是通常說的 IP 層,使用 IP協議和路由器的路由選擇信息。數據傳輸單位是分組。IP 地址。路由器。IP 協議。

6、數據鏈路層:將比特組合成字節,再將字節組合成幀,使用數據鏈路層地址 (以太網使用的是 MAC 地址)來訪問介質,并進行差錯檢測。在物理層提供的服務基礎之上,負責在通信的實體之間建立數據鏈路。傳輸以幀為單位的數據包。

7、物理層:實際的最終信號的傳輸是通過物理層實現的。通過物理介質傳輸0-1 比特流。常用的設備有(各種物理設備)集線器、中繼器、調制解調器、網線、雙絞線、同軸電纜。這些都是物理層的傳輸介質。 傳輸的單位是比特。

2、 TCP/IP 五層模型

1、應用層:對應osi七層模型中的應用層,表示層,會話層;

2、傳輸層 :

3、網絡層 :

4、數據鏈路層 :

5、物理層 :

3、 對應關系圖解

QQ截圖20180629091223

QQ截圖20180629091243

1、簡述iproute家族命令

IP命令

 語法:ip [ OPTIONS ] OBJECT { COMMAND | help }


       常用OBJECT := { link | addr |route |netns }

       OBJECT可簡寫,各OBJECT的子命令也可簡寫;

1、ip link

    功能:網絡設備配置

    格式:

         #ip link set  修改設備屬性,
                    dev NAME :指明dev  
                    up and down :打開或者關閉
                    name NAME:重命名接口 
                    mtu number :MTU大小
                    netns PID :ns為namespace,用于將接口移動到指定的網絡名稱空間


         #ip link show :顯示網卡信息
                   eg:ip link show dev ens111
                     注意:僅顯示處于激活狀態的接口

2、ip address

    功能:ip地址的刪除或者添加

    格式:
          #ip address add - add new protocol address
                  ip addr add ADDR dev IFCAE
                        label NAME :為額外添加的地址指明接口別名;
                        broadcast ADDRESS :廣播地址,會根據IP和掩碼自動計算
                        scope SCOPE_VALUE :
                                global:全局可用
                                link :僅鏈接可用
                                host :本機可用

          #ip address delete - delete protocol address
                 用法與add相同

          #ip address show - look at protocol addresses
                   [dev NAME]
                   [label NAME]

3、ip route

    routing table management

            #ip route add - add new route
            #ip route change - change route
            #ip route replace - change or add new one
                 ip route add TYPE PREFIX via GW [dev IFACE] [src SOURCE_IP]
                 示例:
                    ip route add 192.168.2.5/24 via 192.168.2.1 dev eth1 src 200.200.200.200

            #p route delete - delete route
                  ip route delete 
                  示例:ip route delete xxx.xxx.xxx.xxx/xx

            #ip route show - list routes 

            #ip route flush 
                  ip route flush TYPE PRIFIX

            #ip route get - get a single route
                  ip route get TYPE PRIFIX
                  示例: ip route get xxx.xxx.xxx.xxx/xx 

4、ip netns

      manage network namespaces

            #ip netns list:列出所有的netns
            #ip netns add NAME :創建指定的netns
            #ip netns del NAME :刪除指定的netns
            #ip netns exec NAME COMMAND :在指定的netns中運行命令

3、詳細說明進行管理工具htop、vmstat等相關命令,并舉例

1、htop

1

上面左上角顯示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,光標將移動到相應的進程上

2、vmstat

vmstat是Virtual Meomory Statistics(虛擬內存統計)的縮寫,可對操作系統的虛擬內存、進程、IO讀寫、CPU活動等進行監視。它是對系統的整體情況進行統計,不足之處是無法對某個進程進行深入分析。

  vmstat [options] [delay [count]]

      delay:刷新時間間隔。如果不指定,只顯示一條結果。
      count:刷新次數。如果不指定刷新次數,但指定了刷新時間間隔,這時刷新次數為無窮。
      options:
           -a :開啟顯示active/inactive memory
           -m :顯示slabinfo信息
           -s :顯示各種事件計數器表和內存統計信息,這顯示不重復
           -V :查看vmstat命令的版本
           -w :可以擴大字段長度,當內存較大時,默認長度不夠完全展示內存。

[root@localhost ~]# vmstat 
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
1  0      0 464188    740 397020    0    0     1     0    8   10  0  0 100  0  0


輸出字段意義:

 procs :
       r :等待運行的進程數。如果等待運行的進程數越多,意味著CPU非常繁忙。另外,如果該參數長期大于和等于邏輯cpu個數,則CPU資源可能存在較大的瓶頸;
       b :處在非中斷睡眠狀態的進程數。意味著進程被阻塞。主要是指被資源阻塞的進程對列數(比如IO資源、頁面調度等),當這個值較大時,需要根據應用程序來進行分析,比如數據庫產品,中間件應用等;

 memory :
        swpd :已使用的虛擬內存大小。如果虛擬內存使用較多,可能系統的物理內存比較吃緊,需要采取合適的方式來減少物理內存的使用。swapd不為0,并不意味物理內存吃緊,如果swapd沒變化,si、so的值長期為0,這也是沒有問題的;
        free :空閑的物理內存的大小;
        buff :用來做buffer(緩存,主要用于塊設備緩存)的內存數,單位:KB;
        cache :用來做cache(緩存,主要用于緩存文件)的內存,單位:KB;

 Swap :
        si :從磁盤交換到內存的交換頁數量,單位:KB/秒;
        so :從內存交換到磁盤的交換頁數量,單位:KB/秒;

 IO :
        bi :每秒從塊設備接收到的塊數,單位:塊/秒 也就是讀塊設備;
        bo :每秒發送到塊設備的塊數,單位:塊/秒  也就是寫塊設備;

 System : 
        in :每秒的中斷數,包括時鐘中斷
        cs :每秒的環境(上下文)切換次數。比如我們調用系統函數,就要進行上下文切換,而過多的上下文切換會浪費較多的cpu資源,這個數值應該越小越好。

 Cpu :
       us :用戶CPU時間(非內核進程占用時間)(單位為百分比)。 us的值比較高時,說明用戶進程消耗的CPU時間多
       sy :系統使用的CPU時間(單位為百分比)
       id :空閑的CPU的時間(百分比)
       wa :等待IO的CPU時間


 示例:[root@localhost ~]# vmstat -s
      1004172 K total memory
      142020 K used memory
      256064 K active memory
      144468 K inactive memory
      464572 K free memory
         740 K buffer memory
      396840 K swap cache
     2097148 K total swap
           0 K used swap
     2097148 K free swap
      5452 non-nice user cpu ticks
        66 nice user cpu ticks
     25984 system cpu ticks
  34480821 idle cpu ticks
      2079 IO-wait cpu ticks
      11608 IRQ cpu ticks
         0 softirq cpu ticks
         0 stolen cpu ticks
    273952 pages paged in
    143466 pages paged out
        0 pages swapped in
        0 pages swapped out
   2789873 interrupts
   3386536 CPU context switches
 1528419771 boot time
     9070 forks

4、使用until和while分別實現192.168.0.0/24 網段內,地址是否能夠ping通,弱ping通則輸出”success!”,若ping不通則輸出”fail!”

1、while

    #!/bin/bash
    #
    declare -i i=1

    while [ $i -le 254 ] ; do
         ping -w 1 -c 1 192.168.0.$i &> /dev/null
             if [ $? -eq 0 ];then
            echo "192.168.0.$i is success"
        else    
            echo "192.168.0.$i is fail "
        fi  
        let i++
    done

2、until

    #!/bin/bash
    #

    declare -i i=1

    until [ $i -gt 255 ] ;do
        ping -w 1 -c 1 192.168.0.$i &> /dev/null
        if [ $? -eq 0 ];then
            echo "192.168.0.$i is success"
        else
            echo "192.168.0.$i is fail"
        fi
        let i++
    done

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/101953

(0)
nininini
上一篇 2018-06-29
下一篇 2018-06-29

相關推薦

  • 華為交換機配置

    示例設備華為s5700S-28P-LI-AC 用戶視圖<HUAWEI>:默認登錄 系統視圖[HUAWEI]:system-view 接口視圖[HUAWEI-GigabitEthernetX/Y/Z]:interface gigabitethernet X/Y/Z X/Y/Z為需要配置的接口的編號,分別對應“槽位號/子卡號/接口序號” 路由協議視圖…

    Linux筆記 2018-06-07
  • 實驗:實現互聯網的DNS架構

    實現互聯網DNS分布式架構,當客戶端訪問時,經各級自建DNS解析,最終指向Web1或者Web2服務器httpd服務

    2018-06-05
  • rpm指令詳解

    程序包管理器: 功能:將編譯好的應用程序的各組成文件打包成一個或幾個程序包文件,從而更方便地實現程序包的安裝、升級、卸載和查詢等管理操作; ? 1、程序包的組成清單(每個程序包都單獨實現); ? ? ? ? 文件清單 ? ? ? ? ?安裝或卸載時運行的腳本 ? 2、數據庫(公共) ? ? ? ?程序包的名稱和版本; ? ? ? 依賴關系; ? ? ? 功能…

    Linux筆記 2018-03-30
  • 初學Linux之標準I/O和管道

    標準輸入和輸出 程序是由指令+數據組成程序的數據流有三種: 輸入數據流:<–標準輸入(stdin),一般默認是鍵盤輸出數據流:–>標準輸出(stdout),一般默認到終端窗口錯誤輸出流:–>標準錯誤(stderr),一般默認到終端窗口 標準輸入:0標準輸出:1錯誤輸出:2 I/O重定向:改變默認位置 輸出…

    Linux筆記 2018-04-03
  • shell腳本之判斷httpd是否有異常

    案例 以web為例 大全講解:如http為例 #/etc/init.d/httpd start????? 開啟httpd #lsof –i :80 [root@centos6 ~/bin]$curl -I -s -o /dev/null -w “%{http_code}\n” http://172.16.0.1 析:-I 是響應頭,響…

    Linux筆記 2018-05-20
欧美性久久久久