




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
《計算機網絡設計與安全技術》第7章
網絡協議校驗與傳輸程序設計1學習內容:(1)IP地址的合法性檢驗;(2)IP協議包分析;(3)IP協議的首部校驗和計算;(4)UDP協議報文封裝程序設計;(5)TCP協議報文封裝程序設計。學習目標:(1)熟練掌握IP地址劃分要點,能夠通過編程檢驗IP地址的合法性;(2)深入理解IP協議的數據格式,并能夠編程構造IP分組;(3)通過編程,能夠設計和實現IP協議包的首部校驗和計算功能。(4)通過編程,能夠設計和實現TCP和UDP協議包的校驗和計算和報文發送功能。27.1IP地址的合法性檢驗37.1.1
IP地址的標準劃分4特殊IP地址網絡號主機號源地址目的地址含
義00可用不可用即,指在本網絡上的本主機0host-id可用不可用在本網絡上的某個主機host-id,如A類地址、B類地址4、C類地址1全1全1不可用可用即55,受限廣播,只在本網絡上進行廣播,各路由器都不轉發net-id全1不可用可用直接廣播:對網絡號net-id上的所有主機進行廣播,如A類地址55、B類地址55、C類地址55127任意數可用可用回送測試:用于網絡軟件測試和本地進程間通信,如5專用地址IP地址類前綴專用地址范圍地址總數A10/8~55224B172.16/12~55220C192.168/16~5521667.1.2子網與超網編址方法(1)子網劃分
在劃分子網的情況下,路由表包含3項內容:目的網絡地址、子網掩碼和下一跳地址。在選擇路由時,使用表項中的子網掩碼和目的IP地址操作,將其結果與表項中的目的網絡地址相比較。若相等,表明匹配,則把數據報轉發到該表項的下一跳地址。否則,執行默認路由等操作。(2)超網分類法CIDR
CIDR將32位的IP地址劃分為前綴和后綴兩部分,分別表示網絡和主機兩部分。兩者的長度是靈活可變的。CIDR采用斜線標記法,即在IP地址后面加上斜線,再寫上前綴所占的位數。例如,IP地址8/20,表示前綴占20位,主機號占12位。77.1.3IP地址檢驗的程序設計方法
以下只針對IPv4標準。1)IP地址的合法性檢驗
標準劃分的IP地址,占用4個字節。其寫法是字符串格式,由3個點號分隔,每部分都是1個字節,最大是255,最小是0。因此,編程時,應先將IP地址分隔成4個部分,然后分別測試其所屬范圍,看是否屬于[0,255]。2)IP類型檢驗
若要判斷IP地址是否屬于標準分類,即A、B、C、D和E,則需要參照圖7.1給出的范圍,比對即可。表7.1和表7.2內的IP地址,也很方便比較范圍。3)IP所屬子網檢驗
首先,要判斷IP地址、子網號和子網掩碼的合法性。
為了判斷某一IP地址是否屬于某一子網,只需將二進制IP地址與子網掩碼按位進行“與”運算。若運算結果與給定子網地址一致,則確定該IP地址屬于給定的子網。87.2
IP協議包分析IPv4數據報的結構常用的網絡協議協議字段值123468178889協議名ICMPIGMPGGPIPTCPEGPUDPIGRPOSPF97.3
IP協議的首部校驗和計算7.3.1設計需求示例針對IP協議包結構,2人一組,共同設計良好的人機界面,并實現首部校驗和的計算程序。功能包括:(1)
在界面上,用戶能夠輸入或編輯IP協議包各字段數據,例如,“協議”字段應該是下拉選擇方式;(2)
程序能夠自動檢查IP地址的合法性,且主機可用;(3)
能夠自動計算首部校驗和的值,并顯示計算結果;必須驗證程序的正確性:基于Wireshark工具所抓取的真實IP包首部數據,能夠成功檢驗首部校驗和字段的計算程序。例如,以下是發出ping命令之后,捕獲ICMP包的IP首部信息,可用用來檢驗“首部校驗和”字段的計算結果。10IP首部校驗和計算程序界面設計示例11為了檢驗程序的有效性,所測數據來源于網絡抓包結果。采用Wireshark網絡協議分析工具,捕獲FTP網絡服務的數據包,可以觀察到IP首部的全部信息,比如標志字段值為0×02,表示不能分片;協議字段值為0×06,屬于TCP協議;檢驗和字段值為0×84fc。可見,程序計算的校驗和也是0×84fc,與網絡數據包中的相同。127.3.2首部校驗和計算程序設計(1)程序設計思路重點有以下兩個方面:一要考慮收、發雙方的界面設計和測試效果展示;二要分清楚IP首部的固定部分和變化部分。固定部分包括:版本、服務類型、協議,版本僅指IPv4,而服務類型是從表7.3和表7.4查詢得到,可以設計為下拉列表方式。協議字段值參照表7.5,也應該設計為下拉列表方式,供用戶選擇。變化部分很多,具體有:①報頭長度和選項字段的關系:如果無選項內容,則報頭長度是固定的20字節;否則,還應加上選項和填充字段部分。②總長度及其分片信息影響了標識、標志和片偏移的值。輸入不同的總長度和MTU值,就會產生不同的分片結果。對于具體的一個分片,就會得到相應的標識、標志和片偏移的值。這是界面操作和程序設計必須考慮的內容。③生存時間:可以輸入。④源IP地址和目的IP地址:可以輸入。13(2)IP首部校驗和的計算流程①把IP數據報的校驗和字段置為0;②把首部看成以16位為單位的數字組成,依次進行二進制求和(注意:求和時應將最高位的進位保存,所以加法應采用32位加法);③將上述加法過程中產生的進位(最高位的進位)加到低16位(采用32位加法時,即將高16位與低16位相加,之后還要把該次加法最高位產生的進位加到低16位);將上述的和取反,即得到校驗和。147.3.3校驗和計算編程示例1157.3.4校驗和計算編程示例2167.4
UDP協議報文封裝程序設計在UDP報文中,字段“校驗和”的求解很重要,它涉及到偽首部和UDP報文的全部字段信息。7.4.1
UDP報文格式177.4.2
UDP的校驗和計算方法UDP的校驗和計算內容包括3部分:偽首部、UDP首部和用戶數據,即在UDP數據報前面增加一個偽首部,它是IP包的首部。
將偽首部和UDP數據報組合在一起,以16bit為單位劃分這些數據后,進行二進制反碼求和運算,該值的反碼就是校驗和。注意,在劃分前,校驗和字段數填0。而且,如果UDP數據部分的長度是奇數,則需要在其后增補一個全0字節,以便使所有數據都能構成16bit數據。187.4.3
UDP報文封裝編程示例197.4.4
UDP報文發送編程示例207.5
TCP協議報文封裝程序設計7.5.1
TCP報文段的首部格式217.5.2
TCP報文的校驗和計算程序設計本章小結
本章內容主要包括三方面:一是IP協議的首部校驗和計算,包括IP地址合法檢查、IP報文各字段的使用和內容填報方法、各模塊的程序代碼等。部分字
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CSIQ 4002-2017藝術品鑒證質量溯源驗證規程玉器類
- T/CSBME 067-2023醫用大口徑液氮生物容器
- T/CRIA 19002-2023一次性使用醫療防護橡膠檢查手套
- T/CNFMA B013-2020園林綠化機械以直流電為動力源的便攜式挖樹機
- T/CIMA 0030-2022單相智慧能源信息網關技術規范
- T/CHES 56-2021輸水工程沼蛤防治系統技術導則
- T/CHES 51-2021大中型泵站運行管理規程
- T/CHES 104-2023再生水利用量計算與評估技術規程
- T/CHATA 013-2021老年人肺結核篩查流程
- T/CGCC 47-2021數字消費券服務規范
- 借款分期付款協議書
- 2025屆陜西省高三新高考全真模擬政治試題(原卷版+解析版)
- 南京2025年南京市市場監督管理局所屬事業單位招聘編外筆試歷年參考題庫附帶答案詳解
- GB/T 30819-2024機器人用諧波齒輪減速器
- DL-T5394-2021電力工程地下金屬構筑物防腐技術導則
- 浙江省溫州市2022年初中科學中考試題及參考答案
- 食品經營操作流程圖
- 排樁+錨索深基坑安全專項施工方案
- 大型橋梁高程控制網的布設和精度分析
- 普拉提運動對大學生圓肩駝背體態矯正的研究
- 成本管理畢業論文參考文獻大全范文
評論
0/150
提交評論