




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《計(jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)與安全技術(shù)》第1章
網(wǎng)絡(luò)測(cè)量基礎(chǔ)1學(xué)習(xí)內(nèi)容:(1)網(wǎng)絡(luò)應(yīng)用典型案例;(2)常用網(wǎng)絡(luò)命令及其應(yīng)用;(3)網(wǎng)絡(luò)測(cè)量概述;(4)網(wǎng)絡(luò)測(cè)量指標(biāo)和計(jì)算方法。學(xué)習(xí)目標(biāo):(1)通過(guò)常用網(wǎng)絡(luò)命令的使用,具備網(wǎng)絡(luò)故障診斷的基本能力;(2)探索網(wǎng)絡(luò)測(cè)量的基本計(jì)算和應(yīng)用能力。21.1
網(wǎng)絡(luò)應(yīng)用典型案例在實(shí)際網(wǎng)絡(luò)應(yīng)用系統(tǒng)中,除了常規(guī)的網(wǎng)絡(luò)互聯(lián)方法外,還要考慮網(wǎng)絡(luò)安全、信息單向傳遞、信息過(guò)濾、高可用性等因素,在內(nèi)網(wǎng)與外網(wǎng)、有線與無(wú)線網(wǎng)絡(luò)、入侵檢測(cè)與防護(hù)等方面設(shè)計(jì)綜合解決方案。341.1.1高校校園網(wǎng)拓?fù)浣Y(jié)構(gòu)示例采用S8505作為核心交換機(jī),CAMS負(fù)責(zé)用戶認(rèn)證和用戶計(jì)費(fèi)。51.1.2工業(yè)應(yīng)用組網(wǎng)案例華為智能礦山融合IP工業(yè)網(wǎng)解決方案架構(gòu)61.2
常用網(wǎng)絡(luò)命令及其應(yīng)用1.2.1ping命令常用命令包括Ping、Tracert、Netstat、Ipconfig和Nslookup等,掌握這些網(wǎng)絡(luò)命令,便于網(wǎng)絡(luò)配置方法以及TCP/IP協(xié)議的診斷。Ping命令用于測(cè)試網(wǎng)絡(luò)連接狀況以及信息包發(fā)送和接收狀況,主要作用是向目標(biāo)主機(jī)發(fā)送一個(gè)數(shù)據(jù)包,并且要求目標(biāo)主機(jī)在收到數(shù)據(jù)包時(shí)給予答復(fù),來(lái)判斷網(wǎng)絡(luò)的響應(yīng)時(shí)間及本機(jī)是否與目標(biāo)主機(jī)相互聯(lián)通。PingIP地址或主機(jī)名
[-t][-a][-ncount][-lsize]-t:不停地向目標(biāo)主機(jī)發(fā)送數(shù)據(jù);-a:以IP地址格式來(lái)顯示目標(biāo)主機(jī)的網(wǎng)絡(luò)地址;-ncount:指定要Ping多少次,具體次數(shù)由count來(lái)指定;-lsize:指定發(fā)送到目標(biāo)主機(jī)的數(shù)據(jù)包的大小。7目標(biāo)是中國(guó)高校計(jì)算機(jī)大賽的網(wǎng)絡(luò)挑戰(zhàn)賽域名:/。獲得主機(jī)IP地址為5。執(zhí)行了10次Ping命令,回復(fù)了10次,延遲為35-38ms;Ping命令的執(zhí)行情況81.2.2Tracert使用Tracert(跟蹤路由)命令可以顯示數(shù)據(jù)包到達(dá)目標(biāo)主機(jī)所經(jīng)過(guò)的路徑,并顯示到達(dá)每個(gè)結(jié)點(diǎn)的時(shí)間。命令所獲得的信息要比Ping命令較為詳細(xì),它把數(shù)據(jù)包所走的全部路徑、結(jié)點(diǎn)的IP地址以及花費(fèi)的時(shí)間都顯示出來(lái)。命令格式:TracertIP地址或主機(jī)名
[-d][-hmaximumhops][-jhost_list][-wtimeout]-d:不解析目標(biāo)主機(jī)的名字;-hmaximumhops:指定搜索到目標(biāo)地址的最大跳躍數(shù);-jhost_list:按照主機(jī)列表中的地址釋放源路由;-wtimeout:指定超時(shí)時(shí)間間隔,程序默認(rèn)的時(shí)間單位是毫秒。9跟蹤的目標(biāo)主機(jī)是百度搜索網(wǎng)站。101.2.3Netstat使用Netstat命令,可以顯示路由表、實(shí)際的網(wǎng)絡(luò)連接以及每一個(gè)網(wǎng)絡(luò)接口設(shè)備的狀態(tài)信息,一般用于檢驗(yàn)本機(jī)各端口的網(wǎng)絡(luò)連接情況。利用命令參數(shù),可以顯示所有協(xié)議的使用狀態(tài)。另外,可以選擇特定的協(xié)議并查看其具體信息,還能顯示所有主機(jī)的端口號(hào)以及當(dāng)前主機(jī)的詳細(xì)路由信息。命令格式:Netstat[-r][-s][-n][-a]-r:顯示本機(jī)路由表的內(nèi)容;-s:顯示每個(gè)協(xié)議的使用狀態(tài)(包括TCP協(xié)議、UDP協(xié)議、IP協(xié)議);-n:以數(shù)字表格形式顯示地址和端口;-a:顯示所有主機(jī)的端口號(hào)。11Netstat
-r命令執(zhí)行實(shí)例12Netstat
-n命令執(zhí)行實(shí)例131.2.4IpconfigIpconfig命令用于顯示計(jì)算機(jī)中網(wǎng)絡(luò)適配器的IP地址、子網(wǎng)掩碼及默認(rèn)網(wǎng)關(guān),這些必要的信息是排除網(wǎng)絡(luò)故障的必要元素??偟膮?shù)簡(jiǎn)介(也可以在DOS方式下輸入“Ipconfig/?”進(jìn)行參數(shù)查詢):Ipconfig/all:顯示本機(jī)TCP/IP配置的詳細(xì)信息;Ipconfig/release:DHCP客戶端手工釋放IP地址;Ipconfig/renew:DHCP客戶端手工向服務(wù)器刷新請(qǐng)求;Ipconfig/flushdns:清除本地DNS緩存內(nèi)容;Ipconfig/displaydns:顯示本地DNS內(nèi)容;Ipconfig/registerdns:DNS客戶端手工向服務(wù)器進(jìn)行注冊(cè);Ipconfig/showclassid:顯示網(wǎng)絡(luò)適配器的DHCP類別信息;Ipconfig/setclassid:設(shè)置網(wǎng)絡(luò)適配器的DHCP類別。14Ipconfig命令執(zhí)行實(shí)例151.3網(wǎng)絡(luò)測(cè)量概述1.3.1網(wǎng)絡(luò)測(cè)量的含義與分類
網(wǎng)絡(luò)測(cè)量是指遵照一定的方法和技術(shù),利用軟件和硬件工具來(lái)測(cè)試或驗(yàn)證表征網(wǎng)絡(luò)性能指標(biāo)的一系列活動(dòng)的總和。其用途包括:網(wǎng)絡(luò)故障診斷、網(wǎng)絡(luò)協(xié)議排錯(cuò)、網(wǎng)絡(luò)流量特征化、網(wǎng)絡(luò)性能評(píng)價(jià)和其他用途,如發(fā)現(xiàn)網(wǎng)絡(luò)惡意行為、網(wǎng)絡(luò)病毒感染跟蹤。
網(wǎng)絡(luò)測(cè)量分類標(biāo)準(zhǔn)有多種:根據(jù)測(cè)量的方式,分為主動(dòng)測(cè)量和被動(dòng)測(cè)量;根據(jù)測(cè)量點(diǎn)的多少,分為單點(diǎn)測(cè)量與多點(diǎn)測(cè)量;根據(jù)被測(cè)量者知情與否,分為協(xié)作式測(cè)量與非協(xié)作式測(cè)量;根據(jù)測(cè)量所采用的協(xié)議,分為基于BGP協(xié)議的測(cè)量、基于TCP/IP協(xié)議的測(cè)量以及基于SNMP協(xié)議的測(cè)量;根據(jù)測(cè)量的內(nèi)容,分為拓?fù)錅y(cè)量與性能測(cè)量。161.3.2網(wǎng)絡(luò)測(cè)量的研究方向(1)IP拓?fù)錅y(cè)量其主要測(cè)量方法分為兩類:基于SNMP協(xié)議、基于ICMP協(xié)議。前者主要通過(guò)訪問(wèn)MIB庫(kù)進(jìn)行拓?fù)潢P(guān)系的獲取,由于權(quán)限的關(guān)系,其適合在具有管轄權(quán)的網(wǎng)絡(luò)范圍內(nèi)測(cè)量,所以難以推廣應(yīng)用。后者通過(guò)Tracert實(shí)現(xiàn),可用于Internet上的大規(guī)模網(wǎng)絡(luò)測(cè)量,但當(dāng)網(wǎng)絡(luò)上安裝有防火墻軟件時(shí),則無(wú)法進(jìn)行測(cè)量。(2)AS拓?fù)錅y(cè)量總的來(lái)說(shuō),生成AS級(jí)拓?fù)鋱D的方法可歸結(jié)為基于BGP路由信息的AS圖、基于Traceroute的AS圖以及基于某些特性采用拓?fù)渖善骱铣傻腁S級(jí)拓?fù)鋱D三類。17(3)基于TCP/IP協(xié)議的網(wǎng)絡(luò)性能測(cè)量與分析為了考察網(wǎng)絡(luò)的穩(wěn)定性、可達(dá)性、可靠性及網(wǎng)絡(luò)服務(wù)質(zhì)量,需要周期性、連續(xù)測(cè)量的性能參數(shù),包括丟包率、RTT、流量、路徑的平均跳數(shù)等。在此基礎(chǔ)上,以時(shí)間為主線分析各路徑上各項(xiàng)指標(biāo)的動(dòng)態(tài)變化,以空間為主線統(tǒng)計(jì)分析某一時(shí)刻整個(gè)網(wǎng)絡(luò)的整體態(tài)勢(shì),如處于不同量級(jí)時(shí)延的結(jié)點(diǎn)總體數(shù)量分布等,分析端到端路由變化(或跳數(shù)的路由變化)等。其他分析還包括對(duì)探測(cè)得到的數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘,或者利用已有的模型研究其自相似特征。(4)網(wǎng)絡(luò)運(yùn)行態(tài)勢(shì)綜合分析基于多個(gè)監(jiān)測(cè)點(diǎn),在不同時(shí)段收集的測(cè)量數(shù)據(jù),生成被測(cè)網(wǎng)絡(luò)的綜合態(tài)勢(shì)戰(zhàn)略圖。該圖除了具有不同層面屬性的即時(shí)播放功能以外,還可以通過(guò)顏色標(biāo)注、聲音提示等進(jìn)行流量異常、故障報(bào)警,為防范大規(guī)模網(wǎng)絡(luò)攻擊提供預(yù)警手段;同時(shí),從網(wǎng)絡(luò)攻擊的角度,研究發(fā)展具有隱蔽性、高效的分布式網(wǎng)絡(luò)偵察測(cè)量方法。另外,進(jìn)行綜合分析,為用戶提供QoS指數(shù)、病態(tài)路由報(bào)告,為改正病態(tài)路由、制定網(wǎng)絡(luò)路由策略、進(jìn)行網(wǎng)絡(luò)破壞后的網(wǎng)絡(luò)資源自組織等提供第一手資料。18(5)測(cè)量與分析結(jié)果的可視化網(wǎng)絡(luò)測(cè)量與分析結(jié)果的可視化是一個(gè)關(guān)鍵環(huán)節(jié)。通過(guò)研究,采用圖形用戶界面GUI、電子地圖的任意縮放及拖動(dòng)、電子地圖的多層表示法、直方圖、二維及三維坐標(biāo)曲線、扇形圖、表格、報(bào)表、二維平面圖形、三維立體圖形等手段,結(jié)合GIS技術(shù),對(duì)態(tài)勢(shì)圖進(jìn)行層次化、可拖動(dòng)、交互式分級(jí)顯示,直觀、形象地表示出測(cè)量分析結(jié)果。折中點(diǎn)在于,既要全面而客觀地顯示庫(kù)中的數(shù)據(jù),又要具有良好的視覺(jué)效果。(6)網(wǎng)絡(luò)行為建模、網(wǎng)絡(luò)仿真、網(wǎng)絡(luò)趨勢(shì)預(yù)測(cè)網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)和測(cè)量已經(jīng)成為研究網(wǎng)絡(luò)行為學(xué)的主要方法,網(wǎng)絡(luò)行為的測(cè)量是整個(gè)網(wǎng)絡(luò)行為學(xué)研究的基礎(chǔ)。網(wǎng)絡(luò)行為的建模分析可采用排隊(duì)論、Petri網(wǎng)、馬爾可夫鏈、Poisson過(guò)程等理論。由于Internet環(huán)境的復(fù)雜性、多變性、異構(gòu)性,網(wǎng)絡(luò)行為的建模分析和仿真分析變得步履維艱。(7)網(wǎng)絡(luò)測(cè)量的體系結(jié)構(gòu)隨著時(shí)間的推移,網(wǎng)絡(luò)測(cè)量將不斷擴(kuò)展升級(jí),所以在設(shè)計(jì)實(shí)施之初,就要充分考慮測(cè)量體系的可擴(kuò)展性、可裁剪性及兼容性、容錯(cuò)性。191.3.3
幾款網(wǎng)絡(luò)測(cè)量工具介紹工
具
名
稱
所
屬
類
型主
要
功
能下
載
地
址服務(wù)性質(zhì)PingPlotter主動(dòng)測(cè)量數(shù)據(jù)采集和延遲計(jì)算注冊(cè)NetWorx主動(dòng)測(cè)量流量測(cè)量注冊(cè)WireShark被動(dòng)測(cè)量協(xié)議數(shù)據(jù)包分析免費(fèi)20PingPlotter路由跟蹤示例21NetWorx工具的流量報(bào)表應(yīng)用示例22Wireshark的網(wǎng)絡(luò)抓包示例231.4網(wǎng)絡(luò)測(cè)量指標(biāo)和計(jì)算方法在網(wǎng)絡(luò)系統(tǒng)中,既有數(shù)據(jù)通信的通用指標(biāo),又有網(wǎng)絡(luò)測(cè)量的專門要求。特別是在網(wǎng)站性能分析中,其可用性、網(wǎng)頁(yè)安全特性等內(nèi)容都有基本的要求。1.4.1主要測(cè)量指標(biāo)測(cè)量指標(biāo)是衡量數(shù)據(jù)傳輸?shù)挠行院涂煽啃缘膮?shù)。有效性主要由數(shù)據(jù)傳輸速率、傳輸延遲、信道帶寬和信道容量等指標(biāo)來(lái)衡量??煽啃砸话阌脭?shù)據(jù)傳輸?shù)恼`碼率指標(biāo)來(lái)衡量。數(shù)據(jù)傳輸速率是指單位時(shí)間內(nèi)傳輸信息量的多少。它是衡量數(shù)據(jù)傳輸有效性的主要指標(biāo)。數(shù)據(jù)傳輸速率通常用波特率和比特率來(lái)表示。241.4.2時(shí)延計(jì)算(1)鏈路層的時(shí)延:指一個(gè)報(bào)文或分組從鏈路的一端傳送到另一端所需要的時(shí)間,由發(fā)送時(shí)延、傳播時(shí)延和處理時(shí)延三個(gè)部分組成。25(2)數(shù)據(jù)鏈路層的傳輸效果計(jì)算【例1-1】已知信道速率為8Kbps,傳播時(shí)延為20ms,確認(rèn)幀長(zhǎng)度和處理時(shí)間均可忽略。如果采用停等協(xié)議,請(qǐng)問(wèn)幀長(zhǎng)是多少才能使信道利用率至少達(dá)到50%?解答:已知tp=20ms。設(shè)幀長(zhǎng)為L(zhǎng)(bit),則有:tf=(L/8)ms。當(dāng)tf≥40ms時(shí),不等式成立。解得:幀長(zhǎng)L≥320(bit)。26網(wǎng)絡(luò)延遲可以通過(guò)PING值來(lái)簡(jiǎn)單描述,其值越低,表明網(wǎng)絡(luò)速度越快。一般有以下方式定義網(wǎng)絡(luò)延遲程度:l1~30ms:極快,幾乎察覺(jué)不出有延遲,玩任何游戲速度都特別順暢;l31~50ms:良好,沒(méi)有明顯的延遲情況;l51~100ms:普通,稍有停頓;>100ms:差,有卡頓,丟包并掉線現(xiàn)象。(3)網(wǎng)絡(luò)應(yīng)用層的延遲說(shuō)明271.4.3ICMP時(shí)間戳請(qǐng)求與應(yīng)答ICMP時(shí)間戳請(qǐng)求允許系統(tǒng)向另一個(gè)系統(tǒng)查詢當(dāng)前的時(shí)間。返回的建議值是自午夜開(kāi)始計(jì)算的毫秒數(shù),協(xié)調(diào)的統(tǒng)一時(shí)間(Coordinated
Universal
Time,
UTC)。這種ICMP報(bào)文的好處是它提供了毫秒級(jí)的分辨率。ICMP時(shí)間戳請(qǐng)求和應(yīng)答報(bào)文本章小結(jié)
本章從網(wǎng)絡(luò)應(yīng)用示例入手,重點(diǎn)闡述兩個(gè)基礎(chǔ)內(nèi)容,一是操作層面的網(wǎng)絡(luò)命令和網(wǎng)絡(luò)工具使用,增強(qiáng)實(shí)戰(zhàn)能力;二是網(wǎng)絡(luò)性能方面的指標(biāo)及其計(jì)算方法,培養(yǎng)研究思路。
在具體的網(wǎng)絡(luò)應(yīng)用項(xiàng)目開(kāi)發(fā)中,能夠結(jié)合這兩方面開(kāi)展綜合應(yīng)用,將網(wǎng)絡(luò)命令調(diào)用融入到性能計(jì)算程序中,從而實(shí)現(xiàn)網(wǎng)絡(luò)對(duì)象的實(shí)時(shí)測(cè)量和結(jié)果分析。
今后為了深入,應(yīng)該從主動(dòng)測(cè)量和被動(dòng)測(cè)量?jī)蓚€(gè)角度,通過(guò)對(duì)路由結(jié)點(diǎn)和路由表分析,對(duì)網(wǎng)絡(luò)拓?fù)涞纳珊透伦鲞M(jìn)一步探索。28《計(jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)與安全技術(shù)》第2章
局域網(wǎng)絡(luò)設(shè)計(jì)29學(xué)習(xí)內(nèi)容:(1)局域網(wǎng)絡(luò)配置基礎(chǔ);(2)基于雙絞線的小型局域網(wǎng)設(shè)計(jì)案例;(3)無(wú)線局域網(wǎng)架設(shè)案例。學(xué)習(xí)目標(biāo):(1)能夠理解網(wǎng)絡(luò)拓?fù)?、設(shè)備和傳輸介質(zhì)特性,探索局域網(wǎng)絡(luò)的工程設(shè)計(jì)方法;(2)通過(guò)有線和無(wú)線局域網(wǎng)設(shè)計(jì)過(guò)程的案例學(xué)習(xí),培養(yǎng)小型局域網(wǎng)絡(luò)的應(yīng)用設(shè)計(jì)能力。302.1
局域網(wǎng)絡(luò)配置基礎(chǔ)計(jì)算機(jī)網(wǎng)絡(luò)主要由硬件系統(tǒng)、軟件系統(tǒng)和網(wǎng)絡(luò)信息組成。31322.1.1局域網(wǎng)的拓?fù)浣Y(jié)構(gòu)2.1.2網(wǎng)絡(luò)設(shè)備以路由器和交換機(jī)為主,部分局域網(wǎng)下還有集線器和信號(hào)轉(zhuǎn)換器。路由器兼有局域網(wǎng)和廣域網(wǎng)接口,無(wú)線路由器用于局域網(wǎng)終端設(shè)備之間的WIFI無(wú)線連接。332.1.3傳輸媒體可分為兩大類:有線的傳輸媒體和無(wú)線的傳輸媒體。在有線的傳輸媒體中,電磁波沿著固體媒體(銅線或光纖)向前傳播,而無(wú)線的傳輸媒體則是利用大氣和外層空間作為傳播電磁波的通路。345G技術(shù),具有高速率、低時(shí)延和大連接特點(diǎn),速率標(biāo)準(zhǔn)是1.4Gbps,下行峰值速率500Mbps及以上,最高下載速率能達(dá)到1.4Gbps;最高上行速率約為100Mbps。將成為支撐經(jīng)濟(jì)社會(huì)數(shù)字化、網(wǎng)絡(luò)化、智能化轉(zhuǎn)型的關(guān)鍵新型基礎(chǔ)設(shè)施。35
衛(wèi)星互聯(lián)網(wǎng)也被稱作空天互聯(lián)網(wǎng)
2023年,中國(guó)首次在偏遠(yuǎn)地區(qū)實(shí)現(xiàn)低軌衛(wèi)星互聯(lián)網(wǎng)在電力通信領(lǐng)域的測(cè)試應(yīng)用。在沒(méi)有地面通信基站的情況下,利用衛(wèi)星信號(hào),也可以支撐電力巡檢、應(yīng)急保障等任務(wù)。362.2
基于雙絞線的小型局域網(wǎng)設(shè)計(jì)案例2.2.1設(shè)計(jì)需求描述案例包括需求描述、設(shè)計(jì)要點(diǎn)出發(fā),開(kāi)展網(wǎng)絡(luò)拓?fù)湓O(shè)計(jì)和實(shí)驗(yàn)室布局設(shè)計(jì),最后給出工程概算和采購(gòu)設(shè)備與材料的調(diào)研,培養(yǎng)網(wǎng)絡(luò)工程設(shè)計(jì)能力。假設(shè)有兩個(gè)計(jì)算機(jī)實(shí)驗(yàn)室房間,需要通過(guò)若干網(wǎng)絡(luò)設(shè)備構(gòu)建一個(gè)小型局域網(wǎng)。每個(gè)房間最多只能放置60臺(tái)計(jì)算機(jī),而需要連網(wǎng)的計(jì)算機(jī)有100臺(tái)(都有網(wǎng)卡),F(xiàn)TP和WEB服務(wù)器共兩臺(tái)(有內(nèi)置網(wǎng)卡)。最遠(yuǎn)的計(jì)算機(jī)距交換機(jī)20m。兩個(gè)房間需要共用一套刷卡系統(tǒng),實(shí)現(xiàn)統(tǒng)一管理,學(xué)生登錄信息將放在WEB服務(wù)器上。37具體設(shè)計(jì)要求:(1)請(qǐng)使用VISIO工具,設(shè)計(jì)該局域網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),要求網(wǎng)絡(luò)結(jié)構(gòu)清晰,具有較好的可擴(kuò)展性。(2)請(qǐng)使用VISIO工具,設(shè)計(jì)該實(shí)驗(yàn)室網(wǎng)絡(luò)布局圖,使其能夠清晰地描述實(shí)際房間的設(shè)備和布線分布情況,使其具有利用率高、安全性好、布局合理等特點(diǎn)。(3)性能價(jià)格比計(jì)算:①上網(wǎng)查找和選配相應(yīng)的交換機(jī)、路由器等設(shè)備,以及網(wǎng)線和水晶頭材料,要求提供完整截圖的相應(yīng)圖片及其指標(biāo)。②計(jì)算下列參數(shù):使用的交換機(jī)個(gè)數(shù)、RJ-45接頭個(gè)數(shù)。③按照布局圖測(cè)算整個(gè)實(shí)驗(yàn)環(huán)境所需的雙絞線長(zhǎng)度(精確到1m),要求給出計(jì)算過(guò)程。④計(jì)算選購(gòu)網(wǎng)絡(luò)設(shè)備和聯(lián)網(wǎng)材料的價(jià)格。⑤請(qǐng)查找網(wǎng)絡(luò)資料,估算該網(wǎng)絡(luò)布線工程的其他費(fèi)用。382.2.2局域網(wǎng)絡(luò)拓?fù)湓O(shè)計(jì)要點(diǎn)采用星型需要考慮以下方面:(1)
網(wǎng)絡(luò)拓?fù)漕愋筒捎眯切湍P蜆?gòu)成的樹(shù)型網(wǎng)絡(luò),每個(gè)交換機(jī)連接多臺(tái)主機(jī)。同時(shí),交換機(jī)之間通過(guò)交叉線實(shí)現(xiàn)級(jí)聯(lián)方式。(2)
網(wǎng)絡(luò)安全在特定應(yīng)用領(lǐng)域,需要增加防火墻、入侵檢測(cè)系統(tǒng)、入侵防護(hù)系統(tǒng),強(qiáng)化網(wǎng)絡(luò)安全。對(duì)于Web服務(wù),甚至還需要引入網(wǎng)頁(yè)防篡改系統(tǒng)。(3)
跨網(wǎng)段互聯(lián)如果涉及到不同網(wǎng)段的互聯(lián),需要增加路由器。路由器還具有數(shù)據(jù)包過(guò)濾作用,實(shí)現(xiàn)基本的防護(hù)功能。(4)
交換機(jī)的選擇考慮交換機(jī)的端口數(shù)、是否千兆口、是否需要光纖口、是否需要可管理功能等內(nèi)容。(5)
網(wǎng)絡(luò)地址分配如果啟用DHCP協(xié)議,則IP地址是自動(dòng)分配的。但是,本項(xiàng)目要采用靜態(tài)分配方法,需要為每臺(tái)計(jì)算機(jī)分配IP地址,培養(yǎng)學(xué)生網(wǎng)絡(luò)地址劃分的基本應(yīng)用能力。392.2.3局域網(wǎng)絡(luò)拓?fù)湓O(shè)計(jì)示例40412.2.4實(shí)驗(yàn)室布局設(shè)計(jì)案例4243444546472.2.4網(wǎng)絡(luò)工程概算要點(diǎn)
網(wǎng)絡(luò)工程的直接費(fèi)用包括設(shè)備材料購(gòu)置費(fèi)用、人工費(fèi)用、輔助材料費(fèi)、儀器工具費(fèi)、賠補(bǔ)費(fèi)用和其他。這里介紹網(wǎng)絡(luò)設(shè)備材料費(fèi)用,一般包括購(gòu)買構(gòu)成網(wǎng)絡(luò)工程實(shí)體結(jié)構(gòu)所需的材料、設(shè)備、軟件等原料的費(fèi)用和運(yùn)輸費(fèi)用。
材料名目常見(jiàn)的有:非屏蔽超五類雙絞線、信息插座與面板、配線架、機(jī)柜、PVC槽、RJ45水晶頭、U型夾、托架等。如果采用光纖傳輸,還需要購(gòu)置光纖、ST頭和耦合器、光纖接線盒、光纖跳線、光纖制作配件等。482.3
無(wú)線局域網(wǎng)架設(shè)
無(wú)線局域網(wǎng)在日常的生活和工作中隨處可見(jiàn),其配置比較簡(jiǎn)單,但在網(wǎng)絡(luò)安全、性能評(píng)測(cè)優(yōu)化和網(wǎng)絡(luò)擴(kuò)展方面,一直是配置的重點(diǎn)和難點(diǎn)。要學(xué)會(huì)使用和正確配置無(wú)線網(wǎng)絡(luò)設(shè)備,形成架設(shè)小型無(wú)線局域網(wǎng)的能力,具有無(wú)線網(wǎng)絡(luò)安全防護(hù)意識(shí)和技能。利用本組學(xué)生至少3部手機(jī),分別測(cè)試手機(jī)到本組無(wú)線路由器之間不同距離和連通強(qiáng)度的關(guān)系,每個(gè)手機(jī)至少要記錄5個(gè)水平距離,直到信號(hào)強(qiáng)度為零。在條件允許的情況下,可以記錄垂直距離方向的強(qiáng)度變化。通過(guò)記錄的多組數(shù)據(jù),畫出趨勢(shì)圖和平均變化圖,進(jìn)一步利用擬合方法求得擬合曲線和方程。2.3.1基本實(shí)驗(yàn)要求49
無(wú)線信號(hào)是通過(guò)電磁波在空中傳輸?shù)?,路由器和終端(如手機(jī)、筆記本等)之間的障礙物會(huì)對(duì)信號(hào)傳輸造成很大衰減,比如承重墻、隔墻、擋板、家具等,穿過(guò)的障礙物越多信號(hào)越弱。因此,需要考慮無(wú)線網(wǎng)擴(kuò)展方法。2.3.2無(wú)線網(wǎng)絡(luò)擴(kuò)展方法50基于HyFi的無(wú)線解決方案本章小結(jié)
本章從網(wǎng)絡(luò)工程實(shí)戰(zhàn)出發(fā),在局域網(wǎng)系統(tǒng)的基本組成基礎(chǔ)上,重點(diǎn)闡述了2個(gè)典型實(shí)驗(yàn)案例:
一是基于雙絞線的小型局域網(wǎng)設(shè)計(jì)案例,從網(wǎng)絡(luò)拓?fù)湓O(shè)計(jì)、實(shí)驗(yàn)室布局設(shè)計(jì)、網(wǎng)絡(luò)工程概算、網(wǎng)絡(luò)建設(shè)設(shè)備與材料調(diào)研等,滿足網(wǎng)絡(luò)工程設(shè)計(jì)的真實(shí)需求。
二是無(wú)線局域網(wǎng)架設(shè)案例,圍繞無(wú)線路由器的配置和橋接任務(wù),實(shí)現(xiàn)網(wǎng)絡(luò)通信數(shù)據(jù)測(cè)試分析和無(wú)線網(wǎng)擴(kuò)展功能,展示了學(xué)生的實(shí)驗(yàn)過(guò)程和設(shè)計(jì)效果。
這2個(gè)案例對(duì)網(wǎng)絡(luò)工程設(shè)計(jì)具有很好的參考作用。51《計(jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)與安全技術(shù)》第3章
網(wǎng)絡(luò)協(xié)議抓包分析52學(xué)習(xí)內(nèi)容:(1)數(shù)據(jù)包捕獲基礎(chǔ);(2)數(shù)據(jù)包捕獲實(shí)驗(yàn)項(xiàng)目描述;(3)Wireshark工具應(yīng)用實(shí)例。學(xué)習(xí)目標(biāo):(1)通過(guò)網(wǎng)絡(luò)抓包的層次分析,深入理解網(wǎng)絡(luò)協(xié)議的報(bào)文格式和傳輸要求;(2)掌握Wireshark工具的具體使用方法,并在網(wǎng)絡(luò)探測(cè)、端口掃描、FTP服務(wù)等應(yīng)用中靈活應(yīng)用。533.1數(shù)據(jù)包捕獲基礎(chǔ)
首先介紹數(shù)據(jù)包的嗅探原理,然后利用協(xié)議分析工具Wireshark,進(jìn)行數(shù)據(jù)包捕獲和過(guò)濾設(shè)置分析。543.1.1
數(shù)據(jù)包嗅探器原理55網(wǎng)卡具有以下幾種工作模式:(1)廣播模式(BroadCastModel):它的目的MAC地址為0xFFFFFFFFFFFF,是廣播幀。工作在廣播模式的網(wǎng)卡接收廣播幀。(2)多播模式(Multi
CastModel):多播傳送地址作為目的物理地址的幀可以被組內(nèi)的其他主機(jī)同時(shí)接收,而組外主機(jī)接收不到。但是,如果將網(wǎng)卡設(shè)置為多播傳送模式,它可以接收所有的多播傳送幀,而不論它是不是組內(nèi)成員。(3)直接模式(DirectModel):工作在直接模式下的網(wǎng)卡只接收目的地址是自己
MAC地址的幀。(4)混雜模式(PromiscuousModel):工作在混雜模式下的網(wǎng)卡接收所有流過(guò)網(wǎng)卡的幀,協(xié)議包捕獲程序就是在這種模式下運(yùn)行的。563.1.2Wireshark工具介紹Wireshark是一種可以運(yùn)行在Windows、UNIX和Linux等操作系統(tǒng)上的數(shù)據(jù)包嗅探器,屬于開(kāi)源免費(fèi)軟件,依賴PCAP庫(kù)。57Wireshark捕獲篩選器設(shè)置Wireshark顯示篩選器58顯示過(guò)濾示例規(guī)則:ip.src_host==2593.2
數(shù)據(jù)包捕獲實(shí)驗(yàn)項(xiàng)目描述實(shí)驗(yàn)內(nèi)容說(shuō)明:案例包括需求描述、設(shè)計(jì)要點(diǎn)出發(fā),開(kāi)展網(wǎng)絡(luò)拓?fù)湓O(shè)計(jì)和實(shí)驗(yàn)室布局設(shè)計(jì),最后給出工程概算和采購(gòu)設(shè)備與材料的調(diào)研,培養(yǎng)網(wǎng)絡(luò)工程設(shè)計(jì)能力。(1)兩人一組,分組實(shí)驗(yàn);(2)熟悉Ping、Tracert等命令,學(xué)習(xí)FTP、HTTP、SMTP和POP3協(xié)議;(3)在官網(wǎng)上下載和安裝Wireshark的最新版本,并了解其功能和使用方法;(4)下載并安裝任一種端口掃描工具;
(5)安裝FTP客戶端工具,便于抓取FTP客戶的登錄、下載和退出過(guò)程。603.3
Wireshark工具應(yīng)用實(shí)例3.3.1
Ping命令的數(shù)據(jù)包捕獲分析613.3.2Tracert命令數(shù)據(jù)捕獲校園網(wǎng)的路由跟蹤數(shù)據(jù)分析62廣域網(wǎng)的路由跟蹤數(shù)據(jù)分析633.3.3
端口掃描數(shù)據(jù)捕獲與分析445端口關(guān)閉前后的掃描和抓包情況64對(duì)Zenmap的端口掃描操作進(jìn)行抓包分析653.3.4
FTP協(xié)議包的捕獲與分析使用FileZilla軟件登錄FTP服務(wù)器示例66登錄FTP服務(wù)器的數(shù)據(jù)包信息67下載一個(gè)900字節(jié)大小的文件68下載900B
文件的數(shù)據(jù)包FTP協(xié)議信息69大于1MB的文件下載數(shù)據(jù)捕獲70FTP退出過(guò)程的數(shù)據(jù)捕獲觀察圖中的數(shù)據(jù)包發(fā)現(xiàn),從客戶端23確認(rèn)退出請(qǐng)求,到雙方的交互完成結(jié)束,經(jīng)歷了4個(gè)數(shù)據(jù)包,符合TCP協(xié)議斷開(kāi)連接過(guò)程是“4次揮手”。數(shù)據(jù)包分析:第1個(gè)數(shù)據(jù)包:是客戶端對(duì)服務(wù)器關(guān)閉連接的響應(yīng);第2個(gè)數(shù)據(jù)包:是客戶端完成與服務(wù)器之間的信息傳輸;第3個(gè)數(shù)據(jù)包:是FTP服務(wù)器到客戶端的數(shù)據(jù)發(fā)送已完成;第4個(gè)數(shù)據(jù)包:是客戶端對(duì)第3個(gè)數(shù)據(jù)包的響應(yīng)。71還可能產(chǎn)生其他交互情況:對(duì)該圖中的6個(gè)數(shù)據(jù)包進(jìn)行以下分析:第1個(gè)數(shù)據(jù)包:是客戶端完成數(shù)據(jù)傳輸任務(wù),向服務(wù)器的數(shù)據(jù)連接發(fā)出說(shuō)明;第2個(gè)數(shù)據(jù)包:服務(wù)器07到客戶端的數(shù)據(jù)傳輸任務(wù)完成;第3個(gè)數(shù)據(jù)包:服務(wù)器在數(shù)據(jù)連接上對(duì)第1個(gè)包的響應(yīng);第4個(gè)數(shù)據(jù)包:客戶端在控制連接上對(duì)第2個(gè)包的響應(yīng);第5個(gè)數(shù)據(jù)包:客戶端在控制連接上向服務(wù)器表明所有任務(wù)完成;
第6個(gè)數(shù)據(jù)包:服務(wù)器在控制連接上對(duì)客戶端的響應(yīng)。至此,雙方的所有連接斷開(kāi)。723.3.5
HTTP協(xié)議包的捕獲與分析WEB網(wǎng)頁(yè)訪問(wèn)的數(shù)據(jù)捕獲情況73WEB網(wǎng)頁(yè)訪問(wèn)的HTTP協(xié)議分析74WEB網(wǎng)頁(yè)訪問(wèn)的TCP協(xié)議分析75WEB網(wǎng)頁(yè)訪問(wèn)的IP協(xié)議分析本章小結(jié)
本章從網(wǎng)絡(luò)數(shù)據(jù)包捕獲原理出發(fā),通過(guò)著名的網(wǎng)絡(luò)抓包工具Wireshark,來(lái)闡述協(xié)議抓包的具體要求和解析過(guò)程,增強(qiáng)網(wǎng)絡(luò)安全防范意識(shí)。
重點(diǎn)闡述了一個(gè)綜合性的網(wǎng)絡(luò)抓包案例,包括網(wǎng)絡(luò)層的ICMP協(xié)議和IP協(xié)議、傳輸層的TCP協(xié)議、應(yīng)用層的FTP協(xié)議和HTTP協(xié)議。采用PING命令,可以捕獲ICMP協(xié)議的4個(gè)發(fā)送包和4個(gè)接收包。隨后,展示了路由跟蹤和端口掃描兩個(gè)不同層次的協(xié)議分析情況。FTP協(xié)議數(shù)據(jù)包的分析非常經(jīng)典,它包括了TCP協(xié)議的3次握手、下載數(shù)據(jù)的分片和4次揮手過(guò)程,以及FTP協(xié)議的兩種控制模式,值得細(xì)心探索。76《計(jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)與安全技術(shù)》第4章
組幀技術(shù)及其實(shí)現(xiàn)77學(xué)習(xí)內(nèi)容:(1)幾種組幀技術(shù)比較;(2)組幀程序設(shè)計(jì)思路;(3)循環(huán)冗余碼及其程序設(shè)計(jì)。學(xué)習(xí)目標(biāo):(1)能夠分析比較不同組幀方法和技術(shù);(2)具備循環(huán)冗余碼的程序設(shè)計(jì)能力。784.1幾種組幀技術(shù)比較794.1.1
廣域網(wǎng)的四種組幀方法廣域網(wǎng)的組幀方法包括字節(jié)計(jì)數(shù)法、字符填充法、零比特填充法和違例編碼法。由于字節(jié)計(jì)數(shù)法中計(jì)數(shù)字段的脆弱性及字符填充實(shí)現(xiàn)上的復(fù)雜性和不兼容性,目前較普遍使用的組幀方法是零比特填充法和違例編碼法。HDLC協(xié)議的幀結(jié)構(gòu)80HDLC協(xié)議的幀結(jié)構(gòu)PPP協(xié)議的幀結(jié)構(gòu)814.1.2
局域網(wǎng)的組幀技術(shù)以太網(wǎng)V2的MAC幀格式824.1.3
無(wú)線局域網(wǎng)的幀結(jié)構(gòu)802.11幀結(jié)構(gòu)MAC幀的復(fù)雜性都在其首部。最特殊之處就是有兩個(gè)MAC地址字段:發(fā)送地址、接收地址(源地址和目的地址),由控制字段中的兩個(gè)控制位“到DS”和“從DS”的不同組合來(lái)決定每個(gè)地址字段的含義,從而實(shí)現(xiàn)復(fù)雜的鏈路狀態(tài)維護(hù)功能。路由示例到DS從DS地址1地址2地址3地址4A經(jīng)AP1發(fā)送數(shù)據(jù)到R10接收地址:AP1地址源地址:A的地址目的地址:R的地址—R經(jīng)AP1發(fā)送數(shù)據(jù)到A01目的地址:A的地址發(fā)送地址:AP1地址源地址:R的地址—A經(jīng)AP1、AP2發(fā)送數(shù)據(jù)到B11接收地址:AP2地址發(fā)送地址:AP1地址目的地址:B的地址源地址:A的地址自組織網(wǎng)絡(luò)00目的地址源地址服務(wù)集標(biāo)識(shí)BSSID—834.2
組幀程序設(shè)計(jì)思路4.2.1
幾種幀的差異分析(1)廣域網(wǎng)以HDLC協(xié)議和PPP協(xié)議為代表,主要使用的是零比特填充法,但PPP在異步傳輸時(shí),使用字符填充法。HDLC的幀頭包括標(biāo)志、地址和控制三部分,PPP的幀頭則是標(biāo)志、地址、控制和協(xié)議四部分,兩者的幀尾都是數(shù)據(jù)校驗(yàn)FCS和標(biāo)志。信息字段來(lái)源于網(wǎng)絡(luò)層,HDLC協(xié)議的信息字段長(zhǎng)度沒(méi)有規(guī)定,一般是1
000~2
000字節(jié),最小為0;而PPP協(xié)議的信息字段長(zhǎng)度的默認(rèn)范圍是0~1500字節(jié)。HDLC協(xié)議的幀校驗(yàn)字段FCS占用2個(gè)字節(jié)長(zhǎng)度,采用CRC校驗(yàn),生成多項(xiàng)式是CRC-CCITT,校驗(yàn)范圍包括地址、控制、信息字段。PPP協(xié)議的檢驗(yàn)范圍包括地址、控制、類型和數(shù)據(jù)字段四部分,前兩部分是固定的,分別是0xFF和0x03,還是采用CRC-CCITT檢驗(yàn)。84(2)以太網(wǎng)V2其幀頭包括目的MAC地址、源MAC地址和類型,共占用14字節(jié);幀尾是FCS,占用4個(gè)字節(jié)長(zhǎng)度,采用CRC-32檢驗(yàn)。顯然,以太網(wǎng)的幀頭與廣域網(wǎng)的差異很大,而且,其信息字段長(zhǎng)度范圍是46~1500字節(jié)。(3)無(wú)線局域網(wǎng)其幀頭占用了30個(gè)字節(jié),包括4個(gè)6字節(jié)的MAC地址,還有控制、持續(xù)時(shí)間和序號(hào)字段,都是2字節(jié)長(zhǎng)度;幀尾是FCS,占用4個(gè)字節(jié)長(zhǎng)度,采用CRC-32檢驗(yàn)。信息字段的長(zhǎng)度范圍是0~2312字節(jié)。因此,不同類型的幀,其結(jié)構(gòu)和內(nèi)容也不同,CRC校驗(yàn)方法也并不完全相同。854.2.2
組幀程序設(shè)計(jì)思路組幀程序應(yīng)該包括幀協(xié)議選擇、標(biāo)記設(shè)置、幀頭信息輸入、數(shù)據(jù)字段內(nèi)容輸入、幀尾設(shè)置、成幀結(jié)果顯示和成幀保存等功能。以太網(wǎng)幀的組幀程序設(shè)計(jì)流程864.3
循環(huán)冗余碼及其程序設(shè)計(jì)4.3.1
循環(huán)冗余校驗(yàn)碼介紹【例4.1】
假設(shè)要發(fā)送的數(shù)據(jù)為101110,采用CRC的生成多項(xiàng)式是G(x)=x3+1,請(qǐng)問(wèn):(1)冗余碼和發(fā)送的碼字分別是什么?(2)若收到的數(shù)據(jù)序列是100010011,請(qǐng)判斷是否有錯(cuò)?解析:已知發(fā)送的信息M=101110,生成多項(xiàng)式對(duì)應(yīng)的除數(shù)G=1001。(1)經(jīng)過(guò)除法運(yùn)算,如圖4.8所示,得到冗余碼為R=011,所以發(fā)送的碼字是101110011。874.3.2
CRC計(jì)算的編程方法
從CRC豎式計(jì)算過(guò)程可以看出,CRC編碼實(shí)際上是一個(gè)循環(huán)移位的模2運(yùn)算。對(duì)于CRC-8,其生成多項(xiàng)式是x8+x2+x+1,即100000111。假設(shè)有一個(gè)9位的寄存器,通過(guò)反復(fù)移位和進(jìn)行CRC除法,最終該寄存器中的值去掉最高一位就是所需余數(shù)。
最后,crc中后8位就是經(jīng)過(guò)CRC-8校驗(yàn)的余數(shù)。//crc是1個(gè)9位寄存器對(duì)原始數(shù)據(jù)in后面添加8個(gè)0將crc中的值置為0while(數(shù)據(jù)未處理完)begin
if(crc最高位是1)
crc=crcXOR100000111
把crc中的值左移一位
從in中讀取一位新數(shù)據(jù),并置于crc的0位end884.3.3
CRC編程示例本章小結(jié)
本章對(duì)應(yīng)了開(kāi)放系統(tǒng)互聯(lián)(OSI)模型的數(shù)據(jù)鏈路層,其基本單位是幀。
在定義的幾種協(xié)議的幀結(jié)構(gòu)中,都需要設(shè)計(jì)幀頭幀尾和校驗(yàn)字段,前者為了幀的同步,后者為了數(shù)據(jù)的可靠性。首先,說(shuō)明了標(biāo)準(zhǔn)規(guī)定的幾種幀結(jié)構(gòu),描述了組幀的編程思路。接著,對(duì)循環(huán)冗余碼的計(jì)算方法做了案例說(shuō)明,并通過(guò)源代碼說(shuō)明,闡述了循環(huán)冗余碼的編程思路和實(shí)現(xiàn)過(guò)程,最后給出了界面設(shè)計(jì)示例。
通過(guò)本章的學(xué)習(xí),學(xué)生能夠在組幀原理及其編程方法、循環(huán)冗余碼的計(jì)算及其實(shí)現(xiàn)方法兩個(gè)方面,都獲得良好的效果。89《計(jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)與安全技術(shù)》第5章
局域網(wǎng)協(xié)議仿真設(shè)計(jì)與實(shí)現(xiàn)90學(xué)習(xí)內(nèi)容:(1)CSMA/CD協(xié)議的模擬實(shí)現(xiàn);(2)CSMA/CA的模擬設(shè)計(jì);(3)透明網(wǎng)橋。學(xué)習(xí)目標(biāo):(1)具備CSMA/CD協(xié)議的分析和模擬設(shè)計(jì)能力;(2)具備CSMA/CA協(xié)議的分析和模擬設(shè)計(jì)能力;(3)編程實(shí)現(xiàn)透明網(wǎng)橋的自學(xué)習(xí)算法,能夠構(gòu)造轉(zhuǎn)發(fā)表。915.1CSMA/CD協(xié)議的模擬實(shí)現(xiàn)925.1.1
CSMA/CD協(xié)議的工作原理CSMA/CD方法用來(lái)解決多個(gè)結(jié)點(diǎn)共享公用總線的問(wèn)題。在以太網(wǎng)中,任何結(jié)點(diǎn)都沒(méi)有可預(yù)約的發(fā)送時(shí)間,這種介質(zhì)訪問(wèn)控制屬于隨機(jī)爭(zhēng)用型方法。CSMA/CD協(xié)議的工作原理是:發(fā)送數(shù)據(jù)前,先偵聽(tīng)信道是否空閑。若空閑,則立即發(fā)送數(shù)據(jù)。在發(fā)送數(shù)據(jù)時(shí),邊發(fā)送邊繼續(xù)偵聽(tīng)。若偵聽(tīng)遇到?jīng)_突,則立即停止發(fā)送數(shù)據(jù),等待一段隨機(jī)時(shí)間,再重新嘗試??煽偨Y(jié)為:先聽(tīng)后發(fā),邊發(fā)邊聽(tīng),沖突停發(fā),隨機(jī)延遲后重發(fā)。93Ethernet幀的發(fā)送流程94以太網(wǎng)幀的接收流程以太網(wǎng)幀的接收流程大致可以分為以下三個(gè)步驟:1)檢查是否發(fā)生沖突,若發(fā)生沖突,則丟棄該幀;若沒(méi)有沖突,進(jìn)入下一步。2)檢查該幀的目的地址,看是否可以接收該幀,若可以接收,則進(jìn)入下一步。3)檢查CRC檢驗(yàn)和LLC數(shù)據(jù)長(zhǎng)度。若都正確,接收該幀,否則丟棄。955.1.2以太網(wǎng)結(jié)點(diǎn)的數(shù)據(jù)發(fā)送程序設(shè)計(jì)(1)設(shè)計(jì)要求1)在一臺(tái)計(jì)算機(jī)上實(shí)現(xiàn),用多個(gè)程序或線程來(lái)模擬多個(gè)計(jì)算機(jī)。2)總線可以使用一個(gè)共享數(shù)據(jù)區(qū)、共享內(nèi)存或者文件來(lái)模擬。3)模擬實(shí)現(xiàn)載波監(jiān)聽(tīng)的過(guò)程。4)模擬實(shí)現(xiàn)發(fā)生沖突的過(guò)程和沖突的處理機(jī)制。(2)設(shè)計(jì)思路
可以采用多線程方法模擬多個(gè)結(jié)點(diǎn)發(fā)送。程序產(chǎn)生沖突主要取決于各線程能否交叉執(zhí)行,具體又取決于CPU數(shù)、每一線程需要運(yùn)行的時(shí)間等。對(duì)于沖突模擬,可以在程序中加入延時(shí)。965.2
CSMA/CA的模擬設(shè)計(jì)5.2.1CSMA/CA的工作原理802.11標(biāo)準(zhǔn)為數(shù)據(jù)幀定義了不同的信道使用優(yōu)先級(jí),使用三種不同的時(shí)間參數(shù):短幀間隔SIFS、長(zhǎng)幀間隔DIFS和點(diǎn)協(xié)同間隔PIFS。SIFS最短,使用它作為等待時(shí)延的結(jié)點(diǎn)將用最高的信道使用優(yōu)先級(jí)來(lái)發(fā)送數(shù)據(jù)幀。網(wǎng)絡(luò)中的控制幀以及對(duì)所接收數(shù)據(jù)的確認(rèn)幀都采用SIFS作為發(fā)送之前的等待時(shí)延。DIFS最長(zhǎng),所有的數(shù)據(jù)幀都采用DIFS作為等待時(shí)延。PIFS具有中等級(jí)別的優(yōu)先級(jí),主要作為AP定期向服務(wù)區(qū)內(nèi)發(fā)送管理幀或探測(cè)幀所用的等待時(shí)延。97CSMA/CA協(xié)議的工作原理985.2.2CSMA/CA的模擬程序設(shè)計(jì)無(wú)爭(zhēng)用期的CSMA/CD動(dòng)態(tài)退避仿真效果有爭(zhēng)用期的CSMA/CD動(dòng)態(tài)退避仿真效果995.3
透明網(wǎng)橋
在數(shù)據(jù)鏈路層擴(kuò)展局域網(wǎng)是使用網(wǎng)橋。網(wǎng)橋工作在數(shù)據(jù)鏈路層,它根據(jù)MAC幀的目的地址對(duì)收到的幀進(jìn)行轉(zhuǎn)發(fā)。網(wǎng)橋具有過(guò)濾幀的功能,當(dāng)網(wǎng)橋收到一個(gè)幀時(shí),并不是向所有的端口轉(zhuǎn)發(fā)此幀,而是先檢查此幀的目的MAC地址,然后再確定將該幀轉(zhuǎn)發(fā)到哪一個(gè)端口。
目前使用得最多的網(wǎng)橋是透明網(wǎng)橋。“透明”是指局域網(wǎng)上的站點(diǎn)并不知道所發(fā)送的幀將經(jīng)過(guò)哪幾個(gè)網(wǎng)橋,因?yàn)榫W(wǎng)橋?qū)Ω髡緛?lái)說(shuō)是看不見(jiàn)的。透明網(wǎng)橋是一種即插即用設(shè)備,其標(biāo)準(zhǔn)是IEEE
802.1(D)或ISO8802.1d。1005.3.1透明網(wǎng)橋的自學(xué)習(xí)算法(1)網(wǎng)橋收到一幀后先進(jìn)行自學(xué)習(xí)。查找轉(zhuǎn)發(fā)表中與收到幀的源地址有無(wú)匹配的項(xiàng)目。如果沒(méi)有,就在轉(zhuǎn)發(fā)表中增加一個(gè)項(xiàng)目;如果有,則對(duì)原有的項(xiàng)目進(jìn)行更新。(2)轉(zhuǎn)發(fā)幀。查找轉(zhuǎn)發(fā)表中與收到幀的源地址有無(wú)匹配的項(xiàng)目。如果沒(méi)有,則通過(guò)所有其他接口進(jìn)行轉(zhuǎn)發(fā);如果有,則按轉(zhuǎn)發(fā)表中給出的接口進(jìn)行轉(zhuǎn)發(fā)。但應(yīng)注意,若轉(zhuǎn)發(fā)表中給出的接口就是該幀進(jìn)入網(wǎng)橋的接口,則應(yīng)丟棄這個(gè)幀。
到達(dá)幀的路由選擇過(guò)程取決于發(fā)送的LAN(源LAN)和目的地所在的LAN(目的LAN)兩項(xiàng),如下所示:①如果源LAN和目的LAN相同,則丟棄該幀。②如果源LAN和目的LAN不同,則轉(zhuǎn)發(fā)該幀。③如果目的LAN未知,則進(jìn)行擴(kuò)散。101【例5.1】
如圖5.5所示,6個(gè)站點(diǎn)通過(guò)透明網(wǎng)橋B1和B2連接到一個(gè)擴(kuò)展的局域網(wǎng)上。初始時(shí)網(wǎng)橋B1和B2的轉(zhuǎn)發(fā)表都是空的。假設(shè)需要傳輸?shù)膸蛄腥缦拢篐2傳輸給H1;H5傳輸給H4;H3傳輸給H5;H1傳輸給H2;H6傳輸給H5。假設(shè)轉(zhuǎn)發(fā)表表項(xiàng)的格式為:[站點(diǎn),端口],請(qǐng)寫出這些幀傳輸完成后網(wǎng)橋B1和B2的轉(zhuǎn)發(fā)表。102解析:在傳輸完成這些幀后,網(wǎng)橋B1和B2的轉(zhuǎn)發(fā)表如表5.1所示。表5.1
網(wǎng)橋B1和B2中的轉(zhuǎn)發(fā)表網(wǎng)橋B1中的轉(zhuǎn)發(fā)表網(wǎng)橋B2中的轉(zhuǎn)發(fā)表站點(diǎn)端口站點(diǎn)端口H21H21H52H52H32H31H11H621035.3.2
透明網(wǎng)橋自學(xué)習(xí)算法的C語(yǔ)言實(shí)現(xiàn)5.3.3
透明網(wǎng)橋自學(xué)習(xí)算法的C#語(yǔ)言實(shí)現(xiàn)104轉(zhuǎn)發(fā)表生成的總體流程105轉(zhuǎn)發(fā)表生成程序的運(yùn)行效果本章小結(jié)
本章給出了4個(gè)仿真設(shè)計(jì)案例:針對(duì)以太網(wǎng)的工作原理,采用C語(yǔ)言進(jìn)行仿真設(shè)計(jì)。針對(duì)無(wú)線網(wǎng)絡(luò)的工作原理,采用Matlab仿真進(jìn)行算法分析和效果測(cè)試,給出了關(guān)鍵代碼和仿真結(jié)果。在透明網(wǎng)橋方面,圍繞其逆向?qū)W習(xí)原理和工作流程,重點(diǎn)描述了轉(zhuǎn)發(fā)表的自動(dòng)生成算法與實(shí)現(xiàn)方法。分別采用C語(yǔ)言和C#語(yǔ)言,闡述了轉(zhuǎn)發(fā)表生成算法的編程要點(diǎn)和應(yīng)用界面設(shè)計(jì)示例。
這些編程案例具有典型性,對(duì)局域網(wǎng)協(xié)議的分析具有良好的啟發(fā)作用。106《計(jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)與安全技術(shù)》第6章ARP協(xié)議分析與程序設(shè)計(jì)107學(xué)習(xí)內(nèi)容:(1)ARP協(xié)議格式;(2)ARP協(xié)議包分析;(3)ARP協(xié)議編程。學(xué)習(xí)目標(biāo):(1)熟練掌握ARP協(xié)議的工作原理和應(yīng)用方法;(2)具備ARP協(xié)議模擬運(yùn)行的程序設(shè)計(jì)能力。1086.1ARP協(xié)議格式109
在網(wǎng)絡(luò)通信中,必須解決IP地址與MAC地址的映射問(wèn)題,這種映射稱為地址解析,有靜態(tài)映射和動(dòng)態(tài)映射兩種方法。相應(yīng)的協(xié)議是地址解析協(xié)議ARP(AddressResolutionProtocol),工作在網(wǎng)絡(luò)層,負(fù)責(zé)將IP地址解析為MAC地址。
在實(shí)際應(yīng)用中,一般將靜態(tài)映射和動(dòng)態(tài)映射方法結(jié)合起來(lái),這可以提高ARP的工作效率。實(shí)現(xiàn)的關(guān)鍵是在本地主機(jī)建立一個(gè)ARP高速緩存(ARPcache),里面包含所在局域網(wǎng)上的部分主機(jī)和路由器的IP地址到物理地址的映射表,這些都是該主機(jī)目前知道的一些地址。隨著時(shí)間的推移,該表的信息將動(dòng)態(tài)地更新。1106.1.1
ARP包格式由于物理幀長(zhǎng)度范圍是[64B,1500B],而ARP幀結(jié)構(gòu)固定為28B,CRC字段為4B,因此,不足64B的部分需要填充數(shù)據(jù)。ARP幀結(jié)構(gòu)中的目的MAC不起作用,可填充為任意值。此時(shí),ARP包中的填充數(shù)據(jù)要填充0。ARP幀格式1116.1.2
ARP的工作原理1126.2
ARP協(xié)議包分析6.2.1ARP命令操作
通過(guò)執(zhí)行ARP命令,可以顯示和修改本地主機(jī)的ARP表信息。ARP命令格式113本地主機(jī)ARP表的地址映射信息1146.2.2ARP包分析過(guò)程通過(guò)執(zhí)行Ping命令示例,測(cè)試與主機(jī)IP地址的連通性。然后,顯示過(guò)濾出ARP包。1156.2.3
ARP包間接交付如果源主機(jī)A和目的主機(jī)B不在同一網(wǎng)絡(luò)內(nèi),則需要經(jīng)歷間接交付過(guò)程。在主機(jī)A的網(wǎng)絡(luò)層運(yùn)行的IP進(jìn)程,首先判斷A和B是不是在同一個(gè)局域網(wǎng)內(nèi)。若是,直接交付主機(jī)B(使用ARP協(xié)議)。若不是,主機(jī)A把該數(shù)據(jù)包交給本地路由器(ARP)。然后,中間路由器一步步轉(zhuǎn)發(fā),最后到達(dá)目的網(wǎng)絡(luò)。目的網(wǎng)絡(luò)路由器進(jìn)行直接交付(使用ARP協(xié)議)。在這種情況下,ARP協(xié)議的執(zhí)行可能會(huì)面對(duì)三種情況:(1)主機(jī)到路由器:要解析目的路由器的MAC地址;(2)路由器到路由器:要解析目的路由器的MAC地址;
(3)路由器到主機(jī):要解析目的主機(jī)的MAC地址。1166.2.4
ARP包實(shí)例正常的ARP請(qǐng)求包正常的ARP應(yīng)答包1176.3
ARP協(xié)議編程
若要實(shí)現(xiàn)ARP協(xié)議包的收發(fā)任務(wù),則必須完成以下程序模塊:選擇網(wǎng)卡、構(gòu)造ARP請(qǐng)求包、數(shù)據(jù)幀的發(fā)送、ARP包的接收及其解析、獲得ARP表信息并顯示等。6.3.1
通過(guò)ARP協(xié)議由IP地址獲取MAC地址usingSystem.Management;publicstringgetMac()//只能獲取本機(jī)的MAC地址{
ManagementClassmc=newManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollectionmoc2=mc.GetInstances();
foreach(ManagementObjectmoinmoc2)
{
if((bool)mo["IPEnabled"]==true)
{
returnmo["MacAddress"].ToString();
mo.Dispose();
}
}
return"";}118可獲取局域網(wǎng)任意客戶機(jī)的MAC地址usingSystem.Runtime.InteropServices;usingSystem.Text;
[DllImport("Iphlpapi.dll")]staticexternintSendARP(Int32DestIP,Int32SrcIP,refInt64MacAddr,refInt32PhyAddrLen);
[DllImport("Ws2_32.dll")]staticexternInt32inet_addr(stringipaddr);
///<summary>///SendArp獲取MAC地址///</summary>///<paramname="RemoteIP">目標(biāo)機(jī)器的IP地址(如)///<returns>目標(biāo)機(jī)器的MAC地址</returns>publicstaticstringGetMacAddress(stringRemoteIP){
StringBuildermacAddress=newStringBuilder();
try
{
Int32remote=inet_addr(RemoteIP);
Int64macInfo=newInt64();
Int32length=6;
SendARP(remote,0,refmacInfo,reflength);
stringtemp=Convert.ToString(macInfo,16).PadLeft(12,'0').ToUpper();
intx=12;
for(inti=0;i<6;i++)
{
if(i==5)
{
macAddress.Append(temp.Substring(x-2,2));
}
else
{
macAddress.Append(temp.Substring(x-2,2)+"-");}
x-=2;
}
returnmacAddress.ToString();
}
catch
{
returnmacAddress.ToString();
}}1196.3.2完整的ARP包收發(fā)程序設(shè)計(jì)本程序使用了Winpcap庫(kù)函數(shù)。ARP模擬程序運(yùn)行界面:本章小結(jié)ARP協(xié)議是TCP/IP協(xié)議集中網(wǎng)絡(luò)層的重要協(xié)議,用于IP地址到MAC地址的解析。數(shù)據(jù)包從網(wǎng)絡(luò)層轉(zhuǎn)到局域網(wǎng)主機(jī),ARP協(xié)議起到了重要作用。
本章首先介紹了ARP協(xié)議的數(shù)據(jù)格式和工作原理,然后闡述ARP包的分析過(guò)程和細(xì)節(jié)。最后,提出了ARP包的收發(fā)編程方法和完整案例,便于實(shí)踐。
通過(guò)本章的學(xué)習(xí),能夠明確ARP協(xié)議的作用和工作原理,能夠自如使用網(wǎng)絡(luò)命令查詢ARP表。在掌握數(shù)據(jù)格式的基礎(chǔ)上,能夠編寫對(duì)應(yīng)數(shù)據(jù)包的收發(fā)程序,提升應(yīng)用設(shè)計(jì)水平。120《計(jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)與安全技術(shù)》第7章
網(wǎng)絡(luò)協(xié)議校驗(yàn)與傳輸程序設(shè)計(jì)121學(xué)習(xí)內(nèi)容:(1)IP地址的合法性檢驗(yàn);(2)IP協(xié)議包分析;(3)IP協(xié)議的首部校驗(yàn)和計(jì)算;(4)UDP協(xié)議報(bào)文封裝程序設(shè)計(jì);(5)TCP協(xié)議報(bào)文封裝程序設(shè)計(jì)。學(xué)習(xí)目標(biāo):(1)熟練掌握IP地址劃分要點(diǎn),能夠通過(guò)編程檢驗(yàn)IP地址的合法性;(2)深入理解IP協(xié)議的數(shù)據(jù)格式,并能夠編程構(gòu)造IP分組;(3)通過(guò)編程,能夠設(shè)計(jì)和實(shí)現(xiàn)IP協(xié)議包的首部校驗(yàn)和計(jì)算功能。(4)通過(guò)編程,能夠設(shè)計(jì)和實(shí)現(xiàn)TCP和UDP協(xié)議包的校驗(yàn)和計(jì)算和報(bào)文發(fā)送功能。1227.1IP地址的合法性檢驗(yàn)1237.1.1
IP地址的標(biāo)準(zhǔn)劃分124特殊IP地址網(wǎng)絡(luò)號(hào)主機(jī)號(hào)源地址目的地址含
義00可用不可用即,指在本網(wǎng)絡(luò)上的本主機(jī)0host-id可用不可用在本網(wǎng)絡(luò)上的某個(gè)主機(jī)host-id,如A類地址、B類地址4、C類地址1全1全1不可用可用即55,受限廣播,只在本網(wǎng)絡(luò)上進(jìn)行廣播,各路由器都不轉(zhuǎn)發(fā)net-id全1不可用可用直接廣播:對(duì)網(wǎng)絡(luò)號(hào)net-id上的所有主機(jī)進(jìn)行廣播,如A類地址55、B類地址55、C類地址55127任意數(shù)可用可用回送測(cè)試:用于網(wǎng)絡(luò)軟件測(cè)試和本地進(jìn)程間通信,如125專用地址IP地址類前綴專用地址范圍地址總數(shù)A10/8~55224B172.16/12~55220C192.168/16~552161267.1.2子網(wǎng)與超網(wǎng)編址方法(1)子網(wǎng)劃分
在劃分子網(wǎng)的情況下,路由表包含3項(xiàng)內(nèi)容:目的網(wǎng)絡(luò)地址、子網(wǎng)掩碼和下一跳地址。在選擇路由時(shí),使用表項(xiàng)中的子網(wǎng)掩碼和目的IP地址操作,將其結(jié)果與表項(xiàng)中的目的網(wǎng)絡(luò)地址相比較。若相等,表明匹配,則把數(shù)據(jù)報(bào)轉(zhuǎn)發(fā)到該表項(xiàng)的下一跳地址。否則,執(zhí)行默認(rèn)路由等操作。(2)超網(wǎng)分類法CIDR
CIDR將32位的IP地址劃分為前綴和后綴兩部分,分別表示網(wǎng)絡(luò)和主機(jī)兩部分。兩者的長(zhǎng)度是靈活可變的。CIDR采用斜線標(biāo)記法,即在IP地址后面加上斜線,再寫上前綴所占的位數(shù)。例如,IP地址8/20,表示前綴占20位,主機(jī)號(hào)占12位。1277.1.3IP地址檢驗(yàn)的程序設(shè)計(jì)方法
以下只針對(duì)IPv4標(biāo)準(zhǔn)。1)IP地址的合法性檢驗(yàn)
標(biāo)準(zhǔn)劃分的IP地址,占用4個(gè)字節(jié)。其寫法是字符串格式,由3個(gè)點(diǎn)號(hào)分隔,每部分都是1個(gè)字節(jié),最大是255,最小是0。因此,編程時(shí),應(yīng)先將IP地址分隔成4個(gè)部分,然后分別測(cè)試其所屬范圍,看是否屬于[0,255]。2)IP類型檢驗(yàn)
若要判斷IP地址是否屬于標(biāo)準(zhǔn)分類,即A、B、C、D和E,則需要參照?qǐng)D7.1給出的范圍,比對(duì)即可。表7.1和表7.2內(nèi)的IP地址,也很方便比較范圍。3)IP所屬子網(wǎng)檢驗(yàn)
首先,要判斷IP地址、子網(wǎng)號(hào)和子網(wǎng)掩碼的合法性。
為了判斷某一IP地址是否屬于某一子網(wǎng),只需將二進(jìn)制IP地址與子網(wǎng)掩碼按位進(jìn)行“與”運(yùn)算。若運(yùn)算結(jié)果與給定子網(wǎng)地址一致,則確定該IP地址屬于給定的子網(wǎng)。1287.2
IP協(xié)議包分析IPv4數(shù)據(jù)報(bào)的結(jié)構(gòu)常用的網(wǎng)絡(luò)協(xié)議協(xié)議字段值123468178889協(xié)議名ICMPIGMPGGPIPTCPEGPUDPIGRPOSPF1297.3
IP協(xié)議的首部校驗(yàn)和計(jì)算7.3.1設(shè)計(jì)需求示例針對(duì)IP協(xié)議包結(jié)構(gòu),2人一組,共同設(shè)計(jì)良好的人機(jī)界面,并實(shí)現(xiàn)首部校驗(yàn)和的計(jì)算程序。功能包括:(1)
在界面上,用戶能夠輸入或編輯IP協(xié)議包各字段數(shù)據(jù),例如,“協(xié)議”字段應(yīng)該是下拉選擇方式;(2)
程序能夠自動(dòng)檢查IP地址的合法性,且主機(jī)可用;(3)
能夠自動(dòng)計(jì)算首部校驗(yàn)和的值,并顯示計(jì)算結(jié)果;必須驗(yàn)證程序的正確性:基于Wireshark工具所抓取的真實(shí)IP包首部數(shù)據(jù),能夠成功檢驗(yàn)首部校驗(yàn)和字段的計(jì)算程序。例如,以下是發(fā)出ping命令之后,捕獲ICMP包的IP首部信息,可用用來(lái)檢驗(yàn)“首部校驗(yàn)和”字段的計(jì)算結(jié)果。130IP首部校驗(yàn)和計(jì)算程序界面設(shè)計(jì)示例131為了檢驗(yàn)程序的有效性,所測(cè)數(shù)據(jù)來(lái)源于網(wǎng)絡(luò)抓包結(jié)果。采用Wireshark網(wǎng)絡(luò)協(xié)議分析工具,捕獲FTP網(wǎng)絡(luò)服務(wù)的數(shù)據(jù)包,可以觀察到IP首部的全部信息,比如標(biāo)志字段值為0×02,表示不能分片;協(xié)議字段值為0×06,屬于TCP協(xié)議;檢驗(yàn)和字段值為0×84fc??梢?jiàn),程序計(jì)算的校驗(yàn)和也是0×84fc,與網(wǎng)絡(luò)數(shù)據(jù)包中的相同。1327.3.2首部校驗(yàn)和計(jì)算程序設(shè)計(jì)(1)程序設(shè)計(jì)思路重點(diǎn)有以下兩個(gè)方面:一要考慮收、發(fā)雙方的界面設(shè)計(jì)和測(cè)試效果展示;二要分清楚IP首部的固定部分和變化部分。固定部分包括:版本、服務(wù)類型、協(xié)議,版本僅指IPv4,而服務(wù)類型是從表7.3和表7.4查詢得到,可以設(shè)計(jì)為下拉列表方式。協(xié)議字段值參照表7.5,也應(yīng)該設(shè)計(jì)為下拉列表方式,供用戶選擇。變化部分很多,具體有:①報(bào)頭長(zhǎng)度和選項(xiàng)字段的關(guān)系:如果無(wú)選項(xiàng)內(nèi)容,則報(bào)頭長(zhǎng)度是固定的20字節(jié);否則,還應(yīng)加上選項(xiàng)和填充字段部分。②總長(zhǎng)度及其分片信息影響了標(biāo)識(shí)、標(biāo)志和片偏移的值。輸入不同的總長(zhǎng)度和MTU值,就會(huì)產(chǎn)生不同的分片結(jié)果。對(duì)于具體的一個(gè)分片,就會(huì)得到相應(yīng)的標(biāo)識(shí)、標(biāo)志和片偏移的值。這是界面操作和程序設(shè)計(jì)必須考慮的內(nèi)容。③生存時(shí)間:可以輸入。④源IP地址和目的IP地址:可以輸入。133(2)IP首部校驗(yàn)和的計(jì)算流程①把IP數(shù)據(jù)報(bào)的校驗(yàn)和字段置為0;②把首部看成以16位為單位的數(shù)字組成,依次進(jìn)行二進(jìn)制求和(注意:求和時(shí)應(yīng)將最高位的進(jìn)位保存,所以加法應(yīng)采用32位加法);③將上述加法過(guò)程中產(chǎn)生的進(jìn)位(最高位的進(jìn)位)加到低16位(采用32位加法時(shí),即將高16位與低16位相加,之后還要把該次加法最高位產(chǎn)生的進(jìn)位加到低16位);將上述的和取反,即得到校驗(yàn)和。1347.3.3校驗(yàn)和計(jì)算編程示例11357.3.4校驗(yàn)和計(jì)算編程示例21367.4
UDP協(xié)議報(bào)文封裝程序設(shè)計(jì)在UDP報(bào)文中,字段“校驗(yàn)和”的求解很重要,它涉及到偽首部和UDP報(bào)文的全部字段信息。7.4.1
UDP報(bào)文格式1377.4.2
UDP的校驗(yàn)和計(jì)算方法UDP的校驗(yàn)和計(jì)算內(nèi)容包括3部分:偽首部、UDP首部和用戶數(shù)據(jù),即在UDP數(shù)據(jù)報(bào)前面增加一個(gè)偽首部,它是IP包的首部。
將偽首部和UDP數(shù)據(jù)報(bào)組合在一起,以16bit為單位劃分這些數(shù)據(jù)后,進(jìn)行二進(jìn)制反碼求和運(yùn)算,該值的反碼就是校驗(yàn)和。注意,在劃分前,校驗(yàn)和字段數(shù)填0。而且,如果UDP數(shù)據(jù)部分的長(zhǎng)度是奇數(shù),則需要在其后增補(bǔ)一個(gè)全0字節(jié),以便使所有數(shù)據(jù)都能構(gòu)成16bit數(shù)據(jù)。1387.4.3
UDP報(bào)文封裝編程示例1397.4.4
UDP報(bào)文發(fā)送編程示例1407.5
TCP協(xié)議報(bào)文封裝程序設(shè)計(jì)7.5.1
TCP報(bào)文段的首部格式1417.5.2
TCP報(bào)文的校驗(yàn)和計(jì)算程序設(shè)計(jì)本章小結(jié)
本章內(nèi)容主要包括三方面:一是IP協(xié)議的首部校驗(yàn)和計(jì)算,包括IP地址合法檢查、IP報(bào)文各字段的使用和內(nèi)容填報(bào)方法、各模塊的程序代碼等。部分字段屬于下拉選擇。二是UDP協(xié)議的校驗(yàn)和計(jì)算,屬于傳輸層內(nèi)容,其計(jì)算范圍包括了偽首部和協(xié)議數(shù)據(jù)包的所有字段。闡述了UDP協(xié)議描述及其校驗(yàn)和計(jì)算的編程案例。三是TCP協(xié)議的校驗(yàn)和計(jì)算,屬于傳輸層內(nèi)容,其計(jì)算范圍也包括了偽首部和協(xié)議數(shù)據(jù)包的所有字段。闡述了TCP協(xié)議描述及其校驗(yàn)和計(jì)算的編程案例。以上案例具有典型性,具有參考價(jià)值。142《計(jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì)與安全技術(shù)》第8章
網(wǎng)絡(luò)主機(jī)與端口掃描程序設(shè)計(jì)143學(xué)習(xí)內(nèi)容:(1)ICMP報(bào)文分析;(2)基于ICMP協(xié)議的主機(jī)掃描程序設(shè)計(jì);(3)網(wǎng)絡(luò)端口掃描原理;(4)網(wǎng)絡(luò)端口掃描程序設(shè)計(jì)。學(xué)習(xí)目標(biāo):(1)學(xué)習(xí)原始套接字編程方法,能夠編寫主機(jī)掃描程序;(2)深入理解ICMP協(xié)議,能夠編程實(shí)現(xiàn)多線程端口掃描功能。1448.1
ICMP報(bào)文分析ICMP首部中的類型域用于說(shuō)明ICMP報(bào)文的作用及格式,ICMP代碼域用于詳細(xì)說(shuō)明某種ICMP報(bào)文的類型。ICMP(Internetcontrolmessageprotocol)網(wǎng)際控制報(bào)文協(xié)議145146表8.1
ICMP類型與代碼描述類型代碼描述查詢差錯(cuò)報(bào)告00EchoReply—回顯應(yīng)答(Ping應(yīng)答)?
30NetworkUnreachable—網(wǎng)絡(luò)不可達(dá)
?31HostUnreachable—主機(jī)不可達(dá)
?32ProtocolUnreachable—協(xié)議不可達(dá)
?33PortUnreachable—端口不可達(dá)
?34Fragmentationneededbutnofrag.bitset—需要進(jìn)行分片但設(shè)置不分片比特
?35Sourceroutingfailed—源站路由失敗
?36Destinationnetworkunknown—目的網(wǎng)絡(luò)未知
?37Destinationhostunknown—目的主機(jī)未知
?38Sourcehostisolated(obsolete)—源主機(jī)被隔離(作廢不用)
?39Destinationnetworkadministrativelyprohibited—目的網(wǎng)絡(luò)被強(qiáng)制禁止
?310Destinationhostadministrativelyprohibited—目的主機(jī)被強(qiáng)制禁止
?311NetworkunreachableforTOS—由于服務(wù)類型TOS,網(wǎng)絡(luò)不可達(dá)
?312HostunreachableforTOS—由于服務(wù)類型TOS,主機(jī)不可達(dá)
?313Communicationadministrativelyprohibitedbyfiltering—由于過(guò)濾,通信被強(qiáng)制禁止
?314Hostprecedenceviolation—主機(jī)越權(quán)
?315Precedencecutoffineffect—優(yōu)先中止生效
?14740Sourcequench—源端被關(guān)閉(基本流控制)
50Redirectfornetwork—對(duì)網(wǎng)絡(luò)重定向
51Redirectforhost—對(duì)主機(jī)重定向
52RedirectforTOSandnetwork—對(duì)服務(wù)類型和網(wǎng)絡(luò)重定向
53RedirectforTOSandhost—對(duì)服務(wù)類型和主機(jī)重定向
80Echorequest—回顯請(qǐng)求(Ping請(qǐng)求)?
90Routeradvertisement—路由器通告
100Routesolicitation—路由器請(qǐng)求
110TTLequals0duringtransit—傳輸期間生存時(shí)間為0
?111TTLequals0duringreassembly—在數(shù)據(jù)報(bào)組裝期間生存時(shí)間為0
?120IPheaderbad(catchallerror)—壞的IP首部(包括各種差錯(cuò))
?121Requiredoptionsmissing—缺少必需的選項(xiàng)
?130Timestamprequest(obsolete)—時(shí)間戳請(qǐng)求(作廢不用)?
140Timestampreply(obsolete)—時(shí)間戳應(yīng)答(作廢不用)?
150Informationrequest(obsolete)—信息請(qǐng)求(作廢不用)?
160Informationreply(obsolete)—信息應(yīng)答(作廢不用)?
170Addressmaskrequest—地址掩碼請(qǐng)求?
180Addressmaskreply—地址掩碼應(yīng)答?148ping是響應(yīng)請(qǐng)求(類型=8)和應(yīng)答(類型=0)。一臺(tái)主機(jī)向一個(gè)節(jié)點(diǎn)發(fā)送一個(gè)類型=8的ICMP報(bào)文,如果途中沒(méi)有異常(例如,被路由器丟棄、目標(biāo)不回應(yīng)ICMP或傳輸失?。?,則目標(biāo)返回類型=0的ICMP報(bào)文,說(shuō)明這臺(tái)主機(jī)存在。Ping百度網(wǎng)149通過(guò)計(jì)算ICMP報(bào)文通過(guò)的節(jié)點(diǎn)來(lái)確定主機(jī)與目標(biāo)之間的網(wǎng)絡(luò)距離。150ICMP協(xié)議對(duì)網(wǎng)絡(luò)安全具有極其重要的意義。ICMP協(xié)議本身的特點(diǎn)決定了它非常容易被用于攻擊網(wǎng)絡(luò)上的路由器和主機(jī)。利用操作系統(tǒng)規(guī)定的ICMP數(shù)據(jù)包最大尺寸不超過(guò)64KB這一規(guī)定,向主機(jī)發(fā)起“PingofDeath”(死亡之Ping)攻擊?!癙ingofDeath”的攻擊原理是:如果ICMP數(shù)據(jù)包的尺寸超過(guò)64KB上限時(shí),主機(jī)就會(huì)出現(xiàn)內(nèi)存分配錯(cuò)誤,導(dǎo)致TCP/IP堆棧崩潰,致使主機(jī)死機(jī)(現(xiàn)在的操作系統(tǒng)已經(jīng)限制了發(fā)送ICMP數(shù)據(jù)包的大小)。向目標(biāo)主機(jī)長(zhǎng)時(shí)間、連續(xù)、大量地發(fā)送ICMP數(shù)據(jù)包,也會(huì)使系統(tǒng)癱瘓。大量的ICMP數(shù)據(jù)包會(huì)形成“ICMP風(fēng)暴”,使得目標(biāo)主機(jī)耗費(fèi)大量的CPU資源處理。死亡之PING與ICMP風(fēng)暴1518.2
基于ICMP協(xié)議的主機(jī)掃描程序設(shè)計(jì)為了實(shí)現(xiàn)直接對(duì)IP和ICMP包進(jìn)行操作,必須使用RAW模式的Socket編程。8.2.1主機(jī)掃描流程設(shè)計(jì)直接對(duì)IP和ICMP包進(jìn)行操作,實(shí)驗(yàn)中使用RAW模式的SOCKET編程。①定義ICMP報(bào)文。IcmpPacket類②客戶機(jī)發(fā)送封裝ICMP回顯請(qǐng)求報(bào)文的IP數(shù)據(jù)包。創(chuàng)建Socket實(shí)例,再調(diào)用其SendTo()方法。③客戶機(jī)接收封裝ICMP應(yīng)答報(bào)文的IP數(shù)據(jù)包:調(diào)用Socket實(shí)例中的ReceiveFrom()方法。1521538.2.2主機(jī)掃描程序設(shè)計(jì)圖中探測(cè)的IP地址是,結(jié)果表明該主機(jī)是運(yùn)行的。閱讀主機(jī)掃描程序1548.3
網(wǎng)絡(luò)端口掃描原理網(wǎng)絡(luò)端口掃描是網(wǎng)絡(luò)攻擊的前奏。155網(wǎng)絡(luò)進(jìn)程通信需要收發(fā)雙方構(gòu)成全相關(guān)。8.3.1網(wǎng)絡(luò)進(jìn)程通信原理156表8.2
常見(jiàn)的熟知端口及其應(yīng)用協(xié)議傳輸層協(xié)議端口號(hào)服務(wù)進(jìn)程協(xié)議描述UDP42NAME服務(wù)器主機(jī)名字服務(wù)器UDP53域名域名服務(wù)器UDP67BOOTP客戶機(jī)客戶端引導(dǎo)協(xié)議服務(wù)UDP68BOOTP服務(wù)器服務(wù)器端引導(dǎo)協(xié)議服務(wù)UDP69TFTP簡(jiǎn)單文件傳輸協(xié)議UDP111RPC遠(yuǎn)程過(guò)程調(diào)用UDP161SNMP簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議TCP20FTP數(shù)據(jù)文件傳輸服務(wù)器(數(shù)據(jù)連接)TCP21FTP控制文件傳輸服務(wù)器(控制連接)TCP23Telnet遠(yuǎn)程終端服務(wù)器TCP25SMTP簡(jiǎn)單郵件傳輸協(xié)議TCP80HTTP超文本傳輸協(xié)議TCP110POP郵局協(xié)議1578.3.2端口掃描技術(shù)分析158(1)TCPconnect()掃描(a)連接建立成功
(b)未建立連接159(2)TCPSYN掃描:半開(kāi)放掃描(a)TCPSYN掃描成功
(b)TCPSYN掃描不成功160(3)TCPFIN掃描(a)TCPFIN掃描目標(biāo)端口打開(kāi) (b)TCPFIN掃描目標(biāo)端口關(guān)閉161(4)TCPACK掃描(a)TCPACK掃描目標(biāo)端口打開(kāi) (b)TCPACK掃描目標(biāo)端口關(guān)閉162(5)NULL掃描(a)NULL掃描目標(biāo)端口打開(kāi) (b)NULL掃描目標(biāo)端口關(guān)閉163(6)XMAS掃描(a)XMAS掃描目標(biāo)端口打開(kāi) (b)XMAS掃描目標(biāo)端口關(guān)閉164(7)SYN/ACK掃描(a)SYN/ACK掃描目標(biāo)端口打開(kāi) (b)SYN/ACK掃描目標(biāo)端口關(guān)閉1658.4
網(wǎng)絡(luò)端口掃描程序設(shè)計(jì)8.4.1端口掃描流程設(shè)計(jì)8.4.2指定端口掃描入門Python程序,通過(guò)指定主機(jī)及其端口,在控制臺(tái)下實(shí)現(xiàn),說(shuō)明端口掃描入門。importsocketsock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)result=sock.connect_ex(('',80))if0==result:
print("端口開(kāi)放")
print("主機(jī)名:"+socket.gethostname())else:
print("端口未開(kāi)放,返回結(jié)果:%s"%result)1668.4.3具有人機(jī)界面的端口掃描程序采用TCP全連接掃描方法,C#程序。privatevoidStart(){
connState=0;
portSum=0;
scanHost=txtHostname.Text;
try
{
IPAddressipaddr=(IPAddress)Dns.Resolve(scanHost).AddressList.
GetValue(0);
txtHostname.Text=ipaddr.ToString();
}
catch
{
txtHostname.Focus();
MessageBox.Show("請(qǐng)輸入正確的主機(jī)地址,該地址DNS無(wú)法解析","系統(tǒng)提示");
return;
}
for(Int32threadNum=startPort;threadNum<=endPort;threadNum++)
{
NormalScan(threadNum);
}}167privatevoidNormalScan(Objectstate){
Int32port=(Int32)state;
stringtMsg="";
TcpClienttcp=newTcpClient();
try
{
tcp.Connect(scanHost,port);
portSum++;
tMsg=port.ToString()+"端口開(kāi)放。";
portList.Items.Add(tMsg);
tcp.Close();
}
catch
{
tcp.Close();
}}需要注意的是,當(dāng)執(zhí)行語(yǔ)句tcp.Connect(scanHost,port)后,如果該端口是關(guān)閉的,則會(huì)引發(fā)一個(gè)異常,所以一定需要異常處理語(yǔ)句try{}...catch{}。1688.4.4多線程端口掃描程序設(shè)計(jì)示例以上掃描程序是串行結(jié)構(gòu),掃描效率低。采用多線程技術(shù)能夠顯著地提高掃描效率。展示了采用多線程時(shí)的全連接掃描情形,線程數(shù)設(shè)置為5。單擊“掃描”按鈕,可以發(fā)現(xiàn)程序的運(yùn)行效率明顯加快。掃描結(jié)果中包含了端口號(hào)為25時(shí)的協(xié)議細(xì)節(jié),表示本機(jī)上安裝有ESMTP及其版本信息等。169//設(shè)置最大線程數(shù)ThreadPool.SetMaxThreads(setThreadNum,setThreadNum);
for(Int32threadNum=startPort;threadNum<=endPort;threadNum++) { ThreadPool.QueueUserWorkItem(newWaitCallback(StartScan),threadNum); }170publ
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 麗水龍泉數(shù)學(xué)試卷
- 青島6年級(jí)數(shù)學(xué)試卷
- 纖維吸濕性測(cè)試報(bào)告
- 全國(guó)文科3卷數(shù)學(xué)試卷
- 南寧市中考三模數(shù)學(xué)試卷
- 勵(lì)才初三數(shù)學(xué)試卷
- 橡膠密封性能優(yōu)化策略報(bào)告
- 2025年航天器及其運(yùn)載工具、零件項(xiàng)目合作計(jì)劃書
- 鉤針動(dòng)漫服飾定制市場(chǎng)分析報(bào)告
- 區(qū)域配送協(xié)同模式比較報(bào)告
- 2025貴州航空產(chǎn)業(yè)城集團(tuán)股份有限公司旗下子公司貴州安立航空材料有限公司面向社會(huì)招聘61人筆試歷年參考題庫(kù)附帶答案詳解
- 2025至2030國(guó)內(nèi)線纜設(shè)備行業(yè)市場(chǎng)深度研究及發(fā)展前景投資可行性分析報(bào)告
- 靜脈留置針輸液技術(shù)課件
- 雷火灸新技術(shù)課件
- 深圳前科人員管理辦法
- 2025至2030伸縮梯行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 山東玲瓏輪胎股份有限公司境外(巴西)投資建設(shè)項(xiàng)目可行性研究報(bào)告
- 安全事故大反思大討論心得體會(huì)
- 中長(zhǎng)導(dǎo)管在神經(jīng)外科臨床應(yīng)用
- 中文版兒童睡眠習(xí)慣問(wèn)卷CSHQ 含評(píng)分維度
- 防暴技能培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論