人志建,則無敵—網絡基本知識加簡單腳本練習

馬哥21期網絡班-8周博客作業

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

網橋:網橋就是把2個不同的網段橋接起來;可隔離沖突域。

集線器:集線器就是把多根以太網線或光纖集合連接在同一段物理介質下的裝置;工作在物理層;不能隔離沖突域。

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

三層交換機:三層交換機就是具有部分路由器功能的交換機,三層交換機的最重要目的是加快大型局域網內部的數據交換,所具有的路由功能也是為這目的服務的,能夠做到一次路由,多次轉發。對于數據包轉發等規律性的過程由硬件高速實現,而像路由信息更新、路由表維護、路由計算、路由確定等功能,由軟件實現。三層交換技術就是二層交換技術+三層轉發技術。傳統交換技術是在OSI網絡標準模型第二層——數據鏈路層進行操作的,而三層交換技術是在網絡模型中的第三層實現了數據包的高速轉發,既可實現網絡路由功能,又可根據不同網絡狀況做到最優網絡性能。

路由器:路由器(Router)又稱網關設備(Gateway)是用于連接多個邏輯上分開的網絡,所謂邏輯網絡是代表一個單獨的網絡或者一個子網。當數據從一個子網傳輸到另一個子網時,可通過路由器的路由功能來完成。因此,路由器具有判斷網絡地址和選擇IP路徑的功能,它能在多網絡互聯環境中,建立靈活的連接,可用完全不同的數據分組和介質訪問方法連接各種子網,路由器只接受源站或其他路由器的信息,屬網絡層的一種互聯設備。

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

A類: 1.0.0.1-126.255.255.254 (10.X.X.X/8是私網地址;127.0.0.1是本地回環地址)
網絡數:126
主機數:2^24-2
掩碼:255.0.0.0

B類: 128.0.0.1-191.255.255.254(172.16.X.X/16--172.31.X.X/16是私網地址;)
網絡數:2^14
主機數:2^16-2
掩碼:255.255.0.0

C類:192.168.0.1-223.255.255.254(192.168.X.X/24是私網地址;)
網絡數:2^21
主機數:2^8-2
掩碼:255.255.255.0

D類:224.0.0.1-239.255.255.254(一般用于做組播)

E類:240-255 (科學研究)

子網掩碼:子網掩碼(subnet mask)又叫網絡掩碼、地址掩碼、子網絡遮罩,它是一種用來指明一個IP地址的哪些位標識的是主機所在的子網,以及哪些位標識的是主機的位掩碼。子網掩碼不能單獨存在,它必須結合IP地 址一起使用。子網掩碼只有一個作用,就是將某個IP地址劃分成網絡地址和主機地址兩部分

    表示形式:
    	    1、
               32位二進制數字,每8位二進制數字換算成十進制,以"."分隔,形如:255.255.255.0
            2、
               IP地址后加上掩碼位數,形如:192.168.0.104/24
     
    作用:劃分子網
              將某個IP地址劃分成網絡地址和主機地址兩部分,與IP地址相與可計算出的相應IP的網絡位

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

網絡分層模型有:
    (1)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網絡,請描述詳細的步驟。(手動指定的方式)

(1)通過“有線”或“無線”接入互聯網絡;
    (2)配置網卡信息(具體配置信息查看第5題);
    (3)重新啟動網絡服務;

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

一、編輯網卡配置文檔設置:
(1)編輯 /etc/sysconfig/network-network-scripts/ifcfg-eXXX;可設置DHCP或靜態,也可在此文檔設置DNS
        如:DEVICE=eth0
            HWADDR=00:0C:29:D2:C3:D4
            TYPE=Ethernet
            UUID=0a105f68-0664-4150-8130-bdc046c7f04e
            ONBOOT=yes
            NM_CONTROLLED=yes
            BOOTPROTO=static
            IPADDR=192.168.183.128
            NETMASK=255.255.255.0
            GATEWAY=192.168.183.2
            DNS1=114.114.114.114
            DNS2=8.8.8.8

    (2)重啟網絡服務
        service network restart (centos7使用:systemctl restart network.service)
        
二、通過圖形界面:
                   cenos6:setup 
                   centos7:system-config-network-tui
                   
三、通過ifconfig命令:
            ifconfig eth0 [up|down]      #開啟網卡
            ifconfig eth0 192.168.182.130/24        #配置ip地址和掩碼
            ifconfig eth0 192.168.183.130 netmask 255.255.255.0     #配置ip地址和掩碼(同上條一樣)

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

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

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

#!/bin/bash
net='172.16.250.'
for i in `seq 1 254`; do
        ping -c 1 -w 1 ${net}$i &> /dev/null        
        if [ $? -eq 0 ]; then
                echo -e "\033[32m"${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[32m"Up hosts: $uphosts."\033[0m"
 echo -e "\033[31m"Down hosts: $downhosts."\033[0m"

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

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 interface{0..+} ip netmask , ip addr add ip/mask dev interface{0..+}
    如:ifconfig命令:
        # ifconfig eth0:0 192.168.0.11/24
        ip命令:
        # ip addr add 192.168.0.11/24 dev eth0
        # ip addr add 192.168.0.11/24 dev eth0 label 'eth0:0'

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
  
  SS命令查看:
  [root@caicai ~]# ss -tunl
Netid  State      Recv-Q Send-Q                 Local Address:Port                   Peer Address:Port 
udp    UNCONN     0      0                                  *:68                                *:*     
udp    UNCONN     0      0                          127.0.0.1:717                               *:*     
udp    UNCONN     0      0                                  *:47958                             *:*     
udp    UNCONN     0      0                                  *:111                               *:* 

netstat命令:
[root@caicai ~]# netstat -tunl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:41945               0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      
tcp        0      0 :::35732                    :::*                        LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN

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 查看指定程序的信息

注意:  1.不要對內核做升級操作:linux支持多內核版本并存,因此,直接安裝新版本內核    
        2.如果原程序包的配置文件安裝后曾被修改,升級時,新版本提供的同一配置文件不會直接覆蓋老版本的配置文件,而把新版本的文件重命名(FILENAME.rpmnew)后保留

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

# mount -r -t iso9660 /dev/cdrom /media/cdrom    掛載光盤

# vim /etc/yum.repos.d/CentOS-Cdrom.repo     創建編輯yum倉庫
    [cdrom]             
    name=CentOS-Cdrom
    baseurl=file:///media/cdrom 
    enabled=1
    gpgcheck=0

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

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

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

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

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

#!/bin/bash
k=`ls /etc/rc.d/rc3.d/ | grep -i "^k"`
s=`ls /etc/rc.d/rc3.d/ | grep -i "^s"`
for i in `echo $k`; do
        echo "$i stop"
        let kfile++
done
for i in `echo $s`; do
        echo "$i start"
        let sfile++
done
echo "K file:$kfile"
echo "S file:$sfile"

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

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

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

#!/bin/bash
for i in $@; do
        id=`cat /etc/passwd | grep "^$i" | cut -d: -f3`        
        let idadd+=$id
done
echo "Enter username ID add:$idadd"

14、寫一個腳本

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

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

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

#!/bin/bash
for i in $*; do
        for e in `ls $i`; do
                if [ -d $i/$e ];then
                        let dir+=1
                elif [ -f $i/$e ]; then
                        let file+=1
                fi  
        done
  done
  echo "dir have:$dir"
  echo "textfile have:$file"

15、寫一個腳本

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

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

#!/bin/bash
declare -i usersid=`grep --color=auto "^$1" /etc/passwd |cut -d: -f3`
if [ ${usersid} -gt 500 ];then
    echo "the user $1 is common user!"
fi

16、寫一個腳本

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

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

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

#!/bin/bashfor i in {1..10}; do
        if id user$i &> /dev/null; then
                echo "have this only user."
        else
                useradd user$i &> /dev/null        
                echo "user$i" | passwd --stdin &> /dev/null        
                let user+=1
        fi  doneecho "add user:$user"

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

#!/bin/bash
      #
      declare -i i=20
      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、打印九九乘法表;

for ((i=1;i<=9;i++)); do
        for ((j=1;j<=$i;j++)); do
                echo -n -e "${i}x${j}=$[ $i*$j ]\t"
        done
        echo

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

(0)
N21_志建N21_志建
上一篇 2016-08-29
下一篇 2016-08-29

相關推薦

  • 計算機的組成及其功能

        計算機是一種能接受和存儲信息,并按照存儲在其內部的程序對輸入的信息進行加工、處理,然后把處理結果輸出的高度自動化的電子設備。計算機是由運算器,控制器,存儲器,輸入裝置和輸出裝置五大部件組成,每一部件分別按要求執行特定的基本功能。如下圖所示: (1)  運算器或稱算術邏輯單元(Arithmetical and Logica…

    Linux干貨 2016-10-30
  • sudo——讓普通用戶更靈活

    sudo命令 1、sudo能夠授權指定用戶在指定主機上運行某些命令。如果未授權用戶嘗試使用sudo ,會提示聯系管理員 2、sudo可以提供日志,記錄每個用戶使用sudo 操作 3、sudo為系統管理員提供配置文件,允許系統管理員集中地管理用戶的使用權限和使用的主機 4、sudo 使用時間戳文件來完成類似“檢票”的 系統,默認存活期為5 分鐘的 “入場券” …

    Linux干貨 2016-09-25
  • Storm集群安裝詳解

    storm有兩種操作模式: 本地模式和遠程模式。 本地模式:你可以在你的本地機器上開發測試你的topology, 一切都在你的本地機器上模擬出來;  遠端模式:你提交的topology會在一個集群的機器上執行。 本文以Twitter Storm官方Wiki為基礎,詳細描述如何快速搭建一個Storm集群,其中,項目實踐中遇到的問題及經驗總結,在相應章…

    Linux干貨 2015-04-04
  • 自制Linux系統實驗

    1、添加一塊新硬盤、并使系統識別 [root@centos6 ~]# echo "- – -" > /sys/class/scsi_host/host0/scan  [root@centos6 ~]# echo "…

    Linux干貨 2016-09-19
  • 第九周練習

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash # nologin=$(awk -F: '$NF=="/sbin/nologin"{print $NF}…

    Linux干貨 2016-12-21
  • Linux中的文件和目錄的權限管理

    Linux系統通過完善的權限管理來限制每一個用戶對于系統中文檔和目錄的訪問。在Linux系統中,文件和目錄的權限是有些差異的。一、權限介紹:如上所示,通過ll命令列出目錄下文件的時候同時也會列出文件的權限,從第二位開始,一直到第九位,即rw-r–r–就是文件的權限描述:其中3位為一組:第一組:rw-:代表文件的屬主(user)對文件的…

    Linux干貨 2017-04-01

評論列表(1條)

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

    博客寫得非常的好,32個贊,如果能在題中帶上相關的注意事項就更好了,加油!

欧美性久久久久