第一篇:開放實驗的實驗報告格式
開放實驗的實驗報告格式
標(biāo)題(四號黑體居中)
提交實驗報告者的學(xué)號和名字(五號)
正文部分(小四號字體):
引文:簡述實驗的目的、意義、出新處……等
一、實驗部分
二、討論
三、總結(jié)
四、參考文獻(xiàn)
第二篇:交換機實驗 實驗報告
交換機實驗II 實驗?zāi)康?/p>
1.理解掌握環(huán)路對網(wǎng)絡(luò)造成的影響,掌握環(huán)路的自檢測的配置; 2.理解路由的原理,掌握三層交換設(shè)備路由的配置方法 3.掌握DHCP的原理以及其配置方法
實驗步驟
配置交換機的IP地址,及基本的線路連接等; 實驗1:
①.用獨立網(wǎng)線連接同一臺交換機的任意兩個端口時期形成自環(huán)
②.對交換機的兩個端口進(jìn)行配置,開啟所有端口的環(huán)路檢測功能、設(shè)置檢測周期等屬性 實驗2:
①.按圖1方式對三層交換機的VLAN、端口進(jìn)行配置
②.在交換機中分別對VLAN的IP地址進(jìn)行配置
③.啟動三層交換機的IP路由
④.設(shè)置PC-A、PC-B的IP地址,分別將它們的網(wǎng)關(guān)設(shè)置為所屬三層交換機VLAN的IP地址
⑤.通過Ping驗證主機A、B之間的互通狀況 實驗3:
三層交換機作為DHCP服務(wù)器,兩臺PC-A和PC-B,分別從交換機上獲取IP地址。PC-C手動配置IP地址。
①.按圖2方式建立主機A、B、C與三層交換機間的連接,配置交換機的IP地址
②.配置三層交換機的DHCP地址池屬性
③.啟動DHCP服務(wù)
④.(1)查看主機A、B能否正確的獲取到給定范圍內(nèi)IP地址,通過Ping查看網(wǎng)關(guān)、交換機之間的互通情況;(2)拔掉主機B的網(wǎng)線,將主機C的IP地址設(shè)置為主機B所獲取的到的IP地址,然后再插上B機網(wǎng)線,查看其是否能獲取到不同的IP地址;(3)分別重啟主機A、B及交換機,查看A、B獲取到的IP地址是否和前一次相同。
圖1.三層路由連接圖
圖2.DHCP連接圖
實驗結(jié)果
實驗1:環(huán)路測試
交換機出現(xiàn)環(huán)路的自檢測結(jié)果:
實驗2:路由配置:
主機A連接交換機端口2,劃分為vlan10,端口IP地址為192.168.1.1。主機IP地址192.168.1.23;
主機B連接交換機端口10,劃分為vlan20,端口IP地址為192.168.2.1。主機IP地址192.168.2.27;
在未設(shè)置IP routing之前主機A、B分屬于不同網(wǎng)段,因此它們不能互通,設(shè)置后通過路由則可相互聯(lián)通:
實驗三:DHCP配置和驗證:
主機A、B、C分別連接到交換機的端口2,端口18和端口10上。其中主機A、B的IP地址自動獲取,主機C的IP地址則手動配置。
主機A通過DHCP獲取的IP地址(192.168.1.211)
主機B通過DHCO獲取到的IP地址(192.168.1.210)
測試主機A與主機C的互通性(可連通)
測試主機B與主機A、C之間的互通性(可連通)
當(dāng)主機C配置為主機B獲取到的IP地址是會產(chǎn)生IP地址沖突的錯誤提示:
配置的主機C的IP地址與主機B的IP地址相沖突
主機B網(wǎng)線重新連接后獲取到的新的IP地址
交換機重新啟動后A、B主機自動獲取到的IP地址信息:
主機A自動獲取的IP地址
主機B自動獲取的IP地址
DHCP可分配IP地址池內(nèi)IP數(shù)目小于申請的主機數(shù)目時實驗驗證情況:(可分配的IP地址為192.168.1.210 — 192.168.1.212),此時連接主機A、B、C、D。
主機D自動獲取IP地址的結(jié)果
實驗與結(jié)果分析
環(huán)路問題:
分為第二層環(huán)路和第三層環(huán)路,所有環(huán)路的形成都是由于目的路徑不明確導(dǎo)致混亂而造成的。例如第二層,一個廣播信息經(jīng)過兩個交換機的時候會不斷惡性循環(huán)的產(chǎn)生廣播造成環(huán)路,而第三層環(huán)路則是原路由意外不能工作,造成路由通告錯誤,形成一個惡性循環(huán)。傳統(tǒng)的二層預(yù)防技術(shù)主要有STP(Spanning tree)來預(yù)防,STP在不斷的修改和更新中,產(chǎn)生了諸如STP/RSTP/MSTP等多個版本,大家可根據(jù)各自的組網(wǎng)規(guī)劃來選擇應(yīng)用,但是STP的配置復(fù)雜度,以及協(xié)議本身的開銷通常都是網(wǎng)絡(luò)管理人員比較頭痛的事情。
解決因環(huán)路(自環(huán)或外環(huán))對網(wǎng)絡(luò)造成的影響,能夠提高網(wǎng)絡(luò)的自檢錯性、容錯性和健壯性。環(huán)路檢測的過稱為:對交換機的每個端口周期性的發(fā)送回路檢測(Loopback-detection)數(shù)據(jù)包;交換機查看端口收到包的CPUMAC字段,如果其中存的是本交換機的MAC,則本交換機的某些端口形成環(huán)路,否則將其丟棄,出現(xiàn)環(huán)路后,交換機會關(guān)閉端口號較大的端口以消除環(huán)路。圖1中反映了在交換機開啟所有端口的環(huán)路檢測功能后每隔30秒檢測到的信息以及對端口的關(guān)閉等操作信息。
三層路由意義和工作過程: 實現(xiàn)不同VLAN間主機的通信,通過配置VLAN能夠有效地控制廣播域的大小。在同一VLAN內(nèi)的主機間的通信不需要經(jīng)過交換機的路由處理可直接到達(dá)目的主機,當(dāng)不同VLAN間通訊時,數(shù)據(jù)包先轉(zhuǎn)發(fā)至路由器,由路由器查詢其路由轉(zhuǎn)發(fā)表選擇正確的端口間數(shù)據(jù)包轉(zhuǎn)發(fā)到目的VLAN的交換機,再由目的VLAN內(nèi)交換機將數(shù)據(jù)包轉(zhuǎn)發(fā)至目的主機。其中扮演主要角色的即為交換機的路由功能,如果沒有設(shè)置相關(guān)屬性則不同VLAN間不能通訊。
因此在圖3的驗證實驗中,通過路由器的轉(zhuǎn)發(fā)功能實現(xiàn)了分別位于VLAN10和VLAN20中主機A、B之間的通信,在未配置IP Routing之前VLAN10和VLAN20分屬不同網(wǎng)段(A、B也屬于不同網(wǎng)段),因此不能實現(xiàn)通信,配置之后路由器(三層交換設(shè)備)可通過內(nèi)部路由轉(zhuǎn)發(fā)表實現(xiàn)數(shù)據(jù)的轉(zhuǎn)發(fā)和通信。
DHCP工作過程與實驗分析:
即動態(tài)主機配置協(xié)議(Dynamic Host Configuration Protocol),是一個局域網(wǎng)的網(wǎng)絡(luò)協(xié)議,使用UDP協(xié)議工作,主要有兩個用途:給內(nèi)部網(wǎng)絡(luò)或網(wǎng)絡(luò)服務(wù)供應(yīng)商自動分配IP地址,是使內(nèi)部網(wǎng)絡(luò)管理員能夠集中管理(從中心結(jié)點監(jiān)控)和自動分配IP 網(wǎng)絡(luò)地址的通信協(xié)議。當(dāng)某臺計算機移到網(wǎng)絡(luò)中的其它位置時,能自動收到新的IP 地址。DHCP 服務(wù)器從地址池中為客戶端選擇并分配IP 地址及其他相關(guān)參數(shù)當(dāng)作為DHCP服務(wù)器的設(shè)備收到客戶端發(fā)來的DHCP 請求時,將從地址池中挑選一個空閑的IP 地址。
DHCP工作過程:
當(dāng) DHCP客戶端第一次登錄網(wǎng)絡(luò)的時候,也就是客戶發(fā)現(xiàn)本機上沒有任何 IP 數(shù)據(jù)設(shè)定,它會向網(wǎng)絡(luò)發(fā)出一個 DHCP DISCOVER封包(廣播包)。因為客戶端還不知道自己屬于哪一個網(wǎng)絡(luò),所以封包的來源地址會為 0.0.0.0,而目的地址則為 255.255.255.255,然后再附上 DHCP discover 的信息,向網(wǎng)絡(luò)進(jìn)行廣播。如果都沒有得到DHCP服務(wù)器的響應(yīng),客戶端則會顯示錯誤信息,宣告 DHCP discover 的失敗。之后,基于使用者的選擇,系統(tǒng)會繼續(xù)在 5 分鐘之后再重復(fù)一次 DHCP discover 的過程。
當(dāng) DHCP服務(wù)器監(jiān)聽到客戶端發(fā)出的 DHCP discover 廣播后,它會從那些還沒有租出的地址范圍內(nèi),選擇最前面的空置 IP,連同其它 TCP/IP 設(shè)定,響應(yīng)給客戶端一個 DHCP OFFER封包。由于客戶端在開始的時候還沒有 IP 地址,所以在其 DHCP discover封包內(nèi)會帶有其 MAC 地址信息,并且有一個 XID 編號來辨別該封包,DHCP服務(wù)器響應(yīng)的 DHCP offer 封包則會根據(jù)這些資料傳遞給要求租約的客戶。根據(jù)服務(wù)器端的設(shè)定,DHCP offer封包會包含一個租約期限的信息。
如果客戶端收到網(wǎng)絡(luò)上多臺 DHCP 服務(wù)器的響應(yīng),只會挑選其中一個 DHCP offer 而已(通常是最先抵達(dá)的那個),并且會向網(wǎng)絡(luò)發(fā)送一個DHCP request廣播封包,告訴所有 DHCP 服務(wù)器它將指定接受哪一臺服務(wù)器提供的 IP 地址。同時,客戶端還會向網(wǎng)絡(luò)發(fā)送一個 ARP封包,查詢網(wǎng)絡(luò)上面有沒有其它機器使用該 IP 地址;如果發(fā)現(xiàn)該 IP 已經(jīng)被占用,客戶端則會送出一個 DHCPDECLINE 封包給 DHCP服務(wù)器,拒絕接受其 DHCP offer,并重新發(fā)送 DHCP discover 信息。事實上,并不是所有 DHCP客戶端都會無條件接受 DHCP服務(wù)器的 offer,尤其這些主機安裝有其它 TCP/IP 相關(guān)的客戶軟件??蛻舳艘部梢杂?DHCP request 向服務(wù)器提出 DHCP 選擇,而這些選擇會以不同的號碼填寫在 DHCP Option Field 里面。
當(dāng) DHCP服務(wù)器接收到客戶端的 DHCP request 之后,會向客戶端發(fā)出一個DHCPACK 響應(yīng),以確認(rèn) IP 租約的正式生效,標(biāo)志著一次DHCP的工作過程完成。
圖4—6反映了主機A、B通過自動獲取IP地址方式由三層交換機動態(tài)分配IP后,各自得到的IP地址,由于A、B、C連接與同一臺交換設(shè)備上,由沒有VLAN劃分等因素,所以它們之間不論是自動獲取IP地址還是手動配置IP地址(不沖突的前提下)都能相互連通。當(dāng)為主機C配置成已得到自動分配IP地址的主機B的IP地址時,自然會出現(xiàn)IP地址沖突的出錯信息提示。當(dāng)B網(wǎng)線重新鏈接時,相當(dāng)于重新加入的客戶端,交換機會從地址池中順序選擇下一個未分配的IP地址給新的請求用戶。因此主機B會獲得新新的IP地址,并且其值是主機C的IP地址的下一個鄰接IP地址(在未超出可分配的IP地址范圍條件下)。圖7 —10中反映了上述描述的結(jié)果。
圖11中顯示了一種造成IP地址動態(tài)分配失敗的情形:可分配的IP地址數(shù)僅有3個,而由4臺主機請求分配IP地址,當(dāng)可分配地址全部分配給主機A、B、C后,主機D的請求不能得到滿足,因此未得到給定范圍內(nèi)的合理IP地址。
第三篇:實驗一 實驗報告
網(wǎng) 絡(luò) 程 序 設(shè) 實驗報告
實驗名稱:Winsock編程接口實驗 實驗類型: 驗 證 型
計
一、實驗?zāi)康?/p>
? 掌握Winsock的啟動和初始化;
? 掌握gethostname(),gethostbyname(),GetAdaptersInfo()等信息查詢函數(shù)的使用。
二、實驗設(shè)計
實驗內(nèi)容:
1、編寫程序能同時實現(xiàn)對多個域名的解析。比如在控制臺輸入:getip 004km.cn對應(yīng)的IP地址列表。
2、編寫程序獲取并輸出本地主機的所有適配器的IP地址,子網(wǎng)掩碼,默認(rèn)網(wǎng)關(guān),MAC地址。
根據(jù)實驗內(nèi)容編寫程序:
1、對相關(guān)域名進(jìn)行解析,利用gethostbyname()完成解析,用到的結(jié)構(gòu)體為:
struct hostent{ char FAR*
h_name;char FAR* FAR* h_aliases;short
h_addrtype;short
h_length;char FAR* FAR* h_addr_list;}
得到的IP地址列表由h_addr_list存儲;
2、利用GetAdaptersInfo()函數(shù)獲得本地主機的相關(guān)信息,通過IP_ADAPTER_INFO結(jié)構(gòu)體返回所需信息。
IP_ADAPTER_INFO的定義如下: typedef struct _IP_ADAPTER_INFO {
struct _IP_ADAPTER_INFO* Next;
DWORD ComboIndex;
char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4];
char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4];
UINT AddressLength;
BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH];
DWORD Index;
UINT Type;
UINT DhcpEnabled;
PIP_ADDR_STRING CurrentIpAddress;
IP_ADDR_STRING IpAddressList;
IP_ADDR_STRING GatewayList;
IP_ADDR_STRING DhcpServer;
BOOL HaveWins;
IP_ADDR_STRING PrimaryWinsServer;
IP_ADDR_STRING SecondaryWinsServer;
time_t LeaseObtained;
time_t LeaseExpires;
} IP_ADAPTER_INFO, *PIP_ADAPTER_INFO;
三、實驗過程(包含實驗結(jié)果)
1、分析題目,編寫程序;
2、將編寫的程序進(jìn)行編譯、運行,輸入題目給定的內(nèi)容,完成題目要求; 結(jié)果如下:
第1題:
第2題:
四、討論與分析
思考題:
1、Winsock初始化的作用:只有調(diào)用了WSAStartup()進(jìn)行初始化之后,應(yīng)用程 序才能調(diào)用其他Windows Sockets API函數(shù),實現(xiàn)網(wǎng)絡(luò)通信;
2、函數(shù)原型為:
DWORD GetAdaptersInfo(PIP_ADAPTER_INFO pAdapterInfo,//接受數(shù)據(jù)的緩沖區(qū)
PULONG pOutBufLen
// 數(shù)據(jù)的長度大小);
3、域名解析時出現(xiàn)域名對應(yīng)多個IP,原因:該域名存在于多個服務(wù)器。
五、實驗者自評
通過本次實驗,我掌握了Winsock的啟動和初始化以及gethostname(),gethostbyname(),GetAdaptersInfo()等函數(shù)查詢的使用,加深了以前對課本知識的認(rèn)識程度。
六、附錄:關(guān)鍵代碼(給出適當(dāng)注釋,可讀性高)
第1題代碼:
////////////////////////////////////////////////// // GetAllIps.cpp文件
//#include “../common/InitSock.h” #include
using namespace std;
#pragma comment(lib, “WS2_32”)// 鏈接到WS2_32.lib //CInitSock initSock;// 初始化Winsock庫
void main(){
char szMessage[256];// 取得本地主機名稱
// 初始化
WSADATA wsaData;if(WSAStartup(MAKEWORD(2,2), &wsaData)!= 0){
exit(0);}
// 通過主機名得到地址信息
printf(“ Get IP::”);gets(szMessage);
// 獲取主機信息
hostent *pHost = ::gethostbyname(szMessage);
// 打印出所有IP地址
in_addr addr;for(int i = 0;;i++){
char *p = pHost->h_addr_list[i];
if(p == NULL)
break;
memcpy(&addr.S_un.S_addr, p, pHost->h_length);
char *szIp = ::inet_ntoa(addr);
printf(“ 服務(wù)器 %s IP地址:%s n ”,szMessage, szIp);
printf(“服務(wù)器名字: %s n”,pHost->h_name);}
/////////////////////////// ::WSACleanup();
}
第2題代碼:
// 獲取并輸出本地主機的所有適配器的IP地址,子網(wǎng)掩碼,默認(rèn)網(wǎng)關(guān),MAC地址
#include
void main(){ // 定義變量
IP_ADAPTER_INFO *pAdapterInfo;ULONG ulOutBufLen;DWORD dwRetVal;PIP_ADAPTER_INFO pAdapter;
pAdapterInfo =(IP_ADAPTER_INFO *)malloc(sizeof(IP_ADAPTER_INFO));ulOutBufLen = sizeof(IP_ADAPTER_INFO);// 第一次獲取適配器信息,得到ulOutBufLen的實際大小
if(GetAdaptersInfo(pAdapterInfo, &ulOutBufLen)!= ERROR_SUCCESS){
free(pAdapterInfo);
pAdapterInfo =(IP_ADAPTER_INFO *)malloc(ulOutBufLen);} // 第二次獲取適配器信息,獲得了pAdapterInfo信息
if(dwRetVal = GetAdaptersInfo(pAdapterInfo, &ulOutBufLen)!= ERROR_SUCCESS){
cout<<“GetAdapterInfo Error!”< // 打印MAC地址信息、子網(wǎng)掩碼以及網(wǎng)關(guān) pAdapter = pAdapterInfo;while(pAdapter){ cout<<“MAC Address: ”; for(int i=0;i AddressLength;i++) { if(i ==(pAdapter->AddressLength-1)) { cout< } else { cout< } } cout< cout<<“IP 地址:”< IpAddressList.IpAddress.String< cout<<“子網(wǎng)掩碼 :”< IpAddressList.IpMask.String< cout<<“網(wǎng)關(guān) :”< IpAddressList.IpAddress.String< cout<<“****************************************”< pAdapter = pAdapter->Next;} // 釋放資源 if(pAdapterInfo){ free(pAdapterInfo);} cout< } 實驗報告一、二、三、四、五、六、七、實驗名稱:分析PL0詞法分析程序 試驗?zāi)康?? 學(xué)習(xí)PL0程序的詞法分析程序GenSym的實現(xiàn)過程 ? 結(jié)合具體的程序了解詞法分析過程 實驗設(shè)備 ? PC兼容機 ? DOS操作系統(tǒng)或Windows操作系統(tǒng) ? TurboPascal軟件等 實驗要求 ? 獨立完程序的分析過程 ? 自己跟蹤程序的執(zhí)行過程 ? 記錄程序的執(zhí)行過程 ? 記錄程序的運行結(jié)果 實驗內(nèi)容 實驗過程記錄 源程序 實驗動物學(xué)實驗報告 一、實驗動物:小鼠 二、操作流程:抓取,固定,編號,給藥,取血,麻醉,絕育,解剖。 三、具體操作 1、抓?。鹤ト⌒∈髸r,右手抓住小鼠尾巴,不要過于用力,以免驚嚇小鼠。左手從小鼠身體后部向前抓(以免小鼠向后縮咬傷自己),抓住小鼠頸部。固定住小鼠后,將小鼠皮膚往上抓,盡量將小鼠背部皮膚抓住。左手將小鼠腹部朝向自己,把小鼠尾巴用左手無名指和小指夾住,這時小鼠腹部皮膚緊繃,不能動彈。 2、固定: 通常使用固定器進(jìn)行固定。將固定器擰開后,抓住小鼠尾巴,使其鉆入固定器中,再將擰下的固定器部分裝好,使小鼠尾部露出,再將可旋轉(zhuǎn)的鐵片固定住即可進(jìn)行后續(xù)實驗。 3、編號:編號方式有兩種:①剪腳趾編號:把小鼠腹面朝上,在下的腳趾從左至右依次編為1~10號,剪10號腳趾加1~9號腳趾依次編為11~19號,在上的腳趾依次編為20,30,40,50,60,70,80,90號,其余編號與11~19號類似。②打耳釘編號:耳釘上均有唯一編號,通過使用耳釘鉗將耳釘打在小鼠耳朵上即可。實驗時通常使用的是第一種方式進(jìn)行編號,第二種編號通常用于需要長距離運輸?shù)膭游铩?/p> 4、給藥:常用的給藥方式有: ①口服給藥:即灌胃。將注射器裝入藥物溶液,裝上灌胃針(灌胃針有直頭和彎頭兩種,區(qū)別不大)。如上所述,抓取小鼠后,使其頭部朝上,盡量呈一直線,取灌胃針,從小鼠嘴角一側(cè)緩緩插入(保持刻度在自己能看到的位置),順著小鼠口腔食道的弧度讓小鼠將針咽入,灌胃過程中如果遇到阻礙一定要及時拔出灌胃針,不可強行灌胃以免傷及小鼠食道以及肺部。灌胃針順利進(jìn)入后基本與小鼠身體呈一條直線,注入適量體積后再順著食道緩緩取出灌胃針。 ②靜脈注射:小鼠尾部有3條靜脈和1條動脈,3條靜脈非別位于背部,及兩側(cè)。靜脈注射時一般選取兩側(cè)靜脈,因為其相對于背部靜脈更為清晰飽滿。將小鼠固定后,用酒精擦拭其尾部靜脈,使其充血,以便注射。之后使注射器針孔處朝上,針與尾部呈約30°扎入尾部后向上輕挑,再向內(nèi)扎入部分,此過程應(yīng)該比較順暢,沒有阻礙,若阻礙較大則有可能扎入到了皮膚中。扎入后將活塞向后回抽一點可見到有血回流,則說明成功扎入靜脈當(dāng)中,注射適當(dāng)體積后迅速拔針,用酒精進(jìn)行消毒。 5、取血:有斷尾取血法和眼眶取血法兩種。本次實驗使用的是眼眶取血法。抓取小鼠,固定其頭部用手指將其上下眼瞼分開,露出其眼球并且不能閉上。用玻璃毛細(xì)管從其上眼角處扎入眼球后方毛細(xì)血管從,使血液順著毛細(xì)管留下,取血完成后快速將毛細(xì)管取下。 6、麻醉:抓取老鼠,使其頭部朝下,使其腹部臟器向胸腔靠攏,露出腹部空腔,以免刺傷臟器。將注射器豎直扎入靠近后腿部腹腔,刺入之后稍微向前傾斜但不要向前刺入,一般注入0.5mL麻醉劑即可。隨后拔出針,方向小鼠,等待幾分鐘后即可麻醉。 7、絕育:絕育手術(shù)是通過剪除雌鼠卵巢或雄鼠輸精管來實現(xiàn)的。將麻醉的雌鼠背面朝上,從其胸腔和尾部之間向下三分之一處剪開一個小口,用鑷子將其卵巢取出,上面呈現(xiàn)紅色斑點的部分即為卵巢,用剪刀將這一部分剪除,然后用縫合針線將其縫合,縫合方法為將針穿過后,將線纏繞鑷子兩圈再逆時針纏繞兩圈,再重復(fù)纏繞一遍,將鑷子夾住線頭把纏繞的線移至線頭系緊即可(縫合過程全程用鑷子和剪刀操作),里面肌肉層以及外面皮層均需縫合。雄鼠則從外生殖器向上1-2cm處剪開小口,用鑷子在其中找出輸精管(較細(xì)長的乳白色小管),盡量多減掉一些,以免其長長愈合,以上述方法縫合傷口即可。 9、解剖:以頸椎脫臼法處死小鼠,使其腹面朝上。用鑷子將其腹部皮膚夾起,然后用剪刀剪開,觀察各個器官所在位置和形態(tài),解剖完的小鼠放入尸體袋中。第四篇:實驗報告格式--實驗2
第五篇:實驗動物學(xué)實驗報告