做的網(wǎng)站每年需要續(xù)費(fèi)重慶seo全網(wǎng)營(yíng)銷
網(wǎng)絡(luò)協(xié)議分析
- 網(wǎng)絡(luò)協(xié)議分析概述
- 用IP實(shí)現(xiàn)異構(gòu)網(wǎng)絡(luò)互聯(lián)
- 網(wǎng)絡(luò)協(xié)議的分層
- TCP/IP的分層模型
- 協(xié)議分析
- 協(xié)議分析應(yīng)用
- 協(xié)議分析任務(wù)
- 常見(jiàn)網(wǎng)絡(luò)協(xié)議
- PPP協(xié)議
- 報(bào)文選項(xiàng)
- IPCP
- 認(rèn)證協(xié)議PAP
- 安全缺陷
- 認(rèn)證協(xié)議CHAP
- PPPoE
- 協(xié)議流程
- 地址解析協(xié)議ARP
- ARP的思想和步驟
- ARP報(bào)文格式及封裝
- 移動(dòng)IP
- 移動(dòng)IP的工作機(jī)制:代理發(fā)現(xiàn)
- 移動(dòng)代理通告
- 移動(dòng)代理懇求
- 移動(dòng)主機(jī)判斷自己的位置
- 移動(dòng)IP的工作機(jī)制:注冊(cè)
- 移動(dòng)IP的工作機(jī)制:數(shù)據(jù)傳送
- 移動(dòng)IP的三角路由問(wèn)題
- 隧道技術(shù)
- IP-in-IP封裝
- 最小封裝
- 通用路由封裝
- HTTP協(xié)議
- 持久連接和長(zhǎng)度
- HTTP協(xié)商及條件請(qǐng)求
- 代理服務(wù)器和高速緩存
- HTTP報(bào)文格式
- HTTP面臨的安全風(fēng)險(xiǎn)
- 電子郵件系統(tǒng)
- 三大部件
- 系統(tǒng)結(jié)構(gòu)和基本功能
- 郵箱地址及電子郵件格式
- 簡(jiǎn)單郵件傳輸協(xié)議SMTP
- POP協(xié)議
- IMAP
- POP VS IMAP
- 電子郵件系統(tǒng)面臨的安全威脅
- 域名系統(tǒng)DNS
- 域名解析原理
- 域名解析原理
- 高速緩存
- 減少DNS報(bào)文長(zhǎng)度的措施
- DNS面臨的安全威脅
網(wǎng)絡(luò)協(xié)議分析概述
- Internet:Network of Networks(網(wǎng)絡(luò)之網(wǎng)絡(luò))
- 異構(gòu)網(wǎng)絡(luò)互聯(lián)技術(shù):Vinton Cerf,每個(gè)網(wǎng)絡(luò)內(nèi)部使用各自的通信協(xié)議,每個(gè)網(wǎng)絡(luò)與其它網(wǎng)絡(luò)通信時(shí)使用TCP/IP協(xié)議族。
用IP實(shí)現(xiàn)異構(gòu)網(wǎng)絡(luò)互聯(lián)
- 實(shí)際操作層面:用路由器互聯(lián)
- Internet的構(gòu)成:
- TCP/IP協(xié)議族的引入:簡(jiǎn)化問(wèn)題,分而治之。隨后在此基礎(chǔ)上構(gòu)建各類應(yīng)用。
網(wǎng)絡(luò)協(xié)議的分層
- 分層:將龐大而復(fù)雜的問(wèn)題,轉(zhuǎn)化為若干較小的局部問(wèn)題。
- 最初的 ARPANET 設(shè)計(jì)時(shí)提出了分層的設(shè)計(jì)方法。
- 1974 年,IBM 按照分層的方法制定并提出系統(tǒng)網(wǎng)絡(luò)體系結(jié)構(gòu) SNA (System NetworkArchitecture)。
-
通用的協(xié)議分層思想:理論抽象。
-
TCP/IP的分層模型:理論實(shí)現(xiàn)。
-
通用的協(xié)議分層思想:
- 第 N N N層實(shí)體在實(shí)現(xiàn)自身定義的功能時(shí),只使用 N ? 1 N-1 N?1層提供的服務(wù)
- N N N層向 N + 1 N+1 N+1層提供服務(wù),此服務(wù)不僅包括 N N N層本身所具備的功能,還包括由下層服務(wù)提供的功能總和
- 最底層只提供服務(wù),是提供服務(wù)的基礎(chǔ);最高層只是用戶,是使用服務(wù)的最高層;中間各層既是下一層的用戶,又是上一層服務(wù)的提供者
- 僅在相鄰層間有接口,且下層服務(wù)的實(shí)現(xiàn)細(xì)節(jié)對(duì)上層完全透明
- 網(wǎng)絡(luò)協(xié)議層間關(guān)系:
TCP/IP的分層模型
- 建立在硬件層上的4個(gè)軟件層:
- 協(xié)議分層的原則:第 n n n層所收到的數(shù)據(jù)就是源主機(jī)第 n n n層所發(fā)出的數(shù)據(jù)。
- 操作系統(tǒng)邊界和協(xié)議地址邊界:
- 點(diǎn)到點(diǎn)和端到端:IP層為間隔:
- 協(xié)議依賴關(guān)系:上層依賴下層
- 協(xié)議依賴關(guān)系:沙漏模型
- 多路復(fù)用和多路分解:多路復(fù)用
- 多路復(fù)用和多路分解:多路分解
協(xié)議分析
- 協(xié)議分析也叫網(wǎng)絡(luò)分析,通過(guò)程序分析網(wǎng)絡(luò)數(shù)據(jù)包的協(xié)議頭和尾,從而了解信息和相關(guān)的數(shù)據(jù)包在產(chǎn)生和傳輸過(guò)程中的行為,包含該程序的軟件和設(shè)備就是協(xié)議分析器。 本質(zhì)上協(xié)議分析器是在竊聽(tīng)網(wǎng)絡(luò)通信。
- 協(xié)議分析器的本質(zhì)是數(shù)據(jù)包嗅探,觀察正在運(yùn)行的協(xié)議實(shí)體間交換報(bào)文的基本工具被稱為數(shù)據(jù)包嗅探器(packet sniffer),又稱分組捕獲器。
- 數(shù)據(jù)包嗅探器捕獲計(jì)算機(jī)發(fā)送和接收的報(bào)文。
- 網(wǎng)絡(luò)嗅探工具通常用來(lái)進(jìn)行協(xié)議分析和網(wǎng)絡(luò)監(jiān)控,以便于進(jìn)行故障診斷、性能分析和安全分析等,黑客則用之進(jìn)行安全敏感信息的監(jiān)聽(tīng)和截取。
- 分組捕獲器需要把網(wǎng)卡設(shè)置為“混雜模式” 這樣當(dāng)數(shù)據(jù)包從嗅探器所連接的網(wǎng)卡上進(jìn)入系統(tǒng)時(shí),嗅探程序可以接收到整個(gè)以太網(wǎng)內(nèi)的網(wǎng)絡(luò)數(shù)據(jù)信息,包括所有的廣播、組播和單播數(shù)據(jù)包,甚至錯(cuò)誤的數(shù)據(jù)包,從而實(shí)現(xiàn)數(shù)據(jù)包捕獲。
- 分組分析器的作用是分析協(xié)議報(bào)文并把報(bào)文中所有字段的內(nèi)容直觀地顯示出來(lái)。其主要構(gòu)成通常包括一個(gè)包過(guò)濾器、數(shù)據(jù)包緩沖區(qū)和解碼部分。
協(xié)議分析應(yīng)用
- 協(xié)議分析器通常用于診斷網(wǎng)絡(luò)出現(xiàn)故障。
- 協(xié)議分析器也可以用來(lái)測(cè)試網(wǎng)絡(luò)。通常測(cè)試可以采用兩種方式來(lái)進(jìn)行:一種是主動(dòng)向網(wǎng)絡(luò)中發(fā)送數(shù)據(jù)包來(lái)測(cè)試,另一種是通過(guò)偵聽(tīng)不同尋常的通信這種被動(dòng)方式來(lái)測(cè)試。
- 協(xié)議分析器還可以用于搜集網(wǎng)絡(luò)性能的趨勢(shì)數(shù)據(jù)
協(xié)議分析任務(wù)
- 網(wǎng)絡(luò)協(xié)議三要素:語(yǔ)法、語(yǔ)意、同步。
- 語(yǔ)法:常見(jiàn)網(wǎng)絡(luò)協(xié)議的數(shù)據(jù)包格式
- 語(yǔ)義:數(shù)據(jù)包首部和尾部各個(gè)字段的含義和作用
- 同步:各個(gè)協(xié)議的工作過(guò)程
常見(jiàn)網(wǎng)絡(luò)協(xié)議
PPP協(xié)議
-
PPP基礎(chǔ):網(wǎng)絡(luò)接口層協(xié)議,數(shù)據(jù)鏈路層協(xié)議;點(diǎn)到點(diǎn):數(shù)據(jù)幀的接收者就是固定對(duì)等端;
-
經(jīng)典協(xié)議的新應(yīng)用:
- PPPoA(PPP over ATM):ATM上的PPP;
- PPPoE(PPP over Ethernet):以太網(wǎng)上的PPP
-
PPP應(yīng)用場(chǎng)景
-
PPP規(guī)定的內(nèi)容:
- 幀格式及成幀方法
- 鏈路控制協(xié)議LCP:用于建立、配置和測(cè)試PPP鏈路
- 網(wǎng)絡(luò)控制協(xié)議NCP:用于建立和配置網(wǎng)絡(luò)層協(xié)議
-
使用的認(rèn)證協(xié)議:
- 口令認(rèn)證協(xié)議PAP:Password Authentication Proto
- 基于挑戰(zhàn)的握手認(rèn)證協(xié)議CHAP:Challenge Handshake Authentication Protocol
- 協(xié)議流程
- 鏈路狀態(tài)轉(zhuǎn)換
- PPP幀格式
- LCP
- 鏈路配置
報(bào)文選項(xiàng)
- 最大接收單元:MRU,Maximum Receive Unit,用以向?qū)Ψ酵ǜ婵梢越邮盏淖畲髨?bào)文長(zhǎng)度;
- 認(rèn)證協(xié)議:用以向?qū)Ψ酵ǜ媸褂玫恼J(rèn)證協(xié)議,PAP(C023),CHAP(C223);
- 質(zhì)量協(xié)議:用以向?qū)Ψ酵ǜ媸褂玫逆溌焚|(zhì)量監(jiān)控協(xié)議,LQR(C025);
- 幻數(shù):用以防止環(huán)路;
- 協(xié)議域壓縮:PFC,Protocol Field Compression,用以通知對(duì)方可以接收“協(xié)議”字段經(jīng)過(guò)壓縮的PPP幀;
- 地址及控制域壓縮: ACFC, Address and Control FieldCompression ,用以通知對(duì)方可以接收“地址”和“控制”字段經(jīng)過(guò)壓縮的PPP幀
- 鏈路終止
- 鏈路維護(hù):用于錯(cuò)誤通告及鏈路狀態(tài)檢測(cè)
IPCP
- 基本思想
- 與LCP的配置協(xié)商過(guò)程類似;
- 定義的報(bào)文類型包括:Configure-Request、Configure-Ack、Configure-Nak、Configure-Reject、Terminate-Request、Terminate-Ack和Code-Reject。
- 定義的配置選項(xiàng):多個(gè)IP地址、IP壓縮協(xié)議、IP地址。
- IP壓縮協(xié)議:用以協(xié)商使用的壓縮協(xié)議,IPCP僅規(guī)定了“Van Jacobson(002D)”。
- IP地址:發(fā)起方在Configure-Request中包含該選項(xiàng),請(qǐng)求回應(yīng)方分配一個(gè)IP地址;回應(yīng)方在Configure-Nak包含該選項(xiàng),返回合法IP。
認(rèn)證協(xié)議PAP
- 報(bào)文格式
安全缺陷
- 身份和口令信息明文傳輸,無(wú)法防止竊聽(tīng)、重放和窮舉攻擊
- PPP僅在建立鏈路的階段使用,在數(shù)據(jù)傳輸過(guò)程中不能使用,這意味著通信過(guò)程中不能再驗(yàn)證對(duì)等端身份
認(rèn)證協(xié)議CHAP
- 報(bào)文格式
PPPoE
CSMA/CD
- 多點(diǎn)接入:廣播網(wǎng)絡(luò);
- 載波監(jiān)聽(tīng):每臺(tái)主機(jī)發(fā)送數(shù)據(jù)前都要監(jiān)聽(tīng)信道以確定信道是否空閑;
- 碰撞檢測(cè):主機(jī)“邊發(fā)送邊監(jiān)聽(tīng)”,當(dāng)發(fā)現(xiàn)發(fā)生了沖突時(shí),立即停止數(shù)據(jù)發(fā)送
- 以太網(wǎng):高帶寬;PPP:提供用戶認(rèn)證、控制、服務(wù)、記賬等功能。
- PPPoE:結(jié)合二者的優(yōu)點(diǎn)。
協(xié)議流程
- 發(fā)現(xiàn)階段(獲取AC的MAC地址,從多個(gè)AC中選擇一個(gè),生成會(huì)話ID)
- 發(fā)起(PADI, PPPoE Active Discovery Initiation ):客戶端通過(guò)廣播請(qǐng)求以獲取可用的AC;
- 提供(PPPoE Active Discovery Offer,PADO):在收到請(qǐng)求后,若AC可以提供服務(wù),則返回該報(bào)文;
- 請(qǐng)求(PPPoE Active Discovery Reques t,PADR):如果客戶端收到來(lái)自多個(gè)AC的應(yīng)答,則必須從中選擇一個(gè)并向該AC發(fā)出請(qǐng)求;
- 確認(rèn)(PPPoE Active Discovery Session-confirmation,PADS):收到請(qǐng)求的AC向客戶端返回確認(rèn),從而建立PPP連接及會(huì)話。
- 會(huì)話階段(為虛擬的PPP鏈路分配資源)
- 利用LCP配置鏈路;
- 使用PAP或者CHAP驗(yàn)證身份;
- 使用IPCP等網(wǎng)絡(luò)層控制協(xié)議配置相關(guān)參數(shù)
- 斷開鏈路
- 可以用PPP實(shí)現(xiàn)
- 也可以進(jìn)入PPPoE定義的終止步驟PADT
- PPPoE報(bào)文格式與封裝:封裝于以太網(wǎng)幀中(發(fā)現(xiàn)階段幀類型字段為0x8863,否則為0x8864)
- 會(huì)話階段報(bào)文格式與封裝
地址解析協(xié)議ARP
- 地址解析協(xié)議ARP:解決IP地址到物理地址的映射問(wèn)題
- 兩種地址解析方式
- 空間較小且容易配置的地址
- 空間巨大且固化的地址
- 兩種地址解析方式
- 直接映射方法:比如對(duì)于物理地址長(zhǎng)度為1字節(jié)且不固定的情況,可以用IP地址的最后一個(gè)字節(jié)作為物理地址
- 動(dòng)態(tài)解析方法:物理地址長(zhǎng)度大于IP地址長(zhǎng)度且固化,此時(shí)使用ARP(Address Resolution Protocol,地址解析協(xié)議)
ARP的思想和步驟
- 思想:廣播詢問(wèn),單播回應(yīng):“誰(shuí)的IP地址是IPB,請(qǐng)把你的物理地址MACB告訴我!”;
- 發(fā)送方主機(jī)發(fā)送一個(gè)ARP請(qǐng)求報(bào)文,該報(bào)文以廣播方式發(fā)送,其中包含了接收方的IP地址;
- 網(wǎng)絡(luò)上所有的主機(jī)都會(huì)收到這個(gè)請(qǐng)求,它們把請(qǐng)求中包含的接收方IP地址與自身的IP地址相比較
- 如果相等,則向發(fā)送方回應(yīng),回應(yīng)中包含了自己的物理地址;
- 否則不作回應(yīng)。
- 跨網(wǎng)轉(zhuǎn)發(fā)時(shí)ARP的使用方法:ARP請(qǐng)求使用物理廣播方式投遞,而物理廣播幀不能跨越路由器轉(zhuǎn)發(fā)
- A在把數(shù)據(jù)報(bào)投遞給R之前,首先利用ARP獲取I1的物理地址MAC1。
- A把數(shù)據(jù)報(bào)投遞給R的I1接口。此時(shí)數(shù)據(jù)報(bào)的目的IP地址為IPB,但封裝該數(shù)據(jù)報(bào)的物理幀將目的物理地址設(shè)置為MAC1。
- R把數(shù)據(jù)報(bào)從I2接口轉(zhuǎn)發(fā)出去,轉(zhuǎn)發(fā)前利用ARP獲取主機(jī)B的物理地址。
- R之后把數(shù)據(jù)報(bào)投遞給B。此時(shí)數(shù)據(jù)報(bào)的源IP地址是IPA,但相應(yīng)物理幀的源物理地址為MAC2
- 跨網(wǎng)轉(zhuǎn)發(fā)時(shí)ARP的使用方法:
- 代理ARP:R代理主機(jī)D向A發(fā)送ARP應(yīng)答
- 作用:無(wú)縫添加路由器,使得子網(wǎng)的變化對(duì)主機(jī)透明
ARP報(bào)文格式及封裝
- 物理網(wǎng)絡(luò)類型/物理地址長(zhǎng)度:物理網(wǎng)絡(luò)的類型及相應(yīng)的地址長(zhǎng)度
- 協(xié)議類型/協(xié)議地址長(zhǎng)度:上層協(xié)議的類型及相應(yīng)地址的長(zhǎng)度
- 報(bào)文字段設(shè)置:
- 請(qǐng)求報(bào)文:發(fā)送方在前兩個(gè)字段填寫自己的IP和MAC地址,體現(xiàn)了捎帶的思想;發(fā)送方也會(huì)在目標(biāo)IP地址字段寫明所請(qǐng)求目標(biāo)的IP地址。
- 應(yīng)答報(bào)文:目標(biāo)硬件地址字段填寫應(yīng)答方的物理地址;交換發(fā)送方地址區(qū)和目標(biāo)地址區(qū)的內(nèi)容,并返回給發(fā)送方
- 封裝ARP報(bào)文的幀:類型字段設(shè)置為0806h
移動(dòng)IP
- 主機(jī)在變換網(wǎng)絡(luò)后,仍能以原來(lái)的IP地址與Internet上的其它主機(jī)進(jìn)行通信。具有以下特點(diǎn):
- 透明性:對(duì)于應(yīng)用程序、傳輸層協(xié)議以及變動(dòng)中未涉及的路由器,移動(dòng)性是透明的,即它們不知道主機(jī)已經(jīng)變換網(wǎng)絡(luò)。
- 互操作性:使用移動(dòng)IP的主機(jī)簡(jiǎn)稱為移動(dòng)主機(jī)(MH,Mobile Host),它既可以與固定主機(jī)進(jìn)行互操作,也可以與其它MH進(jìn)行互操作,且不需要進(jìn)行特殊編址,分配給MH的地址與分配給固定主機(jī)的地址沒(méi)有不同。
- 安全性:移動(dòng)IP提供認(rèn)證機(jī)制,確保報(bào)文的完整性,防止其它主機(jī)假冒MH。
- 宏移動(dòng)性:移動(dòng)IP不會(huì)試圖處理快速的網(wǎng)絡(luò)變換,而是重點(diǎn)關(guān)注持續(xù)時(shí)間較長(zhǎng)的移動(dòng)性問(wèn)題。
- 移動(dòng)主機(jī)擁有兩個(gè)IP地址:家鄉(xiāng)地址和轉(zhuǎn)交地址。
- 家鄉(xiāng)地址:家鄉(xiāng)網(wǎng)絡(luò)給MH分配的固定地址,在移動(dòng)過(guò)程中保持不變,被主機(jī)的應(yīng)用程序和傳輸層使用
- 轉(zhuǎn)交地址:外地網(wǎng)絡(luò)給MH分配的臨時(shí)地址,隨MH的移動(dòng)而改變
- 合作定位轉(zhuǎn)交地址(co-located care-of address):通過(guò)DHCP或手工配置等方式分配給MH
- 外地代理轉(zhuǎn)交地址(foreign agent care-of address):外地代理將自己的IP地址提供給MH使用
- MH把轉(zhuǎn)交地址發(fā)送給家鄉(xiāng)代理。家鄉(xiāng)代理截取所有目的地為MH家鄉(xiāng)地址的數(shù)據(jù)報(bào),將轉(zhuǎn)交地址作為新的目的地,以隧道方式傳送給MH。當(dāng)MH回到原始位置,即家鄉(xiāng)網(wǎng)絡(luò)時(shí),使用家鄉(xiāng)地址。
移動(dòng)IP的工作機(jī)制:代理發(fā)現(xiàn)
移動(dòng)代理通告
- 移動(dòng)代理通告:對(duì)ICMP的路由器通告報(bào)文進(jìn)行擴(kuò)展
-
類型:16;長(zhǎng)度:報(bào)文長(zhǎng)度,字節(jié)為單位;
-
生命期:代理接受注冊(cè)請(qǐng)求所允許的最大時(shí)間間隔(以秒為單位),全1為無(wú)限長(zhǎng);
-
轉(zhuǎn)交地址:提供了MH可使用的轉(zhuǎn)交地址列表
-
前綴長(zhǎng)度擴(kuò)展:位于移動(dòng)代理通告擴(kuò)展之后,對(duì)應(yīng)路由器通告報(bào)文中的“路由器地址/優(yōu)先級(jí)”對(duì),了便于移動(dòng)主機(jī)判斷自己所處的網(wǎng)絡(luò)
-
一字節(jié)填充擴(kuò)展:保持報(bào)文按字節(jié)數(shù)偶數(shù)對(duì)齊
-
完整的ICMP代理通告報(bào)文:代碼字段:0或16。0:普通路由器;16:行使移動(dòng)代理功能;地址數(shù)字段:可以設(shè)置為0。
-
報(bào)文封裝:封裝于IP數(shù)據(jù)報(bào)隨后封裝于物理幀;幀目的地址為代理的源MAC地址;IP數(shù)據(jù)報(bào)首部TTL為1;目的地址可設(shè)置為224.0.0.1或255.255.255.255。
移動(dòng)代理懇求
與路由器肯定報(bào)文相同,要求IP數(shù)據(jù)報(bào)首部TTL為1
移動(dòng)主機(jī)判斷自己的位置
- 根據(jù)路由器通告,MH可以判斷自己是否在外地網(wǎng)絡(luò)(比較網(wǎng)絡(luò)前綴)
- 根據(jù)路由器通告,MH還可判斷自己是否更換了網(wǎng)絡(luò)
移動(dòng)IP的工作機(jī)制:注冊(cè)
- 作用:
- 通過(guò)注冊(cè),得到外地代理的路由服務(wù);
- 通知家鄉(xiāng)代理它當(dāng)前的轉(zhuǎn)交地址;
- 可以使一個(gè)即將過(guò)期的注冊(cè)重新生效;
- MH回到家鄉(xiāng)網(wǎng)絡(luò)后,通過(guò)注冊(cè)實(shí)現(xiàn)注銷。
- 家鄉(xiāng)代理根據(jù)接收到的注冊(cè)報(bào)文,可以創(chuàng)建或更改MH的移動(dòng)綁定信息。每個(gè)綁定信息包括MH的家鄉(xiāng)地址、當(dāng)前的轉(zhuǎn)交地址等內(nèi)容。
- 移動(dòng)主機(jī)登記過(guò)程
- 注冊(cè)報(bào)文:UDP報(bào)文,目的端口號(hào)434
- 生命期:以秒為單位的注冊(cè)時(shí)間,0表示立即取消注冊(cè),全1表示無(wú)窮大。
- 家鄉(xiāng)地址、家鄉(xiāng)代理、轉(zhuǎn)交地址:核心
- 注冊(cè)應(yīng)答報(bào)文:代理返回應(yīng)答
移動(dòng)IP的工作機(jī)制:數(shù)據(jù)傳送
- 單播數(shù)據(jù)傳送
- 向MH發(fā)送數(shù)據(jù):向MH發(fā)送的數(shù)據(jù)報(bào)先被家鄉(xiāng)代理截獲,家鄉(xiāng)代理查找注冊(cè)信息,取出MH當(dāng)前的轉(zhuǎn)交地址,然后使用隧道技術(shù)將數(shù)據(jù)報(bào)封裝,發(fā)往MH的轉(zhuǎn)交地址;如果是合作定位轉(zhuǎn)交地址,則由MH解封;如果是外地代理轉(zhuǎn)交地址,則由外地代理先解封,再交給MH。
- MH發(fā)送數(shù)據(jù):在外地網(wǎng)絡(luò)的MH通常選擇外地代理作為默認(rèn)路由器。MH將需要發(fā)送的數(shù)據(jù)報(bào)直接交給外地代理,由外地代理負(fù)責(zé)將數(shù)據(jù)報(bào)路由到相應(yīng)目的地。此時(shí)無(wú)需使用隧道技術(shù)。
- 廣播數(shù)據(jù)傳送
- 接收廣播數(shù)據(jù):MH如果希望接收家鄉(xiāng)網(wǎng)絡(luò)的廣播報(bào)文,在登記時(shí)必須向家鄉(xiāng)代理聲明。家鄉(xiāng)代理收到廣播報(bào)文后,要根據(jù)MH使用的轉(zhuǎn)交地址類型,進(jìn)行相應(yīng)轉(zhuǎn)發(fā)。對(duì)于合作定位轉(zhuǎn)交地址,家鄉(xiāng)代理使用隧道直接將廣播報(bào)文發(fā)送給MH;對(duì)于外地代理轉(zhuǎn)交地址,家鄉(xiāng)代理通過(guò)隧道將廣播報(bào)文發(fā)給外地代理,后者收到后,先進(jìn)行解封裝,再發(fā)送給MH。
- 發(fā)送廣播數(shù)據(jù):MH發(fā)送廣播報(bào)文時(shí),如果目的地是外地網(wǎng)絡(luò),則可以直接廣播;如果目的地是家鄉(xiāng)網(wǎng)絡(luò)或某個(gè)特定網(wǎng)絡(luò),則使用隧道發(fā)送給家鄉(xiāng)代理。后者收到后,先進(jìn)行解封裝,再轉(zhuǎn)發(fā)。
- 組播數(shù)據(jù)傳送
- 接收組播數(shù)據(jù):MH要接收組播數(shù)據(jù),須先加入組播組,加入方式有兩種。一種是向外地網(wǎng)絡(luò)中的組播路由器申請(qǐng)加入,另一種是通過(guò)隧道向家鄉(xiāng)代理申請(qǐng)加入。這要求家鄉(xiāng)代理是一個(gè)組播路由器。對(duì)于第一種加入方式,組播路由器收到組播報(bào)文后,將轉(zhuǎn)發(fā)給MH所在的外地網(wǎng)絡(luò);對(duì)于第二種加入方式,家鄉(xiāng)代理收到組播報(bào)文后,使用隧道轉(zhuǎn)發(fā)給MH。
- 發(fā)送組播數(shù)據(jù):MH發(fā)送組播報(bào)文也有兩種方式,一種是直接在外地網(wǎng)絡(luò)上發(fā)送,二是通過(guò)隧道發(fā)送給家鄉(xiāng)代理。由于組播路由器轉(zhuǎn)發(fā)組播報(bào)文時(shí)要根據(jù)其源地址(采取反向路徑轉(zhuǎn)反策略)進(jìn)行,因此,如果MH直接在外地網(wǎng)絡(luò)上組播,則使用的地址必須是合作定位轉(zhuǎn)交地址。當(dāng)通過(guò)隧道轉(zhuǎn)發(fā)組播報(bào)文時(shí),也必須將內(nèi)外兩個(gè)IP首部的源地址設(shè)為MH的家鄉(xiāng)地址。
移動(dòng)IP的三角路由問(wèn)題
- 解決:MH向通信節(jié)點(diǎn)發(fā)送地址綁定信息(<家鄉(xiāng)IP地址,轉(zhuǎn)交地址>對(duì))。通信節(jié)點(diǎn)通過(guò)查找緩存中MH的地址綁定信息,獲得轉(zhuǎn)交地址,然后直接通過(guò)隧道將數(shù)據(jù)報(bào)發(fā)送到轉(zhuǎn)交地址。
- 問(wèn)題:當(dāng)MH較多時(shí),會(huì)有較大負(fù)擔(dān);綁定地址無(wú)認(rèn)證的話容易受到DoS。
隧道技術(shù)
問(wèn)題:傳送數(shù)據(jù)報(bào)時(shí)經(jīng)過(guò)不能直接傳送它的網(wǎng)絡(luò)
解決:使用隧道技術(shù)
隧道入口:為數(shù)據(jù)報(bào)添加一個(gè)能夠在隧道中路由的首部,稱為封裝
隧道出口:要去掉所添加的首部,稱為解封。
移動(dòng)IP使用三種隧道技術(shù):
- IP-in-IP封裝(IP-in-IP Encapsulation)
- 最小封裝(Minimal Encapsulation)
- 通用路由封裝(GRE,Generic Routing Encapsulation)。
IP-in-IP封裝
- 新IP首部:
- 協(xié)議類型字段設(shè)置為4;版本字段和服務(wù)類型字段拷貝原首部中的值;
- 源地址和目的地址分別設(shè)置為隧道的入口和出口點(diǎn);
- 標(biāo)識(shí)字段設(shè)置為唯一標(biāo)識(shí)新數(shù)據(jù)報(bào)的值;TTL要設(shè)置足夠大,使其能穿越隧道;
- 標(biāo)志字段和片偏移字段要根據(jù)是否對(duì)原始數(shù)據(jù)報(bào)進(jìn)行了分片而設(shè)置;
- 選項(xiàng)字段根據(jù)需要設(shè)置;首部長(zhǎng)度、總長(zhǎng)度以及與校驗(yàn)和要重新計(jì)算。
- 在入口和出口處,均要將原IP首部的TTL減1。
- 要防止遞歸封裝
最小封裝
- 新IP首部:
- 協(xié)議類型字段設(shè)置為55;版本字段和服務(wù)類型字段拷貝原首部中的值;
- 源地址和目的地址分別設(shè)置為隧道的入口和出口點(diǎn);
- 如果隧道入口將原來(lái)的數(shù)據(jù)報(bào)從某個(gè)端口路由到了隧道端口,那么生存時(shí)間字段要相應(yīng)減小;如果隧道入口就是原來(lái)數(shù)據(jù)報(bào)的源IP地址,那么生存時(shí)間不減小;
- 首部長(zhǎng)度字段、總長(zhǎng)度字段和校驗(yàn)和字段要重新計(jì)算。
最小轉(zhuǎn)發(fā)首部:
- 協(xié)議類型:原數(shù)據(jù)報(bào)的協(xié)議類型。原目的地址:原數(shù)據(jù)報(bào)的目的IP地址。S比特和原源IP地址字段:如果隧道入口與原數(shù)據(jù)的源IP地址相同,則S字段置0,無(wú)原源地址字段;否則,S置1,原源地址字段置為原數(shù)據(jù)的源IP地址。
- 校驗(yàn)和:設(shè)置最小轉(zhuǎn)發(fā)首部的校驗(yàn)和。
通用路由封裝
- “遞歸”(Recur):提供了允許的封裝次數(shù);不為0才能繼續(xù)封裝,并將值減1;
- 版本和標(biāo)記字段:0。協(xié)議字段:描述了被封裝的數(shù)據(jù)對(duì)應(yīng)的協(xié)議類型。
- CRKSs:5比特,前4比特描述了可選部分中校驗(yàn)和、路由、密鑰、序號(hào)字段的有無(wú)。
- 最后1比特表示嚴(yán)格源路由。
可選部分:
- 校驗(yàn)和:2字節(jié),針對(duì)GRE首部和被封裝的數(shù)據(jù)計(jì)算;
- 偏移:2字節(jié),路由字段中從第一個(gè)字節(jié)開始到包含嚴(yán)格源路由信息之間的字節(jié)數(shù);
- 密鑰:4字節(jié),封裝者插入,用于認(rèn)證提供了允許的封裝次數(shù);不為0才能繼續(xù)封裝,并將值減1;
- 序號(hào):4字節(jié),每個(gè)被封裝的報(bào)文都有1個(gè)編號(hào);
- CRKSs:5比特,前4比特描述了可選部分中校驗(yàn)和、路由、密鑰、序號(hào)字段的有無(wú)。
- 最后1比特表示嚴(yán)格源路由。
- 路由字段:變長(zhǎng),包含源路由信息
- 路由字段:變長(zhǎng),包含源路由信息
- 地址族:指明了地址格式,比如IPv4或IPv6地址;
- SRE(Source Routing Entry)偏移:從“路由信息”的第一個(gè)字節(jié)開始到源路由信息之間的字節(jié)數(shù);
- SRE長(zhǎng)度:源路由信息的長(zhǎng)度;
HTTP協(xié)議
- 客戶端/服務(wù)器模型。頁(yè)面存儲(chǔ)于服務(wù)器,客戶端通過(guò)HTTP向服務(wù)器請(qǐng)求頁(yè)面。
- HTTP:HyperText Transfer Protocol,超文本傳輸協(xié)議,基于TCP,80端口。
- 通信過(guò)程:客戶端請(qǐng)求,服務(wù)器應(yīng)答。
- HTTP特點(diǎn):無(wú)狀態(tài)、雙向傳輸、協(xié)商能力、高速緩存、支持中介
- HTTP請(qǐng)求方式
持久連接和長(zhǎng)度
- 非持久連接:客戶端與服務(wù)器建立連接,獲取頁(yè)面,之后關(guān)閉連接。建立TCP連接->請(qǐng)求->響應(yīng)->關(guān)閉連接
- 持久連接:一旦客戶端與服務(wù)器建立了TCP連接,就可以在這個(gè)請(qǐng)求上發(fā)送多次請(qǐng)求并接收響應(yīng),等所有請(qǐng)求都發(fā)送完成后再關(guān)閉連接。建立TCP連接->請(qǐng)求->響應(yīng)->請(qǐng)求->響應(yīng)…->關(guān)閉連接
- 流水線技術(shù):在響應(yīng)到來(lái)之前就可以發(fā)送下一個(gè)請(qǐng)求
HTTP協(xié)商及條件請(qǐng)求
- 客戶端與服務(wù)器協(xié)商的內(nèi)容:訪問(wèn)是否需要認(rèn)證、接受的文件類型、語(yǔ)言類型以及一系列控制信息。
- 服務(wù)器驅(qū)動(dòng)協(xié)商方式:瀏覽器首先發(fā)出協(xié)商請(qǐng)求,指定一系列選項(xiàng)值及URL;服務(wù)器收到請(qǐng)求后,從中選取滿足瀏覽器需求的一項(xiàng)。如果有多項(xiàng)符合條件,則服務(wù)器選取優(yōu)先級(jí)最高的一項(xiàng)。
- 瀏覽器驅(qū)動(dòng)協(xié)商方式:瀏覽器向服務(wù)器發(fā)送請(qǐng)求,詢問(wèn)可用的內(nèi)容。服務(wù)器返回可能的內(nèi)容列表。瀏覽器之后從中選取一項(xiàng),發(fā)送第二個(gè)請(qǐng)求獲得該數(shù)據(jù)項(xiàng)。
- 服務(wù)器驅(qū)動(dòng)示例:
Accept: text/html, text/plain; q=0.5, text/x-dvi; q=0.8
- 條件請(qǐng)求:瀏覽器在發(fā)送請(qǐng)求時(shí),可以指定響應(yīng)滿足的條件。比如:
If-Modified-Since:01 Jan. 2017 00:00:00 GMT
代理服務(wù)器和高速緩存
- 代理服務(wù)器:瀏覽器和服務(wù)器的中介,提高通信效率,減輕服務(wù)器負(fù)擔(dān)。
- 瀏覽器:使用代理服務(wù)器可以繞過(guò)某些限制。
- 高速緩存:代理服務(wù)器設(shè)置,緩存頁(yè)面,不必每次都到服務(wù)器取
- 代理服務(wù)器標(biāo)準(zhǔn):明確規(guī)定了代理服務(wù)器如何處理請(qǐng)求、瀏覽器如何與代理服務(wù)器協(xié)商等內(nèi)容
- 客戶端高速緩存:提高通信效率。
HTTP報(bào)文格式
- HTTP報(bào)文就是字符串,包括開始行、首部行、實(shí)體主體
開始行:(請(qǐng)求報(bào)文的是請(qǐng)求行,響應(yīng)報(bào)文的是狀態(tài)行)
- 請(qǐng)求行:請(qǐng)求方式:GET、POST等;URL:指明所要獲取頁(yè)面對(duì)應(yīng)的URL;HTTP版本:比如HTTP1.1。3項(xiàng)內(nèi)容時(shí)間用空格間隔。
- 狀態(tài)行:HTTP版本;狀態(tài)碼:3位數(shù)字字符,表示操作的狀態(tài);解釋字符串:對(duì)狀態(tài)碼含義的進(jìn)一步解釋
- 首部行:數(shù)據(jù)長(zhǎng)度、協(xié)商選項(xiàng)、請(qǐng)求條件、高速緩存控制信息等。每個(gè)首部格式:“首部名稱:首部字符串” 。每個(gè)首部之間回車換行分隔
- 實(shí)體主體:數(shù)據(jù)部分。首部和實(shí)體之間要間隔一個(gè)空行
HTTP面臨的安全風(fēng)險(xiǎn)
- HTTP協(xié)議明文傳輸數(shù)據(jù):攻擊者嗅探獲取敏感隱私數(shù)據(jù)
- HTTP協(xié)議缺乏消息完整性檢測(cè):易遭受中間人攻擊
- 增強(qiáng)HTTP安全性
- 使用HTTPS: HTTP over SSL(Secure Socket Layer,安全套接層),基于SSL安全協(xié)議對(duì)HTTP進(jìn)行封裝。URL形式為:“https://”;
- HTTP協(xié)議首部解析二義性:不同HTTP實(shí)現(xiàn)在解析和處理Host首部時(shí)存在不一致。帶有多個(gè)Host首部的HTTP請(qǐng)求,下游與上游設(shè)備可能理解成不同的Host地址。
- 攻擊原理:利用不一致性,通過(guò)精心構(gòu)造報(bào)文,實(shí)現(xiàn)污染ISP緩存、CDN緩存、繞過(guò)WAF( Web Application Firewall,Web應(yīng)用防火墻)。
電子郵件系統(tǒng)
三大部件
- 用戶代理:電郵系統(tǒng)與用戶直接交互的圖形界面。用戶可以通過(guò)這個(gè)界面編寫郵件、讀取郵件以及管理郵箱。
- 郵件傳送代理:相當(dāng)于郵政系統(tǒng)中的郵局,基本功能是發(fā)送和接收郵件。此外,還會(huì)設(shè)置緩沖區(qū)(相當(dāng)于郵筒)來(lái)存放待發(fā)送的郵件。
- 郵箱:相當(dāng)于郵政系統(tǒng)中的信箱。用戶使用電郵系統(tǒng)時(shí)必須申請(qǐng)郵箱,這樣,發(fā)給用戶的郵件首先保存在用戶郵箱里,供用戶隨時(shí)讀取
系統(tǒng)結(jié)構(gòu)和基本功能
5項(xiàng)基本功能:
- 撰寫:讓用戶能夠方便地撰寫郵件
- 傳輸:將郵件發(fā)送到接收方用戶郵箱中
- 報(bào)告:向發(fā)信者反饋發(fā)信成功與否
- 顯示:讓接收方能夠方便地讀取郵件
- 處理:讓接收方能夠方便地處理郵件
- 群發(fā):一次性向一組接收者發(fā)送郵件
郵箱地址及電子郵件格式
- 郵箱地址:郵箱名@郵箱所在主機(jī)的域名,每個(gè)域名內(nèi)郵箱唯一
- 電子郵件格式:
- 信封:信封供郵件傳送代理使用。
- 首部:供用戶代理使用,可以包含多個(gè)字段,每個(gè)首部字段的形式:字段名:字段值。以“X-”開頭的字段是用戶定義的字段,其余則是標(biāo)準(zhǔn)字段。
- 正文:郵件的內(nèi)容部分,是NVT(Network Virtual Terminal,網(wǎng)絡(luò)虛擬終端)ASCII文本行
- 發(fā)送郵件:先發(fā)首部,再跟一個(gè)空行,之后是正文
- 解決的問(wèn)題:如何讓郵件可以發(fā)送各種格式的附件
- 解決方案:MIME:Multipurpose Internet Mail Extensions,多用途互聯(lián)網(wǎng)郵件擴(kuò)充。
- 定義的3項(xiàng)內(nèi)容:
- 加入5個(gè)新的郵件首部字段,提供了郵件主體相關(guān)信息;
- 定義了傳送編碼,可將任意格式的數(shù)據(jù)轉(zhuǎn)化為SACII碼。
- 定義了許多郵件內(nèi)容格式,對(duì)多媒體電子郵件的表示方法進(jìn)行了標(biāo)準(zhǔn)化。
簡(jiǎn)單郵件傳輸協(xié)議SMTP
- 發(fā)送郵件的協(xié)議。沒(méi)有規(guī)定郵件的格式和存儲(chǔ)方式等內(nèi)容,僅僅給出了相互通信的兩個(gè)SMTP進(jìn)程之間如何交換信息。
- 使用客戶端/服務(wù)器模型。發(fā)送郵件的進(jìn)程是客戶端,接收郵件的進(jìn)程是服務(wù)器。
- 基于TCP,使用知名端口號(hào)25。
- 定義了14條命令21種應(yīng)答。每條命令都是一個(gè)4字符的串,后面帶上相應(yīng)的參數(shù);每種應(yīng)答都由一個(gè)3字符數(shù)字開始,后面跟上簡(jiǎn)單的文字說(shuō)明
POP協(xié)議
- POP:Post Office Protocol,用于接收郵件,目前廣泛使用的是POP3。使用客戶端/服務(wù)器模型,基于TCP,使用知名端口號(hào)110。
- POP服務(wù)器:僅僅在用戶身份得到認(rèn)證后才允許對(duì)郵箱的操作,認(rèn)證使用用戶名和口令。定義的內(nèi)容:用戶登錄、退出、讀取信件和刪除信件的命令。
- 特點(diǎn):用戶從郵箱中讀取郵件時(shí),會(huì)把郵件下載到本地保存,之后服務(wù)器會(huì)把郵件刪除掉
IMAP
- IMAP: Internet Mail Access Protocol,用于接收郵件。使用客戶端/服務(wù)器模型,基于TCP,使用知名端口號(hào)143
- 與POP相比:對(duì)遠(yuǎn)程郵箱的管理和操作功能更強(qiáng)大,且用IMAP讀郵件時(shí),本地并不保存該郵件,在用戶明確地發(fā)出刪除命令之前,服務(wù)器都不會(huì)刪除這個(gè)郵件。
POP VS IMAP
- POP是郵件傳輸模型,IMAP是聯(lián)機(jī)訪問(wèn)模型
- POP只是簡(jiǎn)單第傳輸文件,IMAP是客戶端登錄服務(wù)器后進(jìn)行遠(yuǎn)程訪問(wèn)
- IMAP用戶可先查看首部,可根據(jù)需要?jiǎng)?chuàng)建文件夾并移動(dòng)郵件,可選擇收取郵件的一部分
- 用戶使用IMAP時(shí),相當(dāng)于在郵件傳送代理的機(jī)器上為自己開了個(gè)存儲(chǔ)空間,郵箱就相當(dāng)于自己的“網(wǎng)絡(luò)硬盤”
- 用戶代理軟件: Outlook,Foxmail 等,在后臺(tái)實(shí)現(xiàn)了SMTP、POP、IMAP等協(xié)議。
電子郵件系統(tǒng)面臨的安全威脅
- SMTP面臨的安全威脅:
- RCPT命令:用來(lái)定義郵件的接收地址,當(dāng)郵件接收者不是本地用戶時(shí),SMTP服務(wù)器返回特定的信息碼,黑客可以據(jù)此來(lái)發(fā)現(xiàn)服務(wù)器上的真實(shí)用戶賬號(hào)。
- VRFY命令:用來(lái)判斷一個(gè)SMTP服務(wù)器是否能將郵件發(fā)送到特定的接收者,如果是本地用戶,則返回用戶的完整地址,否則返回給客戶否定的答復(fù)或表明他愿意轉(zhuǎn)發(fā)任何發(fā)送到遠(yuǎn)程用戶的郵件。該命令可以使黑客檢測(cè)到服務(wù)器上的用戶的郵件地址或被垃圾郵件發(fā)送者利用來(lái)轉(zhuǎn)發(fā)垃圾郵件。
- EXPN命令:用來(lái)向SMTP服務(wù)器查詢郵件列表和別名。黑客可以用它來(lái)獲取敏感信息。
- TRUN命令:允許兩臺(tái)計(jì)算機(jī)在一個(gè)TCP連接中進(jìn)行雙向郵件傳輸。通過(guò)允許服務(wù)器轉(zhuǎn)換同客戶機(jī)的角色,將目的地是客戶機(jī)域名的郵件發(fā)給客戶機(jī),服務(wù)器只根據(jù)客戶機(jī)自稱的名字進(jìn)行應(yīng)答。若黑客冒用別人的域名,那么郵件服務(wù)器會(huì)將所有應(yīng)發(fā)往合法用戶的郵件發(fā)給黑客
- 數(shù)據(jù)明文傳輸問(wèn)題:口令易被獲取,數(shù)據(jù)無(wú)完整性機(jī)密性保護(hù)機(jī)制.
- 解決方法:對(duì)SMTP進(jìn)行認(rèn)證擴(kuò)展;用SSL保護(hù)相關(guān)協(xié)議,比如基于SSL的SMTPS( SMTP over SSL)等;用PGP進(jìn)行安全處理,引入數(shù)字簽名和加密算法處理郵件;
- 系統(tǒng)設(shè)置和應(yīng)用時(shí)面臨的安全問(wèn)題
- 郵件服務(wù)器被攻擊:郵件是明文方式保存在郵件服務(wù)器的用戶郵箱中,所以只要能夠進(jìn)入用戶的郵箱,就可以看到發(fā)給用戶的原始文件,甚至更改郵件的內(nèi)容,郵件的接收者無(wú)法知道所接收的郵件是否真實(shí)
- 電子郵件病毒:電子郵件傳播病毒通常是把自己作為附件發(fā)送給被攻擊者。如果接收到該郵件的用戶不小心打開了附件,病毒即會(huì)感染機(jī)器,并且自動(dòng)打開地址薄,使電子郵件病毒能夠大面積傳播。
- 垃圾郵件:向新聞組或他人電子信箱發(fā)送的未經(jīng)用戶準(zhǔn)許、不受用戶歡迎的,難以退掉的電子郵件或電子郵件列表,叫做垃圾郵件(Spam)。目前還沒(méi)有能夠百分之百精確的垃圾郵件檢測(cè)技術(shù)。
域名系統(tǒng)DNS
- Internet通信節(jié)點(diǎn)的標(biāo)識(shí)——IP地址不便于記憶。DNS給Internet上的主機(jī)起個(gè)便于記憶的名字,同時(shí)解決名字到IP地址的映射問(wèn)。
- DNS定義的兩個(gè)要素
- 抽象要素,指明名字語(yǔ)法和名字的授權(quán)管理規(guī)則
- 具體要素,指明將名字映射到IP地址的具體方法
- 頂級(jí)域名:劃分以用途或國(guó)家(地區(qū))為準(zhǔn),引入域名樹描述層次結(jié)構(gòu)。
- 域:每個(gè)獨(dú)立管理的子樹。域名系統(tǒng):這個(gè)層次型的命名管理系統(tǒng)
- 域名樹:根節(jié)點(diǎn)未命名,第二層是頂級(jí)域(TLDs)
- 樹型結(jié)構(gòu)優(yōu)點(diǎn):便于管理維護(hù),保證了名字的唯一性;
- 域名命名:樹中每個(gè)節(jié)點(diǎn)都有唯一的一個(gè)名字,節(jié)點(diǎn)的名字是由該節(jié)點(diǎn)回溯到根節(jié)點(diǎn)的一條路徑,比如搜狐Web服務(wù)器域名“www.sohu.com”。
- 標(biāo)號(hào):每個(gè)域名都是由‘.’分隔的字符串組成的,其中每個(gè)字符串稱為一個(gè)“標(biāo)號(hào)”(label)。每個(gè)域名任意后綴也構(gòu)成了一個(gè)域名。每個(gè)標(biāo)號(hào)最長(zhǎng)63字符,一個(gè)域名最長(zhǎng)255字符。
域名解析原理
- 基本思想:設(shè)置域名服務(wù)器保存域名和IP地址的映射關(guān)系,查詢服務(wù)器即可獲得域名對(duì)應(yīng)的IP地址。
- 服務(wù)器設(shè)置:引入多個(gè)服務(wù)器,每個(gè)服務(wù)器負(fù)責(zé)部分域名。它們分布于不同的位置,互相協(xié)作,最后構(gòu)成了一個(gè)大型的分布式域名服務(wù)系統(tǒng),提供全球域名的解析服務(wù)。
- 服務(wù)器組織:樹型結(jié)構(gòu),最高層為根服務(wù)器,全球共13個(gè)。每個(gè)根服務(wù)器都有多個(gè)鏡像服務(wù)器,全球共574臺(tái)服務(wù)器
域名解析原理
- 域名解析過(guò)程:客戶端/服務(wù)器模型
- 域名查詢步驟:
- 域名解析器向域名服務(wù)器發(fā)出查詢請(qǐng)求,其中包含需要解析的域名;
- 域名服務(wù)器收到請(qǐng)求后在本地?cái)?shù)據(jù)庫(kù)中查詢,找到域名對(duì)應(yīng)的IP地址;
- 域名服務(wù)器把查詢獲得的結(jié)果返回給域名解析器
- 解析類型分為:遞歸解析和迭代解析
- 遞歸解析:客戶端的默認(rèn)域名服務(wù)器將代理客戶完成查詢工作,如果自身數(shù)據(jù)庫(kù)中不包含所請(qǐng)求的記錄,它將繼續(xù)實(shí)施遞歸查詢以獲取結(jié)果
- 迭代解析:根服務(wù)器不接受遞歸解析請(qǐng)求,當(dāng)它收到一個(gè)查詢請(qǐng)求且自身數(shù)據(jù)庫(kù)中不包含請(qǐng)求的記錄時(shí),它將向請(qǐng)求服務(wù)器指示可能包含該記錄的服務(wù)器,以便請(qǐng)求服務(wù)器進(jìn)行進(jìn)一步查詢
高速緩存
- 思想:設(shè)置緩存保存最近解析的域名和IP地址的映射關(guān)系,避免每次都重新解析,由此提高效率。
- 客戶端的二步解析法:
- 需要解析某個(gè)域名時(shí),首先在本地緩存中查找,如果有則直接使用,如果沒(méi)有走第二步;
- 向域名服務(wù)器發(fā)送域名解析請(qǐng)求。
- 服務(wù)器緩存:存放最近解析的名字,以及從何處獲取該名字相關(guān)的記錄。收到請(qǐng)求后首先確認(rèn)自己是否被授權(quán),如果沒(méi)授權(quán),查緩存,把緩存記錄告訴客戶端,把信息來(lái)源也告訴之,把信息標(biāo)記為“非授權(quán)綁定”。
- 緩存記錄保存時(shí)間:授權(quán)域名服務(wù)器響應(yīng)一個(gè)請(qǐng)求時(shí),會(huì)給出TTL值
減少DNS報(bào)文長(zhǎng)度的措施
- 域名縮寫
- 思想:同一單位內(nèi)部的只要撥分機(jī),同一城市的不必加區(qū)號(hào)。比如:在
xxgc.edu.cn
域內(nèi)請(qǐng)求該域的服務(wù)器解析kouxiaorui.xxgc.edu.cn
域名,則僅填入kouxiaorui
即可
- 域名壓縮
- 思想:壓縮同一個(gè)查詢中不同域名相同的字段。比如:
jun.xxgc.edu.cn和cs.pku.edu.cn
,只要存儲(chǔ)一個(gè)edu.cn,并用指針指明復(fù)用的位置
- DNS既可以基于TCP,也可以基于UDP,服務(wù)器則使用知名端口53.
- 核心:數(shù)據(jù)傳輸量少,可靠性要求低的時(shí)候用UDP;否則用TCP.
DNS面臨的安全威脅
- DNS欺騙:惡意攻擊者改變DNS響應(yīng)并把解析結(jié)果指向自己可控的主機(jī)。
- 信任服務(wù)器背叛:用戶配置的可信服務(wù)器被黑客控制。
- 數(shù)據(jù)竊聽(tīng)及篡改:破壞機(jī)密性和完整性。DNS數(shù)據(jù)未作安全處理,因此攻擊者很容易利用嗅探等方式獲取并篡改數(shù)據(jù)。
- 名字連鎖攻擊:偽造描述別名的CNAME或NS記錄,通過(guò)響應(yīng)的管理機(jī)構(gòu)區(qū)和附加信息區(qū)返回給查詢者,從而導(dǎo)向惡意鏈接。
- 否認(rèn)域名存在:攻擊者返回查詢失敗應(yīng)答,或?qū)⒛硞€(gè)資源記錄刪除