网络路由的基本概念

为什么(why)

  • 说来惭愧,学计算机从本科算起来到现在已经有7年时间,如果打游戏也算对计算机学习的话,那就要从小学三年级开始了。最近,临近硕士毕业的时候,竟然对网络中的基本概念和基本认识没有理解,不知道其中的原理。
  • 最近,写硕士论文的时候,因为使用到了Teredo隧道知识,用到了Miredo软件搭建服务,因而又涉及到了网络路由的相关知识,但是我发现,名词都看的懂,但是就不是不明白背后是怎么运行。发现本科学习的计算机网络真是还给了老师。所以自己就最基本的网络路由的知识拾起点皮毛。

做什么(what)

  • 说来就是很简单的一件事,就是一台主机A,通过一个路由,ping通另一个网段的主机B。具体的看下图。
    ipv4_router_picture

    • 主机A 的ip地址为192.168.1.1
    • 主机B的IP地址为192.168.2.2
    • 中间路由器的与A相连的IP地址为192.168.1.2,与B相连的IP地址为192.168.2.1
  • 就是主机A可以ping通主机B的简单路由过程。
  • 如果把ipv4地址,换成ipv6地址会怎么样那?也就是下面的类似相同实验,使用ipv6地址的实验。具体网络拓扑图如下图所示。
    ipv6_router_picture

    • 主机A的IP地址为2001:10::1
    • 主机B的IP地址为2001:20::2
    • 中间路由器与A相连的IP地址为2001:10::2,与B相连的IP地址为2001:20::1

怎么做(how)

  • 基本的准备工作
    • 找到实验室三台空闲的机器(也可以使用虚拟机搭建,和物理机没有区别)
    • 其中一台机器有两块网卡(这个模拟路由器,也可以在虚拟机上模拟两块网卡)
  • 操作步骤

    • 配置静态IP(ubuntu配置方法),将3台机器按照上图的网络拓扑,设置静态IP

      • 修改/etc/network/interfaces文件,添加下面的信息

        • eth0
          1
          2
          3
          4
          iface eth0 inet static
          address 192.168.1.1
          netmask 255.255.255.0
          gateway 192.168.1.1
      • 重新启动机器或者使用命令重启网卡模块

        • restart ```(ubuntu没起作用)
          1
          2
          3
          4
          5
          6
          7
          8
          - 配置路由器上的ipv4数据包转发功能,linux系统默认是不开启数据包转发功能的
          - 修改/etc/sysctl.conf文件中的net.ipv4.ip_forward=0的值修改为1
          - 配置路由表
          - 此时从机器A,ping路由器IP192.168.1.2是可以ping通的,他们是同网段,并且是直接相连的
          - 但是此时ping 192.168.2.1或者192.168.2.2是ping不通的。他们不是同一网段的,所以ping不通
          - 此时我们需要将192.168.2.0网段的路由加到路由表中去,起始可以有两种做法
          - 第一种做法,添加192.168.2.0网段路由表项到路由表中
          - ``` sudo route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.2
          • 所有是192.168.2.0网段,掩码为255.255.255.0的数据包都发送到192.168.1.2的网关
        • 第二种做法,添加默认网关
          • sudo route add default gw 192.168.1.2
          • 如果数据包在路由表中没有符合的表项,都从网关192.168.1.2转发出去
      • 然后类似的规则配置机器B
      • 不同的操作系统默认路由配置不同(Centos会自己配置默认路由)
    • 这样就可以在机器A ping 通机器B了(注意如果B不配置路由的情况,ping包没有返回响应)
    • ipv6地址配置和ipv4配置类似。注意ipv6静态地址配置和路由表添加

      总结

  • 注意三个地方,A的路由表,B的路由表和路由器的转发
  • 网上关于Teredo隧道服务器安装文档较少,后面Teredo搭建成功了写一下安装过程吧。
坚持原创技术分享,您的支持将鼓励我继续创作!

热评文章