1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。
集線器
集線器也稱HUB,工作在OSI七層結構的第一層物理層,屬于共享型設備,接收數據廣播發出,在局域網內一般都是星型連接拓撲結構,每臺工作站都連接到集線器上。 由于集線器的帶寬共享特性導致網絡利用效率極低,一般在大中型的網絡中不會使用到集線器。
網橋
網橋(Bridge)也稱橋接器,是連接兩個局域網的存儲轉發設備,用它可以完成具有相同或相似體系結構網絡系統的連接。 網橋和交換機一樣都是工作在OSI模型的第二層(數據鏈路層),可以看成是一個二層路由器(真正的路由器是工作在網絡層,根據IP地址進行信包轉發)。 網橋可有效的將兩個局域網(LAN)連起來,根據MAC地址(物理地址)來轉發幀,使本地通信限制在本網段內,并轉發相應的信號至另一網段,網橋通常用于聯接數量不多的、同一類型的網段。
二層交換機
二層交換機工作于OSI模型的第2層(數據鏈路層),故而稱為二層交換機。 二層交換技術的發展已經比較成熟,二層交換機屬數據鏈路層設備,可以識別數據包中的MAC地址信息,根據MAC地址進行轉發,并將這些MAC地址與對應的端口記錄在自己內部的一個地址表中。
三層交換機
三層交換機就是具有部分路由器功能的交換機,三層交換機的最重要目的是加快大型局域網內部的數據交換,所具有的路由功能也是為這目的服務的,能夠做到一次路由,多次轉發。 對于數據包轉發等規律性的過程由硬件高速實現,而像路由信息更新、路由表維護、路由計算、路由確定等功能,由軟件實現。
路由器
路由器跟集線器和交換機不同,是工作在OSI的第三層(網絡層),根據IP進行尋址轉發數據包。 路由器是一種可以連接多個網絡或網段的網絡設備,能將不同網絡或網段之間(比如局域網——大網)的數據信息進行轉換,并為信包傳輸分配最合適的路徑,使它們之間能夠進行數據傳輸,從而構成一個更大的網絡。 路由器具有最主要的兩個功能,即數據通道功能和控制功能。數據通道功能包括轉發決定、背板轉發以及輸出鏈路調度等,一般由特定的硬件來完成;控制功能一般用軟件來實現,包括與相鄰路由器之間的信息交換、系統配置、系統管理等
區別
網橋 工作在數據鏈路層 集線器 工作在物理層,所有端口共享一個mac地址,共享帶寬 二層交換機 工作在數據鏈路層,每個端口有自己的mac地址,獨享帶寬 三層交換機 工作在數據鏈路層,網絡層,擁有部分路由功能 路由器 工作在網絡層
2、IP地址的分類有哪些?子網掩碼的表示形式及其作用
IP地址分類
A類用于大型網絡(能容納網絡126個,主機1677214臺) B類用于中型網絡(能容納網絡16384個,主機65534臺) C類用于小型網絡(能容納網絡2097152個,主機254臺) D類用于組播(多目的地址的發送) E類用于實驗
子網掩碼的表示形式
A.點分十進制,如255.255.255.0 B.ip地址后加'/'以及[1-32]的數字,如192.168.1.1/24
子網掩碼的作用
A.屏蔽IP地址的一部分以區別網絡標識和主機標識 B.將一個大的IP網絡劃分為若干小的子網絡
3、計算機網絡的分層模型有哪些(OSI模型和TCP/IP模型),每一層的功能及涉及到的物理設備有哪些。
OSI模型
應用層;提供應用程序之間通信; 表示層:處理數據格式、數據加密; 會話層:建立,維護,管理會話連接涉及操作系統和網絡接口和各種數據; 傳輸層:建立主機端到端連接。涉及物理設備:四層交換機 網絡層:尋址和路由選擇。涉及物理設備:路由器 數據鏈路層:提供介質訪問,鏈路管理,將數據分幀并處理流控制。涉及物理設備:網卡,網橋,交換機 物理層:比特流傳輸,將數據轉換為可通過物理介質傳送的電子信號。涉及物理設備:雙絞線、同軸電纜,集線器
TCP/IP模型
應用層(對應OSI模型的應用層,會話層,表示層) 傳輸層(對應OSI模型的傳輸層) 網絡互聯層(對應OSI模型的網絡層) 網絡接口層(對應OSI模型的數據鏈路層和物理層)
4、如何將Linux主機接入到TCP/IP網絡,請描述詳細的步驟。(手動指定的方式)
A.使用ifconfig查看網卡配置信息,看主要使用的網卡名稱 B.到/etc/sysconfig/network-scripts/目錄下查找對應的網卡配置文件 C.主要配置項 DEVICE(設備名稱)TYPE(設備類型。端口為Ethernet) ONBOOT(系統啟動時讀?。?nbsp;BOOTPROTO=static(ip配置協議。當前為靜態ip,可設置DHCP,) IPADDR(ip地址) NETMASK(子網掩碼) GATEWAY(網關地址) DNS1(DNS服務器地址) D.重啟網絡服務 service network restart E.在CLI中輸入ping baidu.com測試網絡連接
5、為Linux主機配置網絡信息的方式有哪些,請描述各個過程。
A.ifconfig eth0 IP/mask B.ip addr add IP device eth0 C.Linux網絡屬性配置的tui(text user interface):system-config-network-tui D.使用setup圖形界面設置
6、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態;
在線的主機使用綠色顯示; 不在線的主使用紅色顯示;
#!/bin/bash # ip='172.16.250' for i in {1..254};do ping -c 5 -w 5 $ip.$i &> /dev/null result=$? if [ $result -eq 0 ];then echo -e "\033[32m $ip.$i \033[0m" else echo -e "\033[31m $ip.$i \033[0m" fi done
7、詳細描述每個網絡接口的配置文件中各個參數的含義和其所對應的值;
網卡配置文件`/etc/sysconfig/network-scripts/ifcfg-網卡名` DEVICE #網卡名 BOOTPROTO #ip地址分配方式:dhcp、static HWADDR #MAC地址 NM_CONTROLLED=yes #network manager參數 ONBOOT= #網卡是否開機激活 TYPE= #網絡類型 IPV6INIT=no #禁止IPV6 USERCTL=no #是否允許非root用戶控制該設備,為no,只能root用戶更改 IPADDR= #IP ADDR GATEWAY= #gateway地址 NETMASK= #掩碼 DNS1= #dns1地址 DNS2= #dns2地址
8、如何給網絡接口配置多個地址,有哪些方式?
A.ifconfig eth0 IP/mask B.ip addr add IP device eth0 C.Linux網絡屬性配置的tui(text user interface):system-config-network-tui D.使用setup圖形界面設置
9、常用的網絡管理類工具有哪些,并用示例形式描述他們的使用方法。
netstat
netstat -tan #查看當前系統網絡連接情況 -t tcp協議相關連接 -u udp協議相關連接 -l 監聽狀態的連接 -a 所有連接 -n 以數字顯示ip和端口
route
route [-nee] -n 以數字顯示ip和端口 -ee 顯示詳細信息 route add [-net|-host] [網域或主機] netmask [mask] [gw|dev] [root@itop ~]# route add -host 192.168.100.20 netmask 255.255.255.0 dev eth0 route del [-net|-host] [網域或主機] netmask [mask] [gw|dev] [root@itop ~]# route del -net 169.254.0.0 netmask 255.255.0.0 dev eth0
ss
[root@itop ~]# ss -tnl #與netstat類似,數據量較大時ss更有優勢
ifconfig
ifconfig 設備名稱 up|down up 啟動指定網絡設備/網卡。 down 關閉指定網絡設備/網卡。 ifconfig 設備名稱 ip地址 #配置設備ip地址 ifconfig 設備名稱 mtu <字節數> 設置網卡的最大傳輸單元 (bytes)
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
11、如何使用發行版光盤作為yum repository,請描述該過程。
[root@itop ~]#mount /dev/cdrom /mnt [root@itop ~]#vim /etc/yum.repos.d/local.repo [local] name=local_repo baseurl=file:///mnt enabled=1 gpgcheck=0 [root@itop ~]#yum clean all [root@itop ~]#yum makecache
12、寫一個腳本,完成以下功能
(1) 假設某目錄(/etc/rc.d/rc3.d/)下分別有K開頭的文件和S開頭的文件若干;
(2) 顯示所有以K開頭的文件的文件名,并且給其附加一個stop字符串;
(3) 顯示所有以S開頭的文件的文件名,并且給其附加一個start字符串;
(4) 分別統計S開頭和K開頭的文件各有多少;
#!/bin/bash # declare -i s=0 declare -i k=0 for i in `ls /etc/rc.d/rc3.d | grep "^S"`;do echo "$i start" let s++ done for i in `ls /etc/rc.d/rc3.d | grep "^K"`;do echo "$i stop" let k++ done echo "K開頭的文件有$k個!" echo "S開頭的文件有$s個!"
13、寫一個腳本,完成以下功能
(1) 腳本能接受用戶名作為參數;
(2) 計算此些用戶的ID之和;
#!/bin/bash # declare -i idsum=0 if [ $# -le 0 ];then echo "Usage:bash .sh user1 user2 ..." exit 1 fi for i in $*;do if id $i &> /dev/null;then idnum=`grep "$i" /etc/passwd | cut -d: -f3` idsum+=$idnum else echo "$i don't exist " fi done echo "用戶ID之和為$idsum"
14、寫一個腳本
(1) 傳遞一些目錄給此腳本;
(2) 逐個顯示每個目錄的所有一級文件或子目錄的內容類型;
(3) 統計一共有多少個目錄;且一共顯示了多少個文件的內容類型;
#!/bin/bash declare -i D=0 declare -i F=0 if [ $# -le 0 ];then echo "Usage:bash .sh directory|file ..." exit 1 fi for d in $@ do for i in `ls $d` do if [ ! -e $i ]; then echo "$i No such file!" continue elif [ -d $i ]; then echo "$i is type directory!" let D++ elif [ -f $i ]; then echo "$i is type file!" let F++ else echo "$i is Other type!" fi done done echo "Directory count is $D" echo "File count is $F"
15、寫一個腳本
通過命令行傳遞一個參數給腳本,參數為用戶名
如果用戶的id號大于等于500,則顯示此用戶為普通用戶;
#!/bin/bash # if [ $# -lt 1 ];then echo "Userage:bash.sh user1 user2 ..." exit 1 fi for i in $*;do if id $i &> /dev/null;then idnum=`grep "$i" /etc/passwd | cut -d: -f3` if [ $idnum -gt 500 ];then echo "$i user is ordinary user." else echo "$i is system user." fi else echo "$i don't exist" fi done
16、寫一個腳本
(1) 添加10用戶user1-user10;密碼同用戶名;
(2) 用戶不存在時才添加;存在時則跳過;
(3) 最后顯示本次共添加了多少用戶;
#!/bin/bash for i in {1..10}; do if id user$i &> /dev/null ;then echo "user$i exists." continue 3 else useradd user$i if [ $? -eq 0 ]; then echo "user$i" | passwd --stdin user$i &> /dev/null echo "Add user$i finished." let num++ fi fi done echo "Add $num users."
17、寫一腳本,用ping命令測試172.16.250.20-172.16.250.100以內有哪些主機在線,將在線的顯示出來;
#!/bin/bash # ip='172.16.250' for i in {1..254};do ping -c 5 -w 5 $ip.$i &> /dev/null result=$? if [ $result -eq 0 ];then echo "$ip.$i" fi done
18、打印九九乘法表;
#!/bin/bash for ((i=1;i<=9;i++)){ for((j=1;j<=i;j++));do echo -e -n "$j*$i=$(($i*$j))\t" done echo }
原創文章,作者:N21_郁藍,如若轉載,請注明出處:http://www.www58058.com/42226
博客作業寫得非常的好,32個贊,知識點總結的非常好。^-^