第一篇:实验六 虚拟局域网VLAN(一)实验报告
实验六 虚拟局域网VLAN
(一)实验报告
一.交换机端口隔离 1.实验名称
交换机端口隔离。2.实验目的
理解Port Vlan的配置。3.实验步骤
步骤1.在未划VLAN前两台PC互相PING可以通。
步骤2.将接口分配到VLAN。
步骤3.两台PC互相PING不通。
二.跨交换机实现VLAN 1.实验名称
跨交换机实现VLAN。2.实验目的
理解VLAN如何挂交换机实现。3.实验步骤
步骤1.在交换机SwitchA上创建Vlan 10,并将0/5端口划分到Vlan 10中。
步骤2.在交换机SwitchA上创建Vlan 20,并将0/15端口划分到Vlan 20中。
步骤3.在交换机SwitchA上将与SwitchB相连的端口(假设为0/24端口)定义为tagvlan模式。
步骤4.在交换机SwitchB上创建Vlan 10,并将0/5端口划分到Vlan 10中。
步骤5.在交换机SwitchB上将与SwitchA相连的端口(假设为0/24端口)定义为tagvlan模式。
步骤6.验证PC1与PC3能互相通信,但PC2与PC3不能互相通信。
三.实验总结
本次试验分为两个试验。交换机端口隔离以及跨交换机实现VLAN。
通过试验中实际的操作,形象的理解了Port Vlan的配置和理解VLAN如何挂交换机实现。实验一通过划分Port Vlan实现交换端口隔离,实验二在同一Vlan里的计算系统能跨交换机进行相互通信,而在不同Vlan里的计算机系统不能进行相互通信,需要注意的是,两台交换机之间相连的端口应该设置为tag vlan模式。
第二篇:计算机网络实习报告七 虚拟局域网VlAN(二)
实验七 虚拟局域网VlAN
(二)一.实验目的通过三层交换机实现VLAN间通信。
二.实验环境
实验中有两台交换机,两台主机连到交换机A上,两台主机连到交换机B上。
三.实验步骤
说明:在进行实验前先进入超级终端,通过show vlan 语句查看了已经划分的模式,并且通过相应语句no vlan语句进行了删除。
步骤1.在交换机SwitchA 上创建Vlan10,并将0/5端口划分到Vlan10中。
过程:在超级终端内创建Vlan10,进入接口配置模式,将0/5端口划分到Vlan10中,并通过了验证。
步骤2.在交换机switchA 上创建Vlan20,并将0/15端口划分到Vlan20中。
过程:步骤如上,在超级终端内创建Vlan20,进入接口配置模式,将0/15划分到Vlan20中,并通过了验证。
步骤3.在交换机switchA上将与switchB相连的端口0/24定义为tag vlan模式。
过程:进入接口配置模式,通过switchport mode trunk 语句将0/24端口设为了tag vlan模式。并且通过了验证。
等对方在交换机switchB上创建了Vlan10 ,并将0/5端口划分到vlan10中,而且通过验证。然后在交换机switchB上将与switchA上相连德端口0/24设为了tag vlan模式,通过验证。步骤4:验证pc1与pc3能互相通信,但pc2与pc3不能互相通信。
过程:用一根网线将交换机switchA与交换机switchB连接起来,关闭超级终端,通过ping语句进行连接,最后验证结果为在pc1的命令行方式下验证能ping通pc3,在pc2的命令行方式下验证不能ping通pc3.步骤5:设置三层交换机VLAN间通讯。
过程:创建虚拟接口Vlan10,配置虚拟接口vlan10的地址为192.168.10.254,并开启虚拟接口,同理创建虚拟接口Vlan20,配置虚拟接口vlan10的地址为192.168.20.254.步骤6:将pc1与pc3的默认网关设置为192.168.10.254,将pc2的默认网关设置为:192.168.20.254.过程:通过ping语句验证了pc2与pc3之间可以互相通信了,实现了不同Vlan 内的主机可以互相ping通。
四.实验总结
整个实习过程中前面部分都是比较容易的,所以很快的完成,但是在进行到最后要对Pc机设置默认网关时出现了问题,我们以为得进入路由器设置,所以进入超级终端设置,最后发现pc2与pc3还是ping不通。经过与大家的交流才知道在哪里设置pc的默认网关,总之设置pc的网关这个环节浪费了不少时间,关键是不太熟悉。通过本次实习,使我掌握了三层交换机实现VLAN间的互相通信,对每种命令有了更深一层的理解。
第三篇:实验三 交换式和虚拟局域网3
南京信息工程大学 实验(实习)报告
实验名 称交换式和虚拟局域网日期 得分 指导教师
计算机 专业 乱箭工程 年级 09 班次 1 姓名 周海燕 学号 20092311111
1、实验目的
通过组装交换式以太网,初步了解和掌握配置VLAN的方法
2、实验内容
(1)利用交换机组装简单的交换式以太网(2)配置以太网交换机
(3)在交换式以太网上划分VLAN
3、实验步骤
拓扑图:
Switch(config)#hostname S1 S1(config)# S1(config)#line console 0 S1(config-line)#login S1(config-line)#password 123456 S1(config-line)#exit S1#logout Router con0 is now available Press RETURN to get started Password: S1> S1(config)#line vty 0 15 S1(config-line)#login S1(config-line)#password abcdef S1(config)#enable password qqqqq S1(config)#enable secret wewewe S1(config)#exit S1#exit Password: S1>enable Password: S1# S1(config)#ip default-gateway 201.71.19.1 S1(config)#interface vlan 1 S1(config-if)#ip address 201.71.19.8 255.255.255.0 S1(config-if)#no shutdown S1#copy running-config startup-config S1#reload >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Switch#vlan database Switch(vlan)#vlan 20 name VLAN20 Switch(vlan)#vlan 30 name VLAN30 Switch(vlan)#exit Switch# Switch#conf t
Switch(config)#interface fa0/5 Switch(config-if)#switchport access vlan 20 Switch(config-if)#interface fa0/6 Switch(config-if)#switchport access vlan 20 Switch(config-if)#interface fa0/9 Switch(config-if)#switchport access vlan 30 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 在S1上创建VLAN2: S1#vlan database S1(vlan)#vlan 2 name VLAN2 S1(vlan)#exit 为VLAN2分配接口: S1#conf t S1(config)#interface fa0/3 S1(config-if)#switchport access vlan 2 S1(config-if)#interface fa0/4 S1(config-if)#switchport access vlan 2 S1(config-if)#interface fa0/5 S1(config-if)#switchport access vlan 2 在S2上创建VLAN2: S2#vlan database S2(vlan)#vlan 2 name VLAN2 S2(vlan)#exit 为VLAN2分配接口: S2#conf t S2(config)#interface fa0/1 S2(config-if)#switchport access vlan 2 S2(config-if)#interface fa0/3 S2(config-if)#switchport access vlan 2 定义交换机S1的8号接口为Trunk接口: S1(config-if)#interface fa0/8 S1(config-if)#switchport mode trunk 定义交换机S2的8号接口为Trunk接口: S2(config-if)#interface fa0/8 S2(config-if)#switchport mode trunk >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 定义S1为VTP服务器,域名为jsj: S1#conf t S1(config)#vtp mode server S1(config)#vtp domain jsj 在S1上创建VLAN20、VLAN30: S1(config)#exit S1#vlan database S1(vlan)#vlan 20 name VLAN20
S1(vlan)#vlan 30 name VLAN30 S1(vlan)#exit 为VLAN30分配接口: S1#conf t S1(config)#interface fa0/3 S1(config-if)#switchport access vlan 30 S1(config-if)#interface fa0/4 S1(config-if)#switchport access vlan 30 定义S2为VTP客户机,域名也为jsj: S2#conf t S2(config)#vtp mode client S2(config)#vtp domain jsj 为VLAN20分配接口: S2(config)#interface fa0/1 S2(config-if)#switchport access vlan 20 S2(config-if)#interface fa0/2 S2(config-if)#switchport access vlan 20 为VLAN30分配接口: S2(config-if)#interface fa0/3 S2(config-if)#switchport access vlan 30
第四篇:实验一 实验报告
网 络 程 序 设 实验报告
实验名称:Winsock编程接口实验 实验类型: 验 证 型
计
一、实验目的
掌握Winsock的启动和初始化;
掌握gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的使用。
二、实验设计
实验内容:
1、编写程序能同时实现对多个域名的解析。比如在控制台输入:getip www.xiexiebang.com对应的IP地址列表。
2、编写程序获取并输出本地主机的所有适配器的IP地址,子网掩码,默认网关,MAC地址。
根据实验内容编写程序:
1、对相关域名进行解析,利用gethostbyname()完成解析,用到的结构体为:
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()函数获得本地主机的相关信息,通过IP_ADAPTER_INFO结构体返回所需信息。
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;
三、实验过程(包含实验结果)
1、分析题目,编写程序;
2、将编写的程序进行编译、运行,输入题目给定的内容,完成题目要求; 结果如下:
第1题:
第2题:
四、讨论与分析
思考题:
1、Winsock初始化的作用:只有调用了WSAStartup()进行初始化之后,应用程 序才能调用其他Windows Sockets API函数,实现网络通信;
2、函数原型为:
DWORD GetAdaptersInfo(PIP_ADAPTER_INFO pAdapterInfo,//接受数据的缓冲区
PULONG pOutBufLen
// 数据的长度大小);
3、域名解析时出现域名对应多个IP,原因:该域名存在于多个服务器。
五、实验者自评
通过本次实验,我掌握了Winsock的启动和初始化以及gethostname(),gethostbyname(),GetAdaptersInfo()等函数查询的使用,加深了以前对课本知识的认识程度。
六、附录:关键代码(给出适当注释,可读性高)
第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(“ 服务器 %s IP地址:%s n ”,szMessage, szIp);
printf(“服务器名字: %s n”,pHost->h_name);}
/////////////////////////// ::WSACleanup();
}
第2题代码:
// 获取并输出本地主机的所有适配器的IP地址,子网掩码,默认网关,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地址信息、子网掩码以及网关 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<<“子网掩码 :”< IpAddressList.IpMask.String< cout<<“网关 :”< IpAddressList.IpAddress.String< cout<<“****************************************”< pAdapter = pAdapter->Next;} // 释放资源 if(pAdapterInfo){ free(pAdapterInfo);} cout< } 计算机科学与工程学院 天津理工大学 计算机 科学 与工程 学院 实验报告 2018 至 2019 学年 第 一 学期 课程名称 程序设计(C 语言) 学号 学生姓名 班级 级 专业 计算机科学与技术(合作) 实验地点 7-21 实验项目 函数 实验 时间 批改意见 成绩 教师签字: 实验(一)) 实验名称 函数 开发 环境 PC 机,windows7 操作系统 开发工具 VC6.0 实验目的(1 1)掌握函数的定义与调用的方法 ; (2 2) 参数传递机制、函数的嵌套调用和递归调用 (3 3)学会利用自定义函数进行模块化程序设计的方法 ;的 多文件结构的 C++ 程序的编译、调试和运行 实验 要求 认真完成实验内容,编写程序代码; 要求程序正确无误,并输出合理的实验结果; 书写并提交实验报告。 实验 内容(应包括实验题目、代码实现、编译、运行结果等,也可给出程序的算法描述、重点程序语句的 注释 等。 。)) 1.一个素数,当它的数字位置对换以后仍为素数,这样的数称为绝对素数。编写一个程序,求出所有的两位绝对素数。 2.写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数, 并输出结果,两个整数由键盘输入。 3.求阶乘问题。要求定义函数 fact(n)计算 n!,主函数中输入一个正整数 n,输出 n!,要求函数 数 fact(n)分别采用递归和非递归两种形式实现。 (1)递归版:主要利用递推公式 fact(n)= n * fact(n-1),并注意终止条件。 (2)非递归版: 主要利用单重循环实现。 心得体会: 求方程 0 ax2+bx+c=0 的根,用三个函数分别求当 b b2 2--c4ac 大于 0 0、等于 0 0 和小于 0 0 时的根,并输出结果。 在做这道题的时候 我遇到了问题,通过自己的思考以及与老师的交流,改正了错误。函数。 这部分,一开始我学的不清楚,通过不断练习,思考,改错,我越发理解函数,熟悉函数。第五篇:实验六函数实验报告