OpenWRT平台下内外网间广播和组播路由技术设计与实现

 2022-02-15 09:02

论文总字数:23631字

摘 要

课题基于OpenWRT平台,在路由器原有功能的基础上,增加了广播和组播内外网间互通和远程控制的功能。

启用了NAT功能的路由器中,WAN和LAN之间利用静态或动态的端口映射实现内外网络之间的互通。但是对于网络中的广播和组播业务则被屏蔽在外。同时,支持OpenWRT的路由器越来越多,OpenWRT可以让用户在路由器中添加第三方软件,实现额外功能,这使得额外增加组播广播功能变得容易,并可利用原有的系统实现常规的NAT、交换等功能。课题中使用的路由器是市场上比较常见的水星MW4530R,通过修改源码、交叉编译等过程,生成刷机所需的固件,并成功刷入路由器,来实现跨越NAT的内外网间组播广播互通的和远程控制的功能。

关键词:OpenWRT,交叉编译,刷机,广播组播路由,远程控制

DESIGN AND ACHIEVEMENT OF BROADCAST AND MULTICAST ROUTING TECHNOLOGY BASED ON OpenWRT PLATFORM

Abstract

This project is based on OpenWRT platform, which includes broadcast, multicast and remote control functions on the original basis of router functions. WAN and LAN use static or dynamic port mapping to achieve communication between internal and external networks in a router which enabling NAT function, but the broadcast and multicast services are screened out. At the same time, more and more routers begin to support OpenWRT platform. OpenWRT allows users to add third-party software in the router to achieve additional functions, which making it easy to increase broadcast and multicast functions, and can use original system to achieve the conventional NAT and switch functions. The router used in the issue is Mercury MW4530R, which is common on the market. I build the firmware which is desired when reinstall the system by modifying the source code and crossing compiler, and brush it into the router to achieve the functions.

KEY WORDS: OpenWRT, cross compiling, reinstall the system, Broadcast and Multicast routing technology, remote control

目录

第一章 绪论 4

1.1 引言 4

1.2 研究的意义 4

1.3 研究思路 4

第二章 OpenWRT的学习和使用 5

2.1 交叉编译环境的搭建 5

2.2 下载源码和路由器选取 5

2.3 编译源码和路由器刷机 6

2.4 OpenWRT的使用和配置 7

第三章 组播的内外网间路由技术实现 9

3.1 组播技术简介 9

3.2 IP组播对网络地址转换和网络地址端口转换的需求 9

3.2 IGMP Proxy 11

3.4 OpenWRT对于IGMP Proxy的支持 11

3.5 IGMP proxy测试 13

第四章 具有远程控制功能的UDP广播路由实现 16

4.1 UDP广播简介和软件总体架构设计 16

4.2 远程控制的socket实现 17

4.3 根据控制信息实现UDP广播的接收和转发 18

4.4 程序的源码分析 20

4.5 将C源码编译成可在OpenWRT中安装的ipk包 24

4.6 软件安装和功能测试 25

结论 31

参考文献 32

第一章 绪论

1.1 引言

路由器(router)的作用是连接Internet中各局域网或者广域网,起着交通枢纽的功能。现在路由器的使用已经非常普遍,不管是家用还是企业级,各种类型的的路由器已成为我们生活中不可或缺的一部分。

几乎在所有的家用路由器中,都启用了NAT功能。所谓NAT(Network Address Translation),即网络地址转换,属于广域网技术。它的功能是将私有地址转换为可以用在Internet上的IP地址。NAT技术最大的优点是可以解决IP地址不足的问题,除此之外还可以是电脑免受来自互联网的攻击,因此在各类网络中受到广泛的应用,但这又导致网络中的广播和组播业务被屏蔽在外[1]

OpenWRT,简单来说,是嵌入式Linux的一个发行版,而不是一个单一的、静态的系统。它提供一个完全可写的文件系统,这就意味着用户有着完全定制的能力,可以灵活地定制一个仅含自己所需功能的系统。不仅如此,除了开发者提供的程序外,用户还可以自由添加自己的程序,这使得自由度大大提升。OpenWRT的这些特性使得增加额外功能变得容易。

1.2 研究的意义

本课题从OpenWRT这样的特点出发,提出了以OpenWRT系统为基础,通过改造和配置,在原有的路由器功能的基础上,增加组播和广播中内网之间互通的功能。同时,该功能应该支持消息接收的可控,只有满足控制规则的广播组播数据才能互通。控制规则的根据是广播包的源和目的IP地址、UDP端口号等。

1.3 研究思路

整体研究思路如下:

(1)OpenWRT的学习和使用,其中包括搭建交叉编译环境、下载源码和路由器选取、对源码的编译和路由器进行刷机、使用和配置等。

(2)了解组播原理和IGMP Proxy,学习如何将软件装入OpenWRT并进行配置,然后进行测试。

(3)编写UDP广播的远程控制程序和接收转发源码,进行相关测试后,将其编译成可在OpenWRT下安装的ipk软件包。

第二章 OpenWRT的学习和使用

2.1 交叉编译环境的搭建

一般的嵌入式系统,存储空间或者Flash都比较小,资源极为有限,所以其中不可能存在编译工具,所以在一般情况下不能将源代码直接在上面编译生成可执行的程序。但如果又要想在嵌入式系统上添加程序,该怎么办呢?一个解决思路就是在在可以运行编译器等软件的机器上生成可在嵌入式系统的运行的程序,然后再将其移植到嵌入式系统中去,这就是所谓的交叉编译[2]

而在Linux或者Windows系统下搭建交叉编译环境,也就是安装一些交叉编译软件,这些交叉编译软件必须与将要移植的嵌入式系统相配套,这样通过交叉编译软件就可以用来编译源码生成在对应嵌入式系统上运行的程序了。通常情况下,交叉编译过程如图2-1所示。

剩余内容已隐藏,请支付后下载全文,论文总字数:23631字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;