馬哥教育網絡第21期-第八周課程練習

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

  網橋從一個局域網接收MAC幀,拆封、校對、校驗之后,按另一個局域網的格式重新組裝,發往它的物理層。由于網橋是鏈路層設備,因此不處理數據鏈路層以上層次協議所加的報頭。

  集線器的主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離,同時把所有節點集中在以它為中心的節點上。它工作于OSI(開放系統互聯參考模型)參考模型第一層。

 二層交換機指的就是傳統的工作在OSI參考模型的第二層–數據鏈路層上交換機,主要應用于小型的局域網中,主要功能包括物理編址、錯誤校驗、幀序列以及流控。

 三層交換機主是二層交換機與路由器的合體,支持物理層,數據鏈路層及網絡層協議。三層交換機支持路由功能、支持網絡層的很多協議等,支持多VLAN的設置與IP地址配置!支持安全功能等

 路由器是連接因特網中各局域網、廣域網的設備,路由和交換機之間的主要區別就是交換機發生在OSI參考模型第二層(數據鏈路層),而路由發生在第三層,即網絡層。

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

A類:
0 000 0000 - 0 111 1111: 1-127
網絡數:126, 127
每個網絡中的主機數:2^24-2
默認子網掩碼:255.0.0.0
私網地址:10.0.0.0/8

B類:
10 00 0000 - 10 11 1111:128-191
網絡數:2^14
每個網絡中的主機數:2^16-2
默認子網掩碼:255.255.0.0
私網地址:172.16.0.0/16-172.31.0.0/16

C類:
110 0 0000 - 110 1 1111: 192-223
網絡數:2^21
每個網絡中的主機數:2^8-2
默認子網掩碼:255.255.255.0
私網地址:192.168.0.0/24-192.168.255.0/24

D類:組播
1110 0000 - 1110 1111: 224-239

E類:
240-255

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

   OSI參考模型

   物理層的主要功能是:利用傳輸介質為數據鏈路層提供物理連接,實現比特流的透明傳輸。物理層的作用是實現相鄰計算機節點之間比特流的透明傳送,該層會使用到網線,光纖等等。

   數據鏈路層OSI模型的第二層,負責建立和管理節點間的鏈路。該層的主要功能是:通過各種控制協議,將有差錯的物理信道變為無差錯的、能可靠傳輸數據幀的數據鏈路。這一層的主要功能是在物理層提供的比特流的基礎上,通過差錯控制、流量控制方法,使有差錯的物理線路變為無差錯的數據鏈路,即提供可靠的通過物理介質傳輸數據的方法。工作在該層的設備一般為交換機,集線器等等。

  網絡層OSI模型的第三層,它是OSI參考模型中最復雜的一層,也是通信子網的最高一層。它在下兩層的基礎上向資源子網提供服務。其主要任務是:通過路由選擇算法,為報文或分組通過通信子網選擇最適當的路徑。該層控制數據鏈路層與傳輸層之間的信息轉發,建立、維持和終止網絡的連接。

  傳輸層OSI模型的第4層。因此該層是通信子網和資源子網的接口和橋梁,起到承上啟下的作用。該層的主要任務是:向用戶提供可靠的端到端的差錯和流量控制,保證報文的正確傳輸。傳輸層的作用是向高層屏蔽下層數據通信的細節,即向用戶透明地傳送報文。

  會話層OSI模型的第5層,是用戶應用程序和網絡之間的接口,主要任務是:向兩個實體的表示層提供建立和使用連接的方法。將不同實體之間的表示層的連接稱為會話。因此會話層的任務就是組織和協調兩個會話進程之間的通信,并對數據交換進行管理。

  表示層是OSI模型的第六層,它對來自應用層的命令和數據進行解釋,對各種語法賦予相應的含義,并按照一定的格式傳送給會話層。其主要功能是“處理用戶信息的表示問題,如編碼、數據格式轉換和加密解密”等。

  應用層(Application Layer)是OSI參考模型的最高層,它是計算機用戶,以及各種應用程序和網絡之間的接口,其功能是直接向用戶提供服務,完成用戶希望在網絡上完成的各種工作。它在其他6層工作的基礎上,負責完成網絡中應用程序與網絡操作系統之間的聯系,建立與結束使用者之間的聯系,并完成網絡用戶提出的各種網絡服務及應用所需的監督、管理和服務等各種協議。此外,該層還負責協調各個應用程序間的工作。

    TCP/IP參考模型

  網絡接口層包括用于協作IP數據在已有網絡介質上傳輸的協議。它定義像地址解析協議這樣的協議,提供TCP/IP協議的數據結構和實際物理硬件之間的接口。 

  網絡層對應于OSI七層參考模型的網絡層。本層包含IP協議、RIP協議,負責數據的包裝、尋址和路由。同時還包含網間控制報文協議用來提供網絡診斷信息。

傳輸層對應于OSI七層參考模型的傳輸層,它提供兩種端到端的通信服務。其中TCP協議提供可靠的數據流運輸服務,UDP協議提供不可靠的用戶數據報服務。

應用層對應于OSI七層參考模型的應用層和表達層。因特網的應用層協議包括Finger、Whois、FTP(文件傳輸協議)、Gopher、HTTP(超文本傳輸協議)、Telent(遠程終端協議)、SMTP(簡單郵件傳送協議)、IRC(因特網中繼會話)、NNTP(網絡新聞傳輸協議)等。


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

[root@6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 
  1 DEVICE=eth0
  2 HWADDR=00:0C:29:88:B2:2C
  3 TYPE=Ethernet
  4 UUID=05cb76db-70e8-49f6-9b1d-f754c47a28f6
  5 ONBOOT=yes
  6 IPADDR=192.168.1.118
  7 NETMASK=255.255.255.0
  8 GATEWAY=192.168.1.1
~
[root@6 ~]# service network restart
正在關閉接口 eth0:                                        [確定]
關閉環回接口:                                             [確定]
彈出環回接口:                                             [確定]
彈出界面 eth0: Determining if ip address 192.168.1.118 is already in use for device eth0...
                                                           [確定]

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

  1. 編輯配置文件修改網絡參數,永久生效

  2. 使用ifconfig命令來指定,重啟失效

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

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

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

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

	fi
done

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

  1 DEVICE=eth0    //設備名稱
  2 HWADDR=00:0C:29:88:B2:2C    //mac地址
  3 TYPE=Ethernet    //網絡接口類型
  4 UUID=05cb76db-70e8-49f6-9b1d-f754c47a28f6
  5 ONBOOT=yes    //是否開機啟動
  6 IPADDR=192.168.1.118    //ip地址
  7 NETMASK=255.255.255.0    //子網掩碼
  8 GATEWAY=192.168.1.1    //網關

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

1.ip addr add 
2.編輯配置文件,重啟生效
3.setup

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

netstat命令:
-t: tcp協議相關。-u: udp協議相關。-w: raw socket相關。-l: 處于監聽狀態。-a: 所有狀態。-n: 以數字顯示IP和端口。-e:擴展格式
-p: 顯示相關進程及PID。
ss命令

10、Linux系統軟件包管理方法(安裝、升級、卸載等操作)有哪些,以及如何管理的。

    rpm
    安裝:
        rpm {-i|--install} [install-options] PACKAGE_FILE ...
            -v: verbose
            -vv: 
            -h: 以#顯示程序包管理執行進度;每個#表示2%的進度
            rpm -ivh PACKAGE_FILE ...   
      升級:      
            upgrage:安裝有舊版程序包,則“升級”;如果不存在舊版程序包,則“安裝”;
            freeshen:安裝有舊版程序包,則“升級”;如果不存在舊版程序包,則不執行升級操作;
            rpm -Uvh PACKAGE_FILE ...
            rpm -Fvh PACKAGE_FILE ... 
      查詢:
        rpm {-q|--query} [select-options] [query-options]

        [select-options]
            -a: 所有包
            -f: 查看指定的文件由哪個程序包安裝生成
      卸載:
        rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts]
    yum
     顯示倉庫列表:
      yum repolist [all|enabled|disabled]

    顯示程序包:
        list
            # yum list [all | glob_exp1] [glob_exp2] [...]
            # yum list {available|installed|updates} [glob_exp1] [...]

    安裝程序包:
       yum install package1 [package2] [...]

       yum reinstall package1 [package2] [...]  (重新安裝)

    升級程序包:
       yum update [package1] [package2] [...]

       yum downgrade package1 [package2] [...] (降級)

    檢查可用升級:
       yum check-update

    卸載程序包:
       yum remove | erase package1 [package2] [...]

    查看程序包information:
       yum info [...]

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

1.將光盤掛載到指定的目錄
[root@6 ~]# mount /dev/cdrom /mnt    
2.創建配置文件
[root@6 mnt]# cat /etc/yum.repos.d/cdrom.repo 
	[cdrom]
name=cdrom
basurl=file:///mnt
enable=1
gpgcheck=0

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

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

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

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

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

#!/bin/bash
cd /etc/rc.d/rc3.d
for i in $(ls K*);do
	echo "$i start"
	let i++
done

for j in $(ls S*);do
	echo "$j stop"
	let j++
done

echo "$i,$j"

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

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

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

  1 #!/bin/bash
  2 declare -i j=0
  3 
  4 for i in $*;do
  5     userid=$( id -u ${i} ) 
  6     j+=$userid
  7     let i++
  8 done
  9

14、寫一個腳本

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

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

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

#!/bin/bash

declare -i f=0
declare -i d=0
declare -i c=0
declare -i s=0
declare -i b=0
declare -i o=0

read -p "input file path " file
for i in 'ls $file';do
	if [ -d $file ];then
		echo "$file is directory"
		let d++
	elif [ -f $file ];then
		echo "$file is file"
		let f++
	elif [ -s $file ];then
		echo "$file is socket"
		let s++
	elif [ -b $file ];then
		echo "$file is bolck"
		let b++
	elif [-c $file ];then
		echo "$file is char"
		let c++	
	else
		let o++	
	fi	
done
echo "directory $d"
echo "file $f"
echo "socket $s"
echo "block $b"
echo "char $c"
echo "other $c"

15、寫一個腳本

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

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

  1 #!/bin/bash
  2 if [ $# -eq 0 ];then
  3     echo "plesae input username"
  4 fi
  5 let a=$(id -u $1)
  6 if [ $a -ge 500 ];then
  7     echo "this is user"
  8 else
  9      echo "this is system user"
 10 fi

16、寫一個腳本

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

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

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

  1 #!/bin/bash
  2 declare -i i=0
  3 for((i=1;i<11;i++))do
  4     if id user$i &> /dev/null;then
  5         echo "user$i is exist"
  6         continue
  7     else
  8         useradd user$i
  9         echo "user$i" | passwd --stdin$i &> /dev/null
 10         let i++
 11     fi
 12 done
 13 echo "add $i user"

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

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

	fi
done

18、打印九九乘法表;

  1 #!/bin/bash
  2 for((i=1;i<10;i++))
  3 do
  4     for((j=1;j<=$i;j++))
  5     do
  6         echo -e -n "$j*$i= $(($i*$j))\t"
  7     done
  8     echo
  9 done

以上

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

(0)
N21_619463772N21_619463772
上一篇 2016-10-24
下一篇 2016-10-24

相關推薦

  • Linux操作系統發展史

    內容摘要:Linux操作系統的誕生,Linux 的發展,Linux的特性決定其迅猛發展,Linux的應用領域與發展前景 關鍵詞:Linux的發展  前景   1.  Linux操作系統的誕生 在1981年到1991年十年間,微軟公司的MS-DOS系統一直主宰操作系統的市場,其價格十分昂貴,另一個操作系統UNIX的經銷商為了高利潤…

    Linux干貨 2016-10-14
  • 【福利招聘】 Base 上海 拍拍貨(紅杉領投,靠譜金融公司) 共5人

    公司簡介 拍拍貸成立于2007年6月,全稱為“上海拍拍貸金融信息服務有限公司”,總部位于國際金融中心上海,是中國首批網絡信息借貸平臺。 拍拍貸是一家由工商部門特批,獲批“金融信息服務”的經營范圍,得到政府認可的互聯網金融平臺。拍拍貸用先進的理念和創新的技術建立一個安全、高效、透明的互聯網金融平臺,規范個人貸款行為,讓借入這改善生產生活,讓借出者增加投資渠道?!?/p>

    Linux干貨 2016-12-05
  • 馬哥教育網絡班第21期+第三周課程作業

    1. 列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 who | awk  '{print $1}'|uniq 2.列出最后登錄到當前系統的用戶的相關信息 last | head -1   3. 讀取當前系統上被用戶當做其默認shell最多的那個shell cat /etc/pa…

    Linux干貨 2016-07-26
  • 網絡班N22期第四周博客作業

    一、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@bogon ~]# cp -r /etc/skel /home/tuser1 && chmod -R 60…

    Linux干貨 2016-09-05
  • 初識Linux-即使是997也不能停止學習

    1.計算機的組成及其功能:    從1946年第一臺通用計算機ENIAC誕生至今,幾乎所有的計算機系統都是建立在馮諾依曼體系結構上的。那么何為馮諾依曼體系結構? 馮諾依曼體系結構:        控制器:是整個計算機的中樞,負責計算機的整體調度工作,將指令從存儲器中取出,并對指令進行解釋執行。 &n…

    Linux干貨 2016-10-29
  • LVS NAT模型

    LVS NAT NAT模式顧名思義就是對地址進行轉換 通過訪問前端外網的VIP調度到后端兩臺真實主機 拓撲圖如下                      &n…

    2017-05-15

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-10-25 12:43

    網絡部分可以更詳細一些,還有下次ctrl+c,ctrl+v的時候,請調整好統一的格式

欧美性久久久久