精华内容
下载资源
问答
  • 华为交换机与路由器远程登录配置。authentication(认证)、authorization(授权)、accounting(计费)的简称,是网络安全的一种管理机制;Authentication是本地认证/授权,authorization和accounting是由远处...
  • 三层交换机默认路由

    2018-03-10 20:07:44
    配置三层交换机的默认路由,实现不同vlan间的通信。有完整的拓扑图和命令
  • 1、 交换机与路由的telnet访问   (1)、第一步设置特权模式进入密码 enable passowrd 321   (2)、第二步设置虚拟局域网vlan或者环回地址loopback的ip地址   交换机:需要注意的是,虚拟局域网必须是有正在...

    1、 交换机与路由的telnet访问

     

    (1)、第一步设置特权模式进入密码

    enable passowrd 321

     

    (2)、第二步设置虚拟局域网vlan或者环回地址loopback的ip地址

     

    交换机:需要注意的是,虚拟局域网必须是有正在使用的端口,否则无法连接

    interface vlan 1

    ip address 192.168.1.254 255.255.255.0

    no shutdown

     

    路由器:需要注意的是,一般选用环回地址作为telnet连接,因为始终处于up状态

    interface loopback 0

    ip address 192.168.1.254 255.255.255.0

    no shutdown

     

    (3)、设置telnet登录的密码

     

    line vty 0 4

    password 321

    login

     

     

     

    例子1:telnet交换机




    代码如下:

    en
    conf t
    hostname S1
     
    enable password 321
     
    interface vlan 1
    ip address 192.168.1.254255.255.255.0
    no shutdown
    exit
     
    line vty 0 4
    password 321
    login
    exit
     
    end


     

     

     

    测试结果:成功进入

     

    PC>telnet 192.168.1.254

    Trying 192.168.1.254 ...Open

     

     

    User Access Verification

     

    Password:

    S1>en

    Password:

    S1#

     

     

     

     

     

     

     

     

     

    例子2:路由器






    代码如下:

    en
    conf t
    hostname R1
     
    enable password 321
     
    interface loopback 0
    ip address 192.168.2.254255.255.255.0
    no shutdown
    exit
     
    interface f0/0
    ip address 192.168.1.253255.255.255.0
    no shutdown
    exit
     
    line vty 0 4
    password 321
    login
    exit
     
    end


     

     

    结果:telnet成功

     

    PC>telnet 192.168.2.254

    Trying 192.168.2.254 ...Open

     

     

    User Access Verification

     

    Password:

    R1>en

    Password:

    R1#


    展开全文
  • 三层交换机静态路由

    2018-03-10 15:45:49
    利用三层交换机配置静态路由、实现不同vlan之间的通信。有详细的拓扑图和命令。
  • 三个三层交换机互访实例,使用静态路由实现,博文含拓扑图,命令,以及参考文献,感兴趣的同学可以试试,不懂的欢迎提问,欢迎纠错!
  • 利用三层交换机实现rip动态路由配置。有详细的拓扑图和命令
  • 交换机与路由器配置任务驱动教程(课后习题答案及参考资料).rar
  • 一、网络拓扑  办公网为172网段,其核心交换机为85-1,由NE-1做NAT通过网通上... 此需求看起来很简单,即通过策略路由,使部分用户上网的下一跳到S85-1上,通过NE-1出去。但是仔细分析具体的实现,还是有很多要考
  • 前言:前面两章我们已经开始了从安装到编写简单的demo的过程: RabbitMQ的学习(一):Windows下安装及配置RabbitMQ,erlang环境变量 ...RabbitMQ的学习(二):简单的java demo实现RabbitMQ的发送接收 ...

    前言:前面两章我们已经开始了从安装到编写简单的demo的过程:

    1. RabbitMQ的学习(一):Windows下安装及配置RabbitMQ,erlang环境变量
    2. RabbitMQ的学习(二):简单的java demo实现RabbitMQ的发送与接收

    学习本章,需要了解的是RabbitMQ的交换机是什么,以及RabbitMQ的相关流程,以下是从网上找来的图示,看了下其实很容易理解(关于RabbitMQ的详细原理,我们到最后学会了RabbitMQ的使用,我们再去研究,这样理解起来就相当简单了):

    rabbitmq图解

    详细看下上面的图,简单理解下rabbitmq的流程:

    1. 红色虚线方块代表着RabbitMQ的服务,里面会包含有交换机exchange,还有路由键routingKey和队列等;
    2. 生产者产生了消息,然后发布到 RabbitMQ 服务器,发布之前肯定要先连接上服务器,也就是要在应用程序和rabbitmq 服务器之间建立一条 TCP 连接,一旦连接建立,应用程序就可以创建一条 AMQP 信道。 蓝色方框就代表着这个连接,在现有知识的条件下,直接理解成上一章看到的通道即可。
    3. 客户端A,B发送消息并不是直接发送到队列,而是由RabbitMQ 的交换器进行接收,然后通过指定的路由键,发送到(专业名词:绑定)指定的队列中;
    4. 然后客户端1,2,3通过路由键,队列名称等,指定从哪个队列中获取消息,当队列有消息时,会发送到相应的客户端。

    RabbitMQ有四种类型的交换机direct、fanout、topic、headers,中文分别为:直连,扇形,主题和头部。
    以上仅作为一个简单的了解,以下分别是各个交换机的例子。

    直连交换机(direct exchange)**

    生产者:

    package rabbitmqDemo.demo2.direct;
    
    import java.io.IOException;
    
    import com.rabbitmq.client.Channel;
    import com.rabbitmq.client.Connection;
    import com.rabbitmq.client.ConnectionFactory;
    
    /**
     * 直连交换机生产者测试
     * 直连交换机,顾名思义就是从交换机-路由键-队列三者进行绑定,然后获取准确的队列信息
     * @author fei
     *
     */
    public class Direct_Producer_demo2 {
    
    	
    
    	public final static String QUEUENAME="mq.test_demo1";//队列名称
    	public final static String HOST="localhost";   //主机名
    	public final static String USERNAME="guest";   
    	public final static String PASSWORD="guest";   
    	public final static String EXCHANGE_NAME="direct.exchange.name";   
    	public final static String ROUTING_KEY1="rk1";   
    	public final static String ROUTING_KEY2="rk2";   
    	
    	public static void main(String[] args) throws IOException {
    		producer();
    	}
    
    	private static void producer() throws IOException {
    		ConnectionFactory factory=new ConnectionFactory();//创建一个连接工厂,用于生成与RabbitMQ进行连接
    		factory.setHost(HOST);//根据这个连接工厂设置RabbitMQ所在的主机,账号密码和端口号等(默认情况下就不需要账号密码和端口了)
    		factory.setUsername(USERNAME);
    		factory.setPassword(PASSWORD);
    		Connection connection = factory.newConnection();
    		
    		Channel channel = connection.createChannel();
    		channel.exchangeDeclare(EXCHANGE_NAME, "direct");
    		channel.basicPublish(EXCHANGE_NAME, ROUTING_KEY1, null, "这里是客户端,这是由交换机和路由键1绑定的队列信息".getBytes());
    		channel.basicPublish(EXCHANGE_NAME, ROUTING_KEY2, null, "这里是客户端,这是由交换机和路由键2绑定的队列信息".getBytes());
    		channel.close();
            connection.close();
            System.out.println("客户端信息发送完毕!");
    	}
    }
    

    消费者:

    package rabbitmqDemo.demo2.direct;
    
    import java.io.IOException;
    
    import com.rabbitmq.client.AMQP;
    import com.rabbitmq.client.Channel;
    import com.rabbitmq.client.Connection;
    import com.rabbitmq.client.ConnectionFactory;
    import com.rabbitmq.client.Consumer;
    import com.rabbitmq.client.DefaultConsumer;
    import com.rabbitmq.client.Envelope;
    
    public class Direct_Consumer_demo2 {
    
    	public static void main(String[] args) throws IOException {
    		consumer();
    	}
    	
    
    	public final static String QUEUENAME="mq.test_demo1";//队列名称
    	public final static String HOST="localhost";   //主机名
    	public final static String USERNAME="guest";   
    	public final static String PASSWORD="guest";   
    	public final static String EXCHANGE_NAME="direct.exchange.name";   
    	public final static String ROUTING_KEY1="rk1";   
    	public final static String ROUTING_KEY2="rk2";
    	
    	private static void consumer() throws IOException {
    		ConnectionFactory factory=new ConnectionFactory();//创建一个连接工厂,用于生成与RabbitMQ进行连接
    		factory.setHost(HOST);//根据这个连接工厂设置RabbitMQ所在的主机,账号密码和端口号等(默认情况下就不需要账号密码和端口了)
    		factory.setUsername(USERNAME);
    		factory.setPassword(PASSWORD);
    		Connection connection = factory.newConnection();
    		
    		Channel channel = connection.createChannel();
    		String queueName = channel.queueDeclare().getQueue();//获取队列名称
    		channel.exchangeDeclare(EXCHANGE_NAME, "direct");
    		//绑定队列名。交换器和路由键
    		channel.queueBind(queueName, EXCHANGE_NAME, ROUTING_KEY1);
    		channel.queueBind(queueName, EXCHANGE_NAME, ROUTING_KEY2);
    		
            Consumer consumer = new DefaultConsumer(channel) {
                @Override
                public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
                    String message = new String(body, "UTF-8");
                    System.out.println("路由键" + envelope.getRoutingKey() + "收到消息:    " + message + "'");
                }
            };
            channel.basicConsume(queueName, true, consumer);
    	}
    }
    
    

    fanout-扇形交换机:

    生产者:

    package rabbitmqDemo.demo2.direct;
    
    import java.io.IOException;
    
    import com.rabbitmq.client.Channel;
    import com.rabbitmq.client.Connection;
    import com.rabbitmq.client.ConnectionFactory;
    
    /**
     * 扇形交换机生产者测试
     * 扇形交换机简单概念:
     * fanout类型交换机会将接收到的消息广播给所有与之绑定的队列,也就是和路由键没有很大关系了
     * @author fei
     *
     */
    public class Fanout_Producer_demo3 {
    
    	
    
    	public final static String QUEUENAME="mq.test_demo1";//队列名称
    	public final static String HOST="localhost";   //主机名
    	public final static String USERNAME="guest";   
    	public final static String PASSWORD="guest";   
    	public final static String EXCHANGE_NAME="fanout.exchange.name";   
    	public final static String EXCHANGE_NAME2="fanout.exchange.name2";   
    	public final static String ROUTING_KEY1="rk1";   
    	public final static String ROUTING_KEY2="rk2";   
    	
    	public static void main(String[] args) throws IOException {
    		producer();
    	}
    
    	private static void producer() throws IOException {
    		ConnectionFactory factory=new ConnectionFactory();//创建一个连接工厂,用于生成与RabbitMQ进行连接
    		factory.setHost(HOST);//根据这个连接工厂设置RabbitMQ所在的主机,账号密码和端口号等(默认情况下就不需要账号密码和端口了)
    		factory.setUsername(USERNAME);
    		factory.setPassword(PASSWORD);
    		Connection connection = factory.newConnection();
    		Channel channel = connection.createChannel();
    		//绑定交换机1
    		channel.exchangeDeclare(EXCHANGE_NAME, "fanout");
    		channel.basicPublish(EXCHANGE_NAME, ROUTING_KEY1, null, "这里是客户端,这是由交换机1绑定的队列信息1(fanout)".getBytes());
    		channel.basicPublish(EXCHANGE_NAME, ROUTING_KEY2, null, "这里是客户端,这是由交换机1绑定的队列信息2(fanout)".getBytes());
    		//绑定交换机2
    		channel.exchangeDeclare(EXCHANGE_NAME2, "fanout");
    		channel.basicPublish(EXCHANGE_NAME2, ROUTING_KEY1, null, "这里是客户端,这是由交换机2绑定的队列信息3(fanout)".getBytes());
    		channel.basicPublish(EXCHANGE_NAME2, ROUTING_KEY2, null, "这里是客户端,这是由交换机2绑定的队列信息4(fanout)".getBytes());
    		channel.close();
            connection.close();
            System.out.println("客户端信息发送完毕!");
    	}
    }
    
    

    消费者:

    package rabbitmqDemo.demo2.direct;
    
    import java.io.IOException;
    
    import com.rabbitmq.client.AMQP;
    import com.rabbitmq.client.Channel;
    import com.rabbitmq.client.Connection;
    import com.rabbitmq.client.ConnectionFactory;
    import com.rabbitmq.client.Consumer;
    import com.rabbitmq.client.DefaultConsumer;
    import com.rabbitmq.client.Envelope;
    
    public class Fanout_Consumer_demo3 {
    
    	public static void main(String[] args) throws IOException {
    		consumer();
    	}
    	
    
    	public final static String QUEUENAME="mq.test_demo1";//队列名称
    	public final static String HOST="localhost";   //主机名
    	public final static String USERNAME="guest";   
    	public final static String PASSWORD="guest";   
    	public final static String EXCHANGE_NAME2="fanout.exchange.name2";   
    	public final static String ROUTING_KEY1="rk1";   
    	public final static String ROUTING_KEY2="rk2";
    	
    	private static void consumer() throws IOException {
    		ConnectionFactory factory=new ConnectionFactory();//创建一个连接工厂,用于生成与RabbitMQ进行连接
    		factory.setHost(HOST);//根据这个连接工厂设置RabbitMQ所在的主机,账号密码和端口号等(默认情况下就不需要账号密码和端口了)
    		factory.setUsername(USERNAME);
    		factory.setPassword(PASSWORD);
    		Connection connection = factory.newConnection();
    		
    		Channel channel = connection.createChannel();
    		String queueName = channel.queueDeclare().getQueue();//获取队列名称
    		channel.exchangeDeclare(EXCHANGE_NAME2, "fanout");
    		//绑定队列名。交换器和路由键
    //		channel.queueBind(queueName, EXCHANGE_NAME, ROUTING_KEY1);
    		channel.queueBind(queueName, EXCHANGE_NAME2, ROUTING_KEY2);//路由键随便写了,fanout跟路由键无关
            Consumer consumer = new DefaultConsumer(channel) {
                @Override
                public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
                    String message = new String(body, "UTF-8");
                    System.out.println("路由键" + envelope.getRoutingKey() + "收到消息:    " + message + "'");
                }
            };
            channel.basicConsume(queueName, true, consumer);
    	}
    }
    
    

    消费端收到信息:
    在这里插入图片描述
    可以看出,生产者这边通过两个交换机发送数据,消费者那边通过接收第二个交换机可以接收到数据。同时就算使用了路由键2进行绑定,但还是能接收到路由键1发送的数据,说明faout交换机和路由键其实是没什么关系的。这就是扇形交换机。

    topic交换机-主题交换机

    生产者:

    package rabbitmqDemo.demo2.direct;
    
    import java.io.IOException;
    
    import com.rabbitmq.client.Channel;
    import com.rabbitmq.client.Connection;
    import com.rabbitmq.client.ConnectionFactory;
    
    /**
     * TOPIC交换机生产者测试
     * TOPIC交换机简单概念:
     * TOPIC-主题交换机,用于匹配一个或多个路由键的,可以用*代替
     * @author fei
     *
     */
    public class Topic_Producer_demo4 {
    
    	
    
    	public final static String QUEUENAME="mq.test_demo1";//队列名称
    	public final static String HOST="localhost";   //主机名
    	public final static String USERNAME="guest";   
    	public final static String PASSWORD="guest";   
    	public final static String EXCHANGE_NAME="topic.exchange.name";   
    	public final static String ROUTING_KEY1="apple.rk1";   
    	public final static String ROUTING_KEY2="apple.rk2";   
    	public final static String ROUTING_KEY3="apple.rk3";   
    	public final static String ROUTING_KEY4="banana.rk1";   
    	public final static String ROUTING_KEY5="banana.rk2";   
    	public final static String ROUTING_KEY6="banana.rk3";   
      
    	
    	public static void main(String[] args) throws IOException {
    		producer();
    	}
    
    	private static void producer() throws IOException {
    		ConnectionFactory factory=new ConnectionFactory();//创建一个连接工厂,用于生成与RabbitMQ进行连接
    		factory.setHost(HOST);//根据这个连接工厂设置RabbitMQ所在的主机,账号密码和端口号等(默认情况下就不需要账号密码和端口了)
    		factory.setUsername(USERNAME);
    		factory.setPassword(PASSWORD);
    		Connection connection = factory.newConnection();
    		Channel channel = connection.createChannel();
    		//往多个路由键绑定消息
    		channel.exchangeDeclare(EXCHANGE_NAME, "topic");
    		channel.exchangeDeclare(EXCHANGE_NAME, "topic");
    		channel.basicPublish(EXCHANGE_NAME, ROUTING_KEY1, null, (ROUTING_KEY1+"路由键-客户端发送").getBytes());
    		channel.basicPublish(EXCHANGE_NAME, ROUTING_KEY2, null, (ROUTING_KEY2+"路由键-客户端发送").getBytes());
    		channel.basicPublish(EXCHANGE_NAME, ROUTING_KEY3, null, (ROUTING_KEY3+"路由键-客户端发送").getBytes());
    		channel.basicPublish(EXCHANGE_NAME, ROUTING_KEY4, null, (ROUTING_KEY4+"路由键-客户端发送").getBytes());
    		channel.basicPublish(EXCHANGE_NAME, ROUTING_KEY5, null, (ROUTING_KEY5+"路由键-客户端发送").getBytes());
    		channel.basicPublish(EXCHANGE_NAME, ROUTING_KEY6, null, (ROUTING_KEY6+"路由键-客户端发送").getBytes());
    		channel.close();
            connection.close();
            System.out.println("客户端信息发送完毕!");
    	}
    }
    
    

    消费者:

    package rabbitmqDemo.demo2.direct;
    
    import java.io.IOException;
    
    import com.rabbitmq.client.AMQP;
    import com.rabbitmq.client.Channel;
    import com.rabbitmq.client.Connection;
    import com.rabbitmq.client.ConnectionFactory;
    import com.rabbitmq.client.Consumer;
    import com.rabbitmq.client.DefaultConsumer;
    import com.rabbitmq.client.Envelope;
    
    public class Topic_Consumer_demo4 {
    
    	public static void main(String[] args) throws IOException {
    		consumer();
    	}
    	
    
    	public final static String QUEUENAME="mq.test_demo1";//队列名称
    	public final static String HOST="localhost";   //主机名
    	public final static String USERNAME="guest";   
    	public final static String PASSWORD="guest";   
    	public final static String EXCHANGE_NAME="topic.exchange.name";   
    	
    	private static void consumer() throws IOException {
    		ConnectionFactory factory=new ConnectionFactory();//创建一个连接工厂,用于生成与RabbitMQ进行连接
    		factory.setHost(HOST);//根据这个连接工厂设置RabbitMQ所在的主机,账号密码和端口号等(默认情况下就不需要账号密码和端口了)
    		factory.setUsername(USERNAME);
    		factory.setPassword(PASSWORD);
    		Connection connection = factory.newConnection();
    		
    		Channel channel = connection.createChannel();
    		String queueName = channel.queueDeclare().getQueue();//获取队列名称
    		channel.exchangeDeclare(EXCHANGE_NAME, "topic");
    		//绑定队列名。交换器和路由键
    		channel.queueBind(queueName, EXCHANGE_NAME, "banana.*");//路由键用通配符匹配
            Consumer consumer = new DefaultConsumer(channel) {
                @Override
                public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
                    String message = new String(body, "UTF-8");
                    System.out.println("路由键" + envelope.getRoutingKey() + "收到消息:    " + message + "'");
                }
            };
            channel.basicConsume(queueName, true, consumer);
    	}
    }
    
    

    打印消息:
    在这里插入图片描述

    可以看到,直接匹配banana.会获得绑定前缀为banana的路由键的消息。同理如果获取apple.,就会获取apple前缀的路由键发送的消息。

    头部(header)交换机

    头部交换机其实还是和其他交换机有所区别而且一开始难以理解,其实可以参考下这个解释:
    在这里插入图片描述
    看图示说明基本上就可以理解了。下面直接上该交换机的demo进行讲解:

    生产者:

    package rabbitmqDemo.demo2.direct;
    
    import java.io.IOException;
    import java.util.Hashtable;
    import java.util.Map;
    
    import org.springframework.amqp.core.ExchangeTypes;
    
    
    import com.rabbitmq.client.AMQP.BasicProperties.Builder;
    import com.rabbitmq.client.Channel;
    import com.rabbitmq.client.Connection;
    import com.rabbitmq.client.ConnectionFactory;
    
    /**
     * Headers交换机生产者测试
     * Headers交换机简单概念:
     * Headers-头部交换机,headers类型的交换机分发消息不依赖routingKey,是使用发送消息时basicProperties对象中的headers来匹配的。
     * @author fei
     *
     */
    public class Headers_Producer_demo5 {
    
    	
    
    	public final static String QUEUENAME="mq.test_demo1";//队列名称
    	public final static String HOST="localhost";   //主机名
    	public final static String USERNAME="guest";   
    	public final static String PASSWORD="guest";   
    	public final static String EXCHANGE_NAME="header.exchange.name";   
    	public final static String ROUTING_KEY1="apple.rk1";   
     
      
    	
    	public static void main(String[] args) throws IOException {
    		producer();
    	}
    
    	private static void producer() throws IOException {
    		ConnectionFactory factory=new ConnectionFactory();//创建一个连接工厂,用于生成与RabbitMQ进行连接
    		factory.setHost(HOST);//根据这个连接工厂设置RabbitMQ所在的主机,账号密码和端口号等(默认情况下就不需要账号密码和端口了)
    		factory.setUsername(USERNAME);
    		factory.setPassword(PASSWORD);
    		Connection connection = factory.newConnection();
    		Channel channel = connection.createChannel();
    		//往多个路由键绑定消息
    		channel.exchangeDeclare(EXCHANGE_NAME, "headers");
    		
    
    		//设置消息头键值对信息
    		Map<String, Object> headers = new Hashtable<String, Object>();
    		headers.put("key1", "v1");
    		headers.put("key2" , 66);
    		Builder builder = new Builder();
    		builder.headers(headers);
    		channel.basicPublish(EXCHANGE_NAME, "", builder.build(), "头部交换器客户端发出的信息".getBytes());
    		channel.close();
            connection.close();
            System.out.println("客户端信息发送完毕!");
    	}
    }
    
    

    消费者:

    package rabbitmqDemo.demo2.direct;
    
    import java.io.IOException;
    import java.util.Hashtable;
    import java.util.Map;
    
    import com.rabbitmq.client.AMQP;
    import com.rabbitmq.client.Channel;
    import com.rabbitmq.client.Connection;
    import com.rabbitmq.client.ConnectionFactory;
    import com.rabbitmq.client.Consumer;
    import com.rabbitmq.client.DefaultConsumer;
    import com.rabbitmq.client.Envelope;
    
    public class Headers_Consumer_demo5 {
    
    	public static void main(String[] args) throws IOException {
    		consumer();
    	}
    	
    
    	public final static String QUEUENAME="mq.test_demo1";//队列名称
    	public final static String HOST="localhost";   //主机名
    	public final static String USERNAME="guest";   
    	public final static String PASSWORD="guest";   
    	public final static String EXCHANGE_NAME="header.exchange.name";   
    	
    	private static void consumer() throws IOException {
    		ConnectionFactory factory=new ConnectionFactory();//创建一个连接工厂,用于生成与RabbitMQ进行连接
    		factory.setHost(HOST);//根据这个连接工厂设置RabbitMQ所在的主机,账号密码和端口号等(默认情况下就不需要账号密码和端口了)
    		factory.setUsername(USERNAME);
    		factory.setPassword(PASSWORD);
    		Connection connection = factory.newConnection();
    		
    		Channel channel = connection.createChannel();
    		String queueName = channel.queueDeclare().getQueue();//获取队列名称
    		channel.exchangeDeclare(EXCHANGE_NAME, "headers");
    		//设置消息头键值对信息
    		Map<String, Object> headers = new Hashtable<String,Object>();
    		//这里x-match有两种类型
    		//all:表示所有的键值对都匹配才能接受到消息
    		//any:表示只要有键值对匹配就能接受到消息
    		headers.put("x-match", "any");//改为all就无法匹配所有,就收不到生产者那边的消息了
    		headers.put("key1", "v1");
    		headers.put("key2" , 63);
    		//绑定队列名。头部-交换器
    		channel.queueBind(queueName, EXCHANGE_NAME,"", headers);//传入k-v对
            Consumer consumer = new DefaultConsumer(channel) {
                @Override
                public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
                    String message = new String(body, "UTF-8");
                    System.out.println(headers.get("x-match")+"类型的消费端收到消息:    " + message + "'");
                }
            };
            channel.basicConsume(queueName, true, consumer);
    	}
    }
    
    

    消费者消费信息为:
    在这里插入图片描述

    在此,四种常见的交换机例子编写完毕。这已经是完整的代码,需要复制到自己的IDE看一看。慢慢来就会越来越熟悉,后续看原理的时候,就会豁然开朗的!

    展开全文
  • 普通交换机工作在链路层,即二层交换机,无路由功能,也就是只能同一个网段的机器才能通信,现以思科3550交换机为例配置三层路由功能
  • 对于sw交换机,它将网络划分为两个VLAN分别为VALN10和VLAN20,它的F1/1接口F1/2接口分别两台PC主机相连,所以要选择接入模式(access),为了能使PC1主机PC2主机相互通讯,它的F1/0接口要选择中继模式(trunk...

    单臂路由:单臂路由(router-on-a-stick)是指在路由器的一个接口上通过配置子接口(或“逻辑接口”,并不存在真正物理接口)的方式,实现原来相互隔离的不同VLAN(虚拟局域网)之间的互联互通。

    路由器的物理接口可以被划分成多个逻辑接口,这些被划分后的逻辑接口被形象的称为子接口。值得注意的是这些逻辑子接口不能被单独的开启或关闭,也就是说,当物理接口被开启或关闭时,所有的该接口的子接口也随之被开启或关闭。

    三层交换机工作原理:三层交换是在网络交换机中引入路由模块而取代传统路由器实现交换与路由相结合的网络技术。它根据实际应用时的情况,灵活地在网络第二层或者第三层进行网络分段。具有三层交换功能的设备是一个带有第三层路由功能的第二层交换机

    第三层交换机的设计基于对IP路由的仔细分析,把IP路由中每个报文都必须经过的过程提取出来,这个过程是十分简化的过程。IP路由中绝大多数报文是不包含选项的报文,因此在多数情况下处理报文IP选项的工作是多余的。不同网络的报文长度是不同的,为了适应不同的网络,IP要实现报文分片的功能,但是在全以太网的环境中,网络的帧长度是固定的,因此报文分片也是一个可以省略的工作。

    RIP协议:RIP是应用层协议。使用UDP(520端口)数据报传送。

    动态协议是根据度量值选择相应的路由路径,常见的度量值有跳数、带宽、负载、时延、可靠性、成本
    而RIP是只根据距离矢量,也就是跳数(因为每经过一个路由器,跳数就加 1。这里的“距离”实际上指的是“最短距离”)来作为度量选择路径
    RIP 允许一条路径最多只能包含 15 个路由器。“距离”的最大值为16 时即相当于不可达。可见 RIP 只适用于小型互联网
    距离矢量路由协议,缺乏灵活性

    OSPF协议:OSPF协议是一种链路状态协议。每个路由器负责发现、维护与邻居的关系,并将已知的邻居列表和链路费用LSU(Link State Update)报文描述,通过可靠的泛洪与自治系统AS(Autonomous System)内的其他路由器周期性交互,学习到整个自治系统的网络拓扑结构;并通过自治系统边界的路由器注入其他AS的路由信息,从而得到整个Internet的路由信息。每隔一个特定时间或当链路状态发生变化时,重新生成LSA,路由器通过泛洪机制将新LSA通告出去,以便实现路由的实时更新

    工作过程

    1、初始化形成端口初始信息:在路由器初始化或网络结构发生变化(如链路发生变化,路由器新增或损坏)时,相关路由器会产生链路状态广播数据包LSA,该数据包里包含路由器上所有相连链路,也即为所有端口的状态信息。
    2、路由器间通过泛洪(Floodingl机制交换链路状态信息:各路由器一方面将其LSA数据包传送给所有与其相邻的OSPF路由器,另一方面接收其相邻的OSPF路由器传来的LSA数据包,根据其更新自己的数据库
    3、形成稳定的区域拓扑结构数据库:OSPF路由协议通过泛洪法逐渐收敛,形成该区域拓扑结构的数据库,这时所有的路由器均保留了该数据库的一个副本。
    4、形成路由表:所有的路由器根据其区域拓扑结构数据库副本采用最短路径法计算形成各自的路由表。
    在OSPF协议中主要有5中包和7个状态

    5种包:

    1.问候(Hello)包
    OSPF使用Hello分组建立和维护邻接关系。在一个路由器能够给其他路由器分发它的邻居信息前,必须先问候它的邻居们。
    2.数据库描述(Data base Description,DBD)包
    DBD分组不包含完整的“链路状态数据库”信息,只包含数据库中每个条目的概要。当一个路由器首次连入网络,或者刚刚从故障中恢复时,它需要完整的“链路状态数据库”信息。此时,该路由器首先通过hello分组与邻居们建立双向通信关系,然后将会收到每个邻居反馈的DBD分组。新连入的这个路由器会检查所有概要,然后发送一个或多个链路状态请求分组,取回完整的条目信息。
    3.链路状态请求(Link State Request,LSR)包
    LSR分组用来请求邻居发送其链路状态数据库中某些条目的详细信息。当一个路由器与邻居交换了数据库描述分组后,如果发现它的链路状态数据库缺少某些条目或某些条目已过期,就使用LSR分组来取得邻居链路状态数据库中较新的部分。
    4.链路状态更新(Link State Update,LSU)包
    LSU分组被用来应答链路状态请求分组,也可以在链路状态发生变化时实现洪泛(flooding)。在网络运行过程中,只要一个路由器的链路状态发生变化,该路由器就要使用LSU,用洪泛法向全网更新链路状态。
    5.链路状态确认(Link State Acknowledgment,LSAck)包
    LSAck分组被用来应答链路状态更新分组,对其进行确认,从而使得链路状态更新分组采用的洪泛法变得可靠。

    路由重分发在大型的企业中,可能在同一网内使用到多种路由协议,为了实现多种路由协议的协同工作,路由器可以使用路由重分发(route redistribution)将其学习到的一种路由协议的路由通过另一种路由协议广播出去,这样网络的所有部分都可以连通了。 为了实现重分发,路由器必须同时运行多种路由协议,这样,每种路由协议才可以取路由表中的所有或部分其他协议的路由来进行广播。

    路由重分发语法:

    在这里插入图片描述

    试验拓扑图如下在这里插入图片描述
    对于sw交换机,它将网络划分为两个VLAN分别为VALN10和VLAN20,它的F1/1接口与F1/2接口分别与两台PC主机相连,所以要选择接入模式(access),为了能使PC1主机与PC2主机相互通讯,它的F1/0接口要选择中继模式(trunk),通过F1/0转发出去的数据都会贴上标签,vlan10或者vlan20,而R1作为单臂路由会将标签转换,通过F0/1接口传输到交换机,交换机又会识别标签,选好接口后,将标签脱下,传输到指定接口后发给PC机。
    sw配置:
    1创建vlan10和vlan20,并将f1/1接口与f1/2接口选择接入模式(access),其中f1/1接口划分在vlan10中,f1/2接口划分在vlan20中
    在这里插入图片描述
    查看vlan信息
    在这里插入图片描述
    f1/0接口选择中继模式,
    在这里插入图片描述
    2.R1路由器它既作为单臂路由,负责vlan标签的转换,其中f0/0接口又身处在area 1区域中,所以要开启OSPF协议,宣告网段12.0.0.0在area1中。
    在f0/1中创建两个逻辑子接口f0/1.1与f0/1.2,f0/1.1接口IP地址为192.168.10.1划分为vlan10,封装类型属于dot1q,f0/1.2接口IP地址192.168.20.1划分为vlan20,封装类型dot1q。
    在这里插入图片描述
    f0/0接口配置IP地址12.0.0.1,启用OSPF协议,宣告网段12.0.0.0在area1区域中,
    在这里插入图片描述
    在这里插入图片描述
    3.R3路由器作为区域间的ABR,他要开启OSPF协议,要将学习到的区域间网段宣告给R1路由器与R3路由器,而他为了可以访问14.0.0.0网段,要设置静态路由器,
    首先接口IP地址配置
    在这里插入图片描述
    启用OSPF协议,宣告网段
    在这里插入图片描述
    为了可以访问14.0.0.0网段,设置为静态路由器,并将静态路由重分发到OSPF协议中
    在这里插入图片描述
    在这里插入图片描述
    4.R4路由器作为ASBR,既要将内部网络宣告给外部网络,也要将外部网络宣告给内部网络,它自身处在OSPF协议与RIP协议中
    配置接口IP地址
    在这里插入图片描述分别启用OSPF协议与RIP协议
    在这里插入图片描述
    在这里插入图片描述
    在OSPF协议中分别将RIP协议与静态路由重分发到OSPF协议中
    在这里插入图片描述
    在RIP协议中,要将OSPF协议重分发到RIP协议中
    在这里插入图片描述
    5.sw3作为三层交换机,既有部分路由功能又有交换机功能,其中作为路由器,它身处在RIP协议中,所以要开启RIP协议,并可以将14.0.0.0网段,192.168.30.0网段,192.168.40.0网段在RIP协议中宣告
    f0/0接口配置IP地址,并开启RIP协议
    在这里插入图片描述
    f1/0接口创建VLAN10与VLAN20,选择中继链路模式,选择封装类型dot1q,并在vlan10配置192.168.30.1网关地址,vlan20配置192.168.40.1网关地址
    在这里插入图片描述
    6.sw2交换机作用于sw交换机作用相同,对于sw交换机,它将网络划分为两个VLAN分别为VALN10和VLAN20,它的F1/1接口与F1/2接口分别与两台PC主机相连,所以要选择接入模式(access),为了能使PC3主机与PC4主机相互通讯,它的F1/0接口要选择中继模式(trunk),通过F1/0转发出去的数据都会贴上标签,vlan10或者vlan20,而R1作为单臂路由会将标签转换,通过F0/1接口传输到交换机,交换机又会识别标签,选好接口后,将标签脱下,传输到指定接口后发给PC机。
    f1/0配置
    在这里插入图片描述
    f1/1配置与f1/2配置
    在这里插入图片描述
    7.PC1主机IP地址192.168.10.10网关地址192.168.10.1
    在这里插入图片描述
    PC2主机IP地址192.168.20.20网关地址192.168.20.1
    在这里插入图片描述
    PC3主机IP地址192.168.30.30网关地址192.168.30.1
    在这里插入图片描述
    PC4主机IP地址192.168.40.40网关地址192.168.40.1
    在这里插入图片描述
    现在PC1主机与PC2主机相互ping通,验证
    在这里插入图片描述
    PC3主机与PC4主机相互ping通,验证
    在这里插入图片描述
    为了4台主机相互通讯,我们先查看R1路由表,可以看到所以网段都在路由表中,说明R1路由器配置完毕
    在这里插入图片描述
    查看R3路由表和R4路由表和sw3路由表,可以看到对于它们的路由表而言,它都缺少192.168.10.0网段和192.168.20.网段,说明在R1路由器中没有将19.168.10.1网段和192.168.20.网段重分发到OSPF中,所以,配置R1路由表,将直连网段重分发到OSPF中
    在这里插入图片描述

    在这里插入图片描述
    R1路由器配置,
    在这里插入图片描述
    查看R3路由表
    在这里插入图片描述
    R4路由表
    在这里插入图片描述sw3路由表
    在这里插入图片描述
    现在PC1主机分别ping通PC2,PC3,PC4主机
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    全网互通
    实验总结:

    将OSPF协议重分发到RIP协议中, 命令:redistribute ospf 1 metric 5(RIP协议的度量值跳数)

    将RIP协议重分发到OSPF协议中, 命令 :redistribute rip subnets

    将静态路由重分发到OSPF协议中, 命令 :redistribute connected subnets

    将直连网段重分发到OSPF协议中, 命令:redistribute static subnets

    将默认路由重分发到OSPF协议中, 命令:default-information origibate

    实验过程中,要注意的是在R1路由表中要将直连网段重分发到OSPF协议中,sw3中开启RIP协议后也要将192.168.30.0和192.168.40.0网段宣告在RIP协议中

    展开全文
  • 用三层交换机来实现单臂路由,实现不同vlan间的通信,有详细的实验拓扑图和命令
  • ENSP静态路由实验,两台交换机不同网段间互通。适用于高速行业收费及监控网络。新手必回技能。配置简单,适用性强。
  • 多层交换机静态路由实验

    千次阅读 2018-04-10 21:36:46
    多层交换机静态路由实验一、 实验目的1、 理解三层交换机进行路由的原理和具体实现拓扑;2、 理解三层交换机静态路由的配置方法;二、 应用环境当两台三层交换机级联时,为了保证每台交换机上所连接的网段可以和...

    多层交换机静态路由实验

    一、       实验目的

    1  理解三层交换机进行路由的原理和具体实现拓扑;

    2、  理解三层交换机静态路由的配置方法;

    二、       应用环境

    当两台三层交换机级联时,为了保证每台交换机上所连接的网段可以和另一台交换机上连接的网段互相通信,最简单的方法就是设置静态路由。

    三、       实验设备

    1  DCRS-7604(或6804)交换机1台

    2  DCRS-5526S交换机1台

    3  PC机2-4台

    4  Console线1-2根

    5  直通网线2-4根

    四、       实验拓扑

     

    五、       实验要求

    1  在交换机A和交换机B上分别划分基于端口的VLAN:

    交换机

    VLAN 

    端口成员 

    交换机A

    10

    1~8

    20

    9~16

    100

    24

    交换机B

    30

    1~8

    40

    9~16

    101

    24

    2  交换机A和B通过的24口级联。

    3  配置交换机A和B各VLAN虚拟接口的IP地址分别如下表所示:

    VLAN10

    VLAN20

    VLAN30

    VLAN40

    VLAN100

    VLAN101

    192.168.10.1

    192.168.20.1

    192.168.30.1

    192.168.40.1

    192.168.100.1

    192.168.100.2

    4  PC1-PC4的网络设置为:

    设备

    IP地址

    gateway

    Mask

    PC1 

    192.168.10.101

    192.168.10.1

    255.255.255.0 

    PC2 

    192.168.20.101

    192.168.20.1

    255.255.255.0 

    PC3

    192.168.30.101

    192.168.30.1

    255.255.255.0 

    PC4 

    192.168.40.101 

    192.168.40.1

    255.255.255.0 

    5  验证:

    l         没有静态路由之前:

    PC1与PC2,PC3与PC4可以互通。

    PC1、PC2与PC3、PC4不通。

    l         配置静态路由之后:

    四台PC之间都可以互通。

    l         若实验结果和理论相符,则本实验完成。

    六、       实验步骤

    第一步:交换机全部恢复出厂设置,配置交换机的VLAN信息

    交换机A:

    DCRS-7604#conf

    DCRS-7604(Config)#vlan 10

    DCRS-7604(Config-Vlan10)#switchport interface ethernet 1/1-8

    Set the port Ethernet1/1 access vlan 10 successfully

    Set the port Ethernet1/2 access vlan 10 successfully

    Set the port Ethernet1/3 access vlan 10 successfully

    Set the port Ethernet1/4 access vlan 10 successfully

    Set the port Ethernet1/5 access vlan 10 successfully

    Set the port Ethernet1/6 access vlan 10 successfully

    Set the port Ethernet1/7 access vlan 10 successfully

    Set the port Ethernet1/8 access vlan 10 successfully

    DCRS-7604(Config-Vlan10)#exit

    DCRS-7604(Config)#vlan 20

    DCRS-7604(Config-Vlan20)#switchport interface ethernet 1/9-16

    Set the port Ethernet1/9 access vlan 20 successfully

    Set the port Ethernet1/10 access vlan 20 successfully

    Set the port Ethernet1/11 access vlan 20 successfully

    Set the port Ethernet1/12 access vlan 20 successfully

    Set the port Ethernet1/13 access vlan 20 successfully

    Set the port Ethernet1/14 access vlan 20 successfully

    Set the port Ethernet1/15 access vlan 20 successfully

    Set the port Ethernet1/16 access vlan 20 successfully

    DCRS-7604(Config-Vlan20)#exit

    DCRS-7604(Config)#vlan 100

    DCRS-7604(Config-Vlan100)#switchport interface ethernet 1/24

    Set the port Ethernet1/24 access vlan 100 successfully

    DCRS-7604(Config-Vlan100)#exit

    DCRS-7604(Config)#

    验证配置:

    DCRS-7604#show vlan

    VLAN Name         Type       Media     Ports

    ---------------------------------------------------------------------------

    1    default      Static     ENET      Ethernet1/17        Ethernet1/18

                                           Ethernet1/19        Ethernet1/20

                                           Ethernet1/21        Ethernet1/22

                                           Ethernet1/23        Ethernet1/25

                                           Ethernet1/26        Ethernet1/27

                                           Ethernet1/28

    10   VLAN0010     Static     ENET      Ethernet1/1         Ethernet1/2

                                           Ethernet1/3         Ethernet1/4

                                           Ethernet1/5         Ethernet1/6

                                           Ethernet1/7         Ethernet1/8

    20   VLAN0020     Static     ENET      Ethernet1/9         Ethernet1/10

                                           Ethernet1/11        Ethernet1/12

                                           Ethernet1/13        Ethernet1/14

                                           Ethernet1/15        Ethernet1/16

    100  VLAN0100     Static     ENET      Ethernet1/24

    DCRS-7604#

     

    交换机B:

    DCRS-5526S(Config)#vlan 30                         

    DCRS-5526S(Config-Vlan30)#switchport interface ethernet 0/0/1-8                                                              

    Set the port Ethernet0/0/1 access vlan 30 successfully                                                     

    Set the port Ethernet0/0/2 access vlan 30 successfully                                                     

    Set the port Ethernet0/0/3 access vlan 30 successfully                                                      

    Set the port Ethernet0/0/4 access vlan 30 successfully                                                     

    Set the port Ethernet0/0/5 access vlan 30 successfully                                                     

    Set the port Ethernet0/0/6 access vlan 30 successfully                                                     

    Set the port Ethernet0/0/7 access vlan 30 successfully                                                     

    Set the port Ethernet0/0/8 access vlan 30 successfully                         

    DCRS-5526S(Config-Vlan30)#exit

    DCRS-5526S(Config)#vlan 40

    DCRS-5526S(Config-Vlan40)#switchport interface ethernet 0/0/9-16

    Set the port Ethernet0/0/9 access vlan 40 successfully

    Set the port Ethernet0/0/10 access vlan 40 successfully

    Set the port Ethernet0/0/11 access vlan 40 successfully

    Set the port Ethernet0/0/12 access vlan 40 successfully

    Set the port Ethernet0/0/13 access vlan 40 successfully

    Set the port Ethernet0/0/14 access vlan 40 successfully

    Set the port Ethernet0/0/15 access vlan 40 successfully

    Set the port Ethernet0/0/16 access vlan 40 successfully

    DCRS-5526S(Config-Vlan40)#exit

    DCRS-5526S(Config)#vlan 101

    DCRS-5526S(Config-Vlan101)#switchport interface ethernet 0/0/24

    Set the port Ethernet0/0/24 access vlan 101 successfully

    DCRS-5526S(Config-Vlan101)#exit

    DCRS-5526S(Config)#

    验证配置:

    DCRS-5526S#show vlan

    VLAN Name         Type       Media     Ports

    ----------------------------------- ---------------------------------------

    1    default      Static     ENET      Ethernet0/0/17      Ethernet0/0/18

                                           Ethernet0/0/19      Ethernet0/0/20

                                           Ethernet0/0/21      Ethernet0/0/22

                                           Ethernet0/0/23

    30   VLAN0030     Static     ENET      Ethernet0/0/1       Ethernet0/0/2

                                           Ethernet0/0/3       Ethernet0/0/4

                                           Ethernet0/0/5       Ethernet0/0/6

                                           Ethernet0/0/7       Ethernet0/0/8

    40   VLAN0040     Static     ENET      Ethernet0/0/9       Ethernet0/0/10

                                           Ethernet0/0/11      Ethernet0/0/12

                                           Ethernet0/0/13      Ethernet0/0/14

                                           Ethernet0/0/15      Ethernet0/0/16

    101  VLAN0101     Static     ENET      Ethernet0/0/24

    DCRS-5526S#

     

    第二步:配置交换机各vlan虚接口的IP地址

    交换机A:

    DCRS-7604(Config)#int vlan 10                            

    DCRS-7604(Config-If-Vlan10)#ip address 192.168.10.1 255.255.255.0

    DCRS-7604(Config-If-Vlan10)#no shut

    DCRS-7604(Config-If-Vlan10)#exit

    DCRS-7604(Config)#int vlan 20

    DCRS-7604(Config-If-Vlan20)#ip address 192.168.20.1 255.255.255.0

    DCRS-7604(Config-If-Vlan20)#no shut

    DCRS-7604(Config-If-Vlan20)#exit

    DCRS-7604(Config)#int vlan 100

    DCRS-7604(Config-If-Vlan100)#ip address 192.168.100.1 255.255.255.0

    DCRS-7604(Config-If-Vlan100)#no shut

    DCRS-7604(Config-If-Vlan100)#

    DCRS-7604(Config-If-Vlan100)#exit

    DCRS-7604(Config)#

     

    交换机B:

    DCRS-5526S(Config)#int vlan 30

    DCRS-5526S(Config-If-Vlan30)#ip address 192.168.30.1 255.255.255.0

    DCRS-5526S(Config-If-Vlan30)#no shut

    DCRS-5526S(Config-If-Vlan30)#exit

    DCRS-5526S(Config)#interface vlan 40

    DCRS-5526S(Config-If-Vlan40)#ip address 192.168.40.1 255.255.255.0

    DCRS-5526S(Config-If-Vlan40)#exit

    DCRS-5526S(Config)#int vlan 101

    DCRS-5526S(Config-If-Vlan101)#ip address 192.168.100.2 255.255.255.0

    DCRS-5526S(Config-If-Vlan101)#exit

    DCRS-5526S(Config)#

     

    第三步:配置各PC的IP地址,注意配置网关

     

    设备

    IP地址

    gateway

    Mask

    PC1 

    192.168.10.101

    192.168.10.1

    255.255.255.0 

    PC2 

    192.168.20.101

    192.168.20.1

    255.255.255.0 

    PC3

    192.168.30.101

    192.168.30.1

    255.255.255.0 

    PC4 

    192.168.40.101 

    192.168.40.1

    255.255.255.0 

     

    第四步:验证PC之间是否连通?

    PC

    端口

    PC

    端口

    结果

    原因

    PC1

    A:1/1

    PC2

    A:1/9

     

    PC1

    A:1/1

    Vlan 100

    A:1/24

     

    PC1

    A:1/1

    Vlan 101

    B:0/0/24

    不通

     

    PC1

    A:1/1

    PC3

    B:0/0/1

    不通

     

     

    查看路由表,进一步分析上一步的现象原因。

    交换机A:

    DCRS-7604#show ip route

    Total route items is 3, the matched route items is 3

    Codes: C - connected, S - static, R - RIP derived, O - OSPF derived

           A - OSPF ASE, B - BGP derived, D - DVMRP derived

    Destination           Mask         Nexthop        Interface    Preference

    C  192.168.10.0     255.255.255.0    0.0.0.0        Vlan10            0

    C  192.168.20.0     255.255.255.0    0.0.0.0        Vlan20            0

    C  192.168.100.0    255.255.255.0    0.0.0.0        Vlan100           0

    DCRS-7604#

    (C代表直连的网段)

     

    交换机B:

    DCRS-5526S#show ip route

    Total route items is 3, the matched route items is 3

    Codes: C - connected, S - static, R - RIP derived, O - OSPF derived

           A - OSPF ASE, B - BGP derived, D - DVMRP derived

    Destination           Mask         Nexthop        Interface    Preference

    C  192.168.30.0     255.255.255.0    0.0.0.0          Vlan30          0

    C  192.168.40.0     255.255.255.0    0.0.0.0          Vlan40          0

    C  192.168.100.0    255.255.255.0    0.0.0.0          Vlan101         0

    DCRS-5526S#

     

    第五步:配置静态路由

    交换机A:

    DCRS-7604(Config)#ip route 192.168.30.0 255.255.255.0 192.168.100.2

    DCRS-7604(Config)#ip route 192.168.40.0 255.255.255.0 192.168.100.2

    验证配置:

    DCRS-7604#show ip route

    Total route items is 5, the matched route items is 5

    Codes: C - connected, S - static, R - RIP derived, O - OSPF derived

           A - OSPF ASE, B - BGP derived, D - DVMRP derived

    Destination            Mask         Nexthop      Interface       Preference

    C  192.168.10.0     255.255.255.0    0.0.0.0        Vlan10            0

    C  192.168.20.0     255.255.255.0    0.0.0.0        Vlan20            0

    S  192.168.30.0     255.255.255.0    192.168.100.2  Vlan100           1

    S  192.168.40.0     255.255.255.0    192.168.100.2  Vlan100           1

    C  192.168.100.0    255.255.255.0    0.0.0.0        Vlan100           0

    DCRS-7604#

    (S代表静态配置的网段)

     

    交换机B:

    DCRS-5526S(Config)#ip route 192.168.10.0 255.255.255.0 192.168.100.1

    DCRS-5526S(Config)#ip route 192.168.20.0 255.255.255.0 192.168.100.1

    验证配置:

    DCRS-5526S#show ip route

    Total route items is 5, the matched route items is 5

    Codes: C - connected, S - static, R - RIP derived, O - OSPF derived

           A - OSPF ASE, B - BGP derived, D - DVMRP derived

    Destination           Mask       Nexthop     Interface      Preference

    S  192.168.10.0     255.255.255.0    192.168.100.1    Vlan101         1

    S  192.168.20.0     255.255.255.0    192.168.100.1    Vlan101         1

    C  192.168.30.0     255.255.255.0    0.0.0.0          Vlan30          0

    C  192.168.40.0     255.255.255.0    0.0.0.0          Vlan40          0

    C  192.168.100.0    255.255.255.0    0.0.0.0          Vlan101         0

    DCRS-5526S#

     

    第六步:验证PC之间是否连通?

    PC

    端口

    PC

    端口

    结果

    原因

    PC1

    A:1/1

    PC2

    A:1/9

     

    PC1

    A:1/1

    Vlan 100

    A:1/24

     

    PC1

    A:1/1

    Vlan 101

    B:0/0/24

     

    PC1

    A:1/1

    PC3

    B:0/0/1

     

     

    七、       注意事项和排错

    1  PC机一定要配置正确的网关,否则不能正常通信;

    2  两台交换机级联的端口可以在同一vlan,也可以在不同vlan。

    八、       配置序列

    九、       共同思考

    1  如果把交换机B上的vlan30改成vlan10,请问两台交换机上的vlan10是同一个VLAN么?

    2  第四步中,PC1 ping vlan101以及PC1 ping PC3都不通,其原因各是什么?

    十、       课后练习

    1  在交换机A和交换机B上分别划分基于端口的VLAN:

    交换机

    VLAN 

    端口成员 

    交换机A

    10

    2~8

    20

    9~16

    100

    1

    交换机B

    10

    2~8

    40

    9~16

    100

    1

    2  交换机A和B通过的24口级联。

    3  配置交换机A和B各VLAN虚拟接口的IP地址分别如下表所示:

    VLAN10_A

    VLAN20

    VLAN10_B

    VLAN40

    VLAN100_A

    VLAN10_B

    10.1.10.1

    10.1.20.1

    10.1.30.1

    10.1..40.1

    10.1.100.1

    10.1.100.2

    4  PC1-PC4的网络设置为:

    设备

    IP地址

    gateway

    Mask

    PC1 

    10.1.10.2

    10.1.10.1

    255.255.255.0 

    PC2 

    10.1.20.2

    110.1.20.1

    255.255.255.0 

    PC3

    10.1.30.2

    10.1.30.1

    255.255.255.0 

    PC4 

    10.1.40.2 

    10.140.1

    255.255.255.0 

    5  要求PC之间都可以通信

    十一、   相关配置命令详解

    ip route

    命令:ip route <ip_address> <mask> <gateway> [<preference>]

          no ip route <ip_address> <mask> <gateway> [<preference>]

    功能:配置静态路由;本命令的no操作为删除静态路由。

    参数:<ip_address><mask>分别为目的IP地址和子网掩码,点分十进制格式; <gateway>为下一跳的IP地址,点分十进制格式;<preference>为路由优先级,取值范围为1~255,preference的值越小优先级越高。

    缺省情况:DCRS-7604三层交换机的静态路由缺省优先级为1。

    命令模式:全局配置模式

    使用指南:在配置静态路由的下一跳时,可采用指定路由数据包发送下一跳IP地址方式。

    DCRS-7604三层交换机的各种路由类型缺省的preference为:

    路由类型

    Preference值

    直连路由

    0

    静态路由

    1

    OSPF

    110

    RIP

    120

    IBEP

    200

    EBGP

    20

    在不改变各种路由优先级值的情况下,直连路由优先级最高,依次是静态路由、EBGP、OSPF、RIP、IBGP。

    举例:

    例1.添加一条静态路由。

    Switch(config)#ip route 1.1.1.0 255.255.255.0 2.1.1.1

    例2.添加缺省路由。

    Switch(config)#ip route 0.0.0.0 0.0.0.0 2.2.2.1

    show ip route

    命令:show ip route [dest <destination>] [mask <destMask>] [nextHop <nextHopValue>] [protocol {connected | static | rip| ospf | ospf_ase | bgp | dvmrp}] [<vlan-id>] [preference <pref>] [count]

    功能:显示路由表。

    参数:<destination>为目标网络地址;<destMask>为目标网络的掩码;<nextHopValue>为下一跳IP地址;connected为直连路由;static为静态路由;rip 为RIP路由;ospf为OSPF路由;ospf_ase 为OSPF引入的路由;bgp 为BGP路由;dvmrp 为DVMRP路由;<vlan-id为Vlan标识符;<pref为路由优先级,取值范围为0~255;count为显示IP路由表项数量信息。

    命令模式:特权用户配置模式

    使用指南:显示核心路由表的内容,包括:路由类型、目的网络、掩码、下一跳地址、接口等。

     

    展开全文
  • 实现策略路由功能的设置是有前提条件的,1、交换机的固件是k.15.06及以后的版本;2、交换机的硬件模块是V2版本的模块
  • 华为交换机怎么配置静态路由?公司的华为交换机想要配置静态路由,因为把交换机当做路由使用,该怎么设置呢?下面我们就来看看详细的教程,需要的朋友可以参考下
  • 创建端口通道并分配端口 en conf ter int range fa0/3-5 ...激活模式链路聚合控制协议之间的关系 |模式||链路聚合协议| |——||——| |active|对应的一端是active或者passive| |passive|| |auto|| |desirable.
  • 刚入门的可以看看全程图解交换机和路由器的应用
  • pdf文档,使用华为交换机实现简单路由功能
  • H3C交换机静态路由配置

    千次阅读 2020-05-06 22:01:32
    R1: <H3C>sys [H3C]interface GigabitEthernet 0/0 [H3C-GigabitEthernet0/0]ip address 192.168.1.1 24 [H3C]interface GigabitEthernet 0/1 [H3C-GigabitEthernet0/1]ip address 172.168.1.1 24 ...
  • Cisco Packet Tracer 配置交换机与路由器静态路由

    万次阅读 多人点赞 2019-07-11 18:45:35
    大功告成,以上就是在Cisco Packet Tracer中配置交换机和路由器静态路由的详细步骤。 思考:为什么主机0ping主机1能ping通,主机0ping路由器0ping不通 因为只是设置了途径的每个路由器从一个主机到另一个主机下...
  • · 在Switch A上通过静态路由、TrackNQA联动,对到达Switch C的静态路由有效性进行实时判断。 2. 组网图 图1-14 NQA联动配置组网图 3. 配置步骤 (1) 配置各接口的IP地址。(配置过程略) (2) 在Switch A上配置...
  • 锐捷交换机路由配置 是PDF格式 大家可以去下载个pdf阅读器 即可
  • 利用三层交换机实现VLAN间路由
  • 三层交换机vlan路由配置,包括静态路由、默认路由、rip路由、ospf路由
  • 详细介绍华为交换机的单臂路由配置方法(附图)
  • 华为交换机配置静态路由

    千次阅读 2019-10-29 11:07:33
    处于不同交换机下(不同网段)的PC机,相互进行通信 配置思路 采用如下的思路配置IPv4静态路由: 创建VLAN并配置各接口所属VLAN,配置各VLANIF接口的IP地址,实现相邻设备网络互通。 在各主机上配置IP缺省...
  • 三层交换机实现路由器功能, 需要 主机, 三个交换机, 一个路由器 【效果图】 【配置代码】  注意!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 注意 端口 一定要对, ...
  • 三层交换机vlan路由的配置

    千次阅读 2021-02-03 19:13:38
    掌握vlan路由技术之三层交换机vlan路由的配置方法和结果验证。 二、实验内容 完成中兴三层交换机vlan路由的配置和结果验证。 三、实验过程 1、实验任务说明 如图1-1所示,PC1的IP为192.168.1.2/24,连接在二层交换的...
  • 利用三层交换机交换机实现 VLAN 间路由。在二层交换机上划分 VLAN 配置 Trunk 实现不同 VLAN 的主机接入,在三层交换机上划分VLAN 配置 Trunk 并配置 SVI 接口实现不同 VLAN 间路由

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 99,991
精华内容 39,996
关键字:

交换机与路由