原文链接:http://www.freezhongzi.info/?p=104

OpenWrt网络结构

  OpenWrt的网络配置很丰富,在我看来几乎可以完成任何网络结构。下图为一个支持OpenWrt的路由器网络结构:这个路由器内部交换机有6个口,其中1个WAN口、4个LAN口、Port5默认连接内部网卡eth0,还有连接Wifi的无线网卡接eth2,eth3保留。

最让我惊奇的是OpenWrt网络的灵活性,它主要靠VLAN和(Bridging)网桥等实现。

VLAN

一般路由器为节约成本只有一张网卡(我的理解是以太网控制芯片),但如何接入多个网络呢?(路由器按常理至少要两张网卡吧),这就是VLAN的功劳啦。

VLAN(Virtual Local Area Network)是虚拟局域网缩写,是把局域网中的同一工作组的主机连在一起,隔绝不同的子网(在一个或多个交换机上),这种局限增强了工作组间的保密性,也减少了全面广播的副作用。用了VLAN也就把连接子网用的路由器给省了,省钱而且效率还很高。

VLAN需要路由器内置的交换机支持(一般都支持啦),最多可以划分4096个VLAN。一般使用只划分两个VLAN:WAN和LAN,分别对应外网和内网。如果是纯粹的VLAN,则WAN和LAN之间是隔离的,互相不能通信,但在自己的VLAN里可以自由通信。

Trunking

用一张网卡怎么连接两个网络呢?不知你是否留意到上图中的 Port5,Port5一边连接路由器,一边连接网卡eth0,它的作用就是连接vlan0和vlan1。这就是采用VLAN的Trunking技术,在Trunk Port(port5)经过的以太网帧上打标签(Tagging)用以区分来自那个VLAN,然后路由器用网卡eth0接收并处理标签从而处理(在CPU中处理),这就是所谓的单臂路由器,很形象啊:)。

Bridging

网桥说穿了就是交换机,它就是用软件模拟以太网交换机,连接多个以太网网卡(虚拟的或物理的)分享同一个IP子网。在OpenWrt中,网桥主要用来连接无线WIFI网络和LAN,组成一个统一的内部局域网

最后为了方便理解,我画了一张示意图用普通的交换机和路由器解释上面提到的VLAN、Trunking和Bridging:

参考

VLAN动画详解

OpenWrt network interface

Linux下的网桥

转载于:https://www.cnblogs.com/happygirl-zjj/p/6008365.html

OpenWrt网络结构相关推荐

  1. 威联通NAS安装openwrt旁路由

    设备:威联通451D(QTS5.0.0) 主路由:TP-LINK TL-WDR7660 网络结构 #mermaid-svg-OL3tFo4D2suJHtA7 {font-family:"tr ...

  2. 软路由折腾记(一)openwrt

    软路由 虚拟机安装软路由测试 先在虚拟机上安装软路由进行测试,找出问题并解决和记录. 然后在实体机上操作,更加快. 安装平台:VMware Workstation 找到对应的教程:Vmware搭建软路 ...

  3. OpenWrt入坑之路

    u盘启动盘制作 从官网下载combined-squashfs.img.gz镜像,为何不使用ext4镜像,因为squashfs镜像可以恢复,ext4改就改了,没有Overlay机制. 启动盘制作工具,使 ...

  4. 将EBAZ4205 ZYNQ 变为 OpenWrt 旁路由

    本文提供一个主线openwrt精简固件,包含opppelssh.地址 GitHub Elrori/openwrt-auto遵守GPL.该固件是在主线openwrt-19.07添加patches之后一次 ...

  5. Openwrt X86 独臂路由器改造

    之前使用独臂路由做旁路由,旁路由.小米3g无线路由,PC都在10.10.36.*网段下,无线路由和PC都配置旁路由网关.这样的设置虽然可以使所有设备上网,但是经常突然网络显示正常,却无法上网. 昨天上 ...

  6. 你懂的技术,懂你的OpenWrt!树莓派OpenWrt旁路由软路由入门教程,你懂的

    前言 许久不发文章了,哈哈.这次直接发个家庭服务器从0到1的全过程攻略.从零开始依靠家中的闲置硬件构建全功能的服务器.内容包括但不限于:1.网络功能增强2.服务器建设3.集群处理4.docker容器管 ...

  7. M401a系列:armbian下docker安装openwrt做旁路由

    在armbian下,输入armbian-software,下面就有openwrt的安装选项.直接会安装opub大佬的openwrt. 但是这个openwrt没有我需要的插件,所以直接用别的openwr ...

  8. OpenWrt之IPv6设置详解

    文章目录 前言 网络结构 1. WAN口设置 2. LAN口设置 3. NAT6配置 4. 接口状态 5. 网站测试 6. 关于端口放行 后话 前言 最近电信终于肯下发v6的地址了, 得为路由器配置一 ...

  9. OpenWrt无线Wifi客户端模式

    前一篇讲到了OpenWrt的网络结构,这一篇讲讲OpenWrt的Wifi客户端模式,这主要是满足那些懒得接网线的人:). Wifi一般用的是AP(Access Point)模式:无线路由器作为一个Wi ...

最新文章

  1. A + B Problem
  2. python多线程编程: 条件变量同步
  3. Unity版本使用情况统计报告
  4. Git删除不存在对应远程分支的本地分支
  5. python模块-time,datatime
  6. Asciidoctor Maven插件使用
  7. python字典常见操作
  8. Effective Python: bytes, str, unicode
  9. bzoj1814: Ural 1519 Formula 1 动态规划 插头dp
  10. php js的视频教程,【JS视频教程推荐】2021年最值得推荐的5个JavaScript视频教程
  11. (免费自取)厦门大学林子雨老师的spark(python)版本的pyspark链接hbase的jar包
  12. 嵌入式系统一般用c语言编写,ARM嵌入式系统C语言编程
  13. 教你炒股票28:回复(一)
  14. 单体架构和微服务架构
  15. jssdk 获取微信收货地址_微信公众号JSSDK 获取经纬度
  16. 微信小程序,将经纬度转化为城市地区(腾讯位置服务)
  17. python小车行走_[PYTHON系列教程]→控制小车
  18. 残差连接(skip connect)/(residual connections)
  19. 汽车电子EMC试验标准ISO11452
  20. Unity UGUI 背景图片自适应文字内容大小

热门文章

  1. 计算机辅助设计与制造考试题,计算机辅助设计与制造考试习题大集合..
  2. k均值的损失函数_机器学习:手撕 cross-entropy 损失函数
  3. 图像局部特征(十二)--BRISK特征
  4. SpringBoot+Swagger2
  5. MCU —— 数码管显示笔记
  6. C语言:输入一个华氏温度f,计算并输出对应的摄氏温度。计算摄氏温度的公式为:c=5/9*(f-32),输出取两位小数。
  7. C语言分支循环结构1,c语言——运算符、分支结构、循环结构(示例代码)
  8. 【C++入门】C++ string类
  9. PAT (Basic Level) Practice1001 害死人不偿命的(3n+1)猜想
  10. 浏览器接收响应消息并显示内容