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 09:02
下一篇 2016-10-09 09:05

相關推薦

  • 馬哥教育千萬級PV實戰大揭秘

    又到了激動人心的架構實戰項目實踐時間,馬哥教育面授班的學員都很期待這一刻的到來,因為經過此次洗禮,能讓自己成長更多! 上周二,馬哥教育張Sir帶領18期面授班的學員們做千萬PV級別的電商架構實戰項目!新增的多臺R710企業級服務器設備,輕松搭建大數據、云計算等高端實驗環境,讓實戰,更加真實!相信經過這場實戰的洗禮,小伙伴們架構技能會有更大提升! 【張Sir生…

    2016-06-30
  • RPM及YUM工具介紹及使用(下)

    YUM工具 YUM工作原理 YUM工具的出現就是為了解決rpm工具不能夠自動解決軟件包之間的依賴關系這一難題的。它的工作原理大致如下:YUM透過分析RPM的標頭資料,根據各軟件的相關性找出軟件所依賴的軟件列表,然后去下載速度最快的yum倉庫中下載所有相關RPM軟件包,然后完成相應軟件的安裝。同時yum工具和rpm工具一樣,也可以提供對軟件包的查詢,安裝、升級…

    Linux干貨 2016-12-26
  • N26-第一周

    描述計算機的組成及功能。 計算機主要由運算器,控制器,存儲器,輸入、輸出設備五大部件組成 運算器(Arithmetic Logic Unit, ALU):實現各種算數運算和邏輯運算(與控制器組成cpu)。 控制器(Control Unit, CU):計算機控制中心,根據程序規定的控制程序進行解釋,根據要求進行調度,控 制協調各部分有條不紊的運行。 存儲器(M…

    Linux干貨 2017-02-03
  • Mariadb數據庫復制系列(二):主主復制

       實驗二:MySQL雙主復制架構的實現 雙主的實現方式與主/從類似,僅是兩個主機即使主節點,又是對方的從節點雙主模型容易造成數據的不一致性,因此要慎用! 1、實驗環境 2、在兩個節點上安裝mariadb-server服務 3、修改兩個節點的服務器配置文件 4、兩個節點上各自啟動服務,各授權一個具有復制權限的用戶 5、查看兩個節點的二進制日志的狀態 6、在…

    Linux干貨 2016-11-24
  • linux上RAID的工作方式

    -. RAID是什么?     磁盤陣列(Redundant Arrays of Independent Disks,RAID),是將多塊廉價硬盤組合在一起當作一個更大的硬盤使用,利用可以同時對每個硬盤同時進行讀寫的特性提高計算機對硬盤的讀寫能力。我們甚至可以空出RAID中的一塊或多塊硬盤對整個RAID進行數據校驗,提…

    Linux干貨 2015-12-06
  • SElinux

    SElinux:Secure Enhanced Linux   SElinux工作與linux內核中他所實現的功能叫做強制訪問控制機制。DAC:是linux的自主訪問控制。MAC:是SElinux引入的訪問法則,叫作強制訪問控制。   SElinux有兩種工作級別:     strick:嚴格級別,每個進程都收到SEl…

    Linux干貨 2016-09-23

評論列表(1條)

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

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

欧美性久久久久