计算机网络实验程序源代码
- 格式:docx
- 大小:19.25 KB
- 文档页数:6
网络连接代码大全网络连接是现代社会中不可或缺的一部分,它使得人们可以方便地进行在线交流、获取信息以及进行各种网络活动。
要实现网络连接,代码编程是必不可少的环节。
本文将为读者提供一个网络连接代码大全,包括常见的网络连接方式和对应的代码实现。
一、TCP/IP连接TCP/IP是互联网通信的基础协议,可以通过TCP/IP协议进行网络连接。
以下是一些常见的TCP/IP连接代码实现:1. 使用Java实现TCP/IP连接:```javaimport .Socket;import java.io.InputStream;import java.io.OutputStream;public class TCPClient {public static void main(String[] args) {try {Socket socket = new Socket("服务器地址", 端口号);OutputStream out = socket.getOutputStream();InputStream in = socket.getInputStream();// 发送数据out.write("Hello, Server!".getBytes());out.flush();// 接收数据byte[] buffer = new byte[1024];int length = in.read(buffer);System.out.println(new String(buffer, 0, length)); // 关闭连接socket.close();} catch (Exception e) {e.printStackTrace();}}}```2. 使用Python实现TCP/IP连接:```pythonimport socketdef tcp_client():try:client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.connect(("服务器地址", 端口号))# 发送数据client.send("Hello, Server!".encode())# 接收数据data = client.recv(1024)print(data.decode())# 关闭连接client.close()except Exception as e:print(str(e))if __name__ == "__main__":tcp_client()}```二、HTTP连接HTTP连接是在TCP/IP协议的基础上实现的一种应用层网络协议。
实验2交换机端口的基本配置三、基本命令以下为思科交换机部分基本命令详解以1、从用户模式进入特权模式Switch>enableSwitch#2、修改交换机名称Switch(config)#Hostname name3、进入配置模式:Switch#Configure terminal(可简写为config t)4、显示当前活动的交换机配置文件在特权模式下:Switch#Show running-config5、进入交换机端口,端口表示:f0/n在配置模式下:Switch(config)#interface f0/1--------------------进入交换机端口1Switch(config)#interface f0/2--------------------进入交换机端口2………………6、下列命令可以用于显示接口1的统计和状态信息在特权模式下:Switch#show interface f0/17、vlan 1是默认的管理vlan,未对交换机进行配置时所有的接口默认属于vlan 1 查看vlan信息Switch#Show vlan8、为二层交换机设置管理vlan与默认网关Switch(config)#Interface vlan1Switch(config-if)#Ip add 192.168.30.1 255.255.255.0-------设置VLAN1的IP地址及子网掩码,注意端口不能分配IP,只能是VLANSwitch(config-if)#No shutdown---------------------激活Switch(config-if)# Ip default-gateway 192.168.30.254-----------设置网关Switch(config-if)#ExitSwitch(config)#9、查看配置后的默认vlan虚接口信息Switch#Show interface vlan110、查看交换机mac地址表Switch#Show mac-address-table实验3交换机VLAN的配置2、配置交换机VLANSWITCH 1:Switch>enSwitch#config tSwitch(config)#hostname switch1switch1(config)#vlan 10----------------------创建vlan 10Switch1(config-vlan)#exitswitch1(config)#vlan 20Switch1(config-vlan)#exitswitch1(config)#interface F0/7----------------进入端口7switch1(config-if)#switchport access vlan10-----将端口7加入VLAN 10 switch1(config-if)#exitswitch1(config)#interface F0/8switch1(config-if)#switchport access vlan 20switch1(config-if)#exitswitch1(config)#interface F0/2switch1(config-if)#switchport access vlan 20switch1(config-if)#exitSWITCH 2:Switch>enSwitch#config tSwitch(config)#hostname switch2Switch2(config)#vlan 10----------------------创建vlan 10switch2(config-vlan)#exitSwitch2(config)#vlan 20Switch2(config-vlan)#exitswitch2(config)#interface F0/7switch2(config-if)#switchport access vlan 10switch2(config-if)#exitswitch2(config)#interface F0/8switch2(config-if)#switchport access vlan 20switch2(config-if)#exit配置完毕后使用ping命令测试各主机之间的连通性,写出结果3、对交换机1、2的端口1进行trunk设置SWITCH 1:switch1(config)#interface F0/1switch1(config-if)#switchport mode trunkswitch1(config-if)#no shutdown--------------------激活SWITCH 2:Switch2(config)#interface F0/1Switch2(config-if)#switchport mode trunkswitch2(config-if)#no shutdown--------------------激活四、配置配置路由器如下:路由器0:Router>enable 进入特权模式Router#conf t 进入配置模式Router(config)#hostname r1 更改路由器名r1(config)#int serial 2/0 进入路由器之间连接的串口r1(config-if)#ip add 192.168.2.1 255.255.255.0 设置路由器0与路由器1连接端口的IPr1(config-if)#clock rate 64000 设置路由器与路由器之间配置线路的“时钟频率”r1(config-if)#no shut 激活r1(config-if)#int f0/0 进入路由器与主机连接的f0/0端口r1(config-if)#ip add 192.168.1.1 255.255.255.0 配置该端口IP,同时也是主机的网关r1(config-if)#no shutr1(config-if)#exr1(config)#ip route 192.168.3.0 255.255.255.0 192.168.2.2 添加路由器0上的静态路由r1(config)#实验5:静态路由协议配置六、参考配置如下:路由器0:Router>Router>enRouter#conf tRouter(config)#inter f0/0Router(config-if)#ip add 1.1.1.1 255.255.255.0Router(config-if)#no shutRouter(config-if)#exRouter(config)#inter s2/0Router(config-if)#ip add 1.1.6.1 255.255.255.0Router(config-if)#clock rate 64000Router(config-if)#no shutRouter(config-if)#exRouter(config)#inter s3/0Router(config-if)#ip add 1.1.2.1 255.255.255.0Router(config-if)#no shutRouter(config-if)#exRouter(config)#ip route 1.1.4.0 255.255.255.0 1.1.2.2Router(config)#ip route 1.1.5.0 255.255.255.0 1.1.6.2Router(config)#三、关于RI P 的基础知识RI P是最常使用的内部网关协议之一,是一种典型的基于D-V算法的动态路由协议。
操作系统上机实验代码修改后的md命令程序:int MdComd(int k) //md命令处理函数{// 命令形式:md <目录名>// 功能:在指定路径下创建指定目录,若没有指定路径,则在当前目录下创建指定目录。
// 对于重名目录给出错误信息。
目录与文件也不能重名。
// 学生可以考虑命令中加“属性”参数,用于创建指定属性的子目录。
命令形式如下:// md <目录名>[ <属性>]// 属性包括R、H、S以及它们的组合(不区分大小写,顺序也不限)。
例如:// md user rh// 其功能是在当前目录中创建具有“只读”和“隐藏”属性的子目录user。
short i,s,s0,kk;char attrib=(char)16,*DirName;FCB *p;char str[20]="|";kk=SIZE/sizeof(FCB);if (k<1){cout<<"\错误:命令中没有目录名。
\";return -1;}if (k>2){cout<<"\错误:命令参数太多。
\";return -1;}s=ProcessPath(comd[1],DirName,k,0,attrib);if (s<0)return s; //失败,返回if (!IsName(DirName)) //若名字不符合规则{cout<<"\命令中的新目录名错误。
\";return -1;}i=FindFCB(DirName,s,attrib,p);if (i>0){cout<<"\错误:目录重名!\";return -1;}if (k==2) //命令形式:md <目录名> <属性符>{i=GetAttrib(strcat(str,comd[2]),attrib);//由i=GetAttrib(comd[2],attrib);if (i<0)return i;}s0=FindBlankFCB(s,p);//找空白目录项if (s0<0) //磁盘满return s0;s0=M_NewDir(DirName,p,s,attrib); //在p所指位置创建一新子目录项if (s0<0) //创建失败{cout<<"\磁盘空间已满,创建目录失败。
一、实验目的1. 理解网页的基本结构和组成。
2. 掌握HTML、CSS和JavaScript等网页编程语言的基本语法。
3. 能够通过查看和分析网页源代码,了解网页的设计和实现方法。
4. 提高对网页性能和优化的认识。
二、实验环境1. 操作系统:Windows 102. 浏览器:Chrome3. 编程软件:Sublime Text三、实验内容1. HTML实验(1)创建一个简单的HTML页面,包含标题、段落、列表、图片等元素。
代码如下:```html<!DOCTYPE html><html><head><title>我的第一个网页</title></head><body><h1>欢迎来到我的网页</h1><p>这是一个段落。
</p><ul><li>列表项1</li><li>列表项2</li><li>列表项3</li></ul><img src="image.jpg" alt="这是一张图片"></body></html>```(2)将HTML页面保存为“index.html”,并使用浏览器打开,查看效果。
2. CSS实验(1)为上述HTML页面添加CSS样式,实现以下效果:- 标题居中显示。
- 段落文字加粗、颜色为红色。
- 列表项背景色为浅灰色。
- 图片宽度为200像素。
代码如下:```cssbody {text-align: center;}p {font-weight: bold;color: red;}ul li {background-color: lightgray;}img {width: 200px;}```(2)将CSS样式保存为“style.css”,并在HTML页面的`<head>`标签中引入。
计算机网络与信息安全试验源代码隔离源代码Switch>enSwitch#conf tSwitch(config)#vlan 10//增加VLAN 10Switch#exSwitch#conf tEnter configuration commands, one per line. End with CNTL/Z. Switch(config)#vlan 20//增加VLAN 20Switch(config-vlan)#exitSwitch(config)#exSwitch#Switch>enSwitch#conf tEnter configuration commands, one per line. End with CNTL/Z. Switch(config)#int fa0/1//对端口1进行设置Switch(config-if)#swSwitch(config-if)#switchport aSwitch(config-if)#switchport access vSwitch(config-if)#switchport access vlan 10//把VLAN 10 设置给端口1 Switch(config-if)#no shSwitch(config-if)#exSwitch(config)#exSwitch#Switch#conf tSwitch(config)#int fa0/2//对端口2进行设置Switch(config-if)#swSwitch(config-if)#switchport aSwitch(config-if)#switchport access vSwitch(config-if)#switchport access vlan 20//把VLAN 20 设置给端口2 Switch(config-if)#no shSwitch(config-if)#exitSwitch(config)#exitSwitch#跨交换机源代码Switch>enSwitch#conf tSwitch(config)#interSwitch(config)#interface fa0/24Switch(config-if)#switSwitch(config-if)#switchport mSwitch(config-if)#switchport mode trSwitch(config-if)#switchport mode trunk //设置为中继模式Switch(config-if)#Switch#conf tSwitch(config)#int fa0/1Switch(config-if)#swSwitch(config-if)#switchport aSwitch(config-if)#switchport access vSwitch(config-if)#switchport access vlan 20% Access VLAN does not exist. Creating vlan 20Switch(config-if)#exSwitch(config)#exSwitch#Switch#conf tEnter configuration commands, one per line. End with CNTL/Z. Switch(config)#int fa0/2Switch(config-if)#swSwitch(config-if)#switchport aSwitch(config-if)#switchport access vSwitch(config-if)#switchport access vlan 10Switch(config-if)#exSwitch(config)#exSwitch#三层交换机Switch>enSwitch#conf tSwitch(config)#interface vlan 10Switch(config-if)#ip add 192.168.1.254 255.255.255.0Switch(config-if)#ip routingSwitch(config)#exSwitch(config)#interface vlan 20Switch(config-if)#ip add 192.168.2.254 255.255.255.0Switch(config-if)#ip routingSwitch(config)#exSwitch(config)#int f0/1Switch(config-if)#switchport trunk encapsulation dot1q Switch(config-if)#switchport mode trunkSwitch(config-if)#exSwitch(config)#int f0/2Switch(config-if)#switchport trunk encapsulation dot1q Switch(config-if)#switchport mode trunkSwitch(config-if)#单臂路由路由器配置Router>enRouter#conf tEnter configuration commands, one per line. End with CNTL/Z. Router(config)#int f0/0Router(config-if)#no shRouter(config-if)#exRouter(config)#int f0/0.1Router(config-subif)#encapsulation dot1Q 10Router(config-subif)#ip add 192.168.1.254 255.255.255.0 Router(config-subif)#exRouter(config)#int f0/0.2Router(config-subif)#encapsulation dot1Q 20Router(config-subif)#ip add 192.168.2.254 255.255.255.0 Router(config-subif)#exRouter(config)#exRouter#交换机配置Switch>enSwitch#conf tEnter configuration commands, one per line. End with CNTL/Z. Switch(config)#vlan 10Switch(config-vlan)#exitSwitch(config)#vlan 20Switch(config-vlan)#exSwitch(config)#int f0/1Switch(config-if)#switchport access vlan 10Switch(config-if)#exSwitch(config)#int f0/2Switch(config-if)#switchport access vlan 20Switch(config-if)#exSwitch(config)#int f0/24Switch(config-if)#switchport mode trunkSwitch(config-if)#exSwitch(config)#ex。
计算机网络课程设计之协议编程实验一帧封装实验目的:•编写程序,根据给出的原始数据,组装一个IEEE 802.3格式的帧(题目)默认的输入文件为二进制原始数据(文件名分别为input1和input2))。
•要求程序为命令行程序。
比如,可执行文件名为framer.exe,则命令行形式如下:framer inputfile outputfile,其中,inputfile为原始数据文件,outputfile为输出结果。
•输出:对应input1和input2得结果分别为output1和output2。
试验要求:•编写程序,根据给出的原始数据,组装一个IEEE 802.3格式的帧(题目)默认的输入文件为二进制原始数据(文件名分别为input1和input2))。
•要求程序为命令行程序。
比如,可执行文件名为framer.exe,则命令行形式如下:framer inputfile outputfile,其中,inputfile为原始数据文件,outputfile为输出结果。
输出:对应input1和input2得结果分别为output1和output2验设计相关知识:帧:来源于串行线路上的通信。
其中,发送者在发送数据的前后各添加特殊的字符,使它们成为一个帧。
Ethernet从某种程度上可以被看作是机器之间的数据链路层连接。
按802.3标准的帧结构如下表所示(802.3标准的Ethernet帧结构由7部分组成)其中,帧数据字段的最小长度为46B 。
如果帧的LLC 数据少于46B ,则应将数据字段填充至46B 。
填充字符是任意的,不计入长度字段值中。
在校验字段中,使用的是CRC 校验。
校验的范围包括目的地址字段、源地址字段、长度字段、LLC 数据字段。
循环冗余编码(CRC)是一种重要的线性分组码、编码和解码方法,具有简单、检错和纠错能力强等特点,在通信领域广泛地用于实现差错控制。
CRC 校验码的检错能力很强,不仅能检查出离散错误,还能检查出突发错误。
实验名称:使用Python实现冒泡排序实验目的:掌握冒泡排序的原理,并使用Python实现冒泡排序算法。
实验环境:Python 3.7及以上版本实验步骤:1. 创建一个列表,存储待排序的数值。
2. 编写冒泡排序函数,实现排序过程。
3. 调用冒泡排序函数,对列表进行排序。
4. 输出排序后的列表。
```python# 定义冒泡排序函数def bubble_sort(arr):n = len(arr)# 遍历所有数组元素for i in range(n):# 最后i个元素已经是排序好的for j in range(0, n-i-1):# 遍历数组从0到n-i-1# 交换如果发现元素是逆序的if arr[j] > arr[j+1]:arr[j], arr[j+1] = arr[j+1], arr[j]# 创建一个待排序的列表data = [64, 34, 25, 12, 22, 11, 90]# 调用冒泡排序函数bubble_sort(data)# 输出排序后的列表print("排序后的列表:")for i in data:print("%d" % i, end=" ")```实验结果:排序后的列表:11 12 22 25 34 64 90实验总结:通过本次实验,我们掌握了冒泡排序的原理,并成功使用Python实现了冒泡排序算法。
在实验过程中,我们首先创建了一个待排序的列表,然后编写了冒泡排序函数,最后调用该函数对列表进行排序。
实验结果表明,冒泡排序能够将列表中的元素按照从小到大的顺序排列。
Tcp编程代码//#include <Windows.h>#include <stdio.h>#include <WinSock2.h>#pragma comment(lib,"Ws2_32.lib")#define BUF_SIZE 64void main(){WSADATA wsd;SOCKET sClient;SOCKET sServer;char buf[BUF_SIZE];int retVal;if (WSAStartup(MAKEWORD(2,2),&wsd)){printf("WSAStartup failed!\n");return;}sServer=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);if(INVALID_SOCKET==sServer){printf("socket failed!\n");WSACleanup();return;}SOCKADDR_IN addrServ;addrServ.sin_family=AF_INET;addrServ.sin_port=htons(4999);addrServ.sin_addr.S_un.S_addr=INADDR_ANY;retVal=bind(sServer,(LPSOCKADDR)&addrServ,sizeof(addrServ));if (retVal==SOCKET_ERROR){printf("bind failed!\n");closesocket(sServer);WSACleanup();return;}retVal=listen(sServer,1);if (SOCKET_ERROR==retVal){printf("listen failed\n");closesocket(sServer);WSACleanup();return;}SOCKADDR_IN adddClient;int addrClentLen=sizeof(adddClient);sClient=accept(sServer,(sockaddr FAR*)&adddClient,&addrClentLen);if (SOCKET_ERROR==sClient){printf("accept failed!\n");closesocket(sServer);WSACleanup();return;}ZeroMemory(buf,56);retVal=recv(sClient,buf,56,0);if (SOCKET_ERROR==retVal){printf("recv failed\n");closesocket(sClient);closesocket(sServer);WSACleanup();return;}printf("%s",buf);closesocket(sServer);closesocket(sClient);WSACleanup();system("pause");}Ping实现代码#include <stdio.h>#include <WS2tcpip.h>#include <WinSock2.h>#include "ping.h"#pragma comment(lib,"Ws2_32.lib")void main(){char szDestip[]="10.15.72.27";SOCKET sRaw=::socket(AF_INET,SOCK_RAW,IPPROTO_ICMP);SetTimeOut(sRaw,1000,TRUE);SOCKADDR_IN dest;dest.sin_family=AF_INET;dest.sin_port=htons(0);dest.sin_addr.S_un.S_addr=inet_addr(szDestip);char buff[sizeof(ICMP_HDR)+32];ICMP_HDR* pIcmp=(ICMP_HDR*)buff;pIcmp->icmp_type=8;pIcmp->icmp_code=0;pIcmp->icmp_id=(USHORT)::GetCurrentProcessId();pIcmp->icmp_checksum=0;pIcmp->icmp_sequence=0;memset(&buff[sizeof(ICMP_HDR)],'E',32);USHORT nSeq=0;char recvBuf[1024]={0};SOCKADDR_IN from;int nLen=sizeof(from);while(TRUE){static int nCount=0;int nRet;if (nCount++==4){break;}pIcmp->icmp_checksum=0;pIcmp->icmp_timestamp=::GetTickCount();pIcmp->icmp_sequence=nSeq++;pIcmp->icmp_checksum=checksum((USHORT*)buff,sizeof(ICMP_HDR)+32);nRet=::sendto(sRaw,buff,sizeof(ICMP_HDR)+32,0,(SOCKADDR*)&dest,sizeof(dest)); if (nRet==SOCKET_ERROR){printf("sendto()failed:%d\n",::WSAGetLastError());return;}nRet=::recvfrom(sRaw,recvBuf,1024,0,(sockaddr*)&from,&nLen);if (nRet==SOCKET_ERROR){if (::WSAGetLastError()==WSAETIMEDOUT){printf("time out\n");continue;}printf("recvform()failed:%d\n",::WSAGetLastError());return;}int nTick=::GetTickCount();if (nRet<sizeof(IPHeader)+sizeof(ICMP_HDR)){printf("Too few bytes from%s\n",::inet_ntoa(from.sin_addr));}ICMP_HDR* pRecvIcmp=(ICMP_HDR*)(recvBuf+sizeof(IPHeader));if(pRecvIcmp->icmp_type!=0){printf("nonecho type%d recvd\n",pRecvIcmp->icmp_type);return;}if (pRecvIcmp->icmp_id!=::GetCurrentProcessId()){printf("someone else's packet!");return;}printf("%d bytes from %s:",nRet,inet_ntoa(from.sin_addr));printf("icmp_seq=%d",pRecvIcmp->icmp_sequence);printf("time:%d ms",nTick-pRecvIcmp->icmp_timestamp);printf("\n");::Sleep(1000);}system("pause");}。
1.交换机端口与mac地址绑定Switch>enSwitch#configConfiguring from terminal, memory, or network [terminal]?Enter configuration commands, one per line. End with CNTL/Z.Switch(config)#Switch(config)#i nt vlan 1Switch(config-if)#ip add 192.168.1.1 255.255.255.0Switch(config-if)#no sh%LINK-5-CHANGED: Interface Vlan1, changed state to upSwitch(config-if)#%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1, changed state to upSwitch(config-if)#exitSwitch(config-if)#switchport mode accessSwitch(config-if)#switchport port-securitySwitch(config-if)#switchport port-security mac-address 0007.EC41.68E0Switch#sh port-security addressSecure Mac Address Table-------------------------------------------------------------------------------Vlan M ac Address Type Ports Remaining Age(mins)---- ----------- ---- ----- -------------1 0007.EC41.68E0 SecureConfigured FastEthernet0/1 -------------------------------------------------------------------------------Total Addresses in System (excluding one mac per port) : 0Max Addresses limit in System (excluding one mac per port) : 1024Switch#2.用交换机划分vlan并添加端口Switch>enSwitch#configConfiguring from terminal, memory, or network [terminal]?Enter configuration commands, one per line. End with CNTL/Z.Switch(config)#vlan 2Switch(config-vlan)#exitSwitch(config)#vlan 3Switch(config-vlan)#exitSwitch(config)#int range f0/1-2Switch(config-if-range)#sw mod accSwitch(config-if-range)#sw acc vlan 2Switch(config-if-range)#exitSwitch(config)#int range f0/3-4Switch(config-if-range)#sw mod accSwitch(config-if-range)#sw acc vlan 3Switch(config-if-range)#exitSwitch(config)#int vlan 2%LINK-5-CHANGED: Interface Vlan2, changed state to upSwitch(config-if)#%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan2, changed state to upSwitch(config-if)#no shSwitch(config-if)#exitSwitch(config)#int vlan 3%LINK-5-CHANGED: Interface Vlan3, changed state to upSwitch(config-if)#%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan3, changed state to upSwitch(config-if)#no shSwitch(config-if)#^ZSwitch#%SYS-5-CONFIG_I: Configured from console by consoleSwitch#sh vlanVLAN Name Status Ports---- -------------------------------- --------- -------------------------------1 default active Fa0/5, Fa0/6, Fa0/7, Fa0/8Fa0/9, Fa0/10, Fa0/11, Fa0/12Fa0/13, Fa0/14, Fa0/15, Fa0/16Fa0/17, Fa0/18, Fa0/19, Fa0/20Fa0/21, Fa0/22, Fa0/23, Fa0/242 VLAN0002 active Fa0/1, Fa0/23 VLAN0003 active Fa0/3, Fa0/41002 fddi-default act/unsup1003 token-ring-default act/unsup1004 fddinet-default act/unsup1005 trnet-default act/unsupVLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2 ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------1 enet 100001 1500 - - - - - 0 02 enet 100002 1500 - - - - - 0 03 enet 100003 1500 - - - - - 0 0 1002 fddi 101002 1500 - - - - - 0 0 1003 tr 101003 1500 - - - - - 0 0 1004 fdnet 101004 1500 - - - ieee - 0 0 1005 trnet 101005 1500 - - - ibm - 0 0Remote SPAN VLANs------------------------------------------------------------------------------Primary Secondary Type Ports------- --------- ----------------- ------------------------------------------Switch#3.相同vlan的跨交换机通信Switch>Switch>enSwitch#configConfiguring from terminal, memory, or network [terminal]?Enter configuration commands, one per line. End with CNTL/Z.Switch(config)#Switch(config)#Switch(config)#vlan 2Switch(config-vlan)#exitSwitch(config)#int f0/1Switch(config-if)#sw mod accSwitch(config-if)#sw acc vlan 2Switch(config-if)#exitSwitch(config)#vlan 3Switch(config-vlan)#exitSwitch(config)#int f1/1Switch(config-if)#sw mod accSwitch(config-if)#sw acc vlan 3Switch(config-if)#exitSwitch(config)#int vlan 2Switch(config-if)#%LINK-5-CHANGED: Interface Vlan2, changed state to up%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan2, changed state to upSwitch(config-if)#exitSwitch(config)#int vlan 3%LINK-5-CHANGED: Interface Vlan3, changed state to up%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan3, changed state to upSwitch(config-if)#exitSwitch(config)#int f2/1Switch(config-if)#sw mod trunk%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet2/1, changed state to down %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet2/1, changed state to upSwitch(config-if)#exitSwitch(config)#(两交换机配置相同)4.通过三层交换机实现vlan间路由Switch>Switch>enSwitch#Switch#configConfiguring from terminal, memory, or network [terminal]?Enter configuration commands, one per line. End with CNTL/Z.Switch(config)#Switch(config)#vlan 2Switch(config-vlan)#exitSwitch(config)#vlan 3Switch(config-vlan)#exitSwitch(config)#int f0/1Switch(config-if)#sw mod accSwitch(config-if)#sw acc vlan 2Switch(config-if)#exitSwitch(config)#int f0/2Switch(config-if)#sw mod accSwitch(config-if)#sw acc vlan 3Switch(config-if)#exitSwitch(config)#int vlan 2Switch(config-if)#%LINK-5-CHANGED: Interface Vlan2, changed state to up%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan2, changed state to upSwitch(config-if)#ip add 192.168.2.1 255.255.255.0Switch(config-if)#exitSwitch(config)#int vlan 3Switch(config-if)#%LINK-5-CHANGED: Interface Vlan3, changed state to up%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan3, changed state to upSwitch(config-if)#ip add 192.168.3.1 255.255.255.0Switch(config-if)#exitSwitch(config)#(失败)5.通过单臂路由实现vlan间路由路由器:Router>enRouter#configConfiguring from terminal, memory, or network [terminal]?Enter configuration commands, one per line. End with CNTL/Z.Router(config)#int f0/0Router(config-if)#no shRouter(config-if)#%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to upRouter(config-if)#no ip addressRouter(config-if)#exitRouter(config)#int f0/0.2Router(config-subif)#encapsulation dot1Q 2Router(config-subif)#ip add 192.168.2.1 255.255.255.0Router(config-subif)#exitRouter(config)#int f0/0.3%LINK-5-CHANGED: Interface FastEthernet0/0.3, changed state to upRouter(config-subif)#en dot1Q 3Router(config-subif)#ip add 192.168.3.1 255.255.255.0Router(config-subif)#exit交换机:Switch>Switch>enSwitch#configConfiguring from terminal, memory, or network [terminal]?Enter configuration commands, one per line. End with CNTL/Z.Switch(config)#int vlan 2Switch(config-if)#no shSwitch(config-if)#exitSwitch(config)#int f0/1Switch(config-if)#sw mod accSwitch(config-if)#sw acc vlan 2%LINK-5-CHANGED: Interface Vlan2, changed state to up%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan2, changed state to up % Access VLAN does not exist. Creating vlan 2Switch(config-if)#exitSwitch(config)#vlan 3Switch(config-vlan)#exitSwitch(config)#int f1/1Switch(config-if)#sw mod accSwitch(config-if)#sw acc vlan 3Switch(config-if)#exitSwitch(config)#int vlan 3Switch(config-if)#%LINK-5-CHANGED: Interface Vlan3, changed state to up%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan3, changed state to upSwitch(config-if)#exitSwitch(config)#int f2/1Switch(config-if)#sw mod trunkSwitch(config-if)#exit。