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主機配置網絡信息的方式有哪些,請描述各個過程。
-
編輯配置文件修改網絡參數,永久生效
-
使用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
網絡部分可以更詳細一些,還有下次ctrl+c,ctrl+v的時候,請調整好統一的格式