N25期第八周作業

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

主要功能:

  • 網橋是一個局域網與另一個局域網之間建立連接的橋梁,屬于數據鏈路層的一種設備。
  • 集線器是可以將一些機器連接起來組成一個局域網的設備。
  • 二層交換機是工作于OSI模型的第2層(數據鏈路層)的設備,作用和集線器類似。
  • 三層交換機就是具有部分路由器功能的二層交換機。
  • 路由器是互聯網的主要結點設備,路由器可以通過路由決定數據的轉發。

區別之處:

網橋與二層交換機的不同:
  • 網橋就是個硬件網絡協議翻譯器,也可以說相當一個端口少的二層交換機,網橋主要由軟件實現,交換機主要由硬件實現。
二層交換機與集線器不同:
  1. 在OSI/RM(OSI參考模型)中的工作層次不同。集線器工作與一層,交換機在二層工作
  2. 交換機的數據傳輸方式不同。集線器的數據傳輸方式是廣播,交換機的數據傳輸是有目的的,數據只對目的節點發送。
  3. 帶寬占用方式不同。集線器所有端口是共享集線器的總帶寬,而交換機的每個端口都具有自己的帶寬。
  4. 傳輸模式不同。集線器只能采用半雙工方式進行傳輸的。
路由與二層交換機的不同:
  1. 工作層次不同。交換機工作在OSI的第二層。路由器工作在OSI的第三層(網絡層)
  2. 數據轉發所依據的對象不同。交換機是利用物理地址或者說MAC地址來確定轉發數據的目的地址。而路由器則是利用不同網絡的ID號(即IP地址)來確定數據轉發的地址。
  3. 傳統的交換機只能分割沖突域,不能分割廣播域;而路由器可以分割廣播域
  4. 路由器提供了防火墻的服務。
路由與三層交換機的不同:
  1. 主要功能不同。三層交換機主要功能還是數據交換;而路由器僅具有路由轉發這一種主要功能。
  2. 主要適用的環境不一樣。三層交換機的路由功能主要是簡單的局域網連接,路由器更多的體現在不同類型網絡之間的互聯上。
  3. 性能體現不一樣。三層交換機的性能要遠優于路由器,非常適用于數據交換頻繁的局域網中;而路由器雖然路由功能非常強大,但它的數據包轉發效率遠低于三層交換機,更適合于數據交換不是很頻繁的不同類型網絡的互聯
2.IP地址的分類有哪些?子網掩碼的表示形式及其作用

IP地址中的前五位用于標識IP地址的類別,IP地址共分五類。

A類地址的特點是:以( 0 )開頭,網絡地址共( 7 )位,主機地址共( 24 )位
B類地址的特點是:以( 10 )開頭,網絡地址共( 14 )位,主機地址共( 16 )位
C類地址的特點是:以( 110 )開頭,網絡地址共( 21 )位,主機地址共( 8 )位
D類地址的特點是:以( 1110 )開頭,不標識網絡,用于特殊用途
E類地址的特點是:以( 11110)開頭,地址暫時保留,用于某些實驗和將來使用。

子網掩碼的表示形式:

  1. 通過與IP地址格式相同的點分十進制表示 如:255.255.255.0
  2. 在IP地址后加上"/"符號以及1-32的數字,其中1-32的數字表示子網掩碼中網絡標識位的長度 如192.168.100.0/24

子網掩碼的作用:

  1. 是用于屏蔽IP地址的一部分以區別網絡標識和主機標識,并說明該IP地址是在局域網上,還是在遠程網上。
  2. 是用于將一個大的IP網絡劃分為若干小的子網絡。
3.計算機網絡的分成模型有哪些(OSI模型和TCP/IP模型),每一層的功能及涉及到的物理設備有哪些

OSI七層模型

  • 物理層:利用傳輸介質為數據鏈路層提供物理連接,實現比特流的透明傳輸。
  • 數據鏈路層:通過各種控制協議,將有差錯的物理信道變為無差錯的、能可靠傳輸數據幀的數據鏈路。
  • 網絡層:該層控制數據鏈路層與傳輸層之間的信息轉發,建立、維持和終止網絡的連接。
  • 傳輸層:向用戶提供可靠的端到端的差錯和流量控制,保證報文的正確傳輸。
  • 會話層:向兩個實體的表示層提供建立和使用連接的方法。
  • 表示層:處理用戶信息的表示問題,如編碼、數據格式轉換和加密解密等。
  • 應用層:應用層是用戶與網絡,以及應用程序與網絡間的直接接口,使得用戶能夠與網絡進行交互式聯系,并實現各種服務

TCP/IP4層模型

  • 網絡接口層:用于協作IP數據在已有網絡介質上傳輸的協議。對應于OSI七層模型的物理層和數據鏈路層。
  • 網際層:負責數據的包裝、尋址和路由,還包含網間控制報文協議。對應于OSI七層模型的網絡層。
  • 傳輸層:提供兩種端到端的通信服務,TCP協議和UDP協議。對應于OSI七層模型的傳輸層。
  • 應用層:包括Finger、Whois、FTP、Gopher、HTTP、Telent、SMTP、IRC、NNTP等協議。對應于OSI七層模型的應用層,會話層和表示層。

對應的物理設備:

  • 物理層:HUB集線器,網卡,網橋、中繼器、調制解調器
  • 鏈路層:2層交換機
  • 網絡層:3層交換機,路由器
4.如何將Linux主機接入到TCP/IP網絡,請描述詳細的步驟。(手動指定的方式)

修改網卡IP屬性

vim /etc/sysconfig/network-scripts/ifcfg-eth0  <eth0是網卡號>
DEVICE="eth0"              <網卡號,和ifcfg-eth0對應就可以>
HWADDR="08:00:27:1C:81:0A"  <網卡的MAC地址>
ONBOOT="yes"                <是否啟用連接>
BOOTPROTO=none              <手動設置IP選擇none,自動獲取選dhcp>
IPADDR=192.168.1.100        <設定本網卡IP地址>
NETMASK=255.255.255.0       <子網掩碼>
GATEWAY=192.168.1.254       <網關地址>
DNS1=192.168.1.1            <首選DNS地址>
DNS2=8.8.8.8                <次選DNS地址>  
也可以在此處添加DNS
vim /etc/resolv.conf
在文件中填入以下內容
nameserver 192.168.1.1      <‘192.168.1.1’改成你自己需要的DNS地址即可>
可以設定多個DNS主機地址
修改完成后重啟網絡服務
/etc/init.d/network restart
5.為Linux主機配置網絡信息的方式有哪些,請描述各個過程

主機接入網絡需要設置IP地址,路由信息和DNS信息

IP地址設置

主要有動態分配和靜態設置:
靜態設置分為2種方法

  1. 可以使用ifconfig,ipaddr命令來設置網卡的ip地址及網關;設置后立即生效,重啟后失效。
  2. 可以修改文件/etc/sysconfig/network-scripts/ifcfg-接口;設置后無效,需要重啟后才生效。 動態分配:是使用主機dhcp服務自動設置
路由信息設置
  1. 用route,ip route命令來設置;設置后立即生效,重啟后失效。
  2. 添加或修改文件/etc/sysconfig/network-scripts/route-接口;設置后無效,需要重啟后才生效。

格式如:

192.168.0.0/24 via 172.16.0.1 或
ADDRESS0=192.168.1.3  
NETMASK0=255.255.255.0  
GATEWAY0=192.168.0.1
DNS信息設置
  1. 修改/etc/reso.conf文件來添加DNS。 nameserver 192.168.1.1
  2. 網卡接口設置文件中設置 DNS1=192.168.1.1
6.寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態
在線的主機使用綠色顯示
不在線的主使用紅色顯示
#!/bin/bash
host="172.16.250."
for i in {1..254};do
ping -c 1 -w 1 $host$i &> /dev/null
if [ $? -eq 0 ];then
echo -e "\033[32m$host$i is alive\033[0m"
else
echo -e "\033[31m$host$i is not alive\033[0m"
fi
done
7.詳細描述每個網絡接口的配置文件中各個參數的含義和其所對應的值

配置文件位于/etc/sysconfig/network-scripts/下 如ifcfg-eth0文件

DEVICE="eth0"               <網卡號,和ifcfg-eth0對應就可以>
HWADDR="08:00:27:1C:81:0A"  <網卡的MAC地址>
ONBOOT="yes"                <在系統引導時是否激活此設備>
BOOTPROTO=none              <手動設置IP選擇none,自動獲取選dhcp>
USERCTL="yes"                <普通用戶是否可控制此設備>
IPADDR=192.168.1.100        <設定本網卡IP地址>
NETMASK=255.255.255.0       <子網掩碼>
GATEWAY=192.168.1.254       <網關地址>
DNS1=192.168.1.1            <首選DNS地址>
DNS2=8.8.8.8                <次選DNS地址>
8.如何給網絡接口配置多個地址,有哪些方式

可以使用命令或配置文件

ifconfig:

ifconfig 別名 IP地址/掩碼位數 
ifconfig eth0:0 192.168.0.22/24 up

ip:

ip addr add IP地址 dev 接口 label '別名'
ip addr add 172.16.100.13/16 dev eth0 label 'eth:0'

配置文件:

創建/etc/sysconfig/network-scripts/ifcfg-別名文件
文件中DEVICE=別名要和文件名相同
9.常用的網絡管理類工具有哪些,并用示例形式描述他們的使用方法
ifconfig命令-設置IP地址工具
可以使用ifconfig命令配置網卡屬性,設置后立即生效,重啟后失效。
    #顯示活動接口信息    ifconfig eth0
    #顯示所有接口信息    ifconfig -a
    #啟用或禁用給定接口  ifconfig eth0 down
    #設置IP地址及掩碼    ifconfig eth0 172.168.1.100/24
route命令-設置路由工具
    添加主機路由         route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
    添加網絡路由         route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
    添加默認路由         route add default gw 172.16.0.1                       
    刪除主機路由         route del -host 192.168.1.3
    刪除網絡路由         route del -net 192.168.0.0 netmask 255.255.255.0
dig命令-解析DNS地址工具 
    正解DNS 域名至IP地址 dig -t A server.magelinux.com
    反解DNS IP地址至域名 dig -x 127.0.0.1
netstat命令-顯示網絡連接工具
    以數字形式顯示TCP協議相關所有狀態    netstat -tan 
    以數字形式顯示UDP協議相關所有狀態    netstat -uan 
    以數字形式顯示TCP協議相關的監聽狀態  netstat -tnl 
    以數字形式顯示UDP協議相關的監聽狀態  netstat -unl 
    顯示內核路由表                       netstat -r 
    顯示所有接口統計數據                 netstat -i 
    顯示指定接口信息                     netstat -Ieth0
ip命令-設置IP地址工具
    禁用接口        ip link set dev eth0 down 
    啟用接口        ip link set dev eth0 up 
    顯示接口信息    ip link show dev eth0 
    顯示主地址      ip addr show dev eth0 primary 
    顯示次地址      ip addr show dev eth0 secondary 
    添加IP地址      ip addr add 172.16.100.13/16 dev eth0 
    添加網卡別名    ip addr add 172.16.100.13/16 dev eth0 label 'eth:0' 
    刪除別名        ip addr flush dev eth0 label 'eth0:0' 
    添加主路由      ip route add 192.168.1.3 via 172.16.0.1 dev eth0 
    添加網絡路由    ip route add 192.168.0.0/16 via 172.16.0.1 dev eth0 
    添加默認路由    ip route add default via 127.16.0.1 
    刪除路由        ip route del 192.168.1.3 
    查看路由        ip route show 
    清空路由        ip route flush dev eth0        
ss命令–顯示網絡連接工具
    參數用法同netstat
    指定顯示某種狀態ss -t state established '( dport = :ssh or sport = :ssh )'
10.Linux系統軟件包管理方法(安裝、升級、卸載等操作)有哪些,以及如何管理的
  1. 用rpm命令管理程序包
安裝    rpm -ivh PACKAGE_FILE    安裝包
升級    rpm -Uvh PACKAGE_FILE    升級包,無則安裝此包
        rpm -Fvh PACKAGE_FILE    升級包,無則無變化
查詢    rpm -qa | grep FileName  查詢已安裝的某個軟件
        rpm -qf FILE             查詢文件出處
        rpm -qc PACKAGE_FILE     查詢包的配置文件
        rpm -ql PACKAGE_FILE     查詢包的所有文件
        rpm -qd PACKAGE_FILE     查詢包的信息
        rpm -qpi PACKAGE_FILE    不安裝就查詢包信息
        rpm -qpl PACKAGE_FILE    不安裝就查詢包所有文件
卸載    rpm -e PACKAGE_FILE      卸載包
驗證    rpm -V PACKAGE_FILE      驗證包
        rpm –import RPM-GPG-KEY-CentOS-7 導入公鑰
維護    rpm initdb               新建數據庫
        rpm rebuilddb            重建數據庫
  1. 用yum倉庫來管理程序包
查看    yum info PACKAGE_FILE       查看包信息
        yum history list            查看yum事務歷史
        yum deplist package1        查看包依賴
顯示    yum repolist all            顯示yum倉庫列表
        yum list installed          顯示已安裝列表
        yum list available          顯示可用的包
        yum list updates            顯示可以升級的包
        yum list anaconda           顯示系統安裝的包
安裝    yum install PACKAGE_FILE    安裝包
        yum localinstall rpmfile1   安裝本地包
升級    yum update PACKAGE_FILE     升級包
        yum downgrade PACKAGE_FILE  降級包
        yum check-update            檢查更新
卸載    yum remove PACKAGE_FILE     卸載包
        yum provides feature1       查看指定的特性
        yum clean                   清理本地緩存
        yum search string1          搜索字符串
        yum info PACKAGE_FILE       查看包信息
        yum history list            查看yum事務歷史
        yum deplist package1        查看包依賴     
包組管理
    yum groupinstall group1 [group2] […]         安裝包組
    yum groupupdate group1 [group2] […]          升級包組
    yum grouplist [hidden] [groupwildcard] […]   顯示包組
    yum groupremove group1 [group2] […]          卸載包組
    yum groupinfo group1 […]                     查看包組信息
11.如何使用發行版光盤作為yum repository,請描述該過程
  1. 掛載光盤至某目錄,如:/media/cdrom
# mount -r -t iso9660 /dev/cdrom /media/cdrom
  1. 創建配置文件 如:/etc/yum.repos.d/CentOS-CD.repo
[CentOS6] 
name=CentOS6 cdrom             <倉庫的名字>
baseurl=file:///media/cdrom    <擁有repodata目錄的倉庫訪問路徑>
gpgcheck=0                     <使用前是否校驗包>
enabled=1                      <是否啟用此倉庫>
cost=500                       <使用倉庫的優先級>
12.寫一個腳本,完成以下功能
  1. 假設某目錄(/etc/rc.d/rc3.d/)下分別有K開頭的文件和S開頭的文件若干
  2. 顯示所有以K開頭的文件的文件名,并且給其附加一個stop字符串
  3. 顯示所有以S開頭的文件的文件名,并且給其附加一個start字符串
  4. 分別統計S開頭和K開頭的文件各有多少
#!/bin/bash
declare -i Kname
declare -i Sname
for filename in `ls /etc/rc.d/rc3.d`;do
if [[ $filename =~ ^K.* ]];then
filename=$filename'_stop'
Kname=$((Kname+1))
elif [[ $filename =~ ^S.* ]];then
filename=$filename'_start'
Sname=$((Sname+1))
fi
echo $filename
done
echo "S開頭文件有$Sname個,K開頭文件有$Kname個"
13.寫一個腳本,完成以下功能
  1. 腳本能接受用戶名作為參數
  2. 計算此些用戶的ID之和
#!/bin/bash
for username in $*;do
userid=`id -u $username`
sum=$((sum+$userid))
done
echo "用戶的ID之和為$sum"
14.寫一個腳本
  1. 傳遞一些目錄給此腳本
  2. 逐個顯示每個目錄的所有一級文件或子目錄的內容類型
  3. 統計一共有多少個目錄;且一共顯示了多少個文件的內容類型
#!/bin/bash
declare -i dnum
declare -i fnum
for directory in $*;do
    for filename in `ls $directory`;do
        filetype=`file $directory/$filename|cut -d: -f2|tr -d ' '`
        echo $filename的內容類型為$filetype
        if [ "$filetype" = "directory" ];then
            dnum=$((dnum+1))
        else
            fnum=$((fnum+1))
        fi
    done
done
echo "一共有$dnum個目錄,一共顯示了$fnum個文件的內容類型"
15.寫一個腳本
  1. 通過命令行傳遞一個參數給腳本,參數為用戶名
  2. 如果用戶的id號大于等于500,則顯示此用戶為普通用戶
#!/bin/bash
id $1 &>/dev/null
if [ $? -ne 0 ];then
    echo "$1用戶不存在"
else
    if [ `id -u $1` -ge 500 ];then
        echo "$1用戶為普通用戶"
    fi
fi
16.寫一個腳本
  1. 添加10用戶user1-user10;密碼同用戶名
  2. 用戶不存在時才添加;存在時則跳過
  3. 最后顯示本次共添加了多少用戶
#!/bin/bash
for i in {1..10};do
   ! id user$i &> /dev/null && useradd user$i \
   && echo "user$i"|passwd --stdin user$i &> /dev/null && usernum=$((usernum+1))
done
echo "本次總共添加了$usernum個用戶"
17. 寫一腳本,用ping命令測試172.16.250.20-172.16.250.100以內有哪些主機在線,將在線的顯示出來
#!/bin/bash
for i in {20..100};do
    ping -c 1 -w 1 172.16.250.$i &> /dev/null
    if [ $? -eq 0 ];then
        echo -e "172.16.250.$i \033[32mon line\033[0m"
    fi
done
18. 打印九九乘法表
#!/bin/bash
for i in {1..9};do
    for j in {1..9};do
        echo -n "$i * $j = $(($i*$j))"
            if [ $j -lt 9 ];then
                echo -n ","
            else
                echo -ne "\n"
            fi
    done
done

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

(0)
N25_AllenN25_Allen
上一篇 2017-03-08 11:58
下一篇 2017-03-08 14:50

相關推薦

  • 優云軟件數據專家最佳實踐:數據挖掘與運維分析

    這份研究報告,作者是優云軟件數據專家陳是維,在耗時1年時間制作的一份最佳實踐,今天和大家分享下,關于《數據采礦和運維分析》,共同探討~ 數據挖掘(Data Mining)是從大量數據中提取或“挖掘”知識。 廣義數據挖掘:數據挖掘是從存放在數據庫、數據倉庫或其它信息庫中的大量數據挖掘有趣知識的過程。 數據挖掘技術側重:1)概率與數理統計 2)數據庫技術 3)人…

    大數據運維 2016-07-16
  • 面授20期2班-08月4號課堂與課后習題

    課堂習題 1、顯示/etc/init.d/functions文件中所有的單詞及出現的次數 cat /etc/init.d/functions | tr -sc "[:alpha:]" '\n' |sort | uniq -c 2、找出ifconfig命令結果中本機的所有IPv4地址 centos6:ifconfig | h…

    Linux干貨 2016-08-08
  • 網絡管理1

    一、知識整理 1、路由轉發:拆除第一層MAC地址,根據IP地址廣播,收到信號后重新封裝。一個路由器連接多個廣播域,一個交換機連接多個沖突域。 2、網絡用戶應用程序:WEB瀏覽器;即時消息;電子郵件;協作(視頻會議,vnc);web網絡服務;文件網絡服務;數據庫服務;中間件服務(Tomcat);安全服務(netfilter)。 3、HDR:報頭。Frame C…

    Linux干貨 2016-09-05
  • Linux用戶和組的相關命令(二、組的相關命令)

    用戶和組之間息息相關。創建用戶時 ,Linux系統會默認生成一個與用戶名相同的組,這個組是用戶的私有組,也是用戶的主組。對用戶來說,主組有且只有一個,但是可以有零個或多個附加組??梢栽诮M內設置組管理員來管理組內的用戶列表,組管理員可以刪除用戶列表內的組員。組管理員不唯一,可以有零個或多個。 關于組及其屬性和組密碼及其屬性的有關信息保存在/etc/group和…

    2017-07-22
  • Nginx 代理和緩存

    一 實驗環境 Nginx 版本:nginx-1.8.1 Nginx代理服務器WAN:192.168.1.5 LAN:172.16.2.1 Web1:172.16.2.2 Web2:172.16.2.3 1.  配置好IP、DNS 、網關,確保使用遠程連接工具能夠連接服務器 2.      …

    Linux干貨 2016-12-05
  • ?redis cluster 安裝指南

    公司的很多項目在使用redis主從。由于coder的各種毀滅性操作,迫切需要一個能帶故障恢復的架構。因此新版的cluster,開始了測試。 一、Cluster 理論基礎 Cluster介紹 Redis集群是一個提供在多個Redis間節點間共享數據的程序集。 Redis集群并不支持處理多個keys的命令,因為這需要在不同的節點間移動數據,從而達不到像Redis…

    Linux干貨 2016-02-14

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-03-15 00:54

    贊,總結的以上知識都比較基礎&重要~~繼續加油~

欧美性久久久久