冥界之王-第8周作業

  
1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。
  

  網橋:網橋(Bridge)是早期的兩端口二層網絡設備,用來連接不同網段。網橋的兩個端口分別有一條獨立的交換信道,
          不是共享一條背板總線,可隔離沖突域。網橋比集線器(Hub)性能更好,集線器上各端口都是共享同一條背板總線的。
          后來,網橋被具有更多端口、同時也可隔離沖突域的交換機(Switch)所取代。
    集線器:線器的英文稱為“Hub”?!癏ub”是“中心”的意思,集線器的主要功能是對接收到的信號進行再生整形放大,
            以擴大網絡的傳輸距離,同時把所有節點集中在以它為中心的節點上。
    二層交換機:二層交換機工作于OSI模型的第2層(數據鏈路層),故而稱為二層交換機。
                二層交換技術的發展已經比較成熟,二層交換機屬數據鏈路層設備,可以識別數據包中的MAC地址信息,
                根據MAC地址進行轉發,并將這些MAC地址與對應的端口記錄在自己內部的一個地址表中。
    三層交換機:三層交換機就是具有部分路由器功能的交換機,三層交換機的最重要目的是加快大型局域網內部的數據交換,
                所具有的路由功能也是為這目的服務的,能夠做到一次路由,多次轉發。
    路由器:路由器(Router),是連接因特網中各局域網、廣域網的設備,它會根據信道的情況自動選擇和設定路由,
            以最佳路徑,按前后順序發送信號。

2、IP地址的分類有哪些?子網掩碼的表示形式及其作用
  

  1. A類IP地址 
    一個A類IP地址由1字節的網絡地址和3字節主機地址組成,網絡地址的最高位必須是“0”, 地址范圍從1.0.0.0 到126.0.0.0。可用的A類網絡有126個,
    每個網絡能容納1億多個主機。 
    2. B類IP地址 
    一個B類IP地址由2個字節的網絡地址和2個字節的主機地址組成,網絡地址的最高位必須是“10”,地址范圍從128.0.0.0到191.255.255.255。
    可用的B類網絡有16382個,每個網絡能容納6萬多個主機 。 
    3. C類IP地址 
    一個C類IP地址由3字節的網絡地址和1字節的主機地址組成,網絡地址的最高位必須是“110”。范圍從192.0.0.0到223.255.255.255。
    C類網絡可達209萬余個,每個網絡能容納254個主機。 
    4. D類地址用于多點廣播(Multicast)。 
    D類IP地址第一個字節以“lll0”開始,它是一個專門保留的地址。它并不指向特定的網絡,目前這一類地址被用在多點廣播(Multicast)中。
    多點廣播地址用來一次尋址一組計算機,它標識共享同一協議的一組計算機。 
    
    5. E類IP地址 
    以“llll0”開始,為將來使用保留。 
    子網掩碼(subnet mask)又叫網絡掩碼、地址掩碼、子網絡遮罩,它是一種用來指明一個IP地址的哪些位標識的是主機所在的子網,
    以及哪些位標識的是主機的位掩碼。子網掩碼不能單獨存在,它必須結合IP地址一起使用。子網掩碼只有一個作用,
    就是將某個IP地址劃分成網絡地址和主機地址兩部分。

3、計算機網絡的分成模型有哪些(OSI模型和TCP/IP模型),每一層的功能及涉及到的物理設備有哪些。
   

 OSI參考模型是計算機網路體系結構發展的產物。它的基本內容是開放系統通信功能的分層結構。這個模型把開放系統的通信功能劃分為七個層次,
 從鄰接物理媒體的層次開始,分別賦于1,2,……7層的順序編號,相應地稱之為物理層、數據鏈路層、網絡層、運輸層、會話層、表示層和應用層。
 每一層的功能是獨立的。它利用其下一層提供的服務并為其上一層提供服務,而與其他層的具體實現無關。這里所謂的“服務”就是下一層向上一層提
 供的通信功能和層之間的會話規定,一般用通信原語實現。兩個開放系統中的同等層之間的通信規則和約定稱之為協議。通常把1~4層協議稱為下層協議,
 5~7層協議稱為上層協議。
    國際標準化組織ISO在1979年建立了一個分委員會來專門研究一種用于開放系統的體系結構,提出了開放系統互連OSI模型,這是一個定義連接異種計算機
    的標準主體結構。
  OSI簡介:OSI采用了分層的結構化技術,共分七層,物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層。
  OSI參考模型的特性:是一種異構系統互連的分層結構;提供了控制互連系統交互規則的標準骨架;定義一種抽象結構,而并非具體實現的描述;
  不同系統中相同層的實體為同等層實體;同等層實體之間通信由該層的協議管理;相信層間的接口定義了原語操作和低層向上層提供的服務;
  所提供的公共服務是面向連接的或無連接的數據服務;直接的數據傳送僅在最低層實現;每層完成所定義的功能,修改本層的功能并不影響其他層。
  1、物理層:提供為建立、維護和拆除物理鏈路所需要的機械的、電氣的、功能的和規程的特性;
               有關的物理鏈路上傳輸非結構的位流以及故障檢測指示。(網卡)
  2、數據鏈路層:在網絡層實體間提供數據發送和接收的功能和過程;提供數據鏈路的流控。(IEEE802.3,IEEE802.11)
  3、網絡層:控制分組傳送系統的操作、路由選擇、擁護控制、網絡互連等功能,它的作用是將具體的物理傳送對高層透明。(路由器,交換機)
  4、傳輸層:提供建立、維護和拆除傳送連接的功能;選擇網絡層提供最合適的服務;在系統之間提供可靠的透明的數據傳送,提供端到端的錯誤恢復和
  流量控制。(TCPIP)
  5、會話層:提供兩進程之間建立、維護和結束會話連接的功能;提供交互會話的管理功能,如三種數據流方向的控制,即一路交互、兩路交替和兩路同時
  會話模式 。
  6、表示層:代表應用進程協商數據表示;完成數據轉換、格式化和文本壓縮。
  7、應用層:提供OSI用戶服務,例如事務處理程序、文件傳送協議和網絡管理等。

4、如何將Linux主機接入到TCP/IP網絡,請描述詳細的步驟。(手動指定的方式)
  

1.用ifconfig -a查看機器上有幾塊網卡
   2.編輯/etc/sysconfig/network-scripts/ifcfg-eth0
   3.DEVICE=eth0
     TYPE=Ethernet
     UUID=048d9dc0-2dfc-4535-bfd9-8ee8f6a357fa
     ONBOOT=yes
     NM_CONTROLLED=yes
     BOOTPROTO=none
     DEFROUTE=yes
     IPV4_FAILURE_FATAL=yes
     IPV6INIT=no
     NAME="System eth0"
     HWADDR=08:00:27:A3:E1:99
     IPADDR=192.168.56.252
     PREFIX=24
     GATEWAY=192.168.56.1
     LAST_CONNECT=1476760809
     根據實際需要設置,主要是ONBOOT=yes,IPADDR
 4.service network restart重啟網卡設置

5、為Linux主機配置網絡信息的方式有哪些,請描述各個過程。
  

 1. ifconfig eth0:0 192.168.56.104/24
    2.ip addr add 192.168.56.105/24 broadcast 192.168.56.1 dev eth0:0
    3.vi /etc/sysconfig/network-scripts/ifcfg-eth0
    4.利用圖形界面

6、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態;
     在線的主機使用綠色顯示;
     不在線的主使用紅色顯示;

   

  #!/bin/bash
     ip="172.16.250"
     for((i=1;i<=254;i++));do
        ping -c 3 -w 3 $ip.$i > /dev/null
        result=$?
        if [ $result -eq 0 ];then
           echo -e "\033[32m $ip.$i is online \033[0m"
          else
           echo -e "\033[31m $ip.$i is offline \033[0m"
        fi
     done

 

7、詳細描述每個網絡接口的配置文件中各個參數的含義和其所對應的值;
   
  

/etc/sysconfig/network-scripts/ifcfg-IFACE:
    DEVICE:此配置文件應用到的設備
    HWADDR:對應的設備的MAC地址
    BOOTPROTO:激活此設備時使用的地址配置協議,常用的有dhcp,static,none
    NM_CONTROLLED:NM是NetworkManager的簡寫;此網卡是否接受NM控制;CentOS6建議為“no”
    ONBOOT:在系統引導時是否激活此設備
    TYPE:接口類型;常見的有Ethernet,Bridge
    UUID:設備的惟一標識
    IPADDR:指明IP地址
    NETMASK:子網掩碼
    GATEWAY:默認網關
    DNS1:第一個DNS服務器指向
    DNS2:第二個DNS服務器指向
    USERCTL:普通用戶是否可控制此設備
    PEERDNS:如果BOOTPROTO的值為“dhcp”,是否允許dhcp server分配的dns服務器指向信息直接覆蓋至/etc/resolv.conf文件中

8、如何給網絡接口配置多個地址,有哪些方式?
   
  

ifconfig eth0:0 192.168.56.204
   ip addr add 192.168.56.205/24 dev eth0 label eth0:1

9、常用的網絡管理類工具有哪些,并用示例形式描述他們的使用方法。
   
  

1. ifconfig
       ifconfig主要是能手動啟動、觀察和修改網絡接口的相關參數,能修改的參數非常多,包括IP參數及MTU等都能修改,他的語法如下: 
       [root@linux ~]# ifconfig {interface} {up|down}  
       一 般來說,直接輸入ifconfig就會列出目前已被啟動的卡,不論這個卡是否有設置IP,都會被顯示出來。而如果是輸入ifconfig eth0,
       則會顯示出這個接口的相關數據,而不管該接口是否啟動。所以,如果你想要知道某個網卡的Hardware Address,直接輸入“ifconfig"網絡接口代
       號"”即可。至于上述代碼中出現的各項數據是這樣的(數據排列由上而下、由左而右)。
       eth0:網卡的代號,也有lo這個loopback。 
       HWaddr:網卡的硬件地址,習慣稱為MAC。 
       inet addr:IPv4的IP地址,后續的Bcase、Mask分別代表的是Broadcast和Netmask。 
       inet6 addr:是IPv6的版本的IP,我們沒有使用,所以略過。
       RX:那一行代表的是網絡由啟動到目前為止的數據包接收情況,packets代表數據包數、errors代表數據包發生錯誤的數量、dropped代表數據包
       由于有問題而遭丟棄的數量等。
       TX:和RX相反,為網絡由啟動到目前為止的傳送情況。 
       collisions:代表數據包碰撞的情況,如果發生太多次,表示你的網絡狀況不太好。 
       txqueuelen:代表用來傳輸數據的緩沖區的儲存長度。 
       RX Bytes、TX Bytes:總傳送、接收的字節總量。 
       Interrupt、Memory:網卡硬件的數據,IRQ岔斷和內存地址。
       通過觀察上述的資料,大致上能了解到你的網絡情況,尤其是RX、TX內的error數量,及是否發生嚴重的collision情況,都是需要注意的。 
     ifconfig eth0 192.168.100.100
      # 如果不加所有其他參數,則系統會依照該 IP 所在的 class 范圍,
      # 自動地計算出 netmask 及 network, broadcast 等 IP 參數
     ifconfig eth0 192.168.100.100 netmask 255.255.255.128 MTU 8000
   2. ifup、ifdown
      實時地手動修改一些網絡接口參數,能利用ifconfig來實現,如果是要直接以設置文件,亦即是在 /etc/sysconfig/network-scripts里面的
      ifcfg-ethx等文件的設置參數來啟動的話,那就得要通過ifdown或ifup來實現了。 
      [root@linux ~]# ifup   {interface}
      [root@linux ~]# ifdown {interface}
      [root@linux ~]# ifup eth0
      ifup 和ifdown真是太簡單了。這兩個程式其實是script而已,他會直接到 /etc/ sysconfig/network-scripts目錄下搜索對應的設置文件,
      例如ifup eth0,他會找出ifcfg-eth0這個文件的內容,然后加以設置。關于ifcfg-eth0的設置請參考前一章連上Internet的說明。
      不 過,由于這兩個程式主要是搜索設置文件(ifcfg-ethx)來進行啟動和關閉的,所以在使用前請確定ifcfg-ethx是否真的存在于正確的目錄內,
      否則會啟動失敗。另外,如果以ifconfig eth0來設置或是修改了網絡接口后,就無法再以ifdown eth0的方式來關閉了。因為ifdown會分析比較
      目前的網絡參數和ifcfg-eth0是否相符,不符的話,就會放棄這次操作。因此,使用 ifconfig修改完畢后,應該要以ifconfig eth0 down才能
      夠關閉該接口。
  
   3.route
      route命令用于查詢和設置路由表。要實現兩個不同的子網之間的通信,需要一臺連接兩個網絡的路由器,或者同時位于兩個網絡的網關來實現。
      在Linux系統中,設置路由通常是為了解決以下問題:該Linux系統在一個局域網中,局域網中有一個網關,能夠讓機器訪問Internet,那么就需
      要將這臺機器的IP地址設置為Linux機器的默認路由。要注意的是,直接在命令行下執行route命令來添加路由,不會永久保存,當網卡重啟或者機器
      重啟之后,該路由就失效了;可以在/etc/rc.local中添加route命令來保證該路由設置永久有效。
      格式 :route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]
     [root@CentOS6 tmp]# route -n
     Kernel IP routing table
     Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
     192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
     169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
     0.0.0.0         192.168.56.1    0.0.0.0         UG    0      0        0 eth0

10、Linux系統軟件包管理方法(安裝、升級、卸載等操作)有哪些,以及如何管理的。
   

 rpm命令實現程序管理:
        安裝:-ivh, –nodeps, –replacepkgs
        卸載:-e, –nodeps
        升級:-Uvh, -Fvh, –nodeps, –oldpackage
        查詢:-q, -qa, -qf, -qi, -qd, -qc, -q –scripts, -q –changlog, -q –provides, -q –requires
        校驗:-V
        導入GPG密鑰:–import, -K, –nodigest, –nosignature
        數據庫重建:–initdb, –rebuilddb
 
    Yum 命令實施軟件包管理
       repolist [all|enabled|disabled]
 
    顯示程序包:list
        yum list [all | glob_exp1] [glob_exp2] […]
        yum list {available|installed|updates} [glob_exp1] […]
 
    安裝程序包: 
        install package1 [package2] […]
        reinstall package1 [package2] […] (重新安裝)
 
    升級程序包:
        update [package1] [package2] […]
        downgrade package1 [package2] […] (降級)
 
    檢查可用升級:
        check-update
 
    卸載程序包:
        remove | erase package1 [package2] […]
 
    查看程序包information:
        info […]
 
    查看指定的特性(可以是某文件)是由哪個程序包所提供:
        provides | whatprovides feature1 [feature2] […]
 
    清理本地緩存:
        clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
 
    構建緩存:
        makecache

11、如何使用發行版光盤作為yum repository,請描述該過程。
   

1.[root@CentOS6 tmp]# vim /etc/yum.repos.d/CentOS-install.repo 
    2.[rhel-oracle]
      name=Red Hat Enterprise Linux $releasever - $basearch - Source
      baseurl=file:///media/
      enabled=1
      gpgcheck=0
    3.wq保存退出
    4.把光盤放到光驅里
    5.mount /dev/cdrom /media
    6.yum clean
    7.yum 安裝

12、寫一個腳本,完成以下功能
   (1) 假設某目錄(/etc/rc.d/rc3.d/)下分別有K開頭的文件和S開頭的文件若干;
   (2) 顯示所有以K開頭的文件的文件名,并且給其附加一個stop字符串;
   (3) 顯示所有以S開頭的文件的文件名,并且給其附加一個start字符串;
   (4) 分別統計S開頭和K開頭的文件各有多少;

  

#!/bin/bash
     declare -i i=0
     declare -j j=0
     for str in /etc/rc.d/rc3.d/K*;do
        echo   $str "stop"
        i=$[$i+1]
     done
     echo $i
    for str in /etc/rc.d/rc3.d/S*;do
       echo $str "start"
       j=$[$j+1]
    done
     echo $j

13、寫一個腳本,完成以下功能
   (1) 腳本能接受用戶名作為參數;
   (2) 計算此些用戶的ID之和;
   #1/bin/bash

declare -i sum=0
for user in $*;do
  id $user > /dev/null
  result=$?
  if [ $result -eq 0 ];then
     sum=$[$sum+$(id -u $user)]
   else
     echo "$user is not exists."
  fi
done

echo "userid sum is $sum."

14、寫一個腳本
   (1) 傳遞一些目錄給此腳本;
   (2) 逐個顯示每個目錄的所有一級文件或子目錄的內容類型;
   (3) 統計一共有多少個目錄;且一共顯示了多少個文件的內容類型;
   

 #!/bin/bash
    declare -i dfile=0
    declare -i cmnfile=0
    declare -i lfile=0
    declare -i bfile=0
    declare -i cfile=0
    declare -i sfile=0
    declare -i ufile=0
 
    if [ $# -lt 1 ];then
            echo "At least input one directory"
    exit 1
    fi
     
    dfile=$(ls -l "$@" |grep ^d |awk '{print $NF}'|wc -l)
    cmnfile=$(ls -l "$@" |grep ^- |awk '{print $NF}' |wc -l)
    lfile=$(ls -l "$@" |grep ^l |awk '{print $NF}' |wc -l)
    bfile=$(ls -l "$@" |grep ^b |awk '{print $NF}'|wc -l)
    cfile=$(ls -l "$@" |grep ^c |awk '{print $NF}' |wc -l)
    sfile=$(ls -l "$@" |grep ^s |awk '{print $NF}' |wc -l)
    ufile=$(ls -l "$@" |grep -v ^[-dlbcst/]|grep ^[^[:space:]] |awk '{print $NF}' |wc -l)
     
    ls -l "$@"
    echo "The directory file total: $dfile"
    echo "The common file total:$cmnfile"
    echo "The symbolic link file total:$lfile"
    echo "The block special file total:$bfile"
    echo "The character special file total:$cfile"
    echo "The socket file total:$sfile"
    echo "The unkown file total:$ufile"

15、寫一個腳本
  通過命令行傳遞一個參數給腳本,參數為用戶名
  如果用戶的id號大于等于500,則顯示此用戶為普通用戶;
#!/bin/bash

id $1 &> /dev/null
result=$?
if [ $result -eq 0 ];then
  if [ $(id -u $1) -lt 500 ];then
      echo "system user."
    else
      echo "common user."
  fi
 else
   echo "user not fonud!"
fi

16、寫一個腳本
   (1) 添加10用戶user1-user10;密碼同用戶名;
   (2) 用戶不存在時才添加;存在時則跳過;
   (3) 最后顯示本次共添加了多少用戶;
    #!/bin/bash

declare -i sum=0
for((i=1;i<=10;i++));do
   id user$i > /dev/null
   result=$?
   if  [ $result -eq 0 ];then
      echo "user$i is extits!"
    else
      useradd user$i;
      echo "user$i" | passwd --stdin user$i
      sum=$[$sum+1]
   fi
done
echo "total add $sum users."

17、寫一腳本,用ping命令測試172.16.250.20-172.16.250.100以內有哪些主機在線,將在線的顯示出來;
  

  #!/bin/bash
    ip="172.168.250"
    for((i=20;i<=100;i++));do
            ping -c 3 -w 3 $ip.$i &> /dev/null
            result=$?
            if [ $result -eq 0 ];then
                    echo -e "\033[32m $ip.$i is up \033[0m".
           
            fi
    done

18、打印九九乘法表;
   

 #!/bin/bash
  for((i=1;i<=9;i++));do
     for((j=1;j<=i;j++));do
         echo -e -n  "$i*$j=$[$i*$j]   "
     done
     echo ""
  done

原創文章,作者:lihuisjsq,如若轉載,請注明出處:http://www.www58058.com/53660

(0)
lihuisjsqlihuisjsq
上一篇 2016-10-23
下一篇 2016-10-23

相關推薦

  • bash腳本編程語言if語句,find文件查找和壓縮工具及課后作業練習

    一.概述 使用read命令來接受輸入 使用read來把輸入值分配給一個或多個shell變量: -p指定要顯示的提示 -t TIMEOUT read從標準輸入中讀取值,給每個單詞分配一個變量 所有剩余單詞都被分配給最后一個變量 read -p “Enter a filename:“ FILE 過程式編程語言: 順序執行 選擇執行 循環執行 條件選擇if語句 選…

    Linux干貨 2016-08-22
  • FTP服務

        FTP是一個非常古老的協議,其主要的作用是用于文件的傳輸。FTP采用明文的方式傳輸,極其不安全,但在局域網等環境中使用還是比較方便的。 一、工作原理     FTP的工作方式分為主動模式與被動模式。     1、主動模式 &nbsp…

    Linux干貨 2015-07-08
  • 第一周作業

    一、計算機的基本組成和功能   cpu包括運算器、控制器、寄存器、緩存       運算器:計算功能,對數據進行加工處理的的部件;       控制器:負責從存儲器取出指令,控制cpu計算器之間的運行結果和狀態;       寄存器:暫存指令和數據的地方,存儲…

    Linux干貨 2016-12-04
  • 第十八周作業

    1.LNMP架構添加Memcached支持,并驗證其緩存結果 Memcache是一個高性能的分布式的內存對象緩存系統,通過在內存里維護一個統一的巨大的hash表,它能夠用來存儲各種格式的數據,包括圖像、視頻、文件以及數據庫檢索的結果等。簡單的說就是將數據調用到內存中,然后從內存中讀取,從而大大提高讀取速度。 Memcached是以守護程序(監聽)方式運行于一…

    2017-07-07
  • 如何新增加磁盤分區掛載

    新增磁盤和分區掛載我們先要了解fdisk的參數以及菜單的操作說明,下面是fdisk的參數說明: ?fdisk參數說明: m :顯示菜單和幫助信息 a :活動分區標記/引導分區 d :刪除分區 l :顯示分區類型 n :新建分區 p :顯示分區信息 q :退出不保存 t :設置分區號 v :進行分區檢查 w :保存修改 x :擴展應用,高級功能 1 ?查看磁盤…

    Linux干貨 2018-03-26
  • http協議及httpd特性詳解

    前言 隨著互聯網的迅猛發展和網絡的普及,各類網站層出不窮,網站也成為企業宣傳和實力展現的主要途徑之一,說到網站就不得不說一下web服務了,現在比較流行的web服務還是當屬Apache即httpd。本文將詳解http協議及httpd的特性。 http協議詳解 http協議 http: Hyper Text Transfer Protocol 超文本傳輸協議 傳…

    Linux干貨 2015-04-13

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-10-25 13:24

    作業完成的很好

欧美性久久久久