1、TCP協(xié)議和UDP協(xié)議 UDP是面向無連接的,不可靠的數(shù)據(jù)報(bào)服務(wù); TCP是面向連接的,可靠的字節(jié)流服務(wù)。 HTTP協(xié)議是建立在TCP協(xié)議之上的一種應(yīng)用 2、HTTP與HTTPS協(xié)議 HTTP連接是一種“短連接”,要保持客戶端程序的在線狀態(tài),需要不斷地向服務(wù)器發(fā)起連接請求 HTTP協(xié)議的不安全性: HTTP(超級文本傳輸協(xié)議)HTTP協(xié)議以明文方式發(fā)送內(nèi)容,不提供任何方式的數(shù)據(jù)加密,如果攻擊者截取了Web瀏覽器和網(wǎng)站服務(wù)器之間的傳輸報(bào)文,就可以直接讀懂其中的信息,因此,HTTP協(xié)議不適合傳輸一些敏感信息,比如:信用卡號、密碼等支付信息。 HTTPS協(xié)議的初衷: (安全套接字層超文本傳輸協(xié)議)HTTPS,為了數(shù)據(jù)傳輸?shù)陌踩?,HTTPS在HTTP的基礎(chǔ)上加入了SSL協(xié)議,SSL依靠證書來驗(yàn)證服務(wù)器的身份,并為瀏覽器和服務(wù)器之間的通信加密。 HTTPS協(xié)議的主要作用可以分為兩種:一種是建立一個(gè)信息安全通道,來保證數(shù)據(jù)傳輸?shù)陌踩?;另一種就是確認(rèn)網(wǎng)站的真實(shí)性。 HTTPS和HTTP的區(qū)別主要如下: 1)https協(xié)議需要申請證書,一般免費(fèi)證書較少,因而需要一定費(fèi)用。 2)http是超文本傳輸協(xié)議,信息是明文傳輸,https則是具有安全性的ssl加密傳輸協(xié)議。 3)http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。 4)http的連接很簡單,是無狀態(tài)的;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,比http協(xié)議安全。 HTTP使用TCP三次握手建立連接,客戶端和服務(wù)器需要交換3個(gè)包,而HTTPS需要12個(gè)包 3、TCP 的三次握手和四次揮手 TCP報(bào)文格式圖: (1)序號:Seq序號,占32位,用來標(biāo)識從TCP源端向目的端發(fā)送的字節(jié)流,發(fā)起方發(fā)送數(shù)據(jù)時(shí)對此進(jìn)行標(biāo)記。 (2)確認(rèn)序號:Ack序號,占32位,只有ACK標(biāo)志位為1時(shí),確認(rèn)序號字段才有效,Ack=Seq+1。 (3)標(biāo)志位:共6個(gè),即URG、ACK、PSH、RST、SYN、FIN等,具體含義如下: (A)URG:緊急指針(urgent pointer)有效。 (B)ACK:確認(rèn)序號有效。 (C)PSH:接收方應(yīng)該盡快將這個(gè)報(bào)文交給應(yīng)用層(傳送)。 (D)RST:重置連接。 (E)SYN:發(fā)起一個(gè)新連接。 (F)FIN:釋放一個(gè)連接。 為什么需要“三次握手”(客戶端和服務(wù)端總共發(fā)送3個(gè)包以確認(rèn)連接的建立):為了防止已失效的連接請求報(bào)文段突然又傳送到了服務(wù)端,防止server端一直等待,浪費(fèi)資源。 (1)第一次握手:Client將標(biāo)志位SYN置為1,隨機(jī)產(chǎn)生一個(gè)值seq=J,并將該數(shù)據(jù)包發(fā)送給Server,Client進(jìn)入SYN_SENT狀態(tài),等待Server確認(rèn)。 (2)第二次握手:Server收到數(shù)據(jù)包后由標(biāo)志位SYN=1知道Client請求建立連接,Server將標(biāo)志位SYN和ACK都置為1,ack (number )=J+1,隨機(jī)產(chǎn)生一個(gè)值seq=K,并將該數(shù)據(jù)包發(fā)送給Client以確認(rèn)連接請求,Server進(jìn)入SYN_RCVD狀態(tài)。 (3)第三次握手:Client收到確認(rèn)后,檢查ack是否為J+1,ACK是否為1,如果正確則將標(biāo)志位ACK置為1,ack=K+1,并將該數(shù)據(jù)包發(fā)送給Server,Server檢查ack是否為K+1,ACK是否為1,如果正確則連接建立成功,Client和Server進(jìn)入ESTABLISHED狀態(tài),完成三次握手,隨后Client與Server之間可以開始傳輸數(shù)據(jù)了。 為什么需要“四次揮手”: 由于TCP連接是全雙工的,因此,每個(gè)方向都必須要單獨(dú)進(jìn)行關(guān)閉,這一原則是當(dāng)一方完成數(shù)據(jù)發(fā)送任務(wù)后,發(fā)送一個(gè)FIN來終止這一方向的連接,收到一個(gè)FIN只是意味著這一方向上沒有數(shù)據(jù)流動(dòng)了,即不會(huì)再收到數(shù)據(jù)了,但是在這個(gè)TCP連接上仍然能夠發(fā)送數(shù)據(jù),直到這一方向也發(fā)送了FIN。首先進(jìn)行關(guān)閉的一方將執(zhí)行主動(dòng)關(guān)閉,而另一方則執(zhí)行被動(dòng)關(guān)閉 (1)第一次揮手:Client發(fā)送一個(gè)FIN,用來關(guān)閉Client到Server的數(shù)據(jù)傳送,Client進(jìn)入FIN_WAIT_1狀態(tài)。 (2)第二次揮手:Server收到FIN后,發(fā)送一個(gè)ACK給Client,確認(rèn)序號為收到序號+1(與SYN相同,一個(gè)FIN占用一個(gè)序號),Server進(jìn)入CLOSE_WAIT狀態(tài)。 (3)第三次揮手:Server發(fā)送一個(gè)FIN,用來關(guān)閉Server到Client的數(shù)據(jù)傳送,Server進(jìn)入LAST_ACK狀態(tài)。 (4)第四次揮手:Client收到FIN后,Client進(jìn)入TIME_WAIT狀態(tài),接著發(fā)送一個(gè)ACK給Server,確認(rèn)序號為收到序號+1,Server進(jìn)入CLOSED狀態(tài),完成四次揮手。 為什么建立連接是三次握手,而關(guān)閉連接卻是四次揮手: 這是因?yàn)榉?wù)端在LISTEN狀態(tài)下,收到建立連接請求的SYN報(bào)文后,把ACK和SYN放在一個(gè)報(bào)文里發(fā)送給客戶端。而關(guān)閉連接時(shí),當(dāng)收到對方的FIN報(bào)文時(shí),僅僅表示對方不再發(fā)送數(shù)據(jù)了但是還能接收數(shù)據(jù),己方也未必全部數(shù)據(jù)都發(fā)送給對方了,所以己方可以立即close,也可以發(fā)送一些數(shù)據(jù)給對方后,再發(fā)送FIN報(bào)文給對方來表示同意現(xiàn)在關(guān)閉連接,因此,己方ACK和FIN一般都會(huì)分開發(fā)送。 TCP的三次握手過程?為什么會(huì)采用三次握手,若采用二次握手可以嗎? 建立連接的過程是利用客戶服務(wù)器模式,假設(shè)主機(jī)A為客戶端,主機(jī)B為服務(wù)器端。 (1)TCP的三次握手過程:主機(jī)A向B發(fā)送連接請求;主機(jī)B對收到的主機(jī)A的報(bào)文段進(jìn)行確認(rèn);主機(jī)A再次對主機(jī)B的確認(rèn)進(jìn)行確認(rèn)。 (2)采用三次握手是為了防止失效的連接請求報(bào)文段突然又傳送到主機(jī)B,因而產(chǎn)生錯(cuò)誤。失效的連接請求報(bào)文段是指:主機(jī)A發(fā)出的連接請求沒有收到主機(jī)B的確認(rèn),于是經(jīng)過一段時(shí)間后,主機(jī)A又重新向主機(jī)B發(fā)送連接請求,且建立成功,順序完成數(shù)據(jù)傳輸??紤]這樣一種特殊情況,主機(jī)A第一次發(fā)送的連接請求并沒有丟失,而是因?yàn)榫W(wǎng)絡(luò)節(jié)點(diǎn)導(dǎo)致延遲達(dá)到主機(jī)B,主機(jī)B以為是主機(jī)A又發(fā)起的新連接,于是主機(jī)B同意連接,并向主機(jī)A發(fā)回確認(rèn),但是此時(shí)主機(jī)A根本不會(huì)理會(huì),主機(jī)B就一直在等待主機(jī)A發(fā)送數(shù)據(jù),導(dǎo)致主機(jī)B的資源浪費(fèi)。 (3)采用兩次握手不行,原因就是上面說的實(shí)效的連接請求的特殊情況。 4、TCP的可靠性 TCP的可靠性是通過發(fā)送序號(Seq)和確認(rèn)序號(ACK)來實(shí)現(xiàn)的。ack=seq+1; 5、2XX、3XX、4XX、5XX分別代表的含義,以及常見的 簡單版 [ 1XX-信息類(Information),表示收到Web瀏覽器請求,正在進(jìn)一步的處理中 2XX-成功類(Successful),表示用戶請求被正確接收,理解和處理例如:200 OK 3XX-重定向類(Redirection),表示請求沒有成功,客戶必須采取進(jìn)一步的動(dòng)作。 4XX-客戶端錯(cuò)誤(Client Error),表示客戶端提交的請求有錯(cuò)誤 例如:404意味著請求中所引用的文檔不存在。 5XX-服務(wù)器錯(cuò)誤(Server Error)表示服務(wù)器不能完成對請求的處理:如 500 100 Continue 繼續(xù),一般在發(fā)送post請求時(shí),已發(fā)送了http header之后服務(wù)端將返回此信息,表示確認(rèn),之后發(fā)送具體參數(shù)信息 200 OK 正常返回信息 201 Created 請求成功并且服務(wù)器創(chuàng)建了新的資源 202 Accepted 服務(wù)器已接受請求,但尚未處理 301 Moved Permanently 請求的網(wǎng)頁已永久移動(dòng)到新位置。 302 Found 臨時(shí)性重定向。還是請求原地址,但是會(huì)被轉(zhuǎn)移到其他的url處理 303 See Other 臨時(shí)性重定向,需要發(fā)送新的URL。 304 Not Modified 自從上次請求后,請求的網(wǎng)頁未修改過。 400 Bad Request 服務(wù)器無法理解請求的格式,客戶端不應(yīng)當(dāng)嘗試再次使用相同的內(nèi)容發(fā)起請求。 401 Unauthorized 請求未授權(quán)。 403 Forbidden 禁止訪問。 404 Not Found 找不到如何與 URI 相匹配的資源。 500 Internal Server Error 最常見的服務(wù)器端錯(cuò)誤。 503 Service Unavailable 服務(wù)器端暫時(shí)無法處理請求(可能是過載或維護(hù))。 ] 完整版 : 1**(信息類):表示接收到請求并且繼續(xù)處理 100——客戶必須繼續(xù)發(fā)出請求 101——客戶要求服務(wù)器根據(jù)請求轉(zhuǎn)換HTTP協(xié)議版本 2**(響應(yīng)成功):表示動(dòng)作被成功接收、理解和接受 200——表明該請求被成功地完成,所請求的資源發(fā)送回客戶端 201——提示知道新文件的URL 202——接受和處理、但處理未完成 203——返回信息不確定或不完整 204——請求收到,但返回信息為空 205——服務(wù)器完成了請求,用戶代理必須復(fù)位當(dāng)前已經(jīng)瀏覽過的文件 206——服務(wù)器已經(jīng)完成了部分用戶的GET請求 3**(重定向類):為了完成指定的動(dòng)作,必須接受進(jìn)一步處理 300——請求的資源可在多處得到 301——本網(wǎng)頁被永久性轉(zhuǎn)移到另一個(gè)URL 302——請求的網(wǎng)頁被轉(zhuǎn)移到一個(gè)新的地址,但客戶訪問仍繼續(xù)通過原始URL地址,重定向,新的URL會(huì)在response中的Location中返回,瀏覽器將會(huì)使用新的URL發(fā)出新的Request。 303——建議客戶訪問其他URL或訪問方式 304——自從上次請求后,請求的網(wǎng)頁未修改過,服務(wù)器返回此響應(yīng)時(shí),不會(huì)返回網(wǎng)頁內(nèi)容,代表上次的文檔已經(jīng)被緩存了,還可以繼續(xù)使用 305——請求的資源必須從服務(wù)器指定的地址得到 306——前一版本HTTP中使用的代碼,現(xiàn)行版本中不再使用 307——申明請求的資源臨時(shí)性刪除 4**(客戶端錯(cuò)誤類):請求包含錯(cuò)誤語法或不能正確執(zhí)行 400——客戶端請求有語法錯(cuò)誤,不能被服務(wù)器所理解 401——請求未經(jīng)授權(quán),這個(gè)狀態(tài)代碼必須和WWW-Authenticate報(bào)頭域一起使用 HTTP 401.1 - 未授權(quán):登錄失敗 HTTP 401.2 - 未授權(quán):服務(wù)器配置問題導(dǎo)致登錄失敗 HTTP 401.3 - ACL 禁止訪問資源 HTTP 401.4 - 未授權(quán):授權(quán)被篩選器拒絕 HTTP 401.5 - 未授權(quán):ISAPI 或 CGI 授權(quán)失敗 402——保留有效ChargeTo頭響應(yīng) 403——禁止訪問,服務(wù)器收到請求,但是拒絕提供服務(wù) HTTP 403.1 禁止訪問:禁止可執(zhí)行訪問 HTTP 403.2 - 禁止訪問:禁止讀訪問 HTTP 403.3 - 禁止訪問:禁止寫訪問 HTTP 403.4 - 禁止訪問:要求 SSL HTTP 403.5 - 禁止訪問:要求 SSL 128 HTTP 403.6 - 禁止訪問:IP 地址被拒絕 HTTP 403.7 - 禁止訪問:要求客戶證書 HTTP 403.8 - 禁止訪問:禁止站點(diǎn)訪問 HTTP 403.9 - 禁止訪問:連接的用戶過多 HTTP 403.10 - 禁止訪問:配置無效 HTTP 403.11 - 禁止訪問:密碼更改 HTTP 403.12 - 禁止訪問:映射器拒絕訪問 HTTP 403.13 - 禁止訪問:客戶證書已被吊銷 HTTP 403.15 - 禁止訪問:客戶訪問許可過多 HTTP 403.16 - 禁止訪問:客戶證書不可信或者無效 HTTP 403.17 - 禁止訪問:客戶證書已經(jīng)到期或者尚未生效 404——一個(gè)404錯(cuò)誤表明可連接服務(wù)器,但服務(wù)器無法取得所請求的網(wǎng)頁,請求資源不存在。eg:輸入了錯(cuò)誤的URL 405——用戶在Request-Line字段定義的方法不允許 406——根據(jù)用戶發(fā)送的Accept拖,請求資源不可訪問 407——類似401,用戶必須首先在代理服務(wù)器上得到授權(quán) 408——客戶端沒有在用戶指定的餓時(shí)間內(nèi)完成請求 409——對當(dāng)前資源狀態(tài),請求不能完成 410——服務(wù)器上不再有此資源且無進(jìn)一步的參考地址 411——服務(wù)器拒絕用戶定義的Content-Length屬性請求 412——一個(gè)或多個(gè)請求頭字段在當(dāng)前請求中錯(cuò)誤 413——請求的資源大于服務(wù)器允許的大小 414——請求的資源URL長于服務(wù)器允許的長度 415——請求資源不支持請求項(xiàng)目格式 416——請求中包含Range請求頭字段,在當(dāng)前請求資源范圍內(nèi)沒有range指示值,請求也不包含If-Range請求頭字段 417——服務(wù)器不滿足請求Expect頭字段指定的期望值,如果是代理服務(wù)器,可能是下一級服務(wù)器不能滿足請求長。 5**(服務(wù)端錯(cuò)誤類):服務(wù)器不能正確執(zhí)行一個(gè)正確的請求 500 - 服務(wù)器遇到錯(cuò)誤,無法完成請求 HTTP 500.100 - 內(nèi)部服務(wù)器錯(cuò)誤 - ASP 錯(cuò)誤 HTTP 500-11 服務(wù)器關(guān)閉 HTTP 500-12 應(yīng)用程序重新啟動(dòng) HTTP 500-13 - 服務(wù)器太忙 HTTP 500-14 - 應(yīng)用程序無效 HTTP 500-15 - 不允許請求 global.asa 501 - 未實(shí)現(xiàn) 502 - 網(wǎng)關(guān)錯(cuò)誤 503:由于超載或停機(jī)維護(hù),服務(wù)器目前無法使用,一段時(shí)間后可能恢復(fù)正常 6、Cookies和Session的主要區(qū)別 1)session保存在服務(wù)器,客戶端不知道其中的信息;cookie保存在客戶端,服務(wù)器能夠知道其中的信息。 2)session中保存的是對象,cookie中保存的是字符串。 3)session不能區(qū)分路徑,同一個(gè)用戶在訪問一個(gè)網(wǎng)站期間,所有的session在任何一個(gè)地方都可以訪問到。而cookie中如果設(shè)置 了路徑參數(shù),那么同一個(gè)網(wǎng)站中不同路徑下的cookie互相是訪問不到的。 4)session默認(rèn)需要借助cookie才能正常工作。如果客戶端完全禁止cookie,session,這種方法將失效。但可以URL重寫。 5 )session在用戶會(huì)話結(jié)束后就會(huì)關(guān)閉了,但cookie因?yàn)楸4嬖诳蛻舳?,可以長期保存 6) cookie:是服務(wù)端向客戶端寫入的小的片段信息。cookie信息保存在服務(wù)器緩存區(qū),不會(huì)在客戶端顯現(xiàn)。當(dāng)你第一次登陸一個(gè)網(wǎng)站,服務(wù)器向你的機(jī)器寫得片段信息。你可以在Internet選項(xiàng)中找到存放cookie的文件夾。如果不刪除,cookie就一直在這個(gè)文件夾中。 7)cookie不是很安全,別人可以分析存放在本地的COOKIE并進(jìn)行COOKIE欺騙,考慮到安全應(yīng)當(dāng)使用session。 8)單個(gè)cookie保存的數(shù)據(jù)不能超過4K,很多瀏覽器都限制一個(gè)站點(diǎn)最多保存20個(gè)cookie。 9)建議:將登陸信息等重要信息存放為SESSION,其他信息如果需要保留,可以放在COOKIE中 7、七層協(xié)議的介紹 OSI分層(7層) :物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層、應(yīng)用層。 TCP/IP分層(4層) :網(wǎng)絡(luò)接口層、網(wǎng)際層、運(yùn)輸層、應(yīng)用層。 五層協(xié)議(5層) :物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、運(yùn)輸層、應(yīng)用層。 每一層的作用如下: 物理層:激活、維持、關(guān)閉通信端點(diǎn)之間的機(jī)械特性、電氣特性、功能特性以及過程特性。該層為上層協(xié)議提供了一個(gè)傳輸數(shù)據(jù)的物理媒體。 數(shù)據(jù)鏈路層 :數(shù)據(jù)鏈路層在不可靠的物理介質(zhì)上提供可靠的傳輸。該層的作用包括:物理地址尋址、數(shù)據(jù)的成幀、流量控制、數(shù)據(jù)的檢錯(cuò)、重發(fā)等。 網(wǎng)絡(luò)層 :網(wǎng)絡(luò)層負(fù)責(zé)對子網(wǎng)間的數(shù)據(jù)包進(jìn)行路由選擇。此外,網(wǎng)絡(luò)層還可以實(shí)現(xiàn)擁塞控制、網(wǎng)際互連等功能。 傳輸層 :第一個(gè)端到端,即主機(jī)到主機(jī)的層次。傳輸層負(fù)責(zé)將上層數(shù)據(jù)分段并提供端到端的、可靠的或不可靠的傳輸。此外,傳輸層還要處理端到端的差錯(cuò)控制和流量控制問題。 會(huì)話層 :會(huì)話層管理主機(jī)之間的會(huì)話進(jìn)程,即負(fù)責(zé)建立、管理、終止進(jìn)程之間的會(huì)話。會(huì)話層還利用在數(shù)據(jù)中插入校驗(yàn)點(diǎn)來實(shí)現(xiàn)數(shù)據(jù)的同步。 表示層 :表示層對上層數(shù)據(jù)或信息進(jìn)行變換以保證一個(gè)主機(jī)應(yīng)用層信息可以被另一個(gè)主機(jī)的應(yīng)用程序理解。表示層的數(shù)據(jù)轉(zhuǎn)換包括數(shù)據(jù)的加密、壓縮、格式轉(zhuǎn)換等。 應(yīng)用層 :為操作系統(tǒng)或網(wǎng)絡(luò)應(yīng)用程序提供訪問網(wǎng)絡(luò)服務(wù)的接口。 8、TCP/IP 中,每一層對應(yīng)的協(xié)議 應(yīng)用層 :FTP(文件傳送協(xié)議)、Telenet(遠(yuǎn)程登錄協(xié)議)、DNS(域名解析協(xié)議)、SMTP(郵件傳送協(xié)議),POP3協(xié)議(郵局協(xié)議),HTTP協(xié)議。 表示層:JPEG、MPEG、ASII 會(huì)話層:NFS、SQL、NETBIOS、RPC 傳輸層:TCP、UDP、SPX 網(wǎng)絡(luò)層:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由器) 數(shù)據(jù)鏈路:PPP、FR、HDLC、VLAN、MAC (網(wǎng)橋,交換機(jī)) 物理層:RJ45、CLOCK、IEEE802.3 (中繼器,集線器) 每一層的作用如下: 應(yīng)用層:允許訪問OSI環(huán)境的手段(應(yīng)用協(xié)議數(shù)據(jù)單元APDU)(文件傳輸,電 子郵件,文件服務(wù),虛擬終端) 表示層:對數(shù)據(jù)進(jìn)行翻譯、加密和壓縮(表示協(xié)議數(shù)據(jù)單元PPDU)(數(shù)據(jù)格式化,代碼轉(zhuǎn)換,數(shù)據(jù)加密) 會(huì)話層:建立、管理和終止會(huì)話(會(huì)話協(xié)議數(shù)據(jù)單元SPDU)(解除和建立與別的接點(diǎn)的聯(lián)系) 傳輸層:提供端到端的可靠報(bào)文傳遞和錯(cuò)誤恢復(fù)(段Segment)(提供端對端的接口) 網(wǎng)絡(luò)層:負(fù)責(zé)數(shù)據(jù)包從源到宿的傳遞和網(wǎng)際互連(包PackeT)(對數(shù)據(jù)包選擇路由) 數(shù)據(jù)鏈路層:將比特組裝成幀和點(diǎn)到點(diǎn)的傳遞(幀F(xiàn)rame)(傳輸和有地址的幀和錯(cuò)誤檢測功能) 物理層:通過媒介傳輸比特,確定機(jī)械及電氣規(guī)范(比特Bit)(以二進(jìn)制形式在物理媒體上傳輸數(shù)據(jù)) 具體協(xié)議: ICMP協(xié)議:因特網(wǎng)控制報(bào)文協(xié)議。它是TCP/IP協(xié)議族的一個(gè)子協(xié)議,用于在IP主機(jī)、路由器之間傳遞控制消息。 TFTP協(xié)議:是TCP/IP協(xié)議族中的一個(gè)用來在客戶機(jī)與服務(wù)器之間進(jìn)行簡單文件傳輸?shù)膮f(xié)議,提供不復(fù)雜、開銷不大的文件傳輸服務(wù)。 HTTP協(xié)議: 超文本傳輸協(xié)議,是一個(gè)屬于應(yīng)用層的面向?qū)ο蟮膮f(xié)議,由于其簡捷、快速的方式,適用于分布式超媒體信息系統(tǒng)。 DHCP協(xié)議: 動(dòng)態(tài)主機(jī)配置協(xié)議,是一種讓系統(tǒng)得以連接到網(wǎng)絡(luò)上,并獲取所需要的配置參數(shù)手段。 NAT協(xié)議:網(wǎng)絡(luò)地址轉(zhuǎn)換屬接入廣域網(wǎng)(WAN)技術(shù),是一種將私有(保留)地址轉(zhuǎn)化為合法IP地址的轉(zhuǎn)換技術(shù), DHCP協(xié)議:一個(gè)局域網(wǎng)的網(wǎng)絡(luò)協(xié)議,使用UDP協(xié)議工作,用途:給內(nèi)部網(wǎng)絡(luò)或網(wǎng)絡(luò)服務(wù)供應(yīng)商自動(dòng)分配IP地址,給用戶或者內(nèi)部網(wǎng)絡(luò)管理員作為對所有計(jì)算機(jī)作中央管理的手段。 9、ARP協(xié)議的工作原理 完成IP地址到MAC地址的映射。 1:首先,每個(gè)主機(jī)都會(huì)在自己的ARP緩沖區(qū)中建立一個(gè)ARP列表,以表示IP地址和MAC地址之間的對應(yīng)關(guān)系。 2:當(dāng)源主機(jī)要發(fā)送數(shù)據(jù)時(shí),首先檢查ARP列表中是否有對應(yīng)IP地址的目的主機(jī)的MAC地址,如果有,則直接發(fā)送數(shù)據(jù),如果沒有,就向本網(wǎng)段的所有主機(jī)發(fā)送ARP數(shù)據(jù)包,該數(shù)據(jù)包包括的內(nèi)容有:源主機(jī) IP地址,源主機(jī)MAC地址,目的主機(jī)的IP 地址。 3:當(dāng)本網(wǎng)絡(luò)的所有主機(jī)收到該ARP數(shù)據(jù)包時(shí),首先檢查數(shù)據(jù)包中的IP地址是否是自己的IP地址,如果不是,則忽略該數(shù)據(jù)包,如果是,則首先從數(shù)據(jù)包中取出源主機(jī)的IP和MAC地址寫入到ARP列表中,如果已經(jīng)存在,則覆蓋,然后將自己的MAC地址寫入ARP響應(yīng)包中,告訴源主機(jī)自己是它想要找的MAC地址。 4:源主機(jī)收到ARP響應(yīng)包后。將目的主機(jī)的IP和MAC地址寫入ARP列表,并利用此信息發(fā)送數(shù)據(jù)。如果源主機(jī)一直沒有收到ARP響應(yīng)數(shù)據(jù)包,表示ARP查詢失敗。 廣播發(fā)送ARP請求,單播發(fā)送ARP響應(yīng)。 RARP協(xié)議: RARP是逆地址解析協(xié)議,作用是完成硬件地址到IP地址的映射,主要用于無盤工作站,因?yàn)榻o無盤工作站配置的IP地址不能保存。工作流程:在網(wǎng)絡(luò)中配置一臺(tái)RARP服務(wù)器,里面保存著IP地址和MAC地址的映射關(guān)系,當(dāng)無盤工作站啟動(dòng)后,就封裝一個(gè)RARP數(shù)據(jù)包,里面有其MAC地址,然后廣播到網(wǎng)絡(luò)上去,當(dāng)服務(wù)器收到請求包后,就查找對應(yīng)的MAC地址的IP地址裝入響應(yīng)報(bào)文中發(fā)回給請求者。因?yàn)樾枰獜V播請求報(bào)文,因此RARP只能用于具有廣播能力的網(wǎng)絡(luò)。 10、路由設(shè)備與相關(guān)層 物理層 :中繼器(Repeater,也叫放大器),集線器。 數(shù)據(jù)鏈路層 :網(wǎng)橋,交換機(jī)。 網(wǎng)絡(luò)層 :路由器。 網(wǎng)關(guān) :網(wǎng)絡(luò)層以上的設(shè)備。 11、常見的路由選擇協(xié)議,以及它們的區(qū)別 常見的路由選擇協(xié)議有:RIP協(xié)議、OSPF協(xié)議。 RIP協(xié)議 :底層是貝爾曼福特算法,它選擇路由的度量標(biāo)準(zhǔn)(metric)是跳數(shù),最大跳數(shù)是15跳,如果大于15跳,它就會(huì)丟棄數(shù)據(jù)包。 OSPF協(xié)議 :底層是迪杰斯特拉算法,是鏈路狀態(tài)路由選擇協(xié)議,它選擇路由的度量標(biāo)準(zhǔn)是帶寬,延遲。 12、HTTP 協(xié)議包括哪些請求? GET:請求讀取由URL所標(biāo)志的信息。 POST:給服務(wù)器添加信息(如注釋)。 PUT:在給定的URL下存儲(chǔ)一個(gè)文檔。 DELETE:刪除給定的URL所標(biāo)志的資源。 HEAD等等 13、HTTP 中, POST 與 GET 的區(qū)別 (1)Get是從服務(wù)器上獲取數(shù)據(jù),Post是向服務(wù)器傳送數(shù)據(jù)。 (2)Get是把參數(shù)數(shù)據(jù)隊(duì)列加到提交表單的Action屬性所指向的URL中,值和表單內(nèi)各個(gè)字段一一對應(yīng),在URL中科院看到。 (3)Get傳送的數(shù)據(jù)量小,不能大于2KB;post傳送的數(shù)據(jù)量較大,一般被默認(rèn)為不受限制。 (4)根據(jù)HTTP規(guī)范,GET用于信息獲取,而且應(yīng)該是安全的和冪等的。 I.所謂 安全的 意味著該操作用于獲取信息而非修改信息。換句話說,GET 請求一般不應(yīng)產(chǎn)生副作用。就是說,它僅僅是獲取資源信息,就像數(shù)據(jù)庫查詢一樣,不會(huì)修改,增加數(shù)據(jù),不會(huì)影響資源的狀態(tài)。 II. 冪等 的意味著對同一URL的多個(gè)請求應(yīng)該返回同樣的結(jié)果。 14. TCP 對應(yīng)的協(xié)議和 UDP 對應(yīng)的協(xié)議 TCP傳輸單位稱為TCP報(bào)文段,UDP傳輸單位稱為用戶數(shù)據(jù)報(bào)。 TCP注重?cái)?shù)據(jù)安全性,UDP數(shù)據(jù)傳輸快,因?yàn)椴恍枰B接等待,少了許多操作,但是其安全性卻一般。 TCP對應(yīng)的協(xié)議和UDP對應(yīng)的協(xié)議 TCP對應(yīng)的協(xié)議: (1) FTP :定義了文件傳輸協(xié)議,使用21端口。常說某某計(jì)算機(jī)開了FTP服務(wù)便是啟動(dòng)了文件傳輸服務(wù)。下載文件,上傳主頁,都要用到FTP服務(wù)。 (2) Telnet :它是一種用于遠(yuǎn)程登陸的端口,用戶可以以自己的身份遠(yuǎn)程連接到計(jì)算機(jī)上,通過這種端口可以提供一種基于DOS模式下的通信服務(wù)。如以前的BBS是-純字符界面的,支持BBS的服務(wù)器將23端口打開,對外提供服務(wù)。 (3) SMTP :定義了簡單郵件傳送協(xié)議,現(xiàn)在很多郵件服務(wù)器都用的是這個(gè)協(xié)議,用于發(fā)送郵件。如常見的免費(fèi)郵件服務(wù)中用的就是這個(gè)郵件服務(wù)端口,所以在電子郵件設(shè)置-中常看到有這么SMTP端口設(shè)置這個(gè)欄,服務(wù)器開放的是25號端口。 (4) POP3 :它是和SMTP對應(yīng),POP3用于接收郵件。通常情況下,POP3協(xié)議所用的是110端口。也是說,只要你有相應(yīng)的使用POP3協(xié)議的程序(例如Fo-xmail或Outlook),就可以不以Web方式登陸進(jìn)郵箱界面,直接用郵件程序就可以收到郵件(如是163郵箱就沒有必要先進(jìn)入網(wǎng)易網(wǎng)站,再進(jìn)入自己的郵-箱來收信)。 (5)HTTP協(xié)議: 是從 Web 服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。 UDP對應(yīng)的協(xié)議: (1) DNS :用于域名解析服務(wù),將域名地址轉(zhuǎn)換為IP地址。DNS用的是53號端口。 (2) SNMP :簡單網(wǎng)絡(luò)管理協(xié)議,使用161號端口,是用來管理網(wǎng)絡(luò)設(shè)備的。由于網(wǎng)絡(luò)設(shè)備很多,無連接的服務(wù)就體現(xiàn)出其優(yōu)勢。 (3) TFTP (Trival File Transfer Protocal),簡單文件傳輸協(xié)議,該協(xié)議在熟知端口69上使用UDP服務(wù)。 IP地址的分類: A類地址:以0開頭, 第一個(gè)字節(jié)范圍:0~126(1.0.0.0 - 126.255.255.255); B類地址:以10開頭, 第一個(gè)字節(jié)范圍:128~191(128.0.0.0 - 191.255.255.255); C類地址:以110開頭, 第一個(gè)字節(jié)范圍:192~223(192.0.0.0 - 223.255.255.255); 10.0.0.0—10.255.255.255, 172.16.0.0—172.31.255.255, 192.168.0.0—192.168.255.255。(Internet上保留地址用于內(nèi)部)IP地址與子網(wǎng)掩碼相與得到網(wǎng)絡(luò)號 15、NAT 協(xié)議、 DHCP 協(xié)議、 DNS 協(xié)議的作用 NAT協(xié)議 :網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT,Network AddressTranslation)屬接入廣域網(wǎng)(WAN)技術(shù), 是一種將私有(保留)地址轉(zhuǎn)化為合法IP地址的轉(zhuǎn)換技術(shù),它被廣泛應(yīng)用于各種類型Internet接入方式和各種類型的網(wǎng)絡(luò)中。原因很簡單,NAT不僅完美地解決了lP地址不足的問題,而且還能夠有效地避免來自網(wǎng)絡(luò)外部的攻擊,隱藏并保護(hù)網(wǎng)絡(luò)內(nèi)部的計(jì)算機(jī)。 DHCP協(xié)議 :動(dòng)態(tài)主機(jī)設(shè)置協(xié)議(Dynamic Host ConfigurationProtocol, DHCP) 是一個(gè)局域網(wǎng)的網(wǎng)絡(luò)協(xié)議,使用UDP協(xié)議工作,主要有兩個(gè)用途:給內(nèi)部網(wǎng)絡(luò)或網(wǎng)絡(luò)服務(wù)供應(yīng)商自動(dòng)分配IP地址,給用戶或者內(nèi)部網(wǎng)絡(luò)管理員作為對所有計(jì)算機(jī)作中央管理的手段。 DNS協(xié)議 :DNS 是域名系統(tǒng) (Domain Name System) 的縮寫,是因特網(wǎng)的一項(xiàng)核心服務(wù),它作為可以將域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫,能夠使人更方便的訪問互聯(lián)網(wǎng),而不用去記住能夠被機(jī)器直接讀取的IP數(shù)串。 DNS域名系統(tǒng),簡單描述其工作原理: 當(dāng)DNS客戶機(jī)需要在程序中使用名稱時(shí),它會(huì)查詢DNS服務(wù)器來解析該名稱??蛻魴C(jī)發(fā)送的每條查詢信息包括三條信息:包括:指定的DNS域名,指定的查詢類型,DNS域名的指定類別?;赨DP服務(wù),端口53. 該應(yīng)用一般不直接為用戶使用,而是為其他應(yīng)用服務(wù),如HTTP,SMTP等在其中需要完成主機(jī)名到IP地址的轉(zhuǎn)換。 面向連接和非面向連接的服務(wù)的特點(diǎn)是什么? 面向連接的服務(wù),通信雙方在進(jìn)行通信之前,要先在雙方建立起一個(gè)完整的可以彼此溝通的通道,在通信過程中,整個(gè)連接的情況一直可以被實(shí)時(shí)地監(jiān)控和管理。 非面向連接的服務(wù),不需要預(yù)先建立一個(gè)聯(lián)絡(luò)兩個(gè)通信節(jié)點(diǎn)的連接,需要通信的時(shí)候,發(fā)送節(jié)點(diǎn)就可以往網(wǎng)絡(luò)上發(fā)送信息,讓信息自主地在網(wǎng)絡(luò)上去傳,一般在傳輸?shù)倪^程中不再加以監(jiān)控。 16、B+樹、B-樹和紅黑樹 B-樹的特性: 1.關(guān)鍵字集合分布在整顆樹中; 2.任何一個(gè)關(guān)鍵字出現(xiàn)且只出現(xiàn)在一個(gè)結(jié)點(diǎn)中; 3.搜索有可能在非葉子結(jié)點(diǎn)結(jié)束; 4.其搜索性能等價(jià)于在關(guān)鍵字全集內(nèi)做一次二分查找; 5.自動(dòng)層次控制; 由于限制了除根結(jié)點(diǎn)以外的非葉子結(jié)點(diǎn),至少含有M/2個(gè)兒子,確保了結(jié)點(diǎn)的至少利用率,其最底搜索性能為:O(log2n)只與節(jié)點(diǎn)數(shù)有關(guān),與M無關(guān)。 B+的特性: 1.所有關(guān)鍵字都出現(xiàn)在葉子結(jié)點(diǎn)的鏈表中(稠密索引),且鏈表中的關(guān)鍵字恰好是有序的; 2.不可能在非葉子結(jié)點(diǎn)命中; 3.非葉子結(jié)點(diǎn)相當(dāng)于是葉子結(jié)點(diǎn)的索引(稀疏索引),葉子結(jié)點(diǎn)相當(dāng)于是存儲(chǔ)(關(guān)鍵字)數(shù)據(jù)的數(shù)據(jù)層; 4.更適合用于數(shù)據(jù)庫和操作系統(tǒng)的文件系統(tǒng); B+樹的查找:對B+樹可以進(jìn)行兩種查找運(yùn)算: 1)從最小關(guān)鍵字起順序查找; 2)從根結(jié)點(diǎn)開始,進(jìn)行隨機(jī)查找。 B+樹是應(yīng)文件系統(tǒng)所需而出的一種B-樹的變型樹。一棵m階的B+樹和m階的B-樹的差異在于: 1.有n棵子樹的結(jié)點(diǎn)中含有n個(gè)關(guān)鍵字,每個(gè)關(guān)鍵字不保存數(shù)據(jù),只用來索引,所有數(shù)據(jù)都保存在葉子節(jié)點(diǎn)。 2.所有的葉子結(jié)點(diǎn)中包含了全部關(guān)鍵字的信息,及指向含這些關(guān)鍵字記錄的指針,且葉子結(jié)點(diǎn)本身依關(guān)鍵字的大小自小而大順序鏈接。 3.所有的非終端結(jié)點(diǎn)可以看成是索引部分,結(jié)點(diǎn)中僅含其子樹(根結(jié)點(diǎn))中的最大(或最?。╆P(guān)鍵字。 通常在B+樹上有兩個(gè)頭指針,一個(gè)指、-向根結(jié)點(diǎn),一個(gè)指向關(guān)鍵字最小的葉子結(jié)點(diǎn)。 紅黑樹:紅黑樹就是用紅鏈接表示3-結(jié)點(diǎn)的2-3樹。 紅黑樹(Red Black Tree) 是一種自平衡二叉查找樹,是在計(jì)算機(jī)科學(xué)中用到的一種數(shù)據(jù)結(jié)構(gòu),典型的用途是實(shí)現(xiàn)關(guān)聯(lián)數(shù)組。 紅黑樹性質(zhì): 1)每個(gè)結(jié)點(diǎn)要么是紅的,要么是黑的。 2)根結(jié)點(diǎn)是黑的。 3)每個(gè)葉結(jié)點(diǎn),即空結(jié)點(diǎn)(NIL)是黑的。 4)如果一個(gè)結(jié)點(diǎn)是紅的,那么它的倆個(gè)兒子都是黑的。 5)對每個(gè)結(jié)點(diǎn),從該結(jié)點(diǎn)到其子孫結(jié)點(diǎn)的所有路徑上包含相同數(shù)目的黑結(jié)點(diǎn)。 紅黑樹的本質(zhì): 紅黑樹是對2-3查找樹的改進(jìn),只是它們對3結(jié)點(diǎn)的表示不同,將3-結(jié)點(diǎn)表示為由一條左斜的紅色鏈接相連的兩個(gè)2-結(jié)點(diǎn)。若指向它的鏈接是紅色的,那么該節(jié)點(diǎn)為紅色,紅黑樹都既是二叉查找樹,也是2-3樹 小結(jié): B樹:二叉樹,每個(gè)結(jié)點(diǎn)只存儲(chǔ)一個(gè)關(guān)鍵字,等于則命中,小于走左結(jié)點(diǎn),大于走右結(jié)點(diǎn); B-樹:多路搜索樹,每個(gè)結(jié)點(diǎn)存儲(chǔ)M/2到M個(gè)關(guān)鍵字,非葉子結(jié)點(diǎn)存儲(chǔ)指向關(guān)鍵字范圍的子結(jié)點(diǎn);所有關(guān)鍵字在整顆樹中出現(xiàn),且只出現(xiàn)一次,非葉子結(jié)點(diǎn)可以命中; B+樹:在B-樹基礎(chǔ)上,為葉子結(jié)點(diǎn)增加鏈表指針,所有關(guān)鍵字都在葉子結(jié)點(diǎn)中出現(xiàn),非葉子結(jié)點(diǎn)作為葉子結(jié)點(diǎn)的索引;B+樹總是到葉子結(jié)點(diǎn)才命中; B*樹:在B+樹基礎(chǔ)上,為非葉子結(jié)點(diǎn)也增加鏈表指針,將結(jié)點(diǎn)的最低利用率從1/2提高到2/3。 |
|