1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與差別。
集線器,又稱HUB,是一個多端口的轉發器,起作用僅僅是對收到的信号的放大和轉發,并不提供任何的其他功能。通過集線器連接配接的終端,都處于同一沖突域中,一旦兩台終端使同時通過同一媒體傳輸資料,會發生沖突。
網橋,二層交換機。這兩個裝置都是工作在資料鍊路層的裝置。網橋就是隻有2個端口的二層交換機。二層交換機,相對于集線器而言,每個端口都是一個獨立的沖突域。因為不同端口之間收發資料,不會受到影響。
三層交換機就是具有部分路由器功能的交換機,三層交換機的最重要目的是加快大型區域網路内部的資料交換。相對二層交換機來說,通過VLAN技術的應用,将一個大的網絡劃分成多個不同的網絡,各個不同VLAN間的通信都要經過三層交換機的路由功能來完成轉發,三層交換機非常适用于大型區域網路内的資料路由與交換,它既可以工作在協定第三層替代或部分完成傳統路由器的功能,同時又具有幾乎第二層交換的速度,且價格相對便宜些。
路由器
路由器工作在OSI體系結構中的網絡層,在多個不同的網絡上之間交換和路由資料資料包。路由器具有判斷網絡位址和選擇IP路徑的功能,能在多網絡互聯環境中,建立靈活的連接配接,可用完全不同的資料分組和媒體通路方法連接配接各種子網,屬于網絡層的裝置。路由器可以隔離沖突域和廣播域。處于不同網絡中的廣播會被隔離,無法傳至另一個網絡中。
2、IP位址的分類有哪些?子網路遮罩的表示形式及其作用
類别
最大網絡數
IP位址範圍
最大主機數
私有IP位址範圍
A
126(2^7-2)
0.0.0.0-127.255.255.255
16777214
10.0.0.0-10.255.255.255
B
16384(2^14)
128.0.0.0-191.255.255.255
65534
172.16.0.0-172.31.255.255
C
2097152(2^21)
192.0.0.0-223.255.255.255
254
192.168.0.0-192.168.255.255
子網路遮罩是一個32位位址,是用來指明一個IP位址的哪些位辨別的是主機所在的子網,以及哪些位辨別的是主機的位掩碼。子網路遮罩不能單獨存在,它必須結合IP位址一起使用。子網路遮罩隻有一個作用,就是将某個IP位址劃分成網絡位址和主機位址兩部分。
3、計算機網絡的分成模型有哪些(OSI模型和TCP/IP模型),每一層的功能及涉及到的實體裝置有哪些。
OSI七層參考模型:
(1)實體層
實體層是OSI參考模型的最低層,傳送資料機關為比特流,實體鍊路可能是銅線、衛星、微波或其他的通訊媒介。定義了資料傳輸的機械、電氣、功能和規程特性。
實體裝置:集線器。
(2)資料鍊路層
資料鍊路層是為網絡層提供服務的,傳送的資料單元為資料幀。資料幀中包含MAC位址、控制碼、資料及校驗碼等資訊。該層的主要作用是通過校驗、确認和回報重發等手段,将不可靠的實體鍊路轉換成對網絡層來說無差錯的資料鍊路。
此外,資料鍊路層還要協調收發雙方的資料傳輸速率,即進行流量控制,以防止接收方因來不及處理發送方來的高速資料而導緻緩沖器溢出及線路阻塞。
實體裝置:網關,二層交換機
(3)網絡層
網絡層是為傳輸層提供服務的,傳送的協定資料單元稱為資料包或分組。該層的主要作用是通過路徑選擇算法将資料包送到目的地。另外,為避免通信子網中出現過多的資料包而造成網絡阻塞,需要對流入的資料包數量進行控制。當資料包要跨越多個通信子網才能到達目的地時,還要解決網際互連的問題。
實體裝置:路由器,三層交換機
(4)傳輸層
傳輸層傳送的資料單元稱為封包。傳輸層的作用是提供端到端的可靠和透明的資料傳輸服務,包括處理差錯控制和流量控制等問題。該層向高層屏蔽了下層資料通信的細節,使高層使用者看到的隻是在兩個傳輸實體間的一條主機到主機的、可由使用者控制和設定的、可靠的資料通路。
(5)會話層
會話層主要功能是管理和協調不同主機上各種程序之間的通信,即負責建立、管理和終止應用程式之間的會話。
(6)表示層
主要提供資料的壓縮和加解密。
(7)應用層
應用層是OSI參考模型的最高層,是使用者與網絡的接口。該層通過應用程式來完成網絡使用者的應用需求,如檔案傳輸、收發電子郵件等。
TCP/IP模型
1. 應用層
應用層對應于OSI參考模型的高層,為使用者提供所需要的各種服務,例如:FTP、Telnet、DNS、SMTP等.
2. 傳輸層
傳輸層對應于OSI參考模型的傳輸層,為應用層實體提供端到端的通信功能,保證了資料包的順序傳送及資料的完整性。該層定義了兩個主要的協定:傳輸控制協定(TCP)和使用者資料報協定(UDP).
TCP協定提供的是一種可靠的、通過“三次握手”來連接配接的資料傳輸服務;而UDP協定提供的則是不保證可靠的(并不是不可靠)、無連接配接的資料傳輸服務.
3. 網際互聯層
網際互聯層對應于OSI參考模型的網絡層,主要解決主機到主機的通信問題。它所包含的協定設計資料包在整個網絡上的邏輯傳輸。注重重新賦予主機一個IP位址來完成對主機的尋址,它還負責資料包在多種網絡中的路由。該層有三個主要協定:網際協定(IP)、網際網路組管理協定(IGMP)和網際網路控制封包協定(ICMP)。
IP協定是網際互聯層最重要的協定,它提供的是一個可靠、無連接配接的資料報傳遞服務。
4. 網絡接入層(即主機-網絡層)
網絡接入層與OSI參考模型中的實體層和資料鍊路層相對應。它負責監視資料在主機和網絡之間的交換。事實上,TCP/IP本身并未定義該層的協定,而由參與互連的各網絡使用自己的實體層和資料鍊路層協定,然後與TCP/IP的網絡接入層進行連接配接。位址解析協定(ARP)工作在此層,即OSI參考模型的資料鍊路層。
4、如何将Linux主機接入到TCP/IP網絡,請描述詳細的步驟。(手動指定的方式)
步驟1:編輯網卡配置檔案,對于centos6來說,在/etc/sysconfig/network-scripts/ifcfg-eth0(centos6與centos7下網卡的指令方式有很差別)
步驟2:修改主要的配置資訊,包括位址配置協定,IP位址,子網路遮罩,DNS伺服器,網關等
步驟3:重新開機network服務
步驟4:通過ifconfig 網卡名稱 檢視網卡是否配置成功。ping對應網關,網際網路ip,域名.驗證網絡是否聯通。
5、為Linux主機配置網絡資訊的方式有哪些,請描述各個過程。
方法1:
ifconfig #該方法即将被淘汰!
ifconfig dev IPaddress
例子: ifconfig eth0 192.168.230.116
方法2:
ip addr
ip addr add IPaddress dev 裝置名 [裝置标簽]
例子: ip addr addr 192.168.230.116/26 dev eth0 #子網路遮罩不可省略!
方法3:
直接編輯網卡對應的配置檔案
vim /etc/sysconfig/network-scripts/ifcfg-eth0
方法4:
通過setup圖形化界面編輯網絡配置資訊
6、寫一個腳本,使用ping指令探測172.16.250.1-172.16.250.254之間的所有主機的線上狀态;
線上的主機使用綠色顯示;
不線上的主使用紅色顯示;
echo的顔色控制
echo -e "\033[30m 黑色字 \033[0m"
echo -e "\033[31m 紅色字 \033[0m"
echo -e "\033[32m 綠色字 \033[0m"
echo -e "\033[33m ×××字 \033[0m"
echo -e "\033[34m 藍色字 \033[0m"
echo -e "\033[35m 紫色字 \033[0m"
echo -e "\033[36m 天藍字 \033[0m"
echo -e "\033[37m 白色字 \033[0m"
echo -e "\033[40;37m 黑底白字 \033[0m"
echo -e "\033[41;37m 紅底白字 \033[0m"
echo -e "\033[42;37m 綠底白字 \033[0m"
echo -e "\033[43;37m 黃底白字 \033[0m"
echo -e "\033[44;37m 藍底白字 \033[0m"
echo -e "\033[45;37m 紫底白字 \033[0m"
echo -e "\033[46;37m 天藍底白字 \033[0m"
echo -e "\033[47;30m 白底黑字 \033[0m"
7、較長的描述每個網絡接口的配置檔案中各個參數的含義和其所對應的值;
網卡配置檔案 ,對centos6來說,在/etc/sysconfig/network-scripts-ifcfg-eth0
CentOS 6.5下編輯網卡配置檔案
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #網卡裝置的名稱
TYPE=Ethernet #網卡的類型
ONBOOT=yes #是否開機啟動激活該網卡
NM_CONTROLLED=yes #該網卡是否接受network manager的控制,建議為no.
BOOTPROTO=none #網卡啟動使用的位址配置協定,可以為none,static,dhcp
HWADDR=00:0c:29:42:ff:92 #網卡的mac位址
IPADDR=192.168.230.116 #網卡的ip位址
NETMASK=255.255.255.192 #網卡的子網路遮罩
GATEWAY=192.168.230.65 #網卡的網關
DNS1=202.101.224.69 #網卡的DNS位址
USERCTL=no #是否允許普通使用者控制網卡
PEERDNS=yes #ONBOOT為dhcp的情況下,dhcp配置設定的dns伺服器資訊覆寫/etc/resolve.conf檔案
CentOS 7.2下編輯網卡配置檔案
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
TYPE="Ethernet" #網卡類型
BOOTPROTO="none" #網卡啟動使用的位址配置協定,可以為none,static,dhcp
DEFROUTE="yes" #是否啟用預設路由
UUID="d623db07-b48b-4a06-a117-e0128039d2f1" #網卡唯一辨別符
DEVICE="eno16777736" #網卡裝置名稱
ONBOOT="yes" #開機是否激活網卡
IPADDR="192.168.230.117" #網卡IP位址
PREFIX="26" #網卡子網路遮罩
GATEWAY="192.168.230.65" #網卡的網關位址
DNS1="192.168.229.201" #網卡的DNS位址
8、如何給網絡接口配置多個位址,有哪些方式?
方法1:ifconfig
例子: ifconfig eth0 add 192.168.230.116
方法2: ip addr
例子: ip addr 192.168.230.116/26 dev eth0
9、常用的網絡管理類工具有哪些,并用示例形式描述他們的使用方法。
ping
ping 發送icmp資料包到指定主機
-c 指定發送包的次數
-i 指定發送包的間隔(秒)
-s 指定發送包的大小(位元組)
-w 指明逾時時間
例子:
ping -c 3 -i 5 -s 640 #向百度每隔5秒發送大小為648位元組(含8位元組head資料)的資料包,共發送3次
netstat 列印網絡連接配接,路由表,接口統計,虛拟連接配接,多路廣播
用法:-ntup 或者–ano
-n 用數字化的位址取代主機,端口或者使用者資訊
-t tcp協定
-u udp協定
-l listening 監聽端口
-p program 顯示程序号和程序對象
-r --route 顯示路由表
-I 顯示接口統計資料
ss 性能上優于netstat
用法: ss [option ]….[filter]
-t tcp
-u udp
-r 裸套接字
-x unix sock相關
-a 所有
-n 數字格式
-l listening
-m 記憶體容量
-p 顯示程序使用的套接字
fliter := [ state TCP-STATE ][EXPRESSION]
例子: ss –tan state established
‘(dport = :22 or sport= :22 )’
ss -lntp '( sport = :3306 )'
10、Linux系統軟體包管理方法(安裝、更新、解除安裝等操作)有哪些,以及如何管理的。
方法1:通過rpm來實作
RPM安裝
rpm {-i|–install}[install-options] PACKAGE_FILE
install-option包括
–test:測試安裝,但不真正執行安裝過程;dry run模式;
–nodeps:忽略依賴關系;
–replacepkgs: 重新安裝;
–nosignature: 不檢查來源合法性;
–nodigest:不檢查包完整性;
–noscipts:不執行程式包腳本片斷;
%pre: 安裝前腳本; –nopre
%post: 安裝後腳本; –nopost
%preun: 解除安裝前腳本; –nopreun
%postun: 解除安裝後腳本;–nopostun
-ivh --install--verbose—hash
-U 更新軟體包(如軟體包未安裝,則安裝)
-F 更新軟體包(如軟體包未安裝,則不執行任何操作)
-V 軟體包驗證
RPM更新:
rpm {-U|–upgrade} [install-options] PACKAGE_FILE …
rpm {-F|–freshen} [install-options] PACKAGE_FILE …
一般我們會使用 rpm –Uvh rpm_file的指令進行安裝
–upgrage:安裝有舊版程式包,則“更新”;如果不存在舊版程式包,則“安裝”;
–freeshen:安裝有舊版程式包,則“更新”;如果不存在舊版程式包,則不執行更新操作;
–oldpackage:降級;
–force: 強行更新;
RPM查詢:
rpm {-q|–query} [select-options] [query-options]
-qa 查詢已經安裝的軟體包
-qf 查詢可執行的指令來源于哪個軟體包 rpm –qf /bin/ls
-q--whatprovides CAPABILITY:查詢指定的CAPABILITY由哪個包所提供,功能同-qf
-q --whatrequiresCAPABILITY:查詢指定的CAPABILITY被哪個包所依賴;
-qi 查詢軟體包的詳細資訊
-qc 查詢軟體包的配置檔案資訊
-qd 查詢軟體包的幫助文檔
-ql 查詢軟體包建立的所有檔案
RPM解除安裝:
rpm {-e|–erase}[–allmatches] [–nodeps] [–noscripts]
[–notriggers] [–test] PACKAGE_NAME …
rpm -e zsh-4.3.10-7.el6.x86_64 可以隻填zsh完成解除安裝,但是安裝時必須填寫完整的軟體包的名字。
方法2:通過yum來實作
yum install httpd 安裝軟體包
yum remove httpd 解除安裝軟體,保留配置檔案和資料檔案
yum erase httpd 解除安裝軟體及所有資料
yum repolist 檢視系統從什麼倉庫擷取軟體包
11、如何使用發行版CD光牒作為yum repository,請描述該過程。
12、寫一個腳本,完成以下功能
(1) 假設某目錄(/etc/rc.d/rc3.d/)下分别有K開頭的檔案和S開頭的檔案若幹;
(2) 顯示所有以K開頭的檔案的檔案名,并且給其附加一個stop字元串;
(3) 顯示所有以S開頭的檔案的檔案名,并且給其附加一個start字元串;
(4) 分别統計S開頭和K開頭的檔案各有多少;
13、寫一個腳本,完成以下功
(1) 腳本能接受使用者名作為參數;
(2) 計算此些使用者的ID之和;
14、寫一個腳本
(1) 傳遞一些目錄給此腳本;
(2) 逐個顯示每個目錄的所有一級檔案或子目錄的内容類型;
(3) 統計一共有多少個目錄;且一共顯示了多少個檔案的内容類型;
15、寫一個腳本
通過指令行傳遞一個參數給腳本,參數為使用者名
如果使用者的id号大于等于500,則顯示此使用者為普通使用者;
16、寫一個腳本
(1) 添加10使用者user1-user10;密碼同使用者名;
(2) 使用者不存在時才添加;存在時則跳過;
(3) 最後顯示本次共添加了多少使用者;
17、寫一腳本,用ping指令測試172.16.250.20-172.16.250.100以内有哪些主機線上,将線上的顯示出來;
18、列印九九乘法表;