1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。
網橋:一種網路裝置,負責網路橋接,將網絡的多個網段在數據鏈路層連接起來。 集線器:將多條以太網線或光纖集合連接在同一段物理介質下的裝置。工作在物理層。 二層交換機:工作在數據鏈路層,交換機內部的CPU會在每個端口成功連接時,通過將MAC地址和端口對應,形成一張MAC表。在今后的通訊中,發往該MAC地址的數據包將僅送往其對應的端口,而不是所有的端口。因此,交換機可用于劃分數據鏈路層廣播,即沖突域;但它不能劃分網絡層廣播,即廣播域。 三層交換機:三層交換機可以處理第三層網絡層協議,用于連接不同網段,通過對缺省網關的查詢學習來建立兩個網段之間的直接連接。三層交換機具有一定的“路由”功能,但只能用于同一類型的局域網子網之間的互聯。這樣,三層交換機可以像二層交換機那樣通過MAC地址標識數據包,也可以向傳統路由器那樣在兩個局域網子網之間進行功能較弱的路由轉發,它的路由轉發不是通過軟件來維護的路由表。而是通過專用的ASIC芯片處理這些轉發。 路由器:提供路由與轉送兩種重要機制,可以決定數據包從來源端到目的端所經過的路由路徑,這個過程稱為路由;將路由器輸入端的數據包移送至適當的路由器輸出端,這稱為轉送。
2、IP地址的分類有哪些?子網掩碼的表示形式及其作用
IP地址分為: A類:1.0.0.1-126.255.255.254 網絡數:126 每個網絡中的主機數:2^24-2 默認子網掩碼:255.0.0.0 私網地址:10.0.0.0/8-10.255.255.255/8 B類:128.0.0.1-191.255.255.254 網絡數:2^14 每個網絡中的主機數:2^16-2 默認子網掩碼:255.255.0.0 私網地址:172.16.0.0/16-172.31.255.255/16 C類:192.0.0.1-223.255.255.254 網絡數:2^21 每個網絡中的主機數:2^8-2 默認子網掩碼:255.255.255.0 私網地址:192.168.0.0/24-192.168.255.255/24 D類:組播 224.0.0.1-239.255.255.254 E類:240.0.0.1-255.255.255.254 子網掩碼:將IP地址劃分為網絡地址與主機地址,與IP地址相與可計算出相應主機的網絡地址
3、計算機網絡的分成模型有哪些(OSI模型和TCP/IP模型),每一層的功能及涉及到的物理設備有哪些。
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網絡,請描述詳細的步驟。(手動指定的方式)
設置IP/mask vim /etc/sysconfig/network-scripts/ifcfg-eth0 設置路由:默認網關 vim /etc/sysconfig/network 設置DNS服務器:主,次5、為Linux主機配置網絡信息的方式有哪些,請描述各個過程。 (1)編輯配置文件: vim /etc/sysconfig/network-scripts/ifcfg-eth0 vim /etc/resolv.conf nameserver DNS_SERVER_IP1 nameserver DNS_SERVER_IP2 (2)通過圖形界面:cenos6:setup centos7:system-config-network-tui (3)通過命令: 通過ifconfig命令設置IP地址與子網掩碼 ifconfig eth0 [up|down] ifconfig eth0 192.168.99.95/24 ifconfig eth0 192.168.99.95 netmask 255.255.255.0 ②通過route命令添加路由條目 route add -host 192.168.99.95 gw 192.168.89.1 dev eth0 route add -net 192.168.99.0 netmask 255.255.255.0 gw 192.168.98.1 dev eth0 route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.89.1 route add default gw 192.168.89.1 route del -host 192.168.99.95 route del -net 192.168.0.0 netmask 255.255.255.0 route del default gw 192.168.89.1 通過ip命令設置IP地址,子網掩碼與路由條目 ip link set dev eth0 [up|down] ip link show [dev IFACE] [up] ip addr add 172.16.10.13/16 dev eth0 ip addr del 172.16.10.13/16 dev eth0 ip addr show [dev IFACE] ip addr flush [dev IFACE] ip route add 192.168.1.3 via 172.16.0.1 dev eth0 ip route add 192.168.0.0/24 via 172.16.0.1 dev eth0 ip route add default via 172.16.0.1 ip route del 192.168.1.3 ip route del 192.168.0.0/24 ip route del default CentOS 7 nmcli connection show nmcli connection add type ethernet con-name NEW ifname eno16777736 ip4 192.168.1.141 gw4 192.168.1.1
-
6、寫一個腳本,使用ping命令探測172.16.250.1- 172.16.250.254之間的所有主機的在線狀態;
-
在線的主機使用綠色顯示;
-
不在線的主使用紅色顯示;
#!/bin/bash # net='172.16.250' uphosts=0 downhosts=0 for i in {1..254}; do ping -c 1 -w 1 ${net}.${i} &> /dev/null if [ $? -eq 0 ]; then echo -e "\033[31m"$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[31m"Up hosts: $uphosts."\033[0m" echo -e "\033[32m"Down hosts: $downhosts."\033[0m"
7、詳細描述每個網絡接口的配置文件中各個參數的含義和其所對應的值;
IP,MASK,GW,DNS配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE 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 # ifconfig eth0:0 192.168.0.22/24 ip # ip addr add 192.168.0.22/24 dev eth0 # ip addr add 192.168.0.22/24 dev eth0 label 'eth0:0' 配置文件 # ifcfg-IFACE_ALIAS # DEVICE=IFACE_ALIAS 刪除其中的HWADDR與UUID,如果沒有其他網關作為出口,也可以將GATEWAY刪除
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 netstat :netstat -ntplu 顯示網絡信息
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 查看指定程序的信息
11、如何使用發行版光盤作為yum repository,請描述該過程。
創建掛載目錄 mkdir /media/cdrom 首先掛載到某一個目錄,如mount /dev/cdrom /media/cdrom 編輯或創建/etc/yum.repos.d/ 目錄下以repo結尾的文件。 vim /etc/yum.repos.d/localadd.repos [cdrm] name=cdrm 名稱 baseurl=file:///media/cdrom 路徑cost=1 成本 gpgcheck=0 不檢查 enabled=1 開啟
-
12、寫一個腳本,完成以下功能
-
(1) 假設某目錄(/etc/rc.d/rc3.d/)下分別有K開頭的文件和S開頭的文件若干;
-
(2) 顯示所有以K開頭的文件的文件名,并且給其附加一個stop字符串;
-
(3) 顯示所有以S開頭的文件的文件名,并且給其附加一個start字符串;
-
(4) 分別統計S開頭和K開頭的文件各有多少;
#!/bin/bash k=0 s=0 for i in $(ls /etc/rc.d/rc3.d/K* | grep -o "[^/]*$"); do echo "$i stop" let k=$k+1 done for i in $(ls /etc/rc.d/rc3.d/S* | grep -o "[^/]*$");do echo "$i start" let s=$s+1 done echo "K file $k; S file $s"
-
13、寫一個腳本,完成以下功能
-
(1) 腳本能接受用戶名作為參數;
-
(2) 計算此些用戶的ID之和;
#/bin/bash sum=0 for i in $*;do if id $i &> /dev/null ;then userid=`id -u $i` let sum=$sum+$userid else echo "user $i not found" fi done echo "User id sum is $sum"
-
14、寫一個腳本
-
(1) 傳遞一些目錄給此腳本;
-
(2) 逐個顯示每個目錄的所有一級文件或子目錄的內容類型;
-
(3) 統計一共有多少個目錄;且一共顯示了多少個文件的內容類型;
#/bin/bash for i in $*;do typed=0 typef=0 filenume=0 for ii in `ls $i`;do let filenume=$filenume+1 if [ -d $i/$ii ];then let typed=$typed+1 elif [ -f $i/$ii ]; then let typef=$typef+1 fi done echo "$i" echo "$i director $typed, file $typef" done
-
15、寫一個腳本
-
通過命令行傳遞一個參數給腳本,參數為用戶名
-
如果用戶的id號大于等于500,則顯示此用戶為普通用戶;
#!/bin/bash for i in $*;do if ! id $i > /dev/null ; then echo "There is no for user $i" else userid=`id -u $i` if [ $userid -ge 500 ];then echo "user $i is average user " else echo "user $i is system user" fi fi done
-
16、寫一個腳本
-
(1) 添加10用戶user1-user10;密碼同用戶名;
-
(2) 用戶不存在時才添加;存在時則跳過;
-
(3) 最后顯示本次共添加了多少用戶;
#!/bin/bash count=0 for i in {1..10};do if id user$i &>/dev/null;then echo "user$i exists." break else useradd user$i fi if [ $? -eq 0 ];then echo "user$i" | passwd --stdin user$i &> /dev/null echo "Add user$i finished." let count+=1 fi done echo "add $count new user$i" echo "to users:`wc -l /etc/passwd | cut -d' ' -f1`"
17、寫一腳本,用ping命令測試172.16.250.20-172.16.250.100以內有哪些主機在線,將在線的顯示出來;
#!/bin/bash # declare -i i=1 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、打印九九乘法表;
#!/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
原創文章,作者:N21_ Dominic,如若轉載,請注明出處:http://www.www58058.com/39781
作業寫得非常的好,6題的排版有一點小問題哈,16題腳本的縮進需要注意一下的,加油!