第一篇:子网掩码中网络层的教学研究探析论文
摘要: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