- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件版路由器教程
PAGE22 / NUMPAGES22
哈尔滨理工大学课程设计路由器项目
应用科学学院
电科13-3 班[键入作者姓名]学号:2016-6-16
目录
设计要求 1
实例演示 6
设计思路 10
源代码 11
makefile 11
main.c 12
recv.c 13
设计要求:
设计路由器程序,实现基本功能:
任务要求
1. 基本
转发数据包
自动获取对方mac
终端控制功能
过滤指定IP 报文
IP 过滤配置文档有效
2. 扩展
1. 防火墙功能
a) 过滤port
b) 过滤tcp/udp
c) 过滤关键字
2. 远程配置(udp/tcp 通信)
3. 下载/上传配置文档
4. 在线升级功能
5. 提高性能(线程池)
6. 多级路由器级联
应用知识
1. 原始套接字
2. 数据链路层数据包的抓取(PF_PACKET、SOCK_PACKET)
3. MAC 地址组装/拆解
4. 防火墙的设置
a) 设置Linux 内核协议栈对收到的数据不做处理
b) 通过自己编写的程序去收取、处理、转发数据到目的主机
5. 文件的操作
6. 指针、数组、链表应用
1、模拟图:
2. Client
a) 通过udp 来完成对router 的控制
b) 正常访问Server 的数据
c) 66
3. ROUTER
a) 在vmware 中开启2 个网卡,分别为eth0(当做内网) eth1(当做外网)
b) 利用原始套接字对链路层进行数据接收发送
c) 维护arp 缓存表
d) 对接收到的数据进行过滤
e) 修改目的以及源MAC
4. Server
a) 可以运行一个WEB 服务器,用于检测ROUTER 的性能
b) 3
过程描述
1. 客户端发送http 请求
a)
b) 客户端(配置默认网关为路由器的ip)
运行浏览器,访问3
c) 路由器
通过“链路层”接收来自客户端的数据请求
安配置要求,进行过滤检查
修改MAC 地址(目的、源)
然后把数据转发到服务器
d) 服务器
接收来自路由器的http 请求
发送html 文件数据给路由器
2. 服务器返回http 请求数据
a)
b) 数据传送的过程与client 发送数据包给server 基本一样,请参考“客户端发送http 请求”
实例演示
在pc 机上开启2 个虚拟机,一个充当client,另外一个router其各自的ip 信息如下图所示;
2. 在client 端,打开浏览器,输入跨网段的ip,即server 的ip
3.在server 端,运行router 程序,其控制端的效果如下图
4. 检测client 端中浏览器的效果,如下图
5. 在server 端,可以输入命令数,来完成相应的功能,下图是选项2,查看arp 缓存表的
路由器简介:
路由器(router),是连接因特网中各局域网、广域网的设备,他会根据信道的情况自定选择和设定路由,以最佳的路径,按前后顺序发送信号,路由器是互联网的枢纽 。目前路由器已经广泛的应用于各行各业,各种不同档次的产品已经成为实现各种骨干网络的链接,骨干网间的互联和骨干网和互联网互联互通业务的主力军。路由和交换机之间的主要区别就是交换机发生在OSI参考模型第二层(数据链路层)。这一区别决定了路由和交换机在移动信息的过程中需要使用不同的控制信息,所以说两者实现各自功能的方式是不同的。
路由器又称为网关设备(getway)是用于连接多个逻辑上分开的网络,所以逻辑网络是代表一个单独的网络或者子网络,当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来实现,因此,路由器具有判断网络地址和选择IP路径的功能。他能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或者其他路由器的信息,属于网络层的一种互联设备。
设计思路:
通过虚拟机使pc机和A8板实现不同网段的通信,以A8板ping pc机为例,A8板ping pc机 :
首先,recvfrom 不断接收数据包。
1、获取A8 板的arp请求包,解析出源ip 和mac (A8的),存储在结构体中,创建链表,遍历输出
系统会发出一arp应答包 ,然后A8 板发出ICMP包 ,
2、获取ICMP包 解析出 目的ip 遍历 链表寻找目的ip 如果没有找到,组arp包,向目的ip发送(pc机)
pc机返回一个arp应答包,包含,目的的ip mac ,把他们存在结构体中,
3、根据接收到的arp包 改ICMP包中的源和目的mac 转发ICMP包 至pc即可ping通
4、防火墙:输入一个想要过滤的ip 存入结构体 ,recv线程 中遍历查找,找到则不进行转发ICMP
您可能关注的文档
最近下载
- 河南能源集团网络安全攻防知识培训(分享版)(1).pptx
- 2025年党员考试试题及答案.doc VIP
- 湖南公务员考试真题2024.docx VIP
- mPGES-2作为吸入全身麻醉药物异氟醚作用靶点的应用.pdf VIP
- 案例研究-案例研究:设计与方法.pdf VIP
- 2024届高考物理一轮复习热点题型归类训练专题13动力学和能量观点的综合应用(原卷版+解析).docx VIP
- 烟草质量检验竞赛通用知识题库-上(单选、多选题库).docx VIP
- 德育常规工作培训(1).pptx
- OMRON欧姆龙安全产品F3SG-SR PG系列安全光幕 多光束安全传感器F3SG-SR PG 系列 F3SG-□SR□系列安全光幕 用户手册.pdf
- 保险的培训资料1—开拓准客户.ppt VIP
文档评论(0)