馬哥教育網絡班21期+第8周課程練習

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

集線器

集線器也稱HUB,工作在OSI七層結構的第一層物理層,屬于共享型設備,接收數據廣播發出,在局域網內一般都是星型連接拓撲結構,每臺工作站都連接到集線器上。
由于集線器的帶寬共享特性導致網絡利用效率極低,一般在大中型的網絡中不會使用到集線器。

網橋

網橋(Bridge)也稱橋接器,是連接兩個局域網的存儲轉發設備,用它可以完成具有相同或相似體系結構網絡系統的連接。
網橋和交換機一樣都是工作在OSI模型的第二層(數據鏈路層),可以看成是一個二層路由器(真正的路由器是工作在網絡層,根據IP地址進行信包轉發)。
網橋可有效的將兩個局域網(LAN)連起來,根據MAC地址(物理地址)來轉發幀,使本地通信限制在本網段內,并轉發相應的信號至另一網段,網橋通常用于聯接數量不多的、同一類型的網段。

二層交換機

二層交換機工作于OSI模型的第2層(數據鏈路層),故而稱為二層交換機。
二層交換技術的發展已經比較成熟,二層交換機屬數據鏈路層設備,可以識別數據包中的MAC地址信息,根據MAC地址進行轉發,并將這些MAC地址與對應的端口記錄在自己內部的一個地址表中。

三層交換機

三層交換機就是具有部分路由器功能的交換機,三層交換機的最重要目的是加快大型局域網內部的數據交換,所具有的路由功能也是為這目的服務的,能夠做到一次路由,多次轉發。
對于數據包轉發等規律性的過程由硬件高速實現,而像路由信息更新、路由表維護、路由計算、路由確定等功能,由軟件實現。

路由器

路由器跟集線器和交換機不同,是工作在OSI的第三層(網絡層),根據IP進行尋址轉發數據包。
路由器是一種可以連接多個網絡或網段的網絡設備,能將不同網絡或網段之間(比如局域網——大網)的數據信息進行轉換,并為信包傳輸分配最合適的路徑,使它們之間能夠進行數據傳輸,從而構成一個更大的網絡。
路由器具有最主要的兩個功能,即數據通道功能和控制功能。數據通道功能包括轉發決定、背板轉發以及輸出鏈路調度等,一般由特定的硬件來完成;控制功能一般用軟件來實現,包括與相鄰路由器之間的信息交換、系統配置、系統管理等

區別

網橋       工作在數據鏈路層
集線器     工作在物理層,所有端口共享一個mac地址,共享帶寬
二層交換機 工作在數據鏈路層,每個端口有自己的mac地址,獨享帶寬
三層交換機 工作在數據鏈路層,網絡層,擁有部分路由功能
路由器     工作在網絡層

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

IP地址分類

A類用于大型網絡(能容納網絡126個,主機1677214臺)
B類用于中型網絡(能容納網絡16384個,主機65534臺)
C類用于小型網絡(能容納網絡2097152個,主機254臺)
D類用于組播(多目的地址的發送)
E類用于實驗

子網掩碼的表示形式

A.點分十進制,如255.255.255.0
B.ip地址后加'/'以及[1-32]的數字,如192.168.1.1/24

子網掩碼的作用

A.屏蔽IP地址的一部分以區別網絡標識和主機標識
B.將一個大的IP網絡劃分為若干小的子網絡

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

OSI模型

應用層;提供應用程序之間通信;
表示層:處理數據格式、數據加密;
會話層:建立,維護,管理會話連接涉及操作系統和網絡接口和各種數據;
傳輸層:建立主機端到端連接。涉及物理設備:四層交換機
網絡層:尋址和路由選擇。涉及物理設備:路由器
數據鏈路層:提供介質訪問,鏈路管理,將數據分幀并處理流控制。涉及物理設備:網卡,網橋,交換機
物理層:比特流傳輸,將數據轉換為可通過物理介質傳送的電子信號。涉及物理設備:雙絞線、同軸電纜,集線器

TCP/IP模型

應用層(對應OSI模型的應用層,會話層,表示層)
傳輸層(對應OSI模型的傳輸層)
網絡互聯層(對應OSI模型的網絡層)
網絡接口層(對應OSI模型的數據鏈路層和物理層)

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

A.使用ifconfig查看網卡配置信息,看主要使用的網卡名稱
B.到/etc/sysconfig/network-scripts/目錄下查找對應的網卡配置文件
C.主要配置項
DEVICE(設備名稱)TYPE(設備類型。端口為Ethernet) ONBOOT(系統啟動時讀?。?nbsp;BOOTPROTO=static(ip配置協議。當前為靜態ip,可設置DHCP,) 
IPADDR(ip地址) NETMASK(子網掩碼) GATEWAY(網關地址) DNS1(DNS服務器地址)
D.重啟網絡服務 service network restart
E.在CLI中輸入ping baidu.com測試網絡連接

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

A.ifconfig eth0 IP/mask
B.ip addr add IP device eth0
C.Linux網絡屬性配置的tui(text user interface):system-config-network-tui
D.使用setup圖形界面設置

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

 在線的主機使用綠色顯示;
 不在線的主使用紅色顯示;
#!/bin/bash
#
ip='172.16.250'

for i in {1..254};do
  ping -c 5 -w 5 $ip.$i &> /dev/null
  result=$?
  if [ $result -eq 0 ];then 
    echo -e "\033[32m $ip.$i \033[0m"
  else 
    echo -e "\033[31m $ip.$i \033[0m"
 fi
done

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

網卡配置文件`/etc/sysconfig/network-scripts/ifcfg-網卡名`
DEVICE                  #網卡名
BOOTPROTO               #ip地址分配方式:dhcp、static
HWADDR                  #MAC地址
NM_CONTROLLED=yes       #network manager參數
ONBOOT=                 #網卡是否開機激活
TYPE=                   #網絡類型
IPV6INIT=no             #禁止IPV6
USERCTL=no              #是否允許非root用戶控制該設備,為no,只能root用戶更改
IPADDR=                 #IP ADDR
GATEWAY=                #gateway地址
NETMASK=                #掩碼
DNS1=                   #dns1地址
DNS2=                   #dns2地址

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

A.ifconfig eth0 IP/mask
B.ip addr add IP device eth0
C.Linux網絡屬性配置的tui(text user interface):system-config-network-tui
D.使用setup圖形界面設置

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

netstat

netstat -tan   #查看當前系統網絡連接情況
        -t tcp協議相關連接
        -u udp協議相關連接
        -l 監聽狀態的連接
        -a 所有連接
        -n 以數字顯示ip和端口

route

route [-nee]
        -n  以數字顯示ip和端口
        -ee 顯示詳細信息
        
route add [-net|-host] [網域或主機] netmask [mask] [gw|dev]
    [root@itop ~]# route add -host 192.168.100.20 netmask 255.255.255.0 dev eth0
        
route del [-net|-host] [網域或主機] netmask [mask] [gw|dev]
    [root@itop ~]# route del -net 169.254.0.0 netmask 255.255.0.0 dev eth0

ss

[root@itop ~]# ss -tnl   #與netstat類似,數據量較大時ss更有優勢

ifconfig

ifconfig 設備名稱 up|down
        up 啟動指定網絡設備/網卡。
        down 關閉指定網絡設備/網卡。

ifconfig 設備名稱 ip地址  #配置設備ip地址

ifconfig 設備名稱 mtu <字節數>
        設置網卡的最大傳輸單元 (bytes)

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,請描述該過程。

[root@itop ~]#mount /dev/cdrom /mnt
[root@itop ~]#vim /etc/yum.repos.d/local.repo
[local]
name=local_repo
baseurl=file:///mnt 
enabled=1 
gpgcheck=0 
[root@itop ~]#yum clean all
[root@itop ~]#yum makecache

12、寫一個腳本,完成以下功能

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

#!/bin/bash
#
declare -i s=0
declare -i k=0
for i in `ls /etc/rc.d/rc3.d | grep "^S"`;do
  echo "$i start"
  let s++
done
for i in `ls /etc/rc.d/rc3.d | grep "^K"`;do
  echo "$i stop"
  let k++
done
echo "K開頭的文件有$k個!"
echo "S開頭的文件有$s個!"

13、寫一個腳本,完成以下功能

(1) 腳本能接受用戶名作為參數;
(2) 計算此些用戶的ID之和;

#!/bin/bash
#
declare -i idsum=0
if [ $# -le 0 ];then
  echo "Usage:bash .sh user1 user2 ..."
  exit 1
fi
for i in $*;do
  if id $i &> /dev/null;then
    idnum=`grep "$i" /etc/passwd | cut -d: -f3`
    idsum+=$idnum
  else
    echo "$i don't exist "
  fi
done
echo "用戶ID之和為$idsum"

14、寫一個腳本

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

#!/bin/bash
declare -i D=0
declare -i F=0
if [ $# -le 0 ];then
  echo "Usage:bash .sh directory|file  ..."
  exit 1
fi
for d in $@
do
  for i in `ls $d`
  do
    if [ ! -e $i ]; then
        echo "$i No such file!"
    continue 
    elif [ -d $i ]; then
        echo "$i is type directory!"
        let D++
    elif [ -f $i ]; then
        echo "$i is type file!"
        let F++
    else
        echo "$i is Other type!"
    fi
  done
done
echo "Directory count is $D"
echo "File count is $F"

15、寫一個腳本

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

#!/bin/bash
#
if [ $# -lt 1 ];then
  echo "Userage:bash.sh user1 user2 ..."
  exit 1
fi
for i in $*;do
  if id $i &> /dev/null;then
    idnum=`grep "$i" /etc/passwd | cut -d: -f3`
    if [ $idnum -gt 500 ];then
       echo "$i user is ordinary user."
    else
         echo "$i is system user."
    fi
  else
    echo "$i don't exist"
  fi
done

16、寫一個腳本

(1) 添加10用戶user1-user10;密碼同用戶名;
(2) 用戶不存在時才添加;存在時則跳過;
(3) 最后顯示本次共添加了多少用戶;

#!/bin/bash
for i in {1..10}; do
    if id user$i &> /dev/null ;then
        echo "user$i exists."
        continue 3
    else
        useradd user$i
        if [ $? -eq 0 ]; then
            echo "user$i" | passwd --stdin user$i &> /dev/null
            echo "Add user$i finished."
        let num++
        fi
    fi
done
echo "Add $num users."

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

#!/bin/bash
#
ip='172.16.250'

for i in {1..254};do
  ping -c 5 -w 5 $ip.$i &> /dev/null
  result=$?
  if [ $result -eq 0 ];then 
    echo "$ip.$i"
  fi
done

18、打印九九乘法表;

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

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

(0)
N21_郁藍N21_郁藍
上一篇 2016-09-01
下一篇 2016-09-01

相關推薦

  • 推薦-LVS專題: LVS的工作模型和調度算法介紹

    LVS專題: LVS的工作模型和調度算法介紹 LVS專題: LVS的工作模型和調度算法介紹 前言 什么是負載均衡? 什么是LVS? LVS的架構: LVS的實現模型: NAT實現原理: DR實現原理: TUN實現原理: FULLNAT實現原理: LVS的調度算法 靜態調度算法(4種) 動態調度算法(6種): 總結 前言 本文大概介紹一下LVS的工作方式和實現…

    Linux干貨 2016-04-05
  • 網絡班N27 第四周作業

    1、 復制/etc/skel目錄為/home/tuserl,要求/home/tuserl及其內部文件的屬組和其他用戶均沒有任何訪問權限。 [root@ ~]# cp -r /etc/skel /home/tuserl [root@ ~]# chmod -Rv 700 /home/tuserl/ mode of ‘/home/tuserl/’ changed …

    Linux干貨 2017-08-19
  • N25 – Week 4 blog

    第四周博客作業了,感覺前面的有好多都忘掉了,但是沒有時間補以前的啊……好郁悶,幸好今天周五,明天又是圣誕節,從馬云爸爸買了一顆圣誕樹,今晚回家裝上 1. 復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其他用戶均沒有任何訪問權限 [root@dhcp-10-129-6-166&nb…

    Linux干貨 2016-12-20
  • Linux系統上命令的使用格式

    第一部分:Linux系統上命令的使用格式 命令的語法通用格式:      COMMAND OPTIONS ARGUMENTS     發起一個命令:請求內核將某個二進制程序運行為一個進程;      程序 —-> 進程   &nbs…

    Linux干貨 2016-08-15
  • linux中進程及內存管理工具

    pstree 顯示進程樹 ({}是線程) 選項-p #顯示進程編號 pstree username #查看指定用戶的進程 centos7中可以使用選項-s來查看指定進程的父子進程   ps (默認顯示當前終端運行的進程) 支持三種選項: 1、UNIX選項 -C cmdlist 指定命令(允許同時指定多個命令) -L 顯示線程 -e: 顯示所有進程,…

    Linux干貨 2017-12-17
  • 馬哥教育網絡21期+第七周練習博客

    馬哥教育網絡21期+第七周練習博客 1、創建一個10G分區,并格式為ext4文件系統; 首先掛載一個新的硬盤使用fdisk /dev/sdb進入相應的磁盤空間劃分一個10G的磁盤空間; Command (m for help): n Command action    …

    Linux干貨 2016-08-22

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-07 22:50

    博客作業寫得非常的好,32個贊,知識點總結的非常好。^-^

欧美性久久久久