文档库 最新最全的文档下载
当前位置:文档库 › 实验四 VLAN间通信

实验四 VLAN间通信

实验四  VLAN间通信
实验四  VLAN间通信

实验四:VLAN间通信

实验目标

●掌握交换机Tag VLAN的配置

●掌握三层交换机基本配置方法;

●掌握三层交换机VLAN路由的配置方法;

●通过三层交换机实现VLAN间相互通信;

实验背景

●某企业有两个主要部门,技术部和销售部,分处于不同的办公室,为了安全和便于

管理对两个部门的主机进行了VLAN的划分,技术部和销售部分处于不同的

VLAN,先由于业务的需求需要销售部和技术部的主机能够相互访问,获得相应的

资源,两个部门的交换机通过一台三层交换机进行了连接。

技术原理

●三层交换机具备网络层的功能,实现VLAN相互访问的原理是:利用三层交换机

的路由功能,通过识别数据包的IP地址,查找路由表进行选路转发,三层交换机

利用直连路由可以实现不同VLAN之间的相互访问。三层交换机给接口配置IP地

址。采用SVI(交换虚拟接口)的方式实现VLAN间互连。SVI是指为交换机中的

VLAN创建虚拟接口,并且配置IP地址。

实验步骤

●新建packet tracer拓扑图

●(1)在二层交换机上配置VLAN2、VLAN3,分别将端口2、端口3划分给VLAN2、

VLAN3。

●(2)将二层交换机与三层交换机相连的端口fa 0/1都定义为tag Vlan模式。

●(3)在三层交换机上配置VLAN2、VLAN3,此时验证二层交换机VLAN2、VLAN3

下的主机之间不能相互通信。

●(4)设置三层交换机VLAN间的通信,创建VLAN2,VLAN3的虚接口,并配置

虚接口VLAN2、VLAN3的IP地址。

●(5)查看三层交换机路由表。

●(6)将二层交换机VLAN2、VLAN3下的主机默认网关分别设置为相应虚拟接口

的IP地址。

●(7)验证二层交换机VLAN2,V ALN3下的主机之间可以相互通信。

实验设备

Switch_2960 1台;Swithc_3560 1台;PC 3台;直连线

PC1

IP: 192.168.1.2

Submark: 255.255.255.0

Gateway: 192.168.1.1 PC2

IP: 192.168.2.2

Submark: 255.255.255.0

Gateway: 192.168.2.1 PC3

IP: 192.168.1.3

Submark: 255.255.255.0

Gateway: 192.168.1.1

S2960

en

conf t

vlan 2

exit

vlan 3

exit

int fa 0/2

switchport access vlan 2

int fa 0/3

switchport access vlan 3

int fa 0/1

switchport mode trunk

exit

show vlan

S3560

en

conf t

vlan 2

exit

vlan 3

exit

int fa 0/1

switchport trunk encapsulation dot1q (802.1q)switchport mode trunk

exit

int fa 0/2

switchport access vlan 2

exit

interface vlan 2

ip address 192.168.1.1 255.255.255.0

no shutdown

exit

interface vlan 3

ip address 192.168.2.1 255.255.255.0

no shutdown

exit

show ip route

show vlan

PC3 Ping PC1

Ping 192.168.1.2

PC3 Ping PC2

Ping 192.168.1.3

三层交换机路由配置实例

三层交换机路由配置 一、三层交换机VLAN间路由建立 某公司有两个主要部门:技术部和销售部,分处于不同的办公室,为了安全和便于管理对两个部门的主机进行了VLAN划分,技术部和销售部分处于不同VLAN。现由于业务需要销售部和技术部的主机能够相互访问,获得相应资源,两个部门的交换机通过一台三层交换机进行连接。 在交换机上建立2个Vlan:Vlan10分配给技术部及Vlan20分配给销售部。为了实现两部门的主机能够相互访问,在三层交换机上开启路由功能,并在Vlan10中设置IP地址为192.168.10.1;在Vlan20中设置IP地址为192.168.20.1,查看三层交换机路由表,会发现在三层交换机路由表内有2条直连路由信息,实现在不同网络之间路由数据包,从而达到2个部门的主机可以相互访问,拓朴图如图所示。 第1步:开启三层交换机路由功能 Switch#configure terminal Switch(config)#hostname s3550

S3550(conifg)#ip routing 第2步:建立Vlan,并分配端口 S3550(conifg)#vlan 10 S3550(config-vlan)#name sales S3550(config-vlan)#exit S3550(conifg)#vlan 20 S3550(config-vlan)#name technical S3550(config-vlan)#exit S3550(conifg)# S3550(conifg)#interface fastethernet 0/10 S3550(conifg-if)#switchport mode access S3550(conifg-if)#switchport access vlan 10 S3550(conifg-if)#exit S3550(conifg)# interface fastethernet 0/20 S3550(conifg-if)#switchport mode access S3550(conifg-if)#switchport access vlan 20 S3550(config-vlan)#exit S3550(config)# 第3步:配置三层交换机端口的路由功能 S3550(config)#interface vlan 10 S3550(conifg-if)#ip address 192.168.10.1 255.255.255.0 S3550(conifg-if)#no shutdown

Linux系统编程实验六进程间通信

实验六:进程间通信 实验目的: 学会进程间通信方式:无名管道,有名管道,信号,消息队列, 实验要求: (一)在父进程中创建一无名管道,并创建子进程来读该管道,父进程来写该管道(二)在进程中为SIGBUS注册处理函数,并向该进程发送SIGBUS信号(三)创建一消息队列,实现向队列中存放数据和读取数据 实验器材: 软件:安装了Linux的vmware虚拟机 硬件:PC机一台 实验步骤: (一)无名管道的使用 1、编写实验代码pipe_rw.c #include #include #include #include #include #include int main() { int pipe_fd[2];//管道返回读写文件描述符 pid_t pid; char buf_r[100]; char* p_wbuf; int r_num; memset(buf_r,0,sizeof(buf_r));//将buf_r初始化 char str1[]=”parent write1 “holle””; char str2[]=”parent write2 “pipe”\n”; r_num=30; /*创建管道*/ if(pipe(pipe_fd)<0) { printf("pipe create error\n"); return -1; } /*创建子进程*/ if((pid=fork())==0) //子进程执行代码 {

//1、子进程先关闭了管道的写端 close(pipe_fd[1]); //2、让父进程先运行,这样父进程先写子进程才有内容读sleep(2); //3、读取管道的读端,并输出数据 if(read(pipe_fd[0],buf_r, r_num)<0) { printf(“read error!”); exit(-1); } printf(“%s\n”,buf_r); //4、关闭管道的读端,并退出 close(pipe_fd[1]); } else if(pid>0) //父进程执行代码 { //1、父进程先关闭了管道的读端 close(pipe_fd[0]); //2、向管道写入字符串数据 p_wbuf=&str1; write(pipe_fd[1],p_wbuf,sizof(p_wbuf)); p_wbuf=&str2; write(pipe_fd[1],p_wbuf,sizof(p_wbuf)); //3、关闭写端,并等待子进程结束后退出 close(pipe_fd[1]); } return 0; } /*********************** #include #include #include #include #include #include int main() { int pipe_fd[2];//管道返回读写文件描述符 pid_t pid; char buf_r[100]; char* p_wbuf; int r_num;

VLAN间路由配置心得体会

VLAN间路由配置心得体会 众所周知,第二层平面网络的扩展性不佳,各站点发送数据包前要广播查询目的地的MAC地址。由于大量应用层软件需要广播传送某些数据包,而这些数据广播包只需发向某一组用户,如果此时没有VLAN(Virtual Local Area Network),这些数据包会占用大量网络资源,使正常数据包无法获得带宽,从而严重影响网络效率及性能。VLAN依靠用户的逻辑设定将原来物理上互联的一个局域网络划分为多个虚拟网段,即在两层交换机的逻辑上划分若干LAN(广播域),将广播信息、组播信息等限制在特定的一组端口上,从而为限制全网范围的广播和多点广播提供有效手段。在网络设计中,应选择切实可行的技术进行VLAN的灵活划分。划分可依据设备所连的端口、用户节点的MAC地址等,划分的结果是使同一个VLAN 内的数据可自由通信。不同VLAN间的数据交流需要通过第三层交换完成。即通过跨越交换机划分VLAN,从而高性能地实现VLAN之间的路由,提高带宽利用率和网络性能,增强网络应用的灵活性和安全性。二、VLAN在网络中的典型划分VLAN在网络中的典型划分如图1所示。VLAN通常与IP网络是相关联的,例如特定IP子网中的所有工作端属于同一个VLAN,不同VLAN之间必须通过路由器或具有路由器功能的模块才能通信。VLAN可以是动态的,也可以是静态的。所谓动态VLAN就是基于工作站的MAC地址,即根据工作站上网卡的48位硬件地址划分的VLAN。动态VLAN主要是通过每台交换机所连接工作站的MAC地址,它将一组MAC地址划分在同一逻辑组中,其中的成员不会因地理位置的改变而改变(这种方法仅用于局域网)。静态VLAN是一种具有固定地理位置的划分方法,它基于交换机端口的划分,可以通过对交换机的适当设置,将同一个交换机或不同交换机上的一组端口划分在同一个VLAN中。VTP(VLAN Trunk Protocol)协议主要用于多台局域网交换机互联情况下有效管理VLAN的配置。VTP Domain 也叫VLAN的管理域,它由具有相同管理域名称的交换机组成,每个交换机只能位于一个VTP域中,这样便可以通过命令行(CLI)方式或简单的网络管理协议(SNMP)来完成整个Domain中VLAN的设置(在缺省状态下,交换机处于非管理域中)。由于一个端口只能同时属于一个VLAN,那么当两台交换机联机后,属于不同VLAN的数据包如何通过级联端口到达另一台交换机,数据包到达另一台交换机后又如何交换呢?我们可以使用交换机中的Trunk功能。两台交换机之间的Trunk关系以及Trunk中所使用的ISL和802.1Q 协议是可以通过双方协商建立的,总共有5种工作方式:On、Off、Desirable、Auto(Trunk 端口缺省模式)和Nonegotiate(交换机与路由器之间的Trunk)。VLAN的配置实现交换机可以分为基于Set命令的和基于IOS的两类。交换机的平台不同,具体设置命令也有所不同,但各种配置的基本原理及设置思路都是一样的。就VLAN的设置来讲,其基本步骤包括:配置VTP 域、建立新的VLAN、将端口分配到目标的VLAN之中。

Linux进程间通信(2)实验报告

实验六:Linux进程间通信(2)(4课时) 实验目的: 理解进程通信原理;掌握进程中信号量、共享内存、消息队列相关的函数的使用。实验原理: Linux下进程通信相关函数除上次实验所用的几个还有: 信号量 信号量又称为信号灯,它是用来协调不同进程间的数据对象的,而最主要的应用是前一节的共享内存方式的进程间通信。要调用的第一个函数是semget,用以获得一个信号量ID。 int semget(key_t key, int nsems, int flag); key是IPC结构的关键字,flag将来决定是创建新的信号量集合,还是引用一个现有的信号量集合。nsems是该集合中的信号量数。如果是创建新集合(一般在服务器中),则必须指定nsems;如果是引用一个现有的信号量集合(一般在客户机中)则将nsems指定为0。 semctl函数用来对信号量进行操作。 int semctl(int semid, int semnum, int cmd, union semun arg); 不同的操作是通过cmd参数来实现的,在头文件sem.h中定义了7种不同的操作,实际编程时可以参照使用。 semop函数自动执行信号量集合上的操作数组。 int semop(int semid, struct sembuf semoparray[], size_t nops); semoparray是一个指针,它指向一个信号量操作数组。nops规定该数组中操作的数量。 ftok原型如下: key_t ftok( char * fname, int id ) fname就是指定的文件名(该文件必须是存在而且可以访问的),id是子序号,虽然为int,但是只有8个比特被使用(0-255)。 当成功执行的时候,一个key_t值将会被返回,否则-1 被返回。 共享内存 共享内存是运行在同一台机器上的进程间通信最快的方式,因为数据不需要在不同的进程间复制。通常由一个进程创建一块共享内存区,其余进程对这块内存区进行读写。首先要用的函数是shmget,它获得一个共享存储标识符。 #include #include #include int shmget(key_t key, int size, int flag); 当共享内存创建后,其余进程可以调用shmat()将其连接到自身的地址空间中。 void *shmat(int shmid, void *addr, int flag); shmid为shmget函数返回的共享存储标识符,addr和flag参数决定了以什么方式来确定连接的地址,函数的返回值即是该进程数据段所连接的实际地

华为路由器交换VLAN配置实例

华为路由器交换VLAN配置实例 华为路由器交换VLAN配置实例 配置说明:使用4台PC,华为路由器(R2621)、交换机(S3026e)各一台,组建一VLAN,实现虚拟网和物理网之间的连接。实现防火墙策略,和访问控制(ACL)。 网络结构如图:四台PC的IP地址、掩码如下列表:P1 192.168.1.1 255.255.255.0网关IP为192.168.1.5P2 192.168.1.2 255.255.255.0网关IP为192.168.1.5P3 192.168.1.3 255.255.255.0网关IP为192.168.1.6P4 192.168.1.4 255.255.255.0网关IP为192.168.1.6路由器上Ethernet0的IP为192.168.1.5 Ethernet1的IP为192.168.1.6 firewall设置默认为deny 实施命令列表: 交换机上设置,划分VLAN: sys //切换到系统视图 [Quidway]vlan enable [Quidway]vlan 2 [Quidway-vlan2]quit //默认所有端口都属于VLAN1,指定交换机的到八个端口属于VLAN2 [Quidway]vlan 3 [Quidway-vlan3]quit //指定交换机的到八个端口属于VLAN3[Quidway]dis vlan all [Quidway]dis cu

路由器上设置,实现访问控制: [Router]interface ethernet 0 [Router-Ethernet0]ip address 192.168.1.5 255.255.255.0[Router-Ethernet0]quit //指定ethernet 0的ip [Router]interface ethernet 1 [Router-Ethernet1]ip address 192.168.1.6 255.255.255.0[Router-Ethernet1]quit //开启firewall,并将默认设置为deny [Router]fire enable [Router]fire default deny //允许192.168.1.1访问192.168.1.3 //firewall策略可根据需要再进行添加 [Router]acl 101 [Router-acl-101]rule permit ip source 192.168.1.1 255.255.255.0 destination 192.168.1.3 255.255.255.0 [Router-acl-101]quit //启用101规则 [Router-Ethernet0]fire pa 101 [Router-Ethernet0]quit [Router-Ethernet1]fire pa 101 [Router-Ethernet1]quit

实验6 进程及进程间的通信之共享内存

实验6 进程及进程间的通信 ●实验目的: 1、理解进程的概念 2、掌握进程复制函数fork的用法 3、掌握替换进程映像exec函数族 4、掌握进程间的通信机制,包括:有名管道、无名管道、信 号、共享内存、信号量和消息队列 ●实验要求: 熟练使用该节所介绍fork函数、exec函数族、以及进程间通信的相关函数。 ●实验器材: 软件: 1.安装了Ubunt的vmware虚拟机 硬件:PC机一台 ●实验步骤: 1、用进程相关API 函数编程一个程序,使之产生一个进程 扇:父进程产生一系列子进程,每个子进程打印自己的PID 然后退出。要求父进程最后打印PID。 进程扇process_fan.c参考代码如下:

2、用进程相关API 函数编写一个程序,使之产生一个进程 链:父进程派生一个子进程后,然后打印出自己的PID,然后退出,该子进程继续派生子进程,然后打印PID,然后退出,以此类推。

要求:1) 实现一个父进程要比子进程先打印PID 的版本。(即 打印的PID 一般是递增的) 2 )实现一个子进程要比父进程先打印PID 的版本。(即打印的PID 一般是递减的) 进程链1,process_chain1.c的参考代码如下:

进程链2,process_chain2.c的参考代码如下:

3、编写程序execl.c,实现父进程打印自己的pid号,子进程调用 execl函数,用可执行程序file_creat替换本进程。注意命令行参数。 参考代码如下: /*execl.c*/ #include #include #include

cisco三层交换机vlan间路由配置实例

cisco三层交换机vlan间路由配置实例 下面以cisco3560实例说明如何在一个典型的快速以太局域网中实现VLAN。所谓典型局域网就是指由一台具备三层交换功能的核心交换机接几台分支交换机(不一定具备三层交换能力)。我们假设核心交换机名称为:COM;分支交换机分别为:PAR1、PAR2、PAR3,分别通过Port 1的光线模块与核心交换机相连;并且假设VLAN名称分别为COUNTER、MARKET、MANAGING…… 需要做的工作: 1、设置VTP DOMAIN(核心、分支交换机上都设置) 2、配置中继(核心、分支交换机上都设置) 3、创建VLAN(在server上设置) 4、将交换机端口划入VLAN 5、配置三层交换 1、设置VTP DOMAIN。 VTP DOMAIN 称为管理域。 交换VTP更新信息的所有交换机必须配置为相同的管理域。如果所有的交换机都以中继线相连,那么只要在核心交换机上设置一个管理域,网络上所有的交换机都加入该域,这样管理域里所有的交换机就能够了解彼此的VLAN列表。 COM#vlan database 进入VLAN配置模式 COM(vlan)#vtp domain COM 设置VTP管理域名称 COM COM(vlan)#vtp server 设置交换机为服务器模式 PAR1#vlan database 进入VLAN配置模式 PAR1(vlan)#vtp domain COM 设置VTP管理域名称COM PAR1(vlan)#vtp Client 设置交换机为客户端模式 PAR2#vlan database 进入VLAN配置模式 PAR2(vlan)#vtp domain COM 设置VTP管理域名称COM PAR2(vlan)#vtp Client 设置交换机为客户端模式 PAR3#vlan database 进入VLAN配置模式 PAR3(vlan)#vtp domain COM 设置VTP管理域名称COM PAR3(vlan)#vtp Client 设置交换机为客户端模式 注意:这里设置核心交换机为Server模式是指允许在该交换机上创建、修改、删除VLAN 及其他一些对整个VTP域的配置参数,同步本VTP域中其他交换机传递来的最新的VLAN 信息;Client模式是指本交换机不能创建、删除、修改VLAN配置,也不能在NVRAM中存储VLAN配置,但可同步由本 VTP域中其他交换机传递来的VLAN信息。 2、配置中继为了保证管理域能够覆盖所有的分支交换机,必须配置中继。Cisco交换机能够支持任何介质作为中继线,为了实现中继可使用其特有的ISL标签。ISL (Inter-Switch Link)是一个在交换机之间、交换机与路由器之间及交换机与服务器之间传递多个VLAN信息及VLAN数据流的协议,通过在交换机直接相连的端口配置 ISL封装,即可跨越交换机进行整个网络的VLAN分配和进行配置。 在核心交换机端配置如下: COM(config)#interface gigabitEthernet 2/1 COM(config-if)#switchport COM(config-if)#switchport trunk encapsulation isl 配置中继协议 COM(config-if)#switchport mode trunk COM(config)#interface gigabitEthernet 2/2 COM(config-if)#switchport COM(config-if)#switchport trunk encapsulation isl 配置中继协议 COM(config-if)#switchport mode trunk COM(config)#interface gigabitEthernet 2/3 COM(config-if)#switchport COM(config-if)#switchport trunk encapsulation isl 配置中继协议 COM(config-if)#switchport mode trunk 在分支交换机端配置如下: PAR1(config)#interface gigabitEthernet 0/1

实验三 进程间通信

实验三进程间通信(2学时) 一、实验目的 (1)了解什么是信号。 (2)熟悉LINUX系统中进程之间软中断通信的基本原理。 (3)熟悉LINUX支持的管道通信方式。 二、实验内容 (1)编写一段程序,使其现实进程的软中断通信。 即:使用系统调用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号(即按 ctrl+c 键);当捕捉到中断信号后,父进程用系统调用kill( )向两个子进程发出信号,子进程捕捉到信号后,分别输出下列信息后终止: Child Process11 is killed by Parent! Child Process12 is killed by Parent! 父进程等待两个子进程终止后,输出如下的信息后终止 Parent Process is killed! 要求:运行以下参考程序并分析结果。 <参考程序> #include #include #include #include void waiting(),stop(),alarming(); int wait_mark; main() { int p1,p2; if(p1=fork()) /*创建子进程p1*/ { if(p2=fork()) /*创建子进程p2*/ { //父进程 wait_mark=1; signal(SIGINT,stop); /*接收到^c信号,转stop*/

signal(SIGALRM,alarming);/*接受SIGALRM*/ waiting(); kill(p1,16); /*向p1发软中断信号16*/ kill(p2,17); /*向p2发软中断信号17*/ wait(0); /*同步*/ wait(0); printf("parent process is killed!\n"); exit(0); //会暂时停止目前进程的执行,直到有信号来到或子进程结束。 } else { wait_mark=1; signal(17,stop); signal(SIGINT,SIG_IGN); /*忽略 ^c信号*/ while (wait_mark!=0); lockf(1,1,0); printf("child process2 is killed by parent!\n"); lockf(1,0,0); exit(0); } } else { wait_mark=1; signal(16,stop); signal(SIGINT,SIG_IGN); /*忽略^c信号*/ while (wait_mark!=0); lockf(1,1,0); printf("child process1 is killed by parent!\n"); lockf(1,0,0); exit(0); } } void waiting() { sleep(5); if (wait_mark!=0) kill(getpid(),SIGALRM); } void alarming()

进程间通信实验报告

进程间通信实验报告 班级:10网工三班学生姓名:谢昊天学号:1215134046 实验目的和要求: Linux系统的进程通信机构 (IPC) 允许在任意进程间大批量地交换数据。本实验的目的是了解和熟悉Linux支持的消息通讯机制及信息量机制。 实验内容与分析设计: (1)消息的创建,发送和接收。 ①使用系统调用msgget (), msgsnd (), msgrev (), 及msgctl () 编制一长度为1k 的消息的发送和接收程序。 ②观察上面的程序,说明控制消息队列系统调用msgctl () 在此起什么作用? (2)共享存储区的创建、附接和段接。 使用系统调用shmget(),shmat(),sgmdt(),shmctl(),编制一个与上述功能相同的程序。(3)比较上述(1),(2)两种消息通信机制中数据传输的时间。 实验步骤与调试过程: 1.消息的创建,发送和接收: (1)先后通过fork( )两个子进程,SERVER和CLIENT进行通信。 (2)在SERVER端建立一个Key为75的消息队列,等待其他进程发来的消息。当遇到类型为1的消息,则作为结束信号,取消该队列,并退出SERVER 。SERVER每接收到一个消息后显示一句“(server)received”。 (3)CLIENT端使用Key为75的消息队列,先后发送类型从10到1的消息,然后退出。最后的一个消息,既是 SERVER端需要的结束信号。CLIENT每发送一条消息后显示一句“(client)sent”。 (4)父进程在 SERVER和 CLIENT均退出后结束。 2.共享存储区的创建,附接和断接: (1)先后通过fork( )两个子进程,SERVER和CLIENT进行通信。 (2)SERVER端建立一个KEY为75的共享区,并将第一个字节置为-1。作为数据空的标志.等待其他进程发来的消息.当该字节的值发生变化时,表示收到了该消息,进行处理.然后再次把它的值设为-1.如果遇到的值为0,则视为结束信号,取消该队列,并退出SERVER.SERVER 每接收到一次数据后显示”(server)received”. (3)CLIENT端建立一个为75的共享区,当共享取得第一个字节为-1时, Server端空闲,可发送请求. CLIENT 随即填入9到0.期间等待Server端再次空闲.进行完这些操作后, CLIENT退出. CLIENT每发送一次数据后显示”(client)sent”. (4)父进程在SERVER和CLIENT均退出后结束。 实验结果: 1.消息的创建,发送和接收: 由 Client 发送两条消息,然后Server接收一条消息。此后Client Server交替发送和接收消息。最后一次接收两条消息。Client 和Server 分别发送和接收了10条消息。message 的传送和控制并不保证完全同步,当一个程序不再激活状态的时候,它完全可能继续睡眠,造成上面现象。在多次send message 后才 receive message.这一点有助于理解消息转送的实现机理。

VLAN+路由器典型配置实例

详解:VLAN+路由器典型配置实例 近期看到有些朋友问交换机划 VLAN 后接路由器如何配置访问外网,其实这是个比较简单,也比较典型的配置。网上也很容易找到,但都不系统很零散。这里针对几种常见的情况,分别做了配置: 1、拓扑结构图: 1)本例中的路由器均为华为 AR28-10,交换机 SW1为华为的 S3526 带3 层交换功能,SW2为华为 2403H-EI二层交换机。 2)图模拟了常见的拓扑结构。也没有用到任何厂商特性,因此也适用于其他厂商的设备,只是命令行有所不同。 2、基础配置: ISP: interface Serial0/0 #配置和RA相连的接口 clock DTECLK1 link-protocol ppp ip address 10.0.1.1 255.255.255.252 interface LoopBack0 #配置该接口模拟 internet 的一个 IP。 ip address 1.1.1.1 255.255.255.255 ip route-static 59.61.94.144 255.255.255.248 10.0.1.2 preference 60 #将该地址段指向 RA,也即分配地址池给 RA。 RA:

nat address-group 0 59.61.94.145 59.61.94.150 #配置NAT 地址池,也即ISP分配的地址段。(如果外网接口类型为广播,则最好把这些地址配置给LOOPBACK接口,否则可能不同,但此例是点对点接口,无此问题) acl number 2000 #配置NA T 用的ACL列表 rule 0 permit source 172.16.0.0 0.0.0.255 rule 1 permit source 172.16.1.0 0.0.0.255 rule 2 permit source 10.0.0.0 0.0.0.3 interface Ethernet0/0 #配置内网口 ip address 10.0.0.1 255.255.255.252 interface Serial0/0 #配置外网口 link-protocol ppp ip address 10.0.1.2 255.255.255.252 nat outbound 2000 address-group 0 #做NA T,采用先前配置的地址池。 ip route-static 0.0.0.0 0.0.0.0 10.0.1.1 preference 60 配置默认路由 SW1: gvrp #启用GVRP 注册协议,用于动态创建SW2的VLAN,实现VLAN 的集中管理。 vlan 2 #创建各VLAN vlan 3 vlan 24#因为S3526 不支持被路由接口,因此将E0/24 划到VLAN24,给VLAN24 配置虚接口IP用于路由。(cisco 则可以在e0/24接口用no switchport 配置为被路由接口,直接配置IP即可) interface Vlan-interface2 #配置VLAN 虚接口IP ip address 172.16.0.254 255.255.255.0 interface Vlan-interface3 配置VLAN 虚接口IP ip address 172.16.1.254 255.255.255.0 interface Vlan-interface24 配置VLAN 虚接口IP ip address 10.0.0.2 255.255.255.252 interface Ethernet0/1 #划分接口到VLAN port access vlan 2 interface Ethernet0/10 #配置和SW2 互联的E0/10接口为Trunk 接口,并启用GVRP协议。port link-type trunk port trunk permit vlan 2 to 3 gvrp registration fixed

实验4-进程间通信―共享存储区的创建、附接和断接

操作系统实验报告 课程名称:操作系统 开课学期: 班级: 指导老师: 实验题目:共享存储区的创建、附接和断接学号: 姓名: 提交时间:

一、实验目的和要求 了解和熟悉共享存储机制 二、实验内容 编制一长度为1k的共享存储区发送和接收的程序。 程序设计 (1)为了便于操作和观察结果,用一个程序作为“引子”,先后fork()两个子进程,SERVER和CLIENT,进行通信。 (2)SERVER端建立一个key为75的共享区,并将第一个字节设置为-1,。作为数据空的标志。等待其他进程发来的消息。当字节的值发生变化时,表示收到了信息,进行处理。然后再次把它的值设为-1。如果遇到的值为0,则视为结束信号,取消该队列,并退出SERVER。SERVER每接收到一个数据后显示“(server)receive”。 (3)CLIENT端建立一个key 为75的共享区,当共享取得第一个字节为-1时,Server端空闲,可发送请求。CLIENT随即填入9到0。期间等待server 端的再次空闲。进行完这些操作后,CLIENT退出。CLIENT每发出一次数据后显示“(client)sent”。 (4)父进程在SERVER和CLIENT均退出后结束。 三、实验运行结果 1.涉及的系统调用 (1)shmget( ) 创建、获得一个共享存储区。 系统调用格式:shmid=shmget(key,size,flag) (2)、shmat( ) 共享存储区的附接。从逻辑上将一个共享存储区附接到进程的虚拟地址 空间上。 系统调用格式:virtaddr=shmat(shmid,addr,flag) (3)3、shmdt( ) 把一个共享存储区从指定进程的虚地址空间断开。 系统调用格式:shmdt(addr) (4)、shmctl( ) 共享存储区的控制,对其状态信息进行读取和修改。 系统调用格式:shmctl(shmid,cmd,buf) 2.实验源代码:

VLAN间路由配置

第15章 VLAN间路由 在交换机上划分VLAN后,VLAN间的计算机就无法通信了。VLAN间的通信需要借助第三层设备,我们可以使用路由器来实现这个功能,如果使用路由器通常会采用单臂路由模式。实践上,VLAN间的路由大多是通过三层交换机实现的,三层交换机可以看成是路由器加交换机,然而因为采用了特殊的技术,其数据处理能力比路由器要大得多。本章将分别介绍两种方法的具体配置。 15.1 VLAN间路由简介 15.1单臂路由 处于不同VLAN的计算机即使它们是在同一交换机上,它们之间的通信也必须使用路由器。可以在每个VLAN上都有一个以太网口和路由器连接。采用这种方法,如果要实现N个VLAN间的通信,则路由器需要N个以太网接口,同时也会占用了N个交换上的以太网接口。单臂路由提供另外一种解决方案。路由器只需要一个以太网接口和交换机连接,交换机的这个接口设置为Trunk接口。在路由器上创建多个子接口和不同的VLAN连接,子接口是路由器物理接口上的逻辑接口。工作原理如图15-1,当交换机收到VLAN1的计算机发送的数据帧后,从它的Trunk接口发送数据给路由器,由于该链路是Trunk链路,帧中带有VLAN1的标签,帧到了路由器后,如果数据要转发到VLAN2上,路由器将把数据帧的VLAN1标签去掉,重新用VLAN2的标签进行封装,通过Trunk链路发送到交换机上的Trunk接口;交换机收到该帧,去掉VLAN2标签,发送给VLAN2上的计算机,从而实现了VLAN间的通信。 图 15-1 路由器的子接口工作原理 15.2 三层交换 单臂路由实现VLAN间的路由时转发速率较慢,实际上在局域网内部多采用三层交换。三层交换机通常采用硬件来实现,其路由数据包的速率是普通路由器的几十倍。 从使用者的角度可以把三层交换机看成是二层交换机和路由器的组合,如图15-2,这个虚拟的路由器和每个VLAN都有一个接口进行连接,不过这个接口是VLAN1或VLAN2接口。Cisco早些年采用的基于NetFlow的三层交换技术;现在Cisco主要采用CEF技术。CEF技术中,交换机利用路由表形成转发信息库(FIB),FIB和路由表是同步的,关键的是它的查询是硬件化,查询速度快得多。除了FIB,还有邻接表(Adjacency Table),该表和ARP表有些类似,主要放置了第二层的封装信息。FIB和邻接表都是在数据转发之前就已经建立准备好了,这样一有数据要转发,交换机就能直接利用它们进行数据转发和封装,不需要查询路由表和发送ARP请求,所以VLAN间的路由速率大大提高。

实验6 进程间通信

实验6 进程间通信 一、实验目的: 通过本实验了解和掌握进程间通讯的相关知识, (1)了解进程通信的基本原理。 (2)了解和熟悉管道通信,消息传送机制及共享存储机制。二.实验内容 1.进程的管道通信 阅读下列程序,完成实验任务。 #include #include #include int pid1,pid2; main() { int fd[2]; char outpipe[100],inpipe[100]; pipe(fd); //将fd装入管道中 while((pid1=fork())==-1); //如果进程没有创建成功,则一直循环 if(pid1==0) //如果是子进程 { lockf(fd[1],1,0); sprintf(outpipe,"chile 1 process a message!");//将字符串读入到oupipe中去 write(fd[1],outpipe,50); //将outpipe写入到fd[1]中 sleep(5); //睡眠5秒 lockf(fd[1],0,0); exit(0); } else //是父进程 { while((pid2=fork())==-1); if(pid2 == 0) //进程创建成功,并且是子进程 { lockf(fd[1],1,0); sprintf(outpipe,"child 2 process is sending a message!"); write(fd[1],outpipe,50); sleep(5); lockf(fd[1],0,0);

实验五 进程间通信(二)

湖北工业大学工程技术学院实验报告 课程名称:操作系统实验内容:实验五进程间通信(二) 学院:工程技术学院专业班级:11gb软件2班 教师:贺红艳成绩: 一、实验目的 1、掌握linux系统中进程通信的基本原理。 2、学会使用linux系统中关于进程通信的一些系统调用。 3、掌握信号与共享存储区的使用方法。 二、相关知识背景: (一)信号 1、信号的基本概念 每个信号都对应一个正整数常量(称为signal number,即信号编号。定义在系统头文件中),代表同一用户的诸进程之间传送事先约定的信息的类型,用于通知某进程发生了某异常事件。每个进程在运行时,都要通过信号机制来检查是否有信号到达。若有,便中断正在执行的程序,转向与该信号相对应的处理程序,以完成对该事件的处理;处理结束后再返回到原来的断点继续执行。实质上,信号机制是对中断机制的一种模拟,故在早期的UNIX版本中又把它称为软中断。 ⑴信号与中断的相似点: ①采用了相同的异步通信方式; ②当检测出有信号或中断请求时,都暂停正在执行的程序而转去执行相应的处理程序; ③都在处理完毕后返回到原来的断点; ④对信号或中断都可进行屏蔽。 ⑵信号与中断的区别: ①中断有优先级,而信号没有优先级,所有的信号都是平等的; ②信号处理程序是在用户态下运行的,而中断处理程序是在核心态下运行; ③中断响应是及时的,而信号响应通常都有较大的时间延迟。 ⑶信号机制具有以下三方面的功能: ①发送信号。发送信号的程序用系统调用kill( )实现; ②预置对信号的处理方式。接收信号的程序用signal( )来实现对处理方式的预置; ③收受信号的进程按事先的规定完成对相应事件的处理。 2、信号的发送 信号的发送,是指由发送进程把信号送到指定进程的信号域的某一位上。如果目标进程正在一个可被中断的优先级上睡眠,核心便将它唤醒,发送进程就此结束。一个进程可能在其信号域中有多个位被置位,代表有多种类型的信号到达,但对于一类信号,进程却只能记住其中的某一个。进程用kill( )向一个进程或一组进程发送一个信号。 3.对信号的处理 当一个进程要进入或退出一个低优先级睡眠状态时,或一个进程即将从核心态返回用户态时,核心都要检查该进程是否已收到软中断。当进程处于核心态时,即使收到软中断

vlan间路由配置

Vlan 间路由原理及配置 院(系)名称 专业班级 学号 学生姓名 2011年12月12日

Vlan 间路由配置 摘要 随着宽带城域网网络规模和用户规模的扩大,网络的可靠性和增值业务能力成了当务之急,网络的整合与优化也迫在眉睫。首先,本文分析了城域网现状,问题体现为网络整体上,网络结构不清晰,设备级联数偏多;网络对新业务支撑能力不足;网络管理及业务控制相对分散,无法满足业务需求;缺乏统一的设备规范,功能参差不齐。其次,本文依据电信运营商的特点提出城域网结构模型,该模型突出了宽带多种接入和用户差异化服务,引入QoS和VPN等技术,制定路由型城域网的目标网络结构。达到网络层次清晰、网络结构扁平,实现城域网差异化服务的目标。

目录 一.Vlan 原理和vlan间路由原理 (2) 1.vlan 原理 (2) 2.vlan间路由选择的原理 (2) 二基本的配置命令和原理 (4) 1.交换机的基本配置 (4) 2.vlan基本配置 (7) 3.vlan 中继配置 (8) 4.vlan 间路由选择 (9) 三.拓扑图 (9) 四.实验环境 (10) 五.实验步骤及代码 (10) 六.结论 (13)

一Vlan 原理和vlan间路由原理 1.vlan 原理 虚拟局域网(vlan)技术通过将连在交换机上的主机划分到不同的网段,并将广播通信量限制在每个网段内部,从而增加了广播域的数目,减少了广播对网络的不利影响。 网络管理人员通过手工方式将交换机的不同端口标记为属于不同的vlan,接入到某个端口中的主机将自动成为该vlan 的成员。 如图1所示,交换机的第1-8个端口属于vlan 10,第9-16个端口属于vlan 20,第17-20个端口属于vlan 30。 交换机并不在各vlan 之间传输任何用户数据,它只是在某个vlan 所属的端口之间转发数据包。 交换机是如何区分不同vlan 的数据的呢?实际上,交换机是通过给不同vlan的数据打标记来区分vlan的,数据包在流入交换机端口的时候,会被加上vlan标记符,在将数据包从端口发出之前再拿掉vlan 标记符。换句话说,带有vlan 标记的数据包不会从交换机任何端口发出,除非是主干(trunk )端口。主干端口用来级连多个交换机,并在主干道上传送多个vlan 的数据。 图1 vlan 划分 2.vlan间路由选择的原理 Vlan将不同的网段的广播隔离开,同时也隔离了不同网段间用户的其他数

实验三 进程间通信

实验三进程间通信 UNIX/LINUX系统的进程间通信机构(IPC)允许在任意进程间大批量地交换数据。本实验的目的是了解和熟悉LINUX支持的信号量机制、管道机制、消息通信机制及共享存储区机制。 (一)信号量机制实验 【实验目的】 1、了解什么是信号。 2、熟悉LINUX系统中进程之间软中断通信的基本原理。 【实验内容】 本次实验共3部分,前两部分必做。 1、编写一段程序,使用系统调用fork( )创建两个子进程,再用系统调用signal( )让父进程捕捉键盘上来的中断信号(即按ctrl+c键),当捕捉到中断信号后,父进程用系统调用kill( )向两个子进程发出信号,子进程捕捉到信号后,分别输出下列信息后终止:Child process 1 is killed by parent! Child process 2 is killed by parent! 父进程等待两个子进程终止后,输出以下信息后终止: Parent process is killed! <参考程序> # include # include # include main() { int p1, p2; signal(SIGINT,stop);//signal()初始位置 while((p1=fork())==-1); if(p1>0) {① while((p2=fork())= =-1); If(p2>0) { ② wait_mark=1; waiting(0); kill(p1,10); kill(p2,12); wait(); wait);

相关文档