計算機網(wǎng)絡(luò)課設(shè) 封裝Ethernet幀_第1頁
計算機網(wǎng)絡(luò)課設(shè) 封裝Ethernet幀_第2頁
計算機網(wǎng)絡(luò)課設(shè) 封裝Ethernet幀_第3頁
計算機網(wǎng)絡(luò)課設(shè) 封裝Ethernet幀_第4頁
計算機網(wǎng)絡(luò)課設(shè) 封裝Ethernet幀_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、成 績 評 定 表學生姓名班級學號1103050403封裝Ethernet 幀組長簽字: 年 月3日課程設(shè)計任務書學 院 專 業(yè)其中,EncapFrame為程序名,input_file為輸入數(shù)據(jù)文件,output_file 為輸出文件。2) 輸出內(nèi)容:Ethernet 幀的各字段內(nèi)容。星期四:軟件總體調(diào)試年 12月 日 年 月 日 年 12月 日1 課程設(shè)計目的課程設(shè)計的主要目的是通過封裝2 課程設(shè)計要求 3 相關(guān)知識幀EthernerV2.0 幀前 定 目 的 地 長度 字 校驗 字址段段段7B) 1B) ) ) 2B) 4B) 7)前導碼與幀前定界符字段位(7B 為 位 11 )目的地址和

2、源地址DA在 或6B 0 11)長度字段 ,最大長度為)數(shù)據(jù)字段 )校驗字段FCS 8 kr 碼)CRC 1 ;的信息多項式為。 為 。 ,如果余數(shù)為)CRC以 K r-1r。)循環(huán)冗余校驗碼的特點 ,不僅能檢查出離散錯誤, 4 課程設(shè)計分析While(!in.eof()in.get(a);bufj=a;j+;infile.open(argv1,ios:binary);infile.seekg(0,ios:end);short length=(short)infile.tellg();file.put(char(length/256);file.put(char(length%256); 46

3、B 0 及 為 。if(len=1500)len=0;if(len46)for(i=len;i1;if(a) regs.val=0 x8408; 8 8 8的 8) 。) ) ) ) ) ) ) ) ) ) ) ,程序流程圖:以二進制、可讀寫方式打開輸出文件寫入前導碼和這界定符獲取當前文件指針寫入目的地址和源地址 ,并將長度值寫入輸出文件N填充( )字節(jié)0Y添加1字節(jié)0,用于CRC計算計算CRC值,填充校驗字段風轉(zhuǎn)完成,關(guān)閉輸出文件結(jié)束6 程序代碼#include#include#include#includevoid main(int argc,char*argv)/如果輸入命令行不正確,則

4、輸出提示后退出。if(argc!=3)coutendl請按以下格式輸入:framer inputfile outputfileendl;exit(0);/打開指定的輸出文件,以二進制方式打開并可讀可寫,如文件存在,則清除其內(nèi)容。fstream file(argv2,ios:out|ios:in|ios:binary|ios:trunc,0);for(int i=0;i8);file.put(char(length&0 xff);/將文件長度值按照逆序?qū)懭氲捷敵鑫募拈L度字段中。file.write(data,length);/將 data內(nèi)容寫入到輸出文件中。/如果輸入文件長度不足 B,則用補

5、足 B。if(length46)for(int j=length;j46;j+)file.put(char(0 x00);file.put(char(0 x00);/將數(shù)據(jù)字段后添加個file.seekg(8,ios:beg);/將讀指針指向目的地址字段,從此處開始 CRC計算unsigned char ch;/ch用來保存讀入的字符。unsigned char crc=char(0 x00);/余數(shù)初始值為。while(1)/進行 CRC計算file.get(ch);if(ch=0 xff)/判斷是否到了文件結(jié)尾,如果是,則退出循環(huán)。break;for(i=0;i8;i+)/對入讀入的字符的位分別處理。if(0 x80=(crc&(0 x80)/當前余數(shù)最高位為,需要進行除法運算。crc=(crc7);/將輸入數(shù)據(jù)相應的值遞補到余數(shù)末位。crc=crc(0 x07);/進行除法運算,即與除數(shù)的低位相異或。else/當前余數(shù)的最高位為,不需要進行除法運算。crc=(crc7);/將輸入數(shù)據(jù)相應位的值遞補到余數(shù)末位。ch=ch1;/讀到的字符左移位,使數(shù)據(jù)下一位作為輸入位。file.clear();file.seekp(-1,ios:end);/將寫指針移到輸出文件的最后。file.put(crc);/寫入 crc碼。file.clo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論