馬哥教育21期網絡班—第8周課程+練習—-成長進行時–不退步

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

網橋:一種網路裝置,負責網路橋接,將網絡的多個網段在數據鏈路層連接起來。
集線器:將多條以太網線或光纖集合連接在同一段物理介質下的裝置。工作在物理層。
二層交換機:工作在數據鏈路層,交換機內部的CPU會在每個端口成功連接時,通過將MAC地址和端口對應,形成一張MAC表。在今后的通訊中,發往該MAC地址的數據包將僅送往其對應的端口,而不是所有的端口。因此,交換機可用于劃分數據鏈路層廣播,即沖突域;但它不能劃分網絡層廣播,即廣播域。
三層交換機:三層交換機可以處理第三層網絡層協議,用于連接不同網段,通過對缺省網關的查詢學習來建立兩個網段之間的直接連接。三層交換機具有一定的“路由”功能,但只能用于同一類型的局域網子網之間的互聯。這樣,三層交換機可以像二層交換機那樣通過MAC地址標識數據包,也可以向傳統路由器那樣在兩個局域網子網之間進行功能較弱的路由轉發,它的路由轉發不是通過軟件來維護的路由表。而是通過專用的ASIC芯片處理這些轉發。
路由器:提供路由與轉送兩種重要機制,可以決定數據包從來源端到目的端所經過的路由路徑,這個過程稱為路由;將路由器輸入端的數據包移送至適當的路由器輸出端,這稱為轉送。

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

IP地址分為:
A類:1.0.0.1-126.255.255.254
網絡數:126
每個網絡中的主機數:2^24-2
默認子網掩碼:255.0.0.0
私網地址:10.0.0.0/8-10.255.255.255/8
B類:128.0.0.1-191.255.255.254
網絡數:2^14
每個網絡中的主機數:2^16-2
默認子網掩碼:255.255.0.0
私網地址:172.16.0.0/16-172.31.255.255/16
C類:192.0.0.1-223.255.255.254
網絡數:2^21
每個網絡中的主機數:2^8-2
默認子網掩碼:255.255.255.0
私網地址:192.168.0.0/24-192.168.255.255/24
D類:組播 224.0.0.1-239.255.255.254
E類:240.0.0.1-255.255.255.254
子網掩碼:將IP地址劃分為網絡地址與主機地址,與IP地址相與可計算出相應主機的網絡地址

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

OSI模型:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層
①物理層(Physical layer):利用物理傳輸介質為數據鏈路層提供物理連接,
如:集線器、網線、光纖、同軸電纜等; 在這一層,數據的單位稱為比特(bit)。物理層定義的典型規范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等
數據鏈路層(Data link layer):將數據分幀,并處理流控制,屏蔽物理層,
為網絡層提供一個數據鏈路的連接,進行幾乎無差錯的數據傳輸,如:網卡、網橋、二層交換機;
該層的作用包括:物理地址尋址、數據的成幀、流量控制、數據的檢錯、重發等。
在這一層,數據的單位稱為幀(frame)。數據鏈路層協議的代表包括:SDLC、HDLC、PPP、STP、
幀中繼等。
網絡層(Network layer):負責路由轉發和控制網絡擁塞,如:路由器、三層交換機等; 
在這一層,數據的單位稱為數據包(packet)。網絡層協議的代表包括:IP、IPX、RIP、OSPF等。
傳輸層(Transport layer):負責將上層數據分段并提供端到端的、可靠(TCP)
或不可靠(UDP)的數據傳輸;在這一層,數據的單位稱為數據段(segment)。
傳輸層協議的代表包括:TCP、UDP、SPX等。
會話層(Session layer):負責兩個節點之間的連接和斷開;管理主機之間的會話進程,
即負責建立、管理、終止進程之間的會話。會話層還利用在數據中插入校驗點來實現數據的同步。
表示層(Presentation layer):負責加密和解密;表示層的數據轉換包括數據的加密、
壓縮、格式轉換等。
應用層(Application layer):用于進程間通信,常用的協議有HTTP、FTP、SMTP、TELNET等 
(2)TCP/IP模型:網絡接入層 、網際互聯層、傳輸層、應用層
網絡接入層:與OSI參考模型中的物理層和數據鏈路層相對應,負責監視數據在主機和網絡之
間的交換;
網際互連層:相當于OSI的網絡層,主要處理主機到主機間的通信;該層定義了分組格式和協議,
即IP協議(Internet Protocol)。除了需要完成路由的功能外,也可以完成將不同類型的網絡
(異構網)互連的任務,也需要完成擁塞控制的功能。
傳輸層:對應于OSI參考模型的傳輸層,為應用層實體提供端到端的通信功能,保證了數據包的
順序傳送及數據的完整性,該層定義了兩種服務質量不同的協議:傳輸控制協議TCP(transmission
 control protocol)和用戶數據報協議UDP(user datagram protocol)。
應用層:對應于OSI參考模型的會話層、表示層和應用層,面向不同的網絡應用引入了不同的
應用層協議,如:FTP、HTTP等

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

設置IP/mask    vim /etc/sysconfig/network-scripts/ifcfg-eth0
設置路由:默認網關    vim /etc/sysconfig/network
設置DNS服務器:主,次5、為Linux主機配置網絡信息的方式有哪些,請描述各個過程。
(1)編輯配置文件:
    vim /etc/sysconfig/network-scripts/ifcfg-eth0
    vim /etc/resolv.conf
        nameserver DNS_SERVER_IP1
        nameserver DNS_SERVER_IP2
(2)通過圖形界面:cenos6:setup 
                   centos7:system-config-network-tui
(3)通過命令:
    通過ifconfig命令設置IP地址與子網掩碼
    ifconfig eth0 [up|down]
    ifconfig eth0 192.168.99.95/24
    ifconfig eth0 192.168.99.95 netmask 255.255.255.0
    ②通過route命令添加路由條目
    route add -host 192.168.99.95 gw 192.168.89.1 dev eth0
    route add -net 192.168.99.0 netmask 255.255.255.0 gw 192.168.98.1 dev eth0
    route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.89.1
    route add default gw 192.168.89.1
    route del -host 192.168.99.95
    route del -net 192.168.0.0 netmask 255.255.255.0
    route del default gw 192.168.89.1
    通過ip命令設置IP地址,子網掩碼與路由條目
    ip link set dev eth0 [up|down]
    ip link show [dev IFACE] [up]
    ip addr add 172.16.10.13/16 dev eth0
    ip addr del 172.16.10.13/16 dev eth0
    ip addr show [dev IFACE]
    ip addr flush [dev IFACE]
    ip route add 192.168.1.3 via 172.16.0.1 dev eth0
    ip route add 192.168.0.0/24 via 172.16.0.1 dev eth0
    ip route add default via 172.16.0.1
    ip route del 192.168.1.3
    ip route del 192.168.0.0/24
    ip route del default
    CentOS 7
 nmcli connection show
nmcli connection add type ethernet con-name NEW ifname eno16777736 ip4 192.168.1.141 gw4 192.168.1.1
  • 6、寫一個腳本,使用ping命令探測172.16.250.1- 172.16.250.254之間的所有主機的在線狀態;

  • 在線的主機使用綠色顯示;

  • 不在線的主使用紅色顯示;

#!/bin/bash
      #
      net='172.16.250'
      uphosts=0
      downhosts=0
      for i in {1..254}; do
          ping -c 1 -w 1 ${net}.${i} &> /dev/null
          if [ $? -eq 0 ]; then
        echo -e "\033[31m"$net.$i is up."\033[0m"
              let uphosts++
          else
        echo -e "\033[31m "$net.$i is down." \033[0m"
              let downhosts++
          fi
      done
      echo -e "\033[31m"Up hosts: $uphosts."\033[0m"
      echo -e "\033[32m"Down hosts: $downhosts."\033[0m"

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

IP,MASK,GW,DNS配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE
    DEVICE=此配置文件應用到的設置(eth0)
    HWADDR=對應設備的MAC地址
    BOOTPROTO=激活此設備時使用的地址配置協議,常用的dhcp,static,none,bootp
    NM_CONTROLLED=NM是NetworkManager的簡寫:此網卡是否接受NM控制(CentOS6建議為no)
    ONBOOT=在系統引導時是否激活此設備
    TYPE=接口類型,常見有Ethernet,Bridge
    UUID=設備的唯一標示
    IPADDR=指明IP地址
    NETMASK=子網掩碼
    GATEWAY=默認網關
    DNS1=第1個DNS服務器指向
    DNS2:第2個DNS服務器指向

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

ifconfig
# ifconfig eth0:0 192.168.0.22/24
ip
# ip addr add 192.168.0.22/24 dev eth0
# ip addr add 192.168.0.22/24 dev eth0 label 'eth0:0'
配置文件
# ifcfg-IFACE_ALIAS
    # DEVICE=IFACE_ALIAS
    刪除其中的HWADDR與UUID,如果沒有其他網關作為出口,也可以將GATEWAY刪除

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

ifconfig設置網卡,ifconfig eth0 192.168.0.2/24     
  route設置路由,rout add –host 192.168.0.2 gw 172.16.1.1 dev eth0
  ip設置地址,ip addr add 192.168.0.2/24 dev eth0
  netstat :netstat -ntplu 顯示網絡信息

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

rpm -i 安裝指定rpm程序包
rpm -e 卸載指定程序
rpm –test 測試安裝
rpm –nodeps 忽略依賴關系
rpm –replacepkgs 重新安裝
rpm –nosignature:不檢查來源的合法性
rpm –upgrage 安裝有舊程序包,則升級,如果不存在舊版程序包,則安裝
rpm –freshen:安裝有舊程序包時,則升級,如果不存,則不執行升級操作
rpm -q{l | c } 顯示指定程序是否安裝\安裝生成的文件\配置文件
yum install 安裝指定程序
yum remove 卸載指定程序
yum update 升級指定程序 
yum groupinstall 安裝組程序包
yum groupupdate 升級組程序 
yum groupremove 卸載組程序
yum info 查看指定程序的信息

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

創建掛載目錄 mkdir /media/cdrom 
首先掛載到某一個目錄,如mount /dev/cdrom /media/cdrom 
編輯或創建/etc/yum.repos.d/ 目錄下以repo結尾的文件。
vim /etc/yum.repos.d/localadd.repos [cdrm]
name=cdrm 名稱
baseurl=file:///media/cdrom 路徑cost=1 成本 
gpgcheck=0 不檢查
enabled=1 開啟
  • 12、寫一個腳本,完成以下功能

  • (1) 假設某目錄(/etc/rc.d/rc3.d/)下分別有K開頭的文件和S開頭的文件若干;

  • (2) 顯示所有以K開頭的文件的文件名,并且給其附加一個stop字符串;

  • (3) 顯示所有以S開頭的文件的文件名,并且給其附加一個start字符串;

  • (4) 分別統計S開頭和K開頭的文件各有多少;

#!/bin/bash
    k=0
    s=0
    for i in $(ls /etc/rc.d/rc3.d/K* | grep -o "[^/]*$"); do
        echo "$i stop"
        let k=$k+1
    done
    for i in $(ls /etc/rc.d/rc3.d/S* | grep -o "[^/]*$");do
        echo "$i start"
        let s=$s+1
    done
    echo "K file $k; S file $s"
  • 13、寫一個腳本,完成以下功能

  • (1) 腳本能接受用戶名作為參數;

  • (2) 計算此些用戶的ID之和;

 #/bin/bash
    sum=0
    for i in $*;do
        if id $i &> /dev/null ;then
            userid=`id -u $i`
            let sum=$sum+$userid
        else
            echo "user $i not found"
        fi
    done   
    echo "User id sum is $sum"
  • 14、寫一個腳本

  • (1) 傳遞一些目錄給此腳本;

  • (2) 逐個顯示每個目錄的所有一級文件或子目錄的內容類型;

  • (3) 統計一共有多少個目錄;且一共顯示了多少個文件的內容類型;

 #/bin/bash
    for i in $*;do
        typed=0
        typef=0
        filenume=0
        for ii in `ls $i`;do
            let filenume=$filenume+1
            if [ -d $i/$ii ];then
                let typed=$typed+1
            elif [ -f $i/$ii ]; then
                let typef=$typef+1
            fi
        done
        echo "$i"
        echo "$i director $typed, file $typef"
    done
  • 15、寫一個腳本

  • 通過命令行傳遞一個參數給腳本,參數為用戶名

  • 如果用戶的id號大于等于500,則顯示此用戶為普通用戶;

#!/bin/bash
for i in $*;do
    if ! id $i > /dev/null ; then
        echo "There is no for user $i"
    else 
        userid=`id -u $i` 
        if [ $userid -ge 500 ];then
            echo "user $i is average user "
        else 
            echo "user $i is system user"
        fi
    fi
done
  • 16、寫一個腳本

  • (1) 添加10用戶user1-user10;密碼同用戶名;

  • (2) 用戶不存在時才添加;存在時則跳過;

  • (3) 最后顯示本次共添加了多少用戶;

#!/bin/bash 
count=0
for i in {1..10};do
if id user$i &>/dev/null;then
echo "user$i exists."
break
else
useradd user$i
fi
if [ $? -eq 0 ];then
echo "user$i" | passwd --stdin user$i &> /dev/null
echo "Add user$i finished."
let count+=1
fi
done
echo "add $count new user$i" 
echo "to users:`wc -l /etc/passwd | cut -d' ' -f1`"

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

#!/bin/bash
      #
      declare -i i=1
      declare -i uphosts=0
      declare -i downhosts=0
      net='172.16.250'
      while [ $i -le 100 ]; do
          if ping -c 1 -w 1 $net.$i &> /dev/null; then
          echo "$net.$i is up."
          let uphosts++
          else
          echo "$net.$i is down."
          let downhosts++
          fi
          let i++
      done
      echo "Up hosts: $uphosts."
      echo "Down hosts: $downhosts."

18、打印九九乘法表;

#!/bin/bash
      #
      for j in {1..9}; do
          for i in $(seq 1 $j); do
          echo -e -n "${i}X${j}=$[$i*$j]\t"
          done
          echo
      done

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

(0)
N21_ DominicN21_ Dominic
上一篇 2016-08-24 21:23
下一篇 2016-08-24 21:28

相關推薦

  • Python

    Python中os和shutil模塊
    csv文件和ini文件簡介

    Linux干貨 2017-10-30
  • iptables的一個小文檔

    iptables:    iptables五表五鏈        felter表            INPUT   …

    Linux干貨 2017-04-30
  • Cobbler 自動化部署系統

    本人較懶,做好筆記,預排版,打印成 PDF 了。-_## Cobbler 自動化部署系統.pdf

    Linux干貨 2015-08-17
  • 第四周作業

    Linux系統文件管理使用案例 1、 復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 首先,利用cp命令將/etc/skel目錄復制為/home/tuser1: [root@localhost ~]# cp -r /etc/skel /home/tuser1 隨后通過chmo…

    Linux干貨 2018-03-24
  • shell編程、程序包管理及習題

    shell編程、程序包管理及習題 一、編程語句 1、while 循環 while CONDITION; do     循環體 done CONDITION :循環控制條件;進入循環之前,先做一次判 斷;每一次循環之后會再次做判斷;條件為“true” ,則執行 一次循環;直到條件測試狀態為“false” 終止循環 因此:…

    Linux干貨 2016-08-18
  • 計算機基礎與linux入門

    計算機硬件組成:     運算器:主要完成算術運算,邏輯運算     控制器:控制指令的執行序列,根據指令的功能給出實現指令功能所需要的控制信號     存儲器:存放程序以及一些數據     &nbs…

    Linux干貨 2015-12-19

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-07 18:36

    作業寫得非常的好,6題的排版有一點小問題哈,16題腳本的縮進需要注意一下的,加油!

欧美性久久久久