一、三次握手四次揮手
1.1 為什么連接的時候是三次握手,關閉的時候卻是四次握手?
1.2?為什么TIME_WAIT狀態需要經過2MSL(最大報文段生存時間)才能返回到CLOSE狀態?
1.3 為什么建立連接是三次握手,關閉連接確是四次揮手呢?
1.4 為什么不能用兩次握手進行連接?
1.5 如果已經建立了連接,但是客戶端突然出現故障了怎么辦?
1.6 為什么要三次握手?
1.7 為什么要四次揮手?
2,seq=u,u-1是A向B發送的最后一個字節的序號.
第二次揮手:
B收到連接釋放請求后,會通知相應的應用程序,告訴它A向B這個方向的連接已經釋放.此時B進入CLOSE-WAIT狀態,并向A發送連接釋放的應答,其報文頭包含:ACK=1,seq=v,ack=u+1.
ACK=1:除TCP連接請求報文段以外,TCP通信過程中所有數據報的ACK都為1,表示應答.
1,seq=v,v-1是B向A發送的最后一個字節的序號.
2,ack=u+1表示希望收到從第u+1個字節開始的報文段,并且已經成功接收了前u個字節.A收到該應答,進入FIN-WAIT-2狀態,等待B發送連接釋放請求.
第二次揮手完成后,A到B方向的連接已經釋放,B不會再接收數據,A也不會再發送數據。但B到A方向的連接仍然存在,B可以繼續向A發送數據。
第三次揮手:
當B向A發完所有數據后,向A發送連接釋放請求,請求頭中包含:
FIN=1,ACK=1,seq=w,ack=u+1.隨后B進入LAST-ACK狀態.
第四次揮手:
A收到釋放請求后,向B發送確認應答,此時A進入TIME-WAIT狀態.該狀態會持續2MSL時間,若該時間段內沒有B的重發請求的話,就進入CLOSED狀態,撤銷TCB.當B收到確認應答后,也便進入CLOSED狀態,撤銷TCB。
1.8 為什么TCP客戶端最后還要發送一次確認呢?
1.9 簡述TCP三次握手的過程?
1,client為數據發送方
2,server為數據接收方
好,下面進行三次握手的總結:
1,client想要向server發送數據,請求連接。這時client想服務器發送一個數據包,其中同步位(SYN)被置為1,表明client申請TCP連接,序號為j。
2,當server接收到了來自client的數據包時,解析發現同步位為1,便知道client是想要簡歷TCP連接,于是將當前client的IP、端口之類的加入未連接隊列中,并向client回復接受連接請求,想client發送數據包,其中同步位為1,并附帶確認位ACK=j+1,表明server已經準備好分配資源了,并向client發起連接請求,請求client為建立TCP連接而分配資源。
3,client向server回復一個ACK,并分配資源建立連接。server收到這個確認時也分配資源進行連接的建立。
怎么防范這種攻擊?
接下來進行一一解答。
1.9.1 為什么需要第三次握手?
1.9.2 第三次握手失敗了怎么辦?
1.9.3 三次握手有什么缺陷可以被黑客利用,用來對服務器進行攻擊?
1.9.4 怎么防范這種攻擊?
二、路由
1.?靜態?路由設定后,若 網絡 拓撲結構發生變化,需由系統 管理員 修改路由的 設置 。
2.網絡管理的重要任務是:?控制?和?監控?。
3.在安裝Linux系統中,使用?netconfig?程序對網絡進行配置,該安裝程序會一步步提示用戶輸入?主機名?、?域名?、?域名服務器?、?IP地址?、?網關地址?和?子網掩碼?等必要信息。
4.?RIP?協議是最為普遍的一種內部協議,一般稱為動態路由信息協議。
5.?DHCP?可以實現動態IP地址分配。
6.網絡管理通常由?監測?、?傳輸?和?管理?三部分組成,其中?管理部分?是整個網絡管理的中心。
7.?Ping?命令可以測試網絡中本機系統是否能到達一臺遠程主機,所以常常用于?測試網絡的連通性?。
8.進行遠程登錄的命令是?telnet?。
9.DHCP是動態主機配置協議的簡稱,其作用是:?為網絡中的主機分配IP?地址。
10.路由選擇協議(RIP)的跳數表示到達目的地之前必須通過的網關數,RIP接受的最長距離是?15?跳。
11.ping命令用于測試網絡的連通性,ping命令通過?ICMP?協議(internet控制信息協議)來實現。
12.下面的網絡協議中,面向連接的的協議是:?A?。
A?傳輸控制協議
B?用戶數據報協議
C?網際協議
D?網際控制報文協議
13.一臺主機要實現通過局域網與另一個局域網通信,需要做的工作是?C?。
A?配置域名服務器
B?定義一條本機指向所在網絡的路由
C?定義一條本機指向所在網絡網關的路由
D?定義一條本機指向目標網絡網關的路由
14.局域網的網絡地址192.168.1.0/24,局域網絡連接其它網絡的網關地址是192.168.1.1。主機192.168.1.20訪問172.16.1.0/24網絡時,其路由設置正確的是?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?配置本地回環地址
B?配置網卡的IP地址
C?激活網絡適配器
D?加載網卡到內核中
16.在局域網絡內的某臺主機用ping?命令測試網絡連接時發現網絡內部的主機都可以連同,而不能與公網連通,問題可能是?C?。
A?主機IP設置有誤
B?沒有設置連接局域網的網關
C?局域網的網關或主機的網關設置有誤
D?局域網DNS服務器設置有誤
17.下列文件中,包含了主機名到IP?地址的映射關系的文件是:?B?。
A?/etc/HOSTNAME
B?/etc/hosts
C?/etc/resolv.conf
D?/etc/networks
18.在TCP/IP?模型中,應用層包含了所有的高層協議,在下列的一些應用協議中,?B?是能夠實現本地與遠程主機之間的文件傳輸工作。
A?telnet
B?FTP
C?SNMP
D?NFS
19.當我們與某遠程網絡連接不上時,就需要跟蹤路由查看,以便了解在網絡的什么位置出現了問題,滿足該目的的命令是?C?。
A?ping
B?ifconfig
C?traceroute
D?netstat
20.DNS域名系統主要負責主機名和?A?之間的解析。
A?IP地址
B?MAC地址
C?網絡地址
D?主機別名
21.WWW服務器是在Internet上使用最為廣泛,它采用的是?B?結構。
A?服務器/工作站
B?B/S
C?集中式
D?分布式
22.網絡管理具備以下幾大功能:配置管理、?A?、性能管理、安全管理和計費管理等。
A?故障管理
B?日常備份管理
C?升級管理
D?發送郵件
23.關于代理服務器的論述,正確的是?A?。
A?使用internet?上已有的公開代理服務器,只需配置客戶端。
B?代理服務器只能代理客戶端http?的請求。
C?設置好的代理服務器可以被網絡上任何主機使用。
D?使用代理服務器的客戶端沒有自己的ip?地址。
24.實現從IP地址到以太網MAC地址轉換的命令為:?C?。
A?ping
B?ifconfig
C?arp
D?traceroute
25.在DNS系統測試時,設named進程號是53,命令?D?通知進程重讀配置文件。
A?kill –USR2 53
B?kill –USR1 53
C?kill -INT 63
D?kill –HUP 53
26.在DNS配置文件中,用于表示某主機別名的是:?B?。
A?NS
B?CNAME
C?NAME
D?CN
27.為保證在啟動服務器時自動啟動DHCP?進程,應對?B?文件進行編輯。
A?/etc/rc.d/rc.inet2
B?/etc/rc.d/rc.inet1
C?/etc/dhcpd.conf
D?/etc/rc.d/rc.S
28.寫一條192.168.10.0網段從網關192.168.9.1出去的路由
29.給主機host:172.16.0.2增加gateway10.0.0.1
30.網站出現500,502,400,403,404都是什么意思,怎么排查和解決
403:服務器拒絕請求。檢查服務器配置,是不是對客戶端做了限制。
404:未找到請求的資源。檢查服務器上是否存在請求的資源,看是否是配置問題。
31.TCP有哪些了解,TCP連接狀態中“TIME_WAIT”是什么意思,影響什么?
答:關于tcp有點復雜,直接上圖吧,更直觀
狀態描述:
CLOSED:這個沒什么好說的了,表示初始狀態。
LISTEN:這個也是非常容易理解的一個狀態,表示服務器端的某個SOCKET處于監聽狀態,可以接受連接了。
SYN_RCVD:這個狀態表示接受到了SYN報文,在正常情況下,這個狀態是服務器端的SOCKET在建立TCP連接時的三次握手會話過程中的一個中間狀態,很短暫,基本上用netstat你是很難看到這種狀態的,除非你特意寫了一個客戶端測試程序,故意將三次TCP握手過程中最后一個ACK報文不予發送。因此這種狀態時,當收到客戶端的ACK報文后,它會進入到ESTABLISHED狀態。
SYN_SENT:這個狀態與SYN_RCVD遙想呼應,當客戶端SOCKET執行CONNECT連接時,它首先發送SYN報文,因此也隨即它會進入到了SYN_SENT狀態,并等待服務端的發送三次握手中的第2個報文。SYN_SENT狀態表示客戶端已發送SYN報文。
ESTABLISHED:這個容易理解了,表示連接已經建立了。
FIN_WAIT_1:這個狀態要好好解釋一下,其實FIN_WAIT_1和FIN_WAIT_2狀態的真正含義都是表示等待對方的FIN報文。而這兩種狀態的區別是:FIN_WAIT_1狀態實際上是當SOCKET在ESTABLISHED狀態時,它想主動關閉連接,向對方發送了FIN報文,此時該SOCKET即進入到FIN_WAIT_1狀態。而當對方回應ACK報文后,則進入到FIN_WAIT_2狀態,當然在實際的正常情況下,無論對方何種情況下,都應該馬上回應ACK報文,所以FIN_WAIT_1狀態一般是比較難見到的,而FIN_WAIT_2狀態還有時常??梢杂胣etstat看到。
FIN_WAIT_2:上面已經詳細解釋了這種狀態,實際上FIN_WAIT_2狀態下的SOCKET,表示半連接,也即有一方要求close連接,但另外還告訴對方,我暫時還有點數據需要傳送給你,稍后再關閉連接。
TIME_WAIT:表示收到了對方的FIN報文,并發送出了ACK報文,就等2MSL后即可回到CLOSED可用狀態了。如果FIN_WAIT_1狀態下,收到了對方同時帶FIN標志和ACK標志的報文時,可以直接進入到TIME_WAIT狀態,而無須經過FIN_WAIT_2狀態。
CLOSING:這種狀態比較特殊,實際情況中應該是很少見,屬于一種比較罕見的例外狀態。正常情況下,當你發送FIN報文后,按理來說是應該先收到(或同時收到)對方的ACK報文,再收到對方的FIN報文。但是CLOSING狀態表示你發送FIN報文后,并沒有收到對方的ACK報文,反而卻也收到了對方的FIN報文。什么情況下會出現此種情況呢?其實細想一下,也不難得出結論:那就是如果雙方幾乎在同時close一個SOCKET的話,那么就出現了雙方同時發送FIN報文的情況,也即會出現CLOSING狀態,表示雙方都正在關閉SOCKET連接。
CLOSE_WAIT:這種狀態的含義其實是表示在等待關閉。怎么理解呢?當對方close一個SOCKET后發送FIN報文給自己,你系統毫無疑問地會回應一個ACK報文給對方,此時則進入到CLOSE_WAIT狀態。接下來呢,實際上你真正需要考慮的事情是察看你是否還有數據發送給對方,如果沒有的話,那么你也就可以close這個SOCKET,發送FIN報文給對方,也即關閉連接。所以你在CLOSE_WAIT狀態下,需要完成的事情是等待你去關閉連接。
LAST_ACK:這個狀態還是比較容易好理解的,它是被動關閉一方在發送FIN報文后,最后等待對方的ACK報文。當收到ACK報文后,也即可以進入到CLOSED可用狀態了。
32.簡述DNS進行域名解析的過程。
(3)若沒有查到,則將請求發給根域DNS?服務器,并依序從根域查找頂級域,由頂級查找二級域,二級域查找三級,直至找到要解析的地址或名字,即向客戶機所在網絡的DNS服務器發出應答信息,DNS服務器收到應答后現在緩存中存儲,然后,將解析結果發給客戶機。
(4)若沒有找到,則返回錯誤信息。
33.什么是靜態路由,其特點是什么?什么是動態路由,其特點是什么?
34.linux下常用的DNS服務軟件是什么,舉出幾種常用的DNS記錄,如果域名abc.com配置好了一臺郵件服務器,IP地址為202.106.0.20,我該如何做相關的解析?是否了解bind的智能解析,如果了解請簡述一下其原理。
CNAME記錄別名域記錄
3)修改abc.com?域名的配置文件,增加以下記錄
INMX 10 mail.abc.com.
mailIN A 202.106.0.20
4)bind根據請求解析客戶端的IP地址,做出不同的解析,其原理是在配置文件中,設定了view,在每個view都有客戶端的IP地址段,bind服務器根據請求解析客戶端的IP地址,匹配不同的view,再根據該view的配置,到相應的配置文件進行查詢,將結果返回給請求的客戶端。
35.AB網絡是通的,最少列出五種傳輸文件的服務
36.我們都知道,dns既采用了tcp協議,又采用了udp協議,什么時候采用tcp協議?什么時候采用udp協議?為什么要這么設計?
三、七層模型
3.1 說說TCP/IP的七層模型
數據的表示、安全、壓縮。(在五層模型里面已經合并到了應用層)
格式有,JPEG、ASCll、DECOIC、加密格式等
會話層(Session?Layer):
建立、管理、終止會話。(在五層模型里面已經合并到了應用層)
對應主機進程,指本地主機與遠程主機正在進行的會話
傳輸層?(Transport):
定義傳輸數據的協議端口號,以及流控和差錯校驗。
協議有:TCP?UDP,數據包一旦離開網卡即進入網絡傳輸層
網絡層?(Network):
進行邏輯地址尋址,實現不同網絡之間的路徑選擇。
協議有:ICMP?IGMP?IP(IPV4?IPV6)?ARP?RARP
數據鏈路層?(Link):
建立邏輯連接、進行硬件地址尋址、差錯校驗等功能。(由底層網絡定義協議)
將比特組合成字節進而組合成幀,用MAC地址訪問介質,錯誤發現但不能糾正。
物理層(Physical?Layer):
是計算機網絡OSI模型中最低的一層。
物理層規定:為傳輸數據所需要的物理鏈路創建、維持、拆除而提供具有機械的,電子的,功能的和規范的特性。
本文鏈接:http://www.royaladd.com/28272.html
時間通常是設置為2小時,若兩小時還沒有收到客戶端的任何數據,服務器就會發送一個探測報文段,以后每隔75分鐘發送一次。
10個探測每個75分鐘,那還有什么意義??? 應該是75秒吧