馬哥教育網絡班20期-第八周課程作業

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

網橋將兩個相似的網絡連接起來,并對網絡數據的流通進行管理。它工作于數據鏈路層,不但能擴展網絡的距離或范圍,而且可提高網絡的性能、可靠性和安全性。

集線器的英文稱為“Hub”。主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離,同時把所有節點集中在以它為中心的節點上。它工作于OSI參考模型第一層,即“物理層”。

二層交換機工作于OSI模塊的第2層(數據鏈路層),故稱為二層交換機??梢宰R別數據包中的MAC地址信息,根據MAC地址進行轉發,并將這些MAC地址與對應的端口記錄在自己內部的一個地址表中。

三層交換機就是具有路由功能的交換機。

路由器工作于OSI參考模型的第3層(網絡層),是連接因特網中各局域網、廣域網的設備,它根據信道的情況自動選擇和設定路由,以最佳路徑,按前后順發送信號


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

A類:1-127默認子網掩碼:255.0.0.0 私網地址:10.0.0.0/8

B 類:128-191默認子網掩碼:255.255.0.0 私網地址:172.16.0.0/16-172.31.0.0/16

C 類:192-223默認子網掩碼:255.255.255.0私網地址:192.168.0.0/24-192.168.255.0/24

D 類:223-254

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

OSI七層模型:

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

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

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

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

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

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

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

TCP/IP4層模型:

網絡訪問層:功能包括IP地址與物理硬件地址的映射,以及將IP分組封裝成幀。基于不同硬件類型的網絡接口,定義了和物理介質的連接。相當于OSI參考模型的物理層和數據鏈路層。

網際層:處理來自傳輸層的分組發送請求;處理輸入數據報;處理ICMP報文,即處理網絡的路由選擇、流量控制和擁塞控制等問題。在功能上類似于ISO/OSI參考模型中的網絡層。

傳輸層:主要功能是可靠而又準確地傳輸并控制源主機與目的主機之間的信息流,提供端到端的控制,通過滑動窗口機制提供流控制,通過序列號和確認機制來保證可靠性。

應用層:包括所有的高層協議,與OSI的應用層協議相差不大,包括HTTP、Telnet、FTP、SMTP、POP3、DNS等。

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

1)使用ifconfig -a命令查看是否有發現網卡,如果未發現網卡,檢查網卡驅動是否正常

2)編輯/etc/sysconfig/network-script/目錄下網卡對應的配置文件,如ifcfg-eth0,配置啟動必要的參數,如:

    BOOTPROTO=none

    ONBOOT=yes

    IPADDR=192.168.1.150 

    NETMASK=255.255.255.0

    GATEWAY=192.168.1.254

    DNS1=192.168.1.1

其他參數根據需要修改,然后保存。

3)/etc/init.d/network restart重啟網絡,檢查網絡是否連通。

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

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

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

#!/bin/bash
for ((i=1;i<255;i++));do
        ping -c 1 -w 1 "172.16.250.$i" >/dev/null
        if [ $? -eq 0 ];then
                echo -e "\033[0;32;1m 192.168.1.$i is up! \033[0m"
        else
                echo -e "\033[0;31;1m 192.168.1.$i is down! \033[0m" 
        fi
done

    

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

vim /etc/sysconfig/network-scripts/ifcfg-eth0    

DEVICE=eth0                                     #設備名稱,一般和NAME相同

TYPE=Ethernet                                    #網絡類型

ONBOOT=yes                                      #系統啟動時啟用連接

NM_CONTROLLED=yes                                #接受network manager服務控制

BOOTPROTO=none                                  #獲得IP地址方式,手動選擇none,自動選擇dhcp

IPADDR=192.168.1.61                             #設定IP地址

PREFIX=24                                       #掩碼位數,也可使用NETMASK=255.255.255.0

GATEWAY=192.168.1.254                           #網關

DNS1=192.168.1.1                                #DNS

DEFROUTE=yes

IPV4_FAILURE_FATAL=yes

IPV6INIT=no

NAME="System eth0"

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

1)使用ipaddr/ifconfig 命令添加IP,即時生效,重啟系統后IP不存在

2)使用setup命令,出現面板添加IP

3)在/etc/sysconfig/network-scripts目錄下修改網卡配置文件添加IP,需重啟網卡,永久有效

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

1)ss命令

2)ifconfig命令

3)ip命令

4)netstat命令

5)route命令

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

DNF 命令實施軟件包管理:

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

1)掛載光盤至某目錄

mount /dev/sr0 /mnt/

2)創建配置文件

vim /etc/yum.repos.d/cdrom.repo

[cdrom]            #倉庫的名字

name=localation software    #倉庫的描述

baseurl=file:///mnt       #repodata目錄的倉庫訪問路徑

gpgchecked=0           #使用前是否檢驗包

enabled=1            #是否啟用此倉庫

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

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

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

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

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

#!/bin/bash
declare -i startsum=0,stopsum=0
for i in $(ls /etc/rc.d/rc3.d/);do
        string=$(echo ${i:0:1})
        if [ $string == K ];then
                echo "$i stop"
                let stopsum++
        elif [ $string == S ];then
                echo "$i start"
                let startsum++
        fi
done
echo "start S:$startsum"
echo "start K:$stopsum

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

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

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

#!/bin/bash
declare -i sum=0
if [ $# -lt 1 ];then
        echo "please at least a username!"
        exit 2
        fi
for i in $*;do
        if id $i &>/dev/null;then
        sum+=$(id -u $i)
        else
        echo "the user $i is not exist!"
        exit 3
        fi
done
echo "sum gid:$sum"

14、寫一個腳本

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

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

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

[ -d $i -a -x $i ]檢查文件夾是否存在,且是否有權限讀取

ls -l $i  |grep ^d 取出目錄

ls -l /tmp/ |grep -v ^d取出非目錄

#!/bin/bash
declare -i dsum=0,fsum=0
if [ $# -le 1 ];then
        echo "input at least a filepath!"
fi
for i in $*;do
        if [ -d $i -a -x $i ];then
        ls -l $i  |grep ^d |awk '{print $NF}'
        let dsum+=$(ls -l /tmp/ |grep ^d |wc -l)
        let fsum+=$(ls -l /tmp/ |grep -v ^d |wc -l)
        else
        echo "The $i is not exist or Permission denied,please check it!"
        exit 2
        fi
done
        echo "the directories sum:$dsum"
        echo "the file sum:$fsum"

15、寫一個腳本

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

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

#!/bin/bash
if [ $# -lt 1 ];then
        echo "please input a username at least!"
fi
for username in $*;do
        if id $username &>/dev/null;then
                if [ $(id -u $username) -gt 500 ];then
                        echo "$username is the regular user!"
                fi
        else
                echo "$username is no exist!"
        fi
done

16、寫一個腳本

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

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

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

#!/bin/bash
declare -i sum=0
for ((i=1;i<=10;i++));do
        if id user$i &> /dev/null;then
                echo "user$i is exist!"
        else
                useradd -M -N user$i &> /dev/null
                let sum++
                echo "user$i is create!"
        fi
done
        echo "$sum users is create!"

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

#!/bin/bash
for ((i=1;i<=20;i++));do
        ping -w 1 -c 1 172.16.250.$i &> /dev/null
        if [ $? -eq 0 ];then
                echo "172.16.250.$i is up!"
        fi
done

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

原創文章,作者:Net20_有馬,如若轉載,請注明出處:http://www.www58058.com/44093

(0)
Net20_有馬Net20_有馬
上一篇 2016-09-08
下一篇 2016-09-08

相關推薦

  • Linux系統安裝

    概述:     上篇我們討論了下關于Linux系統的啟動流程和grub相關的內容,本篇將介紹一下Linux的系統安裝相關的內容,具體分為:     1、系統安裝程序anaconda的介紹     2、kickstart文件的介紹 &nbsp…

    學員作品 2016-09-15
  • sed命令詳解

    sed命令:  Stream EDitor, 行編輯器  sed是一種流編輯器,它是文本處理中非常中的工具,能夠完美的配合正則表達式使用,功能不同凡響。處理時,把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”(pattern space),接著用sed命令處理緩沖區中的內容,處理完成后,把緩沖區的內容送往屏幕。接著處理下一行,這樣不斷重…

    2016-08-10
  • 馬哥教育網絡班20期+第11周博客作業

    1、詳細描述一次加密通訊的過程,結合圖示最佳。 例如:     bob給alice發送一份數據:只能alice看到,不能被篡改。     bob:     首先用單向加密提取數據的特征碼,然后用自己的私鑰加密這個特征碼并放在原有數據的后面;…

    學員作品 2016-09-15
  • 馬哥教育網絡班20期-第七周課程作業

    1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;     ]#mke2fs -t ext4 -b 2048 -L MYDATA -m&n…

    學員作品 2016-09-07
  • Linux中的高級文本編輯器神器vim

    Vi(Visual Interface):是一種文本編輯器,所謂文本數據是基于字符編碼的文件,常見的編碼有ASCII編碼,UNICODE編碼等等。 文本編輯器的種類:        行編輯器:所謂行編輯器是指一行一行來編輯處理的工具,如sed。   全屏編輯器:編輯空間占據整個屏幕,如nano,vi。 Vim…

    學員作品 2016-08-10
  • 文本處理工具筆記

    1.文件查看相關命令      (1)cat命令      cat [OPTION]… [FILE]…      -E:顯示行結束符      -n:對顯示除的每一行進行編號 …

    學員作品 2016-08-10
欧美性久久久久