TCP/IP協(xié)議的工作流程如下:
●在源主機(jī)上,應(yīng)用層將一串應(yīng)用數(shù)據(jù)流傳送給傳輸層。
●傳輸層將應(yīng)用層的數(shù)據(jù)流截成分組,并加上TCP報(bào)頭形成TCP段,送交網(wǎng)絡(luò)層。
●在網(wǎng)絡(luò)層給TCP段加上包括源、目的主機(jī)IP地址的IP報(bào)頭,生成一個(gè)IP數(shù)據(jù)包,并將IP數(shù)據(jù)包送交鏈路層。
●鏈路層在其MAC幀的數(shù)據(jù)部分裝上IP數(shù)據(jù)包,再加上源、目的主機(jī)的MAC地址和幀頭,并根據(jù)其目的MAC地址,將MAC幀發(fā)往目的主機(jī)或IP路由器。
●在目的主機(jī),鏈路層將MAC幀的幀頭去掉,并將IP數(shù)據(jù)包送交網(wǎng)絡(luò)層。
●網(wǎng)絡(luò)層檢查IP報(bào)頭,如果報(bào)頭中校驗(yàn)和與計(jì)算結(jié)果不一致,則丟棄該IP數(shù)據(jù)包;若校驗(yàn)和與計(jì)算結(jié)果一致,則去掉IP報(bào)頭,將TCP段送交傳輸層。
●傳輸層檢查順序號(hào),判斷是否是正確的TCP分組,然后檢查TCP報(bào)頭數(shù)據(jù)。若正確,則向源主機(jī)發(fā)確認(rèn)信息;若不正確或丟包,則向源主機(jī)要求重發(fā)信息。
●在目的主機(jī),傳輸層去掉TCP報(bào)頭,將排好順序的分組組成應(yīng)用數(shù)據(jù)流送給應(yīng)用程序。這樣目的主機(jī)接收到的來自源主機(jī)的字節(jié)流,就像是直接接收來自源主機(jī)的字節(jié)流一樣。
第一套:
網(wǎng)絡(luò)基礎(chǔ)知識(shí)考查
日期:2008/3/3
姓名:Amxking
一,基礎(chǔ)部份
1、OSI的中文全稱是( 國(guó)際標(biāo)準(zhǔn)化組織),
它們分別是( 應(yīng)用層(Application layer) 表示層(Presentation layer) 會(huì)話層(Session layer) 傳輸層(Transport layer)
網(wǎng)絡(luò)層(Network layer) 數(shù)據(jù)鏈路層(Data link layer) 物理層(Physical layer) )。
2、集線器hub工作在OSI參考模型的(物理)層;網(wǎng)卡工作在OSI參考模型的(物理)層;
路由器router工作在OSI參考模型的(網(wǎng)絡(luò))層;交換機(jī)Switch工作在OSI參考模型的(數(shù)據(jù)鏈路)層。
3、機(jī)器A的IP地址為202.96.128.130,子網(wǎng)掩碼為255.255.255.128,則該IP地址的網(wǎng)絡(luò)號(hào)是(202.96.128),
主機(jī)號(hào)是(130 )。
4、ARP的中文意思是(地址解析協(xié)議),請(qǐng)用簡(jiǎn)單語言說明其的工作原理。
1. 首先,每臺(tái)主機(jī)都會(huì)在自己的ARP緩沖區(qū) (ARP Cache)中建立一個(gè) ARP列表,以表示IP地址和MAC地址的對(duì)應(yīng)關(guān)系。
2. 當(dāng)源主機(jī)需要將一個(gè)數(shù)據(jù)包要發(fā)送到目的主機(jī)時(shí),會(huì)首先檢查自己 ARP列表中是否存在該 IP地址對(duì)應(yīng)的MAC地址,
如果有﹐就直接將數(shù)據(jù)包發(fā)送到這個(gè)MAC地址;如果沒有,就向本地網(wǎng)段發(fā)起一個(gè)ARP請(qǐng)求的廣播包,查詢此目的
主機(jī)對(duì)應(yīng)的MAC地址。此ARP請(qǐng)求數(shù)據(jù)包里包括源主機(jī)的IP地址、硬件地址、以及目的主機(jī)的IP地址。
3. 網(wǎng)絡(luò)中所有的主機(jī)收到這個(gè)ARP請(qǐng)求后,會(huì)檢查數(shù)據(jù)包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此
數(shù)據(jù)包;如果相同,該主機(jī)首先將發(fā)送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已經(jīng)存在該IP
的信息,則將其覆蓋,然后給源主機(jī)發(fā)送一個(gè) ARP響應(yīng)數(shù)據(jù)包,告訴對(duì)方自己是它需要查找的MAC地址;
4. 源主機(jī)收到這個(gè)ARP響應(yīng)數(shù)據(jù)包后,將得到的目的主機(jī)的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息
開始數(shù)據(jù)的傳輸。如果源主機(jī)一直沒有收到ARP響應(yīng)數(shù)據(jù)包,表示ARP查詢失敗。
5、DNS是指( 域名系統(tǒng)Domain Name System)。請(qǐng)用簡(jiǎn)單語言描述其工作原理。
當(dāng) DNS 客戶機(jī)需要查詢程序中使用的名稱時(shí),它會(huì)查詢 DNS 服務(wù)器來解析該名稱。
客戶機(jī)發(fā)送的每條查詢消息都包括3條信息,以指定服務(wù)器應(yīng)回答的問題。
1 指定的 DNS 域名,表示為完全合格的域名 (FQDN) 。
2 指定的查詢類型,它可根據(jù)類型指定資源記錄,或作為查詢操作的專門類型。
3 DNS域名的指定類別。
6、TCP和UDP的區(qū)別
TCP提供的是面向連接的、可靠的數(shù)據(jù)流傳輸,而UDP提供的是非面向連接的、不可靠的數(shù)據(jù)流傳輸。
簡(jiǎn)單的說,TCP注重?cái)?shù)據(jù)安全,而UDP數(shù)據(jù)傳輸快點(diǎn),但安全性一般
7、網(wǎng)關(guān)的作用。
通過它可以訪問外網(wǎng)
二,網(wǎng)絡(luò)命令
1、ipconfig的作用是什么?
顯示當(dāng)前的TCP/IP配置的設(shè)置值
2、運(yùn)行net share 返回的結(jié)果是什么?
列出共享資源相關(guān)信息 如 IPC$
3、net use 和net user分別是指什么?
net user 用于用戶管理,添加,刪除網(wǎng)絡(luò)使用用戶。
net use 用于網(wǎng)絡(luò)設(shè)備管理,例如添加磁盤
4、如何在命令行下面查看當(dāng)前系統(tǒng)開放的服務(wù)?
?? 在命令行下執(zhí)行net services 命令
5、除以上命令,還有哪些,請(qǐng)寫出你知道的命令。
taskill
taslist
net view顯示計(jì)算機(jī)列表
netstat
ftp
telnet
三,系統(tǒng)端口及服務(wù)
1、關(guān)掉以下服務(wù),會(huì)出現(xiàn)什么樣的情況,并請(qǐng)說明你的看法。
Automatic Updates
不能自動(dòng)更新
Plug and Play
禁用會(huì)導(dǎo)致USB不能使用.
Remote Registry Service
防范通過瀏覽網(wǎng)頁來修改你的注冊(cè)表
Computer Browser
無法通過該服務(wù)維護(hù)網(wǎng)絡(luò)上計(jì)算機(jī)的最新列表以及提供這個(gè)列表給請(qǐng)求的程序。
2.端口及相對(duì)的服務(wù)
FTP(21 文件傳輸FTP服務(wù) ?。?/p>
Terminal Services 的端口是( 3389 ?。?/p>
23端口是(TELNET)開放的默認(rèn)端口
25端口是(E-mail SMTP)開放
109端口是( POP2?。╅_放
1433端口是( SQL Server )開放
四,網(wǎng)絡(luò)協(xié)議
ICMP:
是Internet Control Message Protocol(Internet控制消息協(xié)議)的縮寫。
它是TCP/IP協(xié)議族的一個(gè)子協(xié)議,用于在IP主機(jī)、路由器之間傳遞控制消息。
控制消息是指網(wǎng)絡(luò)通不通、主機(jī)是否可達(dá)、路由是否可用等網(wǎng)絡(luò)本身的消息。
這些控制消息雖然并不傳輸用戶數(shù)據(jù),但是對(duì)于用戶數(shù)據(jù)的傳遞起著重要的作用。
TFTP:
Trivial File Transfer Protocol,是TCP/IP協(xié)議族中的一個(gè)用來在客戶機(jī)與服務(wù)器之間進(jìn)行簡(jiǎn)單文件傳輸?shù)膮f(xié)議
提供不復(fù)雜、開銷不大的文件傳輸服務(wù)。
HTTP:
HTTP超文本傳輸協(xié)議,是一個(gè)屬于應(yīng)用層的面向?qū)ο蟮膮f(xié)議,由于其簡(jiǎn)捷、快速的方式,適用于分布式超媒體信息系統(tǒng),
它于1990年提出,經(jīng)過幾年的使用與發(fā)展,得到不斷地完善和擴(kuò)展。
DHCP:動(dòng)態(tài)主機(jī)配置協(xié)議, 是一種讓系統(tǒng)得以連接到網(wǎng)絡(luò)上,并獲取所需要的配置參數(shù)手段
第二套:
網(wǎng)絡(luò)知識(shí)考查
日期:2008/3/3
姓名:Amxking
一,填空題。
1,瀏覽器與WWW服務(wù)器之間傳輸信息時(shí)使用的協(xié)議是(http?????? )。
2,在星型局域網(wǎng)結(jié)構(gòu)中,連接文件服務(wù)器與工作站的設(shè)備是(交換機(jī)?? )。
3,在安裝完成Linux系統(tǒng)后,系統(tǒng)自動(dòng)創(chuàng)建的管理員帳號(hào)是( root )。
4,單位分得合法IP地址202.112.68.40 掩碼為255.255.255.248,其中,路由器的外口和ISP之間占據(jù)了2個(gè),
若使用202.112.68.41和202.112.68.42,掩碼為255.255.255.252
問:1,則可供使用的合法IP還有多少哪些?
還可用的有 202.112.68.44/29, 202.112.68.45/29 ,202.112.68.46/29
問:2,使用內(nèi)部IP進(jìn)行地址轉(zhuǎn)換,若用一臺(tái)主機(jī)連接內(nèi)外兩個(gè)網(wǎng)絡(luò),請(qǐng)說出2中不同的網(wǎng)絡(luò)接法;并進(jìn)行比較?
1)主機(jī)接一塊網(wǎng)卡綁定兩個(gè)不同子網(wǎng)的地址,運(yùn)行代理軟件,內(nèi)部網(wǎng)絡(luò)將網(wǎng)關(guān)設(shè)置指向該主機(jī)。
2)主機(jī)插2塊網(wǎng)卡,分別連接內(nèi)外網(wǎng),主機(jī)起到網(wǎng)關(guān)和地址轉(zhuǎn)換作用。
1)中方案若內(nèi)網(wǎng)盜用主機(jī)合法IP可以繞過主機(jī)
2)不能繞過主機(jī)。
問:3,Internet上保留了哪些內(nèi)部IP有可以供使用?
可以使用10.0.0.0 或 172.16直172.31 或192.168.0 直192.168.255
5,如何規(guī)劃防火墻,將內(nèi)部業(yè)務(wù)服務(wù)器和部分PC機(jī)與Internet隔離?
可以構(gòu)建一個(gè)非軍事區(qū),將內(nèi)部業(yè)務(wù)服務(wù)器通過內(nèi)網(wǎng)路由器對(duì)內(nèi)提供服務(wù)。
部分PC通過外網(wǎng)路由連接INTERNET,Internet上限制內(nèi)部的部分pc機(jī)訪問Internet。
在非軍事區(qū)和內(nèi)網(wǎng)之間設(shè)置路由器或代理服務(wù)器作為防火墻,限制外部的訪問。
6,在我國(guó),目前可供選擇大的用戶選擇的接入方式有哪些,各自的接入速率為多少?
DDN 最高2M
ISDN 64K*2 (2B+D)
幀中繼 最高2M
X.25 64K
[[[DDH ?。ā∽罡?M ?。?/p>
ADSL ?。ā》菍?duì)稱數(shù)字用戶線,下行速率從512Kbit/s到8Mbit/s,而上行速率則從64Kbit/s到640Kbit/s ?。?/p>
ISDN ?。ňC合業(yè)務(wù)數(shù)字網(wǎng)最高速度可達(dá)到64Kbps或128Kbps )]]]
7,被路由器隔離的2個(gè)子網(wǎng)能否公用一臺(tái)DHCP服務(wù)器?( 不能 ?。?/p>
8,用戶通過什么命令可以看到自己申請(qǐng)到的本機(jī)IP地址?用何命令可以重新向DHCP服務(wù)器申請(qǐng)IP?用何命令可以釋放IP?
ipconfig /all
ipconfig /release釋放ip
ipconfig /renew 獲取新ip
8,ADSL使用的多路復(fù)用技術(shù)是(a?。?/p>
A.頻分多路復(fù)用 B.時(shí)分多路復(fù)用
C.碼分多址 D.空分多址
二,問答題。
1,寫出下面網(wǎng)絡(luò)命令的作用。
Netstat –p ?。ㄖ淮蛴〗o出名字的協(xié)議的統(tǒng)計(jì)數(shù)字和協(xié)議控制塊信息???????? )
Net?? view????? (顯示當(dāng)前域或網(wǎng)絡(luò)上的計(jì)算機(jī)上的列表)
如何在命令行下顯示windows的服務(wù) (?? net services????? ?。?/p>
2, 網(wǎng)橋的作用。
是一個(gè)局域網(wǎng)與另一個(gè)局域網(wǎng)之間建立連接的橋梁
3,用一條命令實(shí)現(xiàn):將遠(yuǎn)程主機(jī)C盤映射為自己的F盤
net use f: \\遠(yuǎn)程主機(jī)IP\c$ "密碼" /user:"用戶名"
5,防火墻的端口防護(hù)是指?
?? 指通過對(duì)防火墻的端口開關(guān)的設(shè)置,關(guān)閉一些非必需端口,達(dá)到一定安全防護(hù)目的的行為。
1、建立連接協(xié)議(三次握手)
(1)客戶端發(fā)送一個(gè)帶SYN標(biāo)志的TCP報(bào)文到服務(wù)器。這是三次握手過程中的報(bào)文1。
(2) 服務(wù)器端回應(yīng)客戶端的,這是三次握手中的第2個(gè)報(bào)文,這個(gè)報(bào)文同時(shí)帶ACK標(biāo)志和SYN標(biāo)志。因此它表示對(duì)剛才客戶端SYN報(bào)文的回應(yīng);同時(shí)又標(biāo)志SYN給客戶端,詢問客戶端是否準(zhǔn)備好進(jìn)行數(shù)據(jù)通訊。
(3) 客戶必須再次回應(yīng)服務(wù)段一個(gè)ACK報(bào)文,這是報(bào)文段3。
2、連接終止協(xié)議(四次揮手)
由于TCP連接是全雙工的,因此每個(gè)方向都必須單獨(dú)進(jìn)行關(guān)閉。這原則是當(dāng)一方完成它的數(shù)據(jù)發(fā)送任務(wù)后就能發(fā)送一個(gè)FIN來終止這個(gè)方向的連接。收到一個(gè) FIN只意味著這一方向上沒有數(shù)據(jù)流動(dòng),一個(gè)TCP連接在收到一個(gè)FIN后仍能發(fā)送數(shù)據(jù)。首先進(jìn)行關(guān)閉的一方將執(zhí)行主動(dòng)關(guān)閉,而另一方執(zhí)行被動(dòng)關(guān)閉。
(1) TCP客戶端發(fā)送一個(gè)FIN,用來關(guān)閉客戶到服務(wù)器的數(shù)據(jù)傳送(報(bào)文段4)。
(2) 服務(wù)器收到這個(gè)FIN,它發(fā)回一個(gè)ACK,確認(rèn)序號(hào)為收到的序號(hào)加1(報(bào)文段5)。和SYN一樣,一個(gè)FIN將占用一個(gè)序號(hào)。
(3) 服務(wù)器關(guān)閉客戶端的連接,發(fā)送一個(gè)FIN給客戶端(報(bào)文段6)。
(4) 客戶段發(fā)回ACK報(bào)文確認(rèn),并將確認(rèn)序號(hào)設(shè)置為收到序號(hào)加1(報(bào)文段7)。
CLOSED: 這個(gè)沒什么好說的了,表示初始狀態(tài)。
LISTEN: 這個(gè)也是非常容易理解的一個(gè)狀態(tài),表示服務(wù)器端的某個(gè)SOCKET處于監(jiān)聽狀態(tài),可以接受連接了。
SYN_RCVD: 這個(gè)狀態(tài)表示接受到了SYN報(bào)文,在正常情況下,這個(gè)狀態(tài)是服務(wù)器端的SOCKET在建立TCP連接時(shí)的三次握手會(huì)話過程中的一個(gè)中間狀態(tài),很短暫,基本上用netstat你是很難看到這種狀態(tài)的,除非你特意寫了一個(gè)客戶端測(cè)試程序,故意將三次TCP握手過程中最后一個(gè)ACK報(bào)文不予發(fā)送。因此這種狀態(tài)時(shí),當(dāng)收到客戶端的ACK報(bào)文后,它會(huì)進(jìn)入到ESTABLISHED狀態(tài)。
SYN_SENT: 這個(gè)狀態(tài)與SYN_RCVD遙想呼應(yīng),當(dāng)客戶端SOCKET執(zhí)行CONNECT連接時(shí),它首先發(fā)送SYN報(bào)文,因此也隨即它會(huì)進(jìn)入到了SYN_SENT狀態(tài),并等待服務(wù)端的發(fā)送三次握手中的第2個(gè)報(bào)文。SYN_SENT狀態(tài)表示客戶端已發(fā)送SYN報(bào)文。
ESTABLISHED:這個(gè)容易理解了,表示連接已經(jīng)建立了。
FIN_WAIT_1: 這個(gè)狀態(tài)要好好解釋一下,其實(shí)FIN_WAIT_1和FIN_WAIT_2狀態(tài)的真正含義都是表示等待對(duì)方的FIN報(bào)文。而這兩種狀態(tài)的區(qū)別是:FIN_WAIT_1狀態(tài)實(shí)際上是當(dāng)SOCKET在ESTABLISHED狀態(tài)時(shí),它想主動(dòng)關(guān)閉連接,向?qū)Ψ桨l(fā)送了FIN報(bào)文,此時(shí)該SOCKET即進(jìn)入到FIN_WAIT_1狀態(tài)。而當(dāng)對(duì)方回應(yīng)ACK報(bào)文后,則進(jìn)入到FIN_WAIT_2狀態(tài),當(dāng)然在實(shí)際的正常情況下,無論對(duì)方何種情況下,都應(yīng)該馬上回應(yīng)ACK報(bào)文,所以FIN_WAIT_1狀態(tài)一般是比較難見到的,而FIN_WAIT_2狀態(tài)還有時(shí)常??梢杂胣etstat看到。
FIN_WAIT_2:上面已經(jīng)詳細(xì)解釋了這種狀態(tài),實(shí)際上FIN_WAIT_2狀態(tài)下的SOCKET,表示半連接,也即有一方要求close連接,但另外還告訴對(duì)方,我暫時(shí)還有點(diǎn)數(shù)據(jù)需要傳送給你,稍后再關(guān)閉連接。
TIME_WAIT: 表示收到了對(duì)方的FIN報(bào)文,并發(fā)送出了ACK報(bào)文,就等2MSL后即可回到CLOSED可用狀態(tài)了。如果FIN_WAIT_1狀態(tài)下,收到了對(duì)方同時(shí)帶FIN標(biāo)志和ACK標(biāo)志的報(bào)文時(shí),可以直接進(jìn)入到TIME_WAIT狀態(tài),而無須經(jīng)過FIN_WAIT_2狀態(tài)。
CLOSING: 這種狀態(tài)比較特殊,實(shí)際情況中應(yīng)該是很少見,屬于一種比較罕見的例外狀態(tài)。正常情況下,當(dāng)你發(fā)送FIN報(bào)文后,按理來說是應(yīng)該先收到(或同時(shí)收到)對(duì)方的ACK報(bào)文,再收到對(duì)方的FIN報(bào)文。但是CLOSING狀態(tài)表示你發(fā)送FIN報(bào)文后,并沒有收到對(duì)方的ACK報(bào)文,反而卻也收到了對(duì)方的FIN報(bào)文。什么情況下會(huì)出現(xiàn)此種情況呢?其實(shí)細(xì)想一下,也不難得出結(jié)論:那就是如果雙方幾乎在同時(shí)close一個(gè)SOCKET的話,那么就出現(xiàn)了雙方同時(shí)發(fā)送FIN報(bào)文的情況,也即會(huì)出現(xiàn)CLOSING狀態(tài),表示雙方都正在關(guān)閉SOCKET連接。
CLOSE_WAIT: 這種狀態(tài)的含義其實(shí)是表示在等待關(guān)閉。怎么理解呢?當(dāng)對(duì)方close一個(gè)SOCKET后發(fā)送FIN報(bào)文給自己,你系統(tǒng)毫無疑問地會(huì)回應(yīng)一個(gè)ACK報(bào)文給對(duì)方,此時(shí)則進(jìn)入到CLOSE_WAIT狀態(tài)。接下來呢,實(shí)際上你真正需要考慮的事情是察看你是否還有數(shù)據(jù)發(fā)送給對(duì)方,如果沒有的話,那么你也就可以close這個(gè)SOCKET,發(fā)送FIN報(bào)文給對(duì)方,也即關(guān)閉連接。所以你在CLOSE_WAIT狀態(tài)下,需要完成的事情是等待你去關(guān)閉連接。
LAST_ACK: 這個(gè)狀態(tài)還是比較容易好理解的,它是被動(dòng)關(guān)閉一方在發(fā)送FIN報(bào)文后,最后等待對(duì)方的ACK報(bào)文。當(dāng)收到ACK報(bào)文后,也即可以進(jìn)入到CLOSED可用狀態(tài)了。
最后有2個(gè)問題的回答,我自己分析后的結(jié)論(不一定保證100%正確)
1、 為什么建立連接協(xié)議是三次握手,而關(guān)閉連接卻是四次握手呢?
這是因?yàn)榉?wù)端的LISTEN狀態(tài)下的SOCKET當(dāng)收到SYN報(bào)文的建連請(qǐng)求后,它可以把ACK和SYN(ACK起應(yīng)答作用,而SYN起同步作用)放在一個(gè)報(bào)文里來發(fā)送。但關(guān)閉連接時(shí),當(dāng)收到對(duì)方的FIN報(bào)文通知時(shí),它僅僅表示對(duì)方?jīng)]有數(shù)據(jù)發(fā)送給你了;但未必你所有的數(shù)據(jù)都全部發(fā)送給對(duì)方了,所以你可以未必會(huì)馬上會(huì)關(guān)閉SOCKET,也即你可能還需要發(fā)送一些數(shù)據(jù)給對(duì)方之后,再發(fā)送FIN報(bào)文給對(duì)方來表示你同意現(xiàn)在可以關(guān)閉連接了,所以它這里的ACK報(bào)文和FIN報(bào)文多數(shù)情況下都是分開發(fā)送的。
2、 為什么TIME_WAIT狀態(tài)還需要等2MSL后才能返回到CLOSED狀態(tài)?
這是因?yàn)椋弘m然雙方都同意關(guān)閉連接了,而且握手的4個(gè)報(bào)文也都協(xié)調(diào)和發(fā)送完畢,按理可以直接回到CLOSED狀態(tài)(就好比從SYN_SEND狀態(tài)到ESTABLISH狀態(tài)那樣);但是因?yàn)槲覀儽仨氁傧刖W(wǎng)絡(luò)是不可靠的,你無法保證你最后發(fā)送的ACK報(bào)文會(huì)一定被對(duì)方收到,因此對(duì)方處于LAST_ACK狀態(tài)下的SOCKET可能會(huì)因?yàn)槌瑫r(shí)未收到ACK報(bào)文,而重發(fā)FIN報(bào)文,所以這個(gè)TIME_WAIT狀態(tài)的作用就是用來重發(fā)可能丟失的ACK報(bào)文。