N21_第8周_網絡

N21_第8周_網絡

作業題目:

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

    網橋:(Bridge)也稱橋接器,是連接兩個局域網的存儲轉發設備,用它可以完成具有相同或相似體系結構網絡系統的連接。

        網橋和交換機一樣都是工作在OSI模型的第二層(數據鏈路層),可以看成是一個二層路由器(真正的路由器是工作在網絡層,根據IP地址進行信包轉發)。

        網橋可有效的將兩個局域網(LAN)連起來,根據MAC地址(物理地址)來轉發幀,使本地通信限制在本網段內,并轉發相應的信號至另一網段,網橋通常用于連接數量不多的、同一類型的網段。

    集線器:也稱HUB,工作在OSI七層結構的第一層物理層,屬于共享型設備,接收數據廣播發出,在局域網內一般都是星型連接拓撲結構,每臺工作站都連接到集線器上。

        由于集線器的帶寬共享特性導致網絡利用效率極低,一般在大中型的網絡中不會使用到集線器。

    二層交換機:二層交換機工作在OSI模型的第2層(數據鏈路層),故而稱為二層交換機。

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

    三層交換機:三層交換機就是具有部分路由器功能的交換機,三層交換機的最重要目的是加快大型局域網內部的數據交換,所具有的路由功能也是為這一目的服務的,能夠做到一次路由,多次轉發。

        對于數據包轉發等規律性的過程由硬件高速實現,而像路由信息更新、路由表維護、路由計算、路由確定等功能,由軟件實現。

    路由器:路由器跟集線器和交換機不同,是工作在OSI的第三層(網絡層),根據IP進行尋址轉發數據包。

        路由器是一種可以連接多個網絡或網段的網絡設備,能將不同網絡或網段之間的數據信息進行轉換,并為信息包轉輸分配最合適的路徑,使它們之間能夠進行數據傳輸,從而構成一個更大的網絡。

        路由器具有最主要的兩個功能,即數據通道功能和控制功能。數據通道功能包括轉發決定、背叛轉發以及輸出鏈路調試等,一般由特定的硬件來完成;控制功能一般用軟件來實現,包括與相鄰路由器之間的信息交換、系統配置、系統管理等。

    區別:網橋:工作在數據鏈路層;

          集線器:工作在物理層,所有端口共享一個MAC地址,共享帶寬

          二層交換機:工作在數據鏈路層,每個端口有自已的MAC地址,獨享帶寬

          三層交換機:工作在數據鏈路層,網絡層,擁有部分路由功能

          路由器:工作在網絡層

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

IP地址分類

A類用于大型網絡(能容納網絡126個,主機1677214臺)

B類用于中型網絡(能容納網絡16384個,主機65534臺)

C類用于小型網絡(能容納網絡2097152個,主機254臺)

D類用于組播(多目的地址的發送)

E類用于實驗


子網掩碼的表示形式

1,點分十進制,如255.255.255.0

2,IP地址后加'/'以及[1-32]的數字,如192.168.1.1/24

子網掩碼的作用

1,屏蔽IP地址的一部分以區別網絡標識和主機標識

2,將一個大的IP網絡劃分為若干小的子網絡

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

OSI模型

    應用層:提供應用程序之間通信; 

    表示層:處理數據格式、數據加密;

    會話層:建立、維護,管理會話連接涉及操作系統和網絡接口和各種數據;

    傳輸層:建立主機端到端連接。涉及物理設備:四層交換機;

    網絡層:尋址和路由選擇。涉及物理設備:路由器

    數據鏈路層:提供介質訪問,鏈路管理,將數據分幀并處理流控制。涉及物理設備:網卡、網橋,交換機;

    物理層:比特流傳輸,將數據轉換為可通過物理介質傳送的電子信號。涉及物理設備:雙絞線、同軸電纜,集線器;

TCP/IP模型

    應用層:對應OSI模型的應用層,會話層,表示層;

    傳輸層:對應OSI模型的傳輸層;

    網絡互連層:對應OSI模型的網絡層;

    網絡接口層:對應OSI模型的數據鏈路層和物理層;

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

    1,使用ifconfig查看網卡配置信息,看主要使用的網卡名稱

    2,到/etc/sysconfig/network-scripts/目錄下查找對應的網卡配置文件

    3,主要配置項

        DEVICE(設備名稱)TYPE(設備類型。端口為Ethernet) ONBOOT(系統啟動時讀取) BOOTPROTO=static(ip配置協議。當前為靜態ip,可設置DHCP,) 

IPADDR(ip地址) NETMASK(子網掩碼) GATEWAY(網關地址) DNS1(DNS服務器地址)

    4,重啟網絡服務 service network restart

    5,在CLI中輸入ping baidu.com測試網絡連接

    1474855597760970.jpg    

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

    1,ifconfig eth0 IP/mask

    2,ip addr add IP device eth0

    3,Linux網絡屬性配置的tui(text user interface):system-config-network-tui

    4,使用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、如何給網絡接口配置多個地址,有哪些方式?

    1,ifconfig eth0 IP/mask

    2,ip addr add IP device eth0

    3,Linux網絡屬性配置的tui(text user interface):system-config-network-tui

    4,使用setup圖形界面設置

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

netstat

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

1474856900345401.jpg

State狀態含義:
    CLOSED:無連接;
    LISTEN:服務器在等待進入呼叫;
    SYN_RECV:一個連接請求已經到達,等待確認;
    SYS_SENT:應用已經開始,打開一個連接;
    ESTABLISHED:正常數據傳輸狀態
    FIN_WAIT1:應用說它已經完成;
    FIN_WAIT2:另一邊已同意釋放;
    ITMED_WAIT:等待所有分組死掉;
    CLOSING:兩邊同時嘗試關閉;
    TIME_WAIT: 另一邊已初始化一個釋放;
    LAST_ACK: 等待所有分組死掉;

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@localhost ~]# ss -tnl    #與netstat類似
State      Recv-Q Send-Q                              Local Address:Port                                Peer Address:Port 
LISTEN     0      128                                            :::22                                            :::*     
LISTEN     0      128                                             *:22                                             *:*     
LISTEN     0      100                                           ::1:25                                            :::*     
LISTEN     0      100                                     127.0.0.1:25

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

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

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

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

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

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

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

[root@localhost ~]# vi 201609261052.sh
#!/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個!"
[root@localhost ~]# sh 201609261052.sh 
S08ip6tables start
S08iptables start
S10network start
S11auditd start
S12rsyslog start
S22messagebus start
S25netfs start
S26udev-post start
S55sshd start
S80postfix start
S90crond start
S99local start
K10saslauthd stop
K50netconsole stop
K87restorecond stop
K89rdisc stop
K開頭的文件有4個! 
S開頭的文件有12個!

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

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

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

[root@localhost ~]# vi 201609261101.sh
#!/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"
[root@localhost ~]# sh 201609261101.sh user1
user1 don't exist
用戶ID之和為0
[root@localhost ~]# sh 201609261101.sh visitor16
用戶ID之和為518

14、寫一個腳本

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

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

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

[root@localhost ~]# vi 201609261112.sh
#!/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"
[root@localhost ~]# sh 201609261112.sh /home
abc No such file!
bcd No such file!
cde No such file!
test1.txt No such file!
test2.txt No such file!
visitor1 No such file!
visitor10 No such file!
visitor11 No such file!
visitor12 No such file!
visitor13 No such file!
visitor14 No such file!
visitor15 No such file!
visitor16 No such file!
visitor17 No such file!
visitor18 No such file!

15、寫一個腳本

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

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

[root@localhost ~]# vi 201609261117.sh
#!/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
[root@localhost ~]# sh 201609261117.sh visitor16
visitor16 user is ordinary user.
[root@localhost ~]# sh 201609261117.sh root
root is system user.

16、寫一個腳本

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

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

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

[root@localhost ~]# vi 201609261121addusers.sh
#!/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."
[root@localhost ~]# sh 201609261121addusers.sh 
Add user1 finished.
Add user2 finished.
Add user3 finished.
Add user4 finished.
Add user5 finished.
Add user6 finished.
Add user7 finished.
Add user8 finished.
Add user9 finished.
Add user10 finished.
Add 10 users.

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

[root@localhost ~]# vi 201609261124ping.sh
#!/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、打印九九乘法表;

[root@localhost ~]# vi 201609261125_9x9.sh
#!/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
}
[root@localhost ~]# sh 201609261125_9x9.sh 
1*1=1
1*2=2   2*2=4
1*3=3   2*3=6   3*3=9
1*4=4   2*4=8   3*4=12  4*4=16
1*5=5   2*5=10  3*5=15  4*5=20  5*5=25
1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36
1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49
1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64
1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81

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

(0)
365365
上一篇 2016-10-09
下一篇 2016-10-09

相關推薦

  • 推薦-使用iptables作為網絡防火墻構建安全的網絡環境

    使用iptables作為網絡防火墻構建安全的網絡環境 使用iptables作為網絡防火墻構建安全的網絡環境 前言 網絡防火墻的優勢 實驗拓撲圖 實驗環境 實驗步驟 防火墻未設置前對所有服務器的測試 針對不同服務器進行”非法”訪問 定義網絡防火墻規則 再次針對不同服務器進行”非法”訪問 測試服務器是否可訪問 總結 前言 一般情況下iptables只作為主機防火…

    Linux干貨 2016-03-31
  • Linux用戶權限管理和信息查找

    這里給大家介紹一下基本的一些用戶管理的命令。       基于這些命令演示一下例題如下:      復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@localhost&nbs…

    Linux干貨 2016-11-20
  • 實驗驗證Linux系統環境下路由的最長掩碼匹配原則

    實驗驗證Linux系統環境下路由的最長掩碼匹配原則 實驗環境拓撲如下 環境配置 HostA網卡配置 DEVICE=eth1 IPADDR=172.16.0.100 PREFIX=16 R1網卡配置 DEVICE=eth1 IPADDR=172.16.0.1 PREFIX=16 DEVICE=eth2 IPADDR=192.168.2.1 PREFIX=24 …

    2017-05-02
  • MySQL/MariaDB DML操作之Select

    前言 上文我們已經講解了MySQL/MariaDB的基礎知識和DDL相關操作,接下來我們來說一下MySQL/MariaDB的DML操作,因select查詢較復雜也較重要,所以本文主要是對select查詢的詳解。 DML操作 DML之select 投影查詢 select col_name,[col_name1,…] from …

    Linux干貨 2015-05-07
  • 高級文件系統之邏輯卷和btrfs文件系統

    邏輯卷管理器快照 邏輯卷可以實現對分區的動態的擴展,快照可以看成是特殊的邏輯卷,它是在生成快照是存在的邏輯卷的準確拷貝。 快照只有在它們和原來的邏輯卷不同時才會消耗空間:     在生成快照時會分配給他一定的空間,但只有在原來的邏輯卷或者快照有所改變時才會使用這些空間     當…

    Linux干貨 2016-09-02
  • 分布式系統的事務處理

    當我們在生產線上用一臺服務器來提供數據服務的時候,我會遇到如下的兩個問題: 1)一臺服務器的性能不足以提供足夠的能力服務于所有的網絡請求。 2)我們總是害怕我們的這臺服務器停機,造成服務不可用或是數據丟失。 于是我們不得不對我們的服務器進行擴展,加入更多的機器來分擔性能上的問題,以及來解決單點故障問題。 通常,我們會通過兩種手段來擴展我們的數據服務: 1)數…

    Linux干貨 2016-08-15

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-10-24 22:40

    在網絡部分再深入點,比如怎么進行合理的子網劃分相關的知識就更好了

欧美性久久久久