第一篇:子網掩碼中網絡層的教學研究探析論文
摘要:IP地址是網絡層設備識別的標識,每個結點都要靠其區分和聯系。如何識別IP地址以及對IP地址進行合理的分配和管理,子網掩碼起到了至關重要的作用。本文通過對子網掩碼的講解實現對IP地址的有效利用,便于學生理解。
關鍵詞:IP地址;分配和管理;子網掩碼
1分類
IP地址Internet作為全球最大的網絡,負責龐大的信息交互與網絡安全。在Internet上每一臺計算機都有自己的地址,保證相互之間能準確無誤地發送、接收信息,這種地址被稱之為IP(InternetProtocol)地址。IP地址位于CPU和存儲器內,是由32位的二進制所組成,為了提高可讀性,按字節即每八位插入一個點,將對應的八位都轉換成相應的十進制,這種記法稱為點分十進制記法,如192.168.0.20。IP地址包括網絡號和主機號兩個部分,網絡號在前表示該IP地址是屬于Internet中具體哪一個網絡范圍;主機號在后表示特定的網絡中具體的某臺計算機的標識。根據網絡號和主機號所占的位數不同對IP地址進行了劃分,A類、B類、C類、D類、E類,D類廣播地址,E類保留地址,在這里著重介紹前面的三類IP地址。A類地址中網絡號占8位二進制,且最高位是0,網絡號字段全0對應的IP地址是指本網絡,網絡號127的作為環回測試主機進程間通信,所以能分配的網絡地址數有27-2=126個。剩余的24位二進制留給主機號,主機號全0對應的IP地址是該主機所在的網絡地址,主機號全1是該網絡的廣播地址,這兩個IP地址不能分配給主機,所以一個A類網絡中能容納的主機數為224-2個。B類地址中網絡號占16位二進制,且前面兩位固定為10,網絡地址128.0.0.0不指派除外[2],B類網絡地址數有214-1個。主機號16位,一個B類網絡中能容納的主機數為216-2個。C類地址中網絡號占24位二進制,且前面兩位固定為110,網絡地址192.0.1.0不指派除外,C類網絡地址數有221-1個。主機號8位,一個C類網絡中能容納的主機數為28-2=254個。根據這三類IP地址的特點,可以很快地判斷出一個IP地址屬于哪一類,IP地址中第一個字節對應的十進制是1~126,則為A類地址;128~191則為B類地址;192~223則為C類地址。
2子網掩碼
子網掩碼用來區分IP地址中的網絡號和主機號位數,其格式與IP地址類似,也是由32位二進制組成,以點分十進制記入,區別在于是由連續的1和連續的0組成,且1在前0在后。子網掩碼中某位為1,對應于IP地址相應位置是網絡號;某位為0,對應是主機號。所以默認的A類地址子網掩碼是255.0.0.0,B類是255.255.0.0,C類是255.255.255.0。
3子網掩碼舉例
舉例1:已知IP地址是135.10.54.30,子網掩碼是255.255.192.0。試求網絡地址、廣播地址以及該網絡IP范圍。①網絡地址=IP地址&子網掩碼,網絡地址的求解②根據子網掩碼可知,網絡地址后14位是主機號,將其全為1,得到的即是廣播地址:135.10.63.255③網絡地址和廣播地址之間的IP地址即是分配給主機的IP范圍:135.10.0.0~135.10.63.255。兩層的IP地址容易造成用戶不能有效地利用網絡資源,針對這一問題,提出了劃分子網來解決。所謂的子網就是在分類IP地址的基礎上再細分出若干個小的網段,達到擴大網絡數量的效果[3]。劃分子網的做法:將IP地址中原本是主機號位數的部分劃出一些位數用作子網,剩余的主機號則是相應子網的主機地址。劃分子網后,網絡的數量增多了,而每一個網絡內容納的主機數則相應的減少了。根據設計需求中子網的主機數確定需要多少主機號,然后再確定需要多少子網號;其次定義一個符合網絡要求的子網掩碼,確定每個子網的網絡地址;最后確定每個子網內的主機IP地址范圍。舉例2:某單位申請到一個網絡地址:192.168.3.0/24,要求劃分5個子網,每個子網的主機數不少于25臺,求每個子網的IP地址范圍。C類地址,默認的網絡號24位,主機號8位,所以子網的劃分是8位主機號部分。①由主機數≥25,主機號位數≥5,25-2≥25②子網數=5,子網號的位數≥3,23-2≥5③子網號+主機號=8,所以主機號位數=5,子網號位數=3④原來的網絡號+子網號=27,所以新的子網對應的子網掩碼為:255.255.255.224。子網號3位,變化范圍:001~110⑤以001為例求該子網內的IP地址,通式:192.168.3.001XXXXX(X為0或1),除去主機號全0和全1IP地址的最小值:192.168.3.00100001(即192.168.3.33)IP地址的最大值:192.168.3.00111110(即192.168.3.62)
4結語
通過對子網掩碼的學習,學生能夠對IP地址的理解更為深刻,使用子網掩碼可以判別一個IP地址是否進行了子網劃分,從而得到該網絡可以容納的主機數,方便對網絡進行管理和分配。
參考文獻:
[1]謝希仁.計算機網絡[M].北京:電子工業出版社,2013.
[2]王興寶.網絡管理與維護.北京:機械工業出版社,2001.
[3]張光勇.校園網IP地址管理系統的設計與實現[J].科技創新導報,2007.
第二篇:網絡原理實驗報告網絡層
蘇州科技學院
電子信息實驗中心
實驗報告
課
程 學
號 姓
名 班
級 專
業 指導教師 學年 / 學期
計算機網絡原理 *** 閆自立 軟件1311 計算機科學與技術
陶滔
2015~2016學年第1學期
實驗三
網絡層實驗
實驗項目性質:設計性
計劃學時:4 實
驗 環 境:Microsoft Visual Studio 2010
實驗日期:2015年12月2日
一、實驗目的
1.理解通信子網的完整概念,掌握網絡層的作用和功能。2.掌握分組數據包格式設計方法、分組的分片與重裝的方法。3.掌握網絡層簡單路由選擇協議的實現方法。
二、實驗內容
在已經實現的數據鏈路層基礎上:
(1)設計簡易實用的分組數據包格式;
(2)設計并實現類IP的網絡層協議,路由選擇采用靜態路選擇協議。(3)設計并實現分組的分片與重裝。
(4)設計一個應用程序,利用網絡層的功能直接將文件傳輸到目標主機的接收窗口中。(5)編寫路由配置route_tab.cfg及本機主機地址local.cfg文件,以便與遠地的其他計算機進行通信。
三、實驗(設計)儀器設備和材料清單
計算機一臺,串行電纜一根。
四、實驗指導
本實驗采用靜態路由選擇算法,每個結點上通過配置文件route_tab.cfg確定路由選擇的結果,該文件的格式可設計如下:
主機地址
端口號
注釋
555
#主機地址555的轉發端口號為COM1
556
558
888
*
#默認路由
其中,端口號指PC的COM1(對應端口號1)或COM2(對應端口號2)等。同時為簡化設計,去掉流量控制和擁塞控制,數據包的格式參考IP數據包格式,但盡可能簡化。分組及其他數據結構設計
網絡層的分組設計一方面要考慮到路由選擇的實現,即分組中應含有路由尋址所必要的信息,另一方面要考慮到分組太大時的分片與重裝,主機地址用4位數字字符表示。設計的分組格式如下。
(1)分組(“數據報”)的首部
typedef struct{ //定義數據報首部格式
unsigned char
vers_hlen;
//高4位是版本, 低4 位是首部長度
unsigned char
type;
//類型(保留)
unsigned short
Dlen;
//數據報數據部分長度
unsigned short ident;
//數據報標識
unsigned short frag;
//分片標識,1-分片,0-不分片 unsigned short offset;
//數據報分片偏移量
unsigned char
TTL;
//生存期
unsigned char
prot[3];
//保留
unsigned short checksum;
//校驗和
IPhost source;
//源主機地址
IPhost dest;
//目標主機地址
} TIPheader;typedef struct { unsigned char cAddr[4];}IPhost;(2)數據報格式
typedef struct { unsigned char cData[MTU];} Msg;typedef struct{
//定義數據報格式
TIPheader
IpHdr;
//分組首部
Msg
Info;
//分組信息部分 } TPacket;(3)分片與重裝的結構
typedef struct fid{
//用于識別同一IP 分組的各分片結構,用于組裝分組
IPhost
source;
//源主機地址
IPhost
dest;
//目標主機地址
unsigned short
ident;
//IP分組標識
long int iLength;
//已接收到的數據長度
unsigned short iCount;//已接收到的分組數 }FragId;typedef struct fragif{
//包含一個分片的結構
unsigned char frgData[MTU];//分片的數據部分
unsigned short iMsgLength;
//當前分片數據部分的長度 unsigned short frag;
//分片標識,1-分片,0-不分片
unsigned short offset;
//分片在數據報中的偏移量
struct fragif *next;
//下一個分片 }FragInfo;(4)路由表結構
typedef struct { //定義路由表
unsigned char cHostAddr[4];//主機地址 char cPort;
//轉發端口
char cComment[30];
//注釋 } TRouteItem;2 分片與重裝
在一個異構的網絡的集合中,提供統一的主機到主機服務模型需要面對的問題之一是每種網絡技術都試圖自己定義分組的大小。例如,以太網能接收的長度最多為1500字節的分組,而FDDI能夠接收的分組長度可達到4500字節。因此網絡層要確保所有的分組足夠小,使得其適合任何網絡技術的分組;或者當分組對某一網絡技術來說太大時,提供一種方法將分組拆分和重組。后一種方法是一種理想的選擇,TCP/IP中的IP數據報傳輸就采用了后一種技術。
這樣每一種網絡類型有一個最大傳輸單元(Maximum Transmission Unit,MTU),這是一幀中所能攜帶的最大數據報,而這個值應比網絡上的最大分組要小。
五、結果分析(可根據需要附加頁)
六、主要源代碼(可根據需要附加頁)#pragma hdrstop #include
#include “..includeNllEntity.h” #include “..includeFtpClass.h” //-------------#pragma package(smart_init)//---------void TNLLNetEntity::readroute(){
#define MAXITEMS 100
// 路由表最大表項數
#define MAXLINE 81
// 路由表文件最大行長度
char fileName[]=“.route_tab.cfg”;
if(fst.fail())return;fst.getline(line,MAXLINE);while(!fst.fail()&&!fst.eof())// 當文件有內容時 {
} iRouteEntries=i;if(iRouteEntries){
routeTab=new TRouteItem[iRouteEntries];for(i=0;i