你想要的Linux運維網(wǎng)絡(luò)部分面試題庫就在這里啦
一必逆、三次握手四次揮手
1.1 為什么連接的時候是三次握手名眉,關(guān)閉的時候卻是四次握手?
答:因為當(dāng)Server端收到Client端的SYN連接請求報文后损拢,可以直接發(fā)送SYN+ACK報文探橱。其中ACK報文是用來應(yīng)答的隧膏,SYN報文是用來同步的胞枕。但是關(guān)閉連接時魏宽,當(dāng)Server端收到FIN報文時队询,很可能并不會立即關(guān)閉SOCKET蚌斩,所以只能先回復(fù)一個ACK報文,告訴Client端丑蛤,"你發(fā)的FIN報文我收到了"撕阎。只有等到我Server端所有的報文都發(fā)送完了虏束,我才能發(fā)送FIN報文魄眉,因此不能一起發(fā)送坑律。故需要四步握手。
1.2為什么TIME_WAIT狀態(tài)需要經(jīng)過2MSL(最大報文段生存時間)才能返回到CLOSE狀態(tài)冀值?
MSL(MaximumSegment Lifetime)列疗,TCP允許不同的實現(xiàn)可以設(shè)置不同的MSL值抵栈。
第一古劲,保證客戶端發(fā)送的最后一個ACK報文能夠到達(dá)服務(wù)器产艾,因為這個ACK報文可能丟失滑绒,站在服務(wù)器的角度看來疑故,我已經(jīng)發(fā)送了FIN+ACK報文請求斷開了纵势,客戶端還沒有給我回應(yīng),應(yīng)該是我發(fā)送的請求斷開報文它沒有收到蹋嵌,于是服務(wù)器又會重新發(fā)送一次栽烂,而客戶端就能在這個2MSL時間段內(nèi)收到這個重傳的報文恋脚,接著給出回應(yīng)報文糟描,并且會重啟2MSL計時器船响。
第二见间,防止類似與“三次握手”中提到了的“已經(jīng)失效的連接請求報文段”出現(xiàn)在本連接中米诉∈仿拢客戶端發(fā)送完最后一個確認(rèn)報文后,在這個2MSL時間中蚪腐,就可以使本連接持續(xù)的時間內(nèi)所產(chǎn)生的所有報文段都從網(wǎng)絡(luò)中消失。這樣新的連接中不會出現(xiàn)舊連接的請求報文掉房。
1.3 為什么建立連接是三次握手卓囚,關(guān)閉連接確是四次揮手呢哪亿?
建立連接的時候蝇棉,服務(wù)器在LISTEN狀態(tài)下篡殷,收到建立連接請求的SYN報文后板辽,把ACK和SYN放在一個報文里發(fā)送給客戶端劲弦。而關(guān)閉連接時,服務(wù)器收到對方的FIN報文時次坡,僅僅表示對方不再發(fā)送數(shù)據(jù)了但是還能接收數(shù)據(jù)贸毕,而自己也未必全部數(shù)據(jù)都發(fā)送給對方了明棍,所以己方可以立即關(guān)閉摊腋,也可以發(fā)送一些數(shù)據(jù)給對方后兴蒸,再發(fā)送FIN報文給對方來表示同意現(xiàn)在關(guān)閉連接橙凳,因此岛啸,己方ACK和FIN一般都會分開發(fā)送坚踩,從而導(dǎo)致多了一次瞬铸。
1.4 為什么不能用兩次握手進(jìn)行連接嗓节?
答:3次握手完成兩個重要的功能赦政,既要雙方做好發(fā)送數(shù)據(jù)的準(zhǔn)備工作(雙方都知道彼此已準(zhǔn)備好)恢着,也要允許雙方就初始序列號進(jìn)行協(xié)商掰派,這個序列號在握手過程中被發(fā)送和確認(rèn)靡羡。
現(xiàn)在把三次握手改成僅需要兩次握手略步,死鎖是可能發(fā)生的趟薄。作為例子杭煎,考慮計算機(jī)S和C之間的通信羡铲,假定C給S發(fā)送一個連接請求分組也切,S收到了這個分組雷恃,并發(fā)送了確認(rèn)應(yīng)答分組褂萧。按照兩次握手的協(xié)定导犹,S認(rèn)為連接已經(jīng)成功地建立了谎痢,可以開始發(fā)送數(shù)據(jù)分組节猿”踔觯可是太雨,C在S的應(yīng)答分組在傳輸中被丟失的情況下囊扳,將不知道S是否已準(zhǔn)備好锥咸,不知道S建立什么樣的序列號搏予,C甚至懷疑S是否收到自己的連接請求分組缔刹。在這種情況下校镐,C認(rèn)為連接還未建立成功鸟廓,將忽略S發(fā)來的任何數(shù)據(jù)分組引谜,只等待連接確認(rèn)應(yīng)答分組员咽。而S在發(fā)出的分組超時后贝室,重復(fù)發(fā)送同樣的分組。這樣就形成了死鎖唤冈。
1.5 如果已經(jīng)建立了連接,但是客戶端突然出現(xiàn)故障了怎么辦傅物?
TCP還設(shè)有一個保活計時器琉预,顯然挟伙,客戶端如果出現(xiàn)故障,服務(wù)器不能一直等下去模孩,白白浪費資源尖阔。服務(wù)器每收到一次客戶端的請求后都會重新復(fù)位這個計時器,時間通常是設(shè)置為2小時榨咐,若兩小時還沒有收到客戶端的任何數(shù)據(jù),服務(wù)器就會發(fā)送一個探測報文段块茁,以后每隔75分鐘發(fā)送一次齿坷。若一連發(fā)送10個探測報文仍然沒反應(yīng),服務(wù)器就認(rèn)為客戶端出了故障,接著就關(guān)閉連接。
1.6 為什么要三次握手健爬?
保證可靠的核心就是雙方都需要確認(rèn)自己發(fā)送和接受信息的功能正常,但因為網(wǎng)絡(luò)環(huán)境的不穩(wěn)定性,這一秒能收發(fā)下一秒可能網(wǎng)絡(luò)核心就發(fā)生嚴(yán)重?fù)砣?所以世界上不存在完全可靠的通信協(xié)議.兩次握手會怎樣?若建立連接只需兩次握手,客戶端并沒有太大的變化遂蛀,在獲得服務(wù)端的應(yīng)答后進(jìn)入ESTABLISHED狀態(tài),即確認(rèn)自己的發(fā)送和接受信息的功能正常.但如果服務(wù)端在收到連接請求后就進(jìn)入ESTABLISHED狀態(tài),不能保證客戶端能收到自己的信息,此時如果網(wǎng)絡(luò)擁塞干厚,客戶端發(fā)送的連接請求遲遲到不了服務(wù)端李滴,客戶端便超時重發(fā)請求,如果服務(wù)端正確接收并確認(rèn)應(yīng)答蛮瞄,雙方便開始通信所坯,通信結(jié)束后釋放連接。此時挂捅,如果那個失效的連接請求抵達(dá)了服務(wù)端芹助,由于只有兩次握手,服務(wù)端收到請求就會進(jìn)入ESTABLISHED狀態(tài),等待發(fā)送數(shù)據(jù)或主動發(fā)送數(shù)據(jù)状土。但此時的客戶端早已進(jìn)入CLOSED狀態(tài)苗缩,服務(wù)端將會一直等待下去,這樣浪費服務(wù)端連接資源声诸。
1.7 為什么要四次揮手?
TCP連接的釋放一共需要四步,因此稱為『四次揮手』.我們知道,TCP連接是雙向的,因此在四次揮手中,前兩次揮手用于斷開一個方向的連接退盯,后兩次揮手用于斷開另一方向的連接彼乌。
第一次揮手:
若A認(rèn)為數(shù)據(jù)發(fā)送完成,則它需要向B發(fā)送連接釋放請求.該請求只有報文頭,頭中攜帶的主要參數(shù)為:FIN=1,seq=u.此時,A將進(jìn)入FIN-WAIT-1狀態(tài)。
1渊迁,F(xiàn)IN=1表示該報文段是一個連接釋放請求.
2慰照,seq=u,u-1是A向B發(fā)送的最后一個字節(jié)的序號.
第二次揮手:
B收到連接釋放請求后,會通知相應(yīng)的應(yīng)用程序,告訴它A向B這個方向的連接已經(jīng)釋放.此時B進(jìn)入CLOSE-WAIT狀態(tài),并向A發(fā)送連接釋放的應(yīng)答,其報文頭包含:ACK=1,seq=v,ack=u+1.
ACK=1:除TCP連接請求報文段以外,TCP通信過程中所有數(shù)據(jù)報的ACK都為1,表示應(yīng)答.
1琉朽,seq=v毒租,v-1是B向A發(fā)送的最后一個字節(jié)的序號.
2,ack=u+1表示希望收到從第u+1個字節(jié)開始的報文段,并且已經(jīng)成功接收了前u個字節(jié).A收到該應(yīng)答,進(jìn)入FIN-WAIT-2狀態(tài),等待B發(fā)送連接釋放請求.
第二次揮手完成后箱叁,A到B方向的連接已經(jīng)釋放墅垮,B不會再接收數(shù)據(jù),A也不會再發(fā)送數(shù)據(jù)耕漱。但B到A方向的連接仍然存在算色,B可以繼續(xù)向A發(fā)送數(shù)據(jù)。
第三次揮手:
當(dāng)B向A發(fā)完所有數(shù)據(jù)后,向A發(fā)送連接釋放請求,請求頭中包含:
FIN=1,ACK=1,seq=w,ack=u+1.隨后B進(jìn)入LAST-ACK狀態(tài).
第四次揮手:
A收到釋放請求后,向B發(fā)送確認(rèn)應(yīng)答,此時A進(jìn)入TIME-WAIT狀態(tài).該狀態(tài)會持續(xù)2MSL時間,若該時間段內(nèi)沒有B的重發(fā)請求的話,就進(jìn)入CLOSED狀態(tài),撤銷TCB.當(dāng)B收到確認(rèn)應(yīng)答后,也便進(jìn)入CLOSED狀態(tài),撤銷TCB螟够。
1.8 為什么TCP客戶端最后還要發(fā)送一次確認(rèn)呢灾梦?
一句話,主要防止已經(jīng)失效的連接請求報文突然又傳送到了服務(wù)器妓笙,從而產(chǎn)生錯誤若河。
如果使用的是兩次握手建立連接,假設(shè)有這樣一種場景寞宫,客戶端發(fā)送了第一個請求連接并且沒有丟失萧福,只是因為在網(wǎng)絡(luò)結(jié)點中滯留的時間太長了,由于TCP的客戶端遲遲沒有收到確認(rèn)報文辈赋,以為服務(wù)器沒有收到统锤,此時重新向服務(wù)器發(fā)送這條報文,此后客戶端和服務(wù)器經(jīng)過兩次握手完成連接炭庙,傳輸數(shù)據(jù)饲窿,然后關(guān)閉連接。此時此前滯留的那一次請求連接焕蹄,網(wǎng)絡(luò)通暢了到達(dá)了服務(wù)器逾雄,這個報文本該是失效的,但是,兩次握手的機(jī)制將會讓客戶端和服務(wù)器再次建立連接鸦泳,這將導(dǎo)致不必要的錯誤和資源的浪費银锻。
如果采用的是三次握手,就算是那一次失效的報文傳送過來了做鹰,服務(wù)端接受到了那條失效報文并且回復(fù)了確認(rèn)報文击纬,但是客戶端不會再次發(fā)出確認(rèn)。由于服務(wù)器收不到確認(rèn)钾麸,就知道客戶端并沒有請求連接更振。
1.9 簡述TCP三次握手的過程?
答:在TCP/IP協(xié)議中饭尝,TCP協(xié)議提供可靠的連接服務(wù)肯腕,采用三次握手建立一個連接。第一次握手:建立連接時钥平,客戶端發(fā)送syn包(syn=j)到服務(wù)器实撒,并進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器確認(rèn)涉瘾。第二次握手:服務(wù)器收到syn包知态,必須確認(rèn)客戶的SYN(ack=j+1),同時自己也發(fā)送一個SYN包(syn=k)立叛,即SYN+ACK包肴甸,此時服務(wù)器進(jìn)入SYN_RECV狀態(tài)。第三次握手:客戶端收到服務(wù)器的SYN+ACK包囚巴,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1)原在,此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài)彤叉,完成三次握手庶柿。完成三次握手,客戶端與服務(wù)器開始傳送數(shù)據(jù)
簡版:首先A向B發(fā)SYN(同步請求)秽浇,然后B回復(fù)SYN+ACK(同步請求應(yīng)答)浮庐,最后A回復(fù)ACK確認(rèn),這樣TCP的一次連接(三次握手)的過程就建立了柬焕。
三次握手
我們先明確兩個定義:
1审残,client為數(shù)據(jù)發(fā)送方
2,server為數(shù)據(jù)接收方
好斑举,下面進(jìn)行三次握手的總結(jié):
1搅轿,client想要向server發(fā)送數(shù)據(jù),請求連接富玷。這時client想服務(wù)器發(fā)送一個數(shù)據(jù)包璧坟,其中同步位(SYN)被置為1既穆,表明client申請TCP連接,序號為j雀鹃。
2幻工,當(dāng)server接收到了來自client的數(shù)據(jù)包時,解析發(fā)現(xiàn)同步位為1黎茎,便知道client是想要簡歷TCP連接囊颅,于是將當(dāng)前client的IP、端口之類的加入未連接隊列中傅瞻,并向client回復(fù)接受連接請求踢代,想client發(fā)送數(shù)據(jù)包,其中同步位為1俭正,并附帶確認(rèn)位ACK=j+1,表明server已經(jīng)準(zhǔn)備好分配資源了焙畔,并向client發(fā)起連接請求掸读,請求client為建立TCP連接而分配資源。
3宏多,client向server回復(fù)一個ACK儿惫,并分配資源建立連接。server收到這個確認(rèn)時也分配資源進(jìn)行連接的建立伸但。
那么問題來了
為什么需要第三次握手肾请?
第三次握手失敗了怎么辦?
三次握手有什么缺陷可以被黑客利用更胖,用來對服務(wù)器進(jìn)行攻擊铛铁?
怎么防范這種攻擊?
接下來進(jìn)行一一解答却妨。
1.9.1 為什么需要第三次握手饵逐?
答:如果沒有第三次握手,可能會出現(xiàn)如下情況:
如果只有兩次握手彪标,那么server收到了client的SYN=1的請求連接數(shù)據(jù)包之后倍权,便會分配資源并且向client發(fā)送一個確認(rèn)位ACK回復(fù)數(shù)據(jù)包。
那么捞烟,如果在client與server建立連接的過程中薄声,由于網(wǎng)絡(luò)不順暢等原因造成的通信鏈路中存在著殘留數(shù)據(jù)包,即client向server發(fā)送的請求建立連接的數(shù)據(jù)包由于數(shù)據(jù)鏈路的擁塞或者質(zhì)量不佳導(dǎo)致該連接請求數(shù)據(jù)包仍然在網(wǎng)絡(luò)的鏈路中题画,這些殘留數(shù)據(jù)包會造成如下危害
危害:當(dāng)client與server建立連接默辨,數(shù)據(jù)發(fā)送完畢并且關(guān)閉TCP連接之后,如果鏈路中的殘留數(shù)據(jù)包才到達(dá)server苍息,那么server就會認(rèn)為client重新發(fā)送了一次連接申請廓奕,便會回復(fù)ACK包并且分配資源抱婉。并且一直等待client發(fā)送數(shù)據(jù),這就會造成server的資源浪費桌粉。
1.9.2 第三次握手失敗了怎么辦蒸绩?
答:當(dāng)client與server的第三次握手失敗了之后,即client發(fā)送至server的確認(rèn)建立連接報文段未能到達(dá)server铃肯,server在等待client回復(fù)ACK的過程中超時了患亿,那么server會向client發(fā)送一個RTS報文段并進(jìn)入關(guān)閉狀態(tài),即:并不等待client第三次握手的ACK包重傳押逼,直接關(guān)閉連接請求步藕,這主要是為了防止泛洪攻擊,即壞人偽造許多IP向server發(fā)送連接請求挑格,從而將server的未連接隊列塞滿咙冗,浪費server的資源。
1.9.3 三次握手有什么缺陷可以被黑客利用漂彤,用來對服務(wù)器進(jìn)行攻擊雾消?
答:黑客仿造IP大量的向server發(fā)送TCP連接請求報文包,從而將server的半連接隊列(上文所說的未連接隊列挫望,即server收到連接請求SYN之后將client加入半連接隊列中)占滿立润,從而使得server拒絕其他正常的連接請求。即拒絕服務(wù)攻擊
1.9.4 怎么防范這種攻擊媳板?
1桑腮,縮短服務(wù)器接收客戶端SYN報文之后的等待連接時間,即SYNtimeout時間蛉幸,也就是server接收到SYN報文段破讨,到最后放棄此連接請求的超時時間,將SYNtimeout設(shè)置的更低奕纫,便可以成倍的減少server的負(fù)荷添忘,但是過低的SYNtimeout可能會影響正常的TCP連接的建立,一旦網(wǎng)絡(luò)不通暢便可能導(dǎo)致client連接請求失敗
2若锁,SYNcookie + SYN proxy 無縫集成(較好的解決方案)
SYNcookie:當(dāng)server接收到client的SYN之后搁骑,不立即分配資源,而是根據(jù)client發(fā)送過來的SYN包計算出一個cookie值又固,這個cookie值用來存儲server返回給client的SYN+ACK數(shù)據(jù)包中的初始序列號仲器,當(dāng)client返回第三次握手的ACK包之后進(jìn)行校驗,如果校驗成功則server分配資源仰冠,建立連接乏冀。
SYNproxy代理,作為server與client連接的代理洋只,代替server與client建立三次握手的連接辆沦,同時SYNproxy與client建立好了三次握手連接之后昼捍,確保是正常的TCP連接,而不是TCP泛洪攻擊肢扯,那么SYNproxy就與server建立三次握手連接妒茬,作為代理(網(wǎng)關(guān)?)來連通client與server蔚晨。(類似VPN了解一下乍钻。)
二、路由
2.1 填空題铭腕。
- 靜態(tài) 路由設(shè)定后银择,若 網(wǎng)絡(luò) 拓?fù)浣Y(jié)構(gòu)發(fā)生變化,需由系統(tǒng) 管理員 修改路由的 設(shè)置 累舷。
2.網(wǎng)絡(luò)管理的重要任務(wù)是: 控制 和 監(jiān)控 浩考。
3.在安裝Linux系統(tǒng)中,使用 netconfig 程序?qū)W(wǎng)絡(luò)進(jìn)行配置被盈,該安裝程序會一步步提示用戶輸入 主機(jī)名 析孽、 域名 、 域名服務(wù)器 害捕、 IP地址 绿淋、 網(wǎng)關(guān)地址 和 子網(wǎng)掩碼 等必要信息闷畸。
RIP 協(xié)議是最為普遍的一種內(nèi)部協(xié)議尝盼,一般稱為動態(tài)路由信息協(xié)議。
DHCP 可以實現(xiàn)動態(tài)IP地址分配佑菩。
6.網(wǎng)絡(luò)管理通常由 監(jiān)測 盾沫、 傳輸 和 管理 三部分組成,其中 管理部分 是整個網(wǎng)絡(luò)管理的中心殿漠。
- Ping 命令可以測試網(wǎng)絡(luò)中本機(jī)系統(tǒng)是否能到達(dá)一臺遠(yuǎn)程主機(jī)赴精,所以常常用于 測試網(wǎng)絡(luò)的連通性 。
8.進(jìn)行遠(yuǎn)程登錄的命令是 telnet 绞幌。
9.DHCP是動態(tài)主機(jī)配置協(xié)議的簡稱蕾哟,其作用是: 為網(wǎng)絡(luò)中的主機(jī)分配IP 地址。
10.路由選擇協(xié)議(RIP)的跳數(shù)表示到達(dá)目的地之前必須通過的網(wǎng)關(guān)數(shù)莲蜘,RIP接受的最長距離是 15 跳谭确。
11.ping命令用于測試網(wǎng)絡(luò)的連通性,ping命令通過 ICMP 協(xié)議(internet控制信息協(xié)議)來實現(xiàn)票渠。
2.2 選擇題逐哈。
12.下面的網(wǎng)絡(luò)協(xié)議中,面向連接的的協(xié)議是: A 问顷。
A 傳輸控制協(xié)議
B 用戶數(shù)據(jù)報協(xié)議
C 網(wǎng)際協(xié)議
D 網(wǎng)際控制報文協(xié)議
13.一臺主機(jī)要實現(xiàn)通過局域網(wǎng)與另一個局域網(wǎng)通信昂秃,需要做的工作是 C 禀梳。
A 配置域名服務(wù)器
B 定義一條本機(jī)指向所在網(wǎng)絡(luò)的路由
C 定義一條本機(jī)指向所在網(wǎng)絡(luò)網(wǎng)關(guān)的路由
D 定義一條本機(jī)指向目標(biāo)網(wǎng)絡(luò)網(wǎng)關(guān)的路由
14.局域網(wǎng)的網(wǎng)絡(luò)地址192.168.1.0/24,局域網(wǎng)絡(luò)連接其它網(wǎng)絡(luò)的網(wǎng)關(guān)地址是192.168.1.1肠骆。主機(jī)192.168.1.20訪問172.16.1.0/24網(wǎng)絡(luò)時算途,其路由設(shè)置正確的是 B 。
A route add –net 192.168.1.0 gw 192.168.1.1 netmask 255.255.255.0metric1
B route add –net 172.16.1.0 gw 192.168.1.1 netmask 255.255.255.255metric1
C route add –net 172.16.1.0 gw 172.16.1.1 netmask 255.255.255.0metric 1
D route add default 192.168.1.0 netmask 172.168.1.1 metric 1
15.下列提法中哗戈,不屬于ifconfig命令作用范圍的是 D 郊艘。
A 配置本地回環(huán)地址
B 配置網(wǎng)卡的IP地址
C 激活網(wǎng)絡(luò)適配器
D 加載網(wǎng)卡到內(nèi)核中
16.在局域網(wǎng)絡(luò)內(nèi)的某臺主機(jī)用ping 命令測試網(wǎng)絡(luò)連接時發(fā)現(xiàn)網(wǎng)絡(luò)內(nèi)部的主機(jī)都可以連同,而不能與公網(wǎng)連通唯咬,問題可能是 C 纱注。
A 主機(jī)IP設(shè)置有誤
B 沒有設(shè)置連接局域網(wǎng)的網(wǎng)關(guān)
C 局域網(wǎng)的網(wǎng)關(guān)或主機(jī)的網(wǎng)關(guān)設(shè)置有誤
D 局域網(wǎng)DNS服務(wù)器設(shè)置有誤
17.下列文件中,包含了主機(jī)名到IP 地址的映射關(guān)系的文件是: B 胆胰。
A /etc/HOSTNAME
B /etc/hosts
C /etc/resolv.conf
D /etc/networks
18.在TCP/IP 模型中狞贱,應(yīng)用層包含了所有的高層協(xié)議,在下列的一些應(yīng)用協(xié)議中蜀涨, B 是能夠?qū)崿F(xiàn)本地與遠(yuǎn)程主機(jī)之間的文件傳輸工作瞎嬉。
A telnet
B FTP
C SNMP
D NFS
19.當(dāng)我們與某遠(yuǎn)程網(wǎng)絡(luò)連接不上時,就需要跟蹤路由查看厚柳,以便了解在網(wǎng)絡(luò)的什么位置出現(xiàn)了問題氧枣,滿足該目的的命令是 C 。
A ping
B ifconfig
C traceroute
D netstat
20.DNS域名系統(tǒng)主要負(fù)責(zé)主機(jī)名和 A 之間的解析别垮。
A IP地址
B MAC地址
C 網(wǎng)絡(luò)地址
D 主機(jī)別名
21.WWW服務(wù)器是在Internet上使用最為廣泛便监,它采用的是 B 結(jié)構(gòu)。
A 服務(wù)器/工作站
B B/S
C 集中式
D 分布式
22.網(wǎng)絡(luò)管理具備以下幾大功能:配置管理碳想、 A 烧董、性能管理、安全管理和計費管理等胧奔。
A 故障管理
B 日常備份管理
C 升級管理
D 發(fā)送郵件
23.關(guān)于代理服務(wù)器的論述逊移,正確的是 A 。
A 使用internet 上已有的公開代理服務(wù)器龙填,只需配置客戶端胳泉。
B 代理服務(wù)器只能代理客戶端http 的請求。
C 設(shè)置好的代理服務(wù)器可以被網(wǎng)絡(luò)上任何主機(jī)使用岩遗。
D 使用代理服務(wù)器的客戶端沒有自己的ip 地址扇商。
24.實現(xiàn)從IP地址到以太網(wǎng)MAC地址轉(zhuǎn)換的命令為: C 。
A ping
B ifconfig
C arp
D traceroute
25.在DNS系統(tǒng)測試時喘先,設(shè)named進(jìn)程號是53钳吟,命令 D 通知進(jìn)程重讀配置文件。
A kill –USR2 53
B kill –USR1 53
C kill -INT 63
D kill –HUP 53
26.在DNS配置文件中窘拯,用于表示某主機(jī)別名的是: B 红且。
A NS
B CNAME
C NAME
D CN
27.為保證在啟動服務(wù)器時自動啟動DHCP 進(jìn)程坝茎,應(yīng)對 B 文件進(jìn)行編輯。
A /etc/rc.d/rc.inet2
B /etc/rc.d/rc.inet1
C /etc/dhcpd.conf
D /etc/rc.d/rc.S
2.3 簡答題暇番。
28.寫一條192.168.10.0網(wǎng)段從網(wǎng)關(guān)192.168.9.1出去的路由
答:routeadd -net 192.168.10.0/24gw 192.168.9.1
29.給主機(jī)host:172.16.0.2增加gateway10.0.0.1
答:routeadd 172.16.0.2 gw 10.0.0.1或者網(wǎng)卡配置文件更改
30.網(wǎng)站出現(xiàn)500,502,400,403,404都是什么意思嗤放,怎么排查和解決
答:500:服務(wù)器內(nèi)部錯誤,因為服務(wù)器上的程序?qū)懙挠袉栴}壁酬,需要打開錯誤日志次酌,查看日志,分析錯誤信息舆乔。
502:網(wǎng)關(guān)錯誤岳服,服務(wù)器作為網(wǎng)關(guān)或代理,從上游服務(wù)器收到無效響應(yīng)希俩。Nginx出現(xiàn)最多吊宋,出現(xiàn)502要么是nginx配置的不對,要么是php-fpm資源不夠颜武,可以分析php-fpm的慢執(zhí)行日志璃搜,優(yōu)化php-fpm的執(zhí)行速度。
400:錯誤請求鳞上,服務(wù)器不理解請求的語法这吻。這可能是用戶發(fā)起的請求不合理,需要檢查客戶端的請求篙议。
403:服務(wù)器拒絕請求唾糯。檢查服務(wù)器配置,是不是對客戶端做了限制涡上。
404:未找到請求的資源趾断。檢查服務(wù)器上是否存在請求的資源拒名,看是否是配置問題吩愧。
31.TCP有哪些了解,TCP連接狀態(tài)中“TIME_WAIT”是什么意思增显,影響什么雁佳?
答:關(guān)于tcp有點復(fù)雜,直接上圖吧同云,更直觀
狀態(tài)描述:
CLOSED:這個沒什么好說的了糖权,表示初始狀態(tài)。
LISTEN:這個也是非常容易理解的一個狀態(tài)炸站,表示服務(wù)器端的某個SOCKET處于監(jiān)聽狀態(tài)星澳,可以接受連接了。
SYN_RCVD:這個狀態(tài)表示接受到了SYN報文旱易,在正常情況下禁偎,這個狀態(tài)是服務(wù)器端的SOCKET在建立TCP連接時的三次握手會話過程中的一個中間狀態(tài)腿堤,很短暫,基本上用netstat你是很難看到這種狀態(tài)的如暖,除非你特意寫了一個客戶端測試程序笆檀,故意將三次TCP握手過程中最后一個ACK報文不予發(fā)送。因此這種狀態(tài)時盒至,當(dāng)收到客戶端的ACK報文后酗洒,它會進(jìn)入到ESTABLISHED狀態(tài)。
SYN_SENT:這個狀態(tài)與SYN_RCVD遙想呼應(yīng)枷遂,當(dāng)客戶端SOCKET執(zhí)行CONNECT連接時樱衷,它首先發(fā)送SYN報文,因此也隨即它會進(jìn)入到了SYN_SENT狀態(tài)酒唉,并等待服務(wù)端的發(fā)送三次握手中的第2個報文箫老。SYN_SENT狀態(tài)表示客戶端已發(fā)送SYN報文。
ESTABLISHED:這個容易理解了黔州,表示連接已經(jīng)建立了耍鬓。
FIN_WAIT_1:這個狀態(tài)要好好解釋一下,其實FIN_WAIT_1和FIN_WAIT_2狀態(tài)的真正含義都是表示等待對方的FIN報文流妻。而這兩種狀態(tài)的區(qū)別是:FIN_WAIT_1狀態(tài)實際上是當(dāng)SOCKET在ESTABLISHED狀態(tài)時牲蜀,它想主動關(guān)閉連接,向?qū)Ψ桨l(fā)送了FIN報文绅这,此時該SOCKET即進(jìn)入到FIN_WAIT_1狀態(tài)涣达。而當(dāng)對方回應(yīng)ACK報文后,則進(jìn)入到FIN_WAIT_2狀態(tài)证薇,當(dāng)然在實際的正常情況下度苔,無論對方何種情況下,都應(yīng)該馬上回應(yīng)ACK報文浑度,所以FIN_WAIT_1狀態(tài)一般是比較難見到的寇窑,而FIN_WAIT_2狀態(tài)還有時常常可以用netstat看到箩张。
FIN_WAIT_2:上面已經(jīng)詳細(xì)解釋了這種狀態(tài)甩骏,實際上FIN_WAIT_2狀態(tài)下的SOCKET,表示半連接先慷,也即有一方要求close連接饮笛,但另外還告訴對方,我暫時還有點數(shù)據(jù)需要傳送給你论熙,稍后再關(guān)閉連接福青。
TIME_WAIT:表示收到了對方的FIN報文,并發(fā)送出了ACK報文,就等2MSL后即可回到CLOSED可用狀態(tài)了无午。如果FIN_WAIT_1狀態(tài)下二蓝,收到了對方同時帶FIN標(biāo)志和ACK標(biāo)志的報文時,可以直接進(jìn)入到TIME_WAIT狀態(tài)指厌,而無須經(jīng)過FIN_WAIT_2狀態(tài)刊愚。
CLOSING:這種狀態(tài)比較特殊,實際情況中應(yīng)該是很少見踩验,屬于一種比較罕見的例外狀態(tài)鸥诽。正常情況下,當(dāng)你發(fā)送FIN報文后箕憾,按理來說是應(yīng)該先收到(或同時收到)對方的ACK報文牡借,再收到對方的FIN報文。但是CLOSING狀態(tài)表示你發(fā)送FIN報文后袭异,并沒有收到對方的ACK報文钠龙,反而卻也收到了對方的FIN報文。什么情況下會出現(xiàn)此種情況呢御铃?其實細(xì)想一下碴里,也不難得出結(jié)論:那就是如果雙方幾乎在同時close一個SOCKET的話,那么就出現(xiàn)了雙方同時發(fā)送FIN報文的情況上真,也即會出現(xiàn)CLOSING狀態(tài)咬腋,表示雙方都正在關(guān)閉SOCKET連接。
CLOSE_WAIT:這種狀態(tài)的含義其實是表示在等待關(guān)閉睡互。怎么理解呢根竿?當(dāng)對方close一個SOCKET后發(fā)送FIN報文給自己,你系統(tǒng)毫無疑問地會回應(yīng)一個ACK報文給對方就珠,此時則進(jìn)入到CLOSE_WAIT狀態(tài)寇壳。接下來呢,實際上你真正需要考慮的事情是察看你是否還有數(shù)據(jù)發(fā)送給對方妻怎,如果沒有的話壳炎,那么你也就可以close這個SOCKET,發(fā)送FIN報文給對方蹂季,也即關(guān)閉連接冕广。所以你在CLOSE_WAIT狀態(tài)下疏日,需要完成的事情是等待你去關(guān)閉連接偿洁。
LAST_ACK:這個狀態(tài)還是比較容易好理解的,它是被動關(guān)閉一方在發(fā)送FIN報文后沟优,最后等待對方的ACK報文涕滋。當(dāng)收到ACK報文后,也即可以進(jìn)入到CLOSED可用狀態(tài)了挠阁。
32.簡述****DNS****進(jìn)行域名解析的過程宾肺。
參考答案:
首先溯饵,客戶端發(fā)出DNS請求翻譯IP地址或主機(jī)名。DNS服務(wù)器在收到客戶機(jī)的請求后:
(1)檢查DNS服務(wù)器的緩存锨用,若查到請求的地址或名字丰刊,即向客戶機(jī)發(fā)出應(yīng)答信息;
(2)若沒有查到增拥,則在數(shù)據(jù)庫中查找啄巧,若查到請求的地址或名字,即向客戶機(jī)發(fā)出應(yīng)答信息掌栅;
(3)若沒有查到秩仆,則將請求發(fā)給根域DNS 服務(wù)器,并依序從根域查找頂級域猾封,由頂級查找二級域澄耍,二級域查找三級,直至找到要解析的地址或名字晌缘,即向客戶機(jī)所在網(wǎng)絡(luò)的DNS服務(wù)器發(fā)出應(yīng)答信息齐莲,DNS服務(wù)器收到應(yīng)答后現(xiàn)在緩存中存儲,然后磷箕,將解析結(jié)果發(fā)給客戶機(jī)铅搓。
(4)若沒有找到,則返回錯誤信息搀捷。
33.什么是靜態(tài)路由星掰,其特點是什么?什么是動態(tài)路由嫩舟,其特點是什么氢烘?
參考答案:
靜態(tài)路由是由系統(tǒng)管理員設(shè)計與構(gòu)建的路由表規(guī)定的路由。適用于網(wǎng)關(guān)數(shù)量有限的場合家厌,且網(wǎng)絡(luò)拓樸結(jié)構(gòu)不經(jīng)常變化的網(wǎng)絡(luò)播玖。其缺點是不能動態(tài)地適用網(wǎng)絡(luò)狀況的變化,當(dāng)網(wǎng)絡(luò)狀況變化后必須由網(wǎng)絡(luò)管理員修改路由表饭于。動態(tài)路由是由路由選擇協(xié)議而動態(tài)構(gòu)建的蜀踏,路由協(xié)議之間通過交換各自所擁有的路由信息實時更新路由表的內(nèi)容。動態(tài)路由可以自動學(xué)習(xí) 網(wǎng)絡(luò)的拓樸結(jié)構(gòu)掰吕,并更新路由表果覆。其缺點是路由廣播更新信息將占據(jù)大量的網(wǎng)絡(luò)帶寬。
34.linux****下常用的****DNS****服務(wù)軟件是什么殖熟,舉出幾種常用的****DNS****記錄局待,如果域名****abc.com****配置好了一臺郵件服務(wù)器****,IP****地址為****202.106.0.20****,我該如何做相關(guān)的解析?是否了解****bind****的智能解析钳榨,如果了解請簡述一下其原理舰罚。
答案:
1)常用的DNS軟件是bind
2)A記錄地址記錄
MX記錄郵件交換記錄
CNAME記錄別名域記錄
3)修改abc.com 域名的配置文件,增加以下記錄
INMX 10 mail.abc.com.
mailIN A 202.106.0.20
4)bind根據(jù)請求解析客戶端的IP地址薛耻,做出不同的解析营罢,其原理是在配置文件中,設(shè)定了view饼齿,在每個view都有客戶端的IP地址段愤钾,bind服務(wù)器根據(jù)請求解析客戶端的IP地址,匹配不同的view,再根據(jù)該view的配置候醒,到相應(yīng)的配置文件進(jìn)行查詢能颁,將結(jié)果返回給請求的客戶端。
35.AB****網(wǎng)絡(luò)是通的倒淫,最少列出五種傳輸文件的服務(wù)
nfs伙菊,ftp,scp敌土,rsync镜硕,samba,http://
36.我們都知道返干,****dns****既采用了****tcp****協(xié)議兴枯,又采用了****udp****協(xié)議,什么時候采用****tcp****協(xié)議矩欠?什么時候采用****udp****協(xié)議财剖?為什么要這么設(shè)計?
答:這個題需要理解的東西比較的多癌淮,分一下幾個方面
a躺坟,從數(shù)據(jù)包大小上分:UDP的最大包長度是65507個字節(jié),響應(yīng)dns查詢的時候數(shù)據(jù)包長度超過512個字節(jié)乳蓄,而返回的只要前512個字節(jié)咪橙,這時名字解釋器通常使用TCP 從發(fā)原來的請求。
b虚倒,從協(xié)議本身來分:大部分的情況下使用UDP協(xié)議美侦,大家都知道UDP協(xié)議是一種不可靠的協(xié)議,dns不像其它的使用UDP的Internet應(yīng)用(如:TFTP魂奥,BOOTP和SNMP等)菠剩,大部分集中在局域網(wǎng),dns查詢和響應(yīng)需要經(jīng)過廣域網(wǎng)捧弃,分組丟失和往返時間的不確定性在廣域網(wǎng)比局域網(wǎng)上更大赠叼,這就要求dns客戶端需要好的重傳和超時算法擦囊,這時候使用TCP违霞。
三嘴办、七層模型
3.1 說說****TCP/IP****的七層模型
應(yīng)用層 (Application):
網(wǎng)絡(luò)服務(wù)與最終用戶的一個接口。
協(xié)議有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP
表示層(Presentation Layer):
數(shù)據(jù)的表示买鸽、安全涧郊、壓縮。(在五層模型里面已經(jīng)合并到了應(yīng)用層)
格式有眼五,JPEG妆艘、ASCll、DECOIC看幼、加密格式等
會話層(Session Layer):
建立批旺、管理、終止會話诵姜。(在五層模型里面已經(jīng)合并到了應(yīng)用層)
對應(yīng)主機(jī)進(jìn)程汽煮,指本地主機(jī)與遠(yuǎn)程主機(jī)正在進(jìn)行的會話
傳輸層 (Transport):
定義傳輸數(shù)據(jù)的協(xié)議端口號,以及流控和差錯校驗棚唆。
協(xié)議有:TCP UDP暇赤,數(shù)據(jù)包一旦離開網(wǎng)卡即進(jìn)入網(wǎng)絡(luò)傳輸層
網(wǎng)絡(luò)層 (Network):
進(jìn)行邏輯地址尋址,實現(xiàn)不同網(wǎng)絡(luò)之間的路徑選擇宵凌。
協(xié)議有:ICMP IGMP IP(IPV4 IPV6) ARP RARP
數(shù)據(jù)鏈路層 (Link):
建立邏輯連接鞋囊、進(jìn)行硬件地址尋址、差錯校驗等功能瞎惫。(由底層網(wǎng)絡(luò)定義協(xié)議)
將比特組合成字節(jié)進(jìn)而組合成幀溜腐,用MAC地址訪問介質(zhì),錯誤發(fā)現(xiàn)但不能糾正瓜喇。
物理層(Physical Layer):
是計算機(jī)網(wǎng)絡(luò)OSI模型中最低的一層逗扒。
物理層規(guī)定:為傳輸數(shù)據(jù)所需要的物理鏈路創(chuàng)建、維持欠橘、拆除而提供具有機(jī)械的矩肩,電子的,功能的和規(guī)范的特性肃续。
簡單的說黍檩,物理層確保原始的數(shù)據(jù)可在各種物理媒體上傳輸。局域網(wǎng)與廣域網(wǎng)皆屬第1始锚、2層刽酱。
物理層是OSI的第一層,它雖然處于最底層瞧捌,卻是整個開放系統(tǒng)的基礎(chǔ)棵里。
物理層為設(shè)備之間的數(shù)據(jù)通信提供傳輸媒體及互連設(shè)備润文,為數(shù)據(jù)傳輸提供可靠的環(huán)境。
如果您想要用盡量少的詞來記住這個第一層殿怜,那就是“信號和介質(zhì)”典蝌。