AD

基于DHCP和NAT的家庭网络设备间通信解决方案

【关键字】DHCP NAT uPnP 私有IP地址 端口扫描攻击

1.引言

针对当前多数家庭用户使用ADSL接入网络以及IPv4地址几乎耗尽而IPv6暂时难以商用化的现状,提出在组件家庭网络时使用DHCP动态主机配置协议和NAT网络地址转换的数据通信解决方案。主要解决公网地址获取,NAT方案选择,DHCP参数配置和NAT穿越等问题。

2.现状分析

计算机和计算机配件,网络设备的价格正在逐渐降低到能飞入寻常百姓家的水平,应运而生的家庭组网话题变得可行。而目前国内大多数住宅用户通过ADSL接入方式实现INTERNET网络服务的。若要实现家庭网络用户之间的网络应用,如在智能家居领域,需要解决动态地址识别以及家庭网络内部设备的NAT穿越功能。

3.方案设计

3.1 网络体系结构设计

基于DHCP和NAT的家庭网络设备间通信解决方案

家庭子网中包含多种网络设备,安装有网络接口卡,具有网络数据通信能力。如在子网A中拥有PC,网络打印机,Laptop等网络设备。这些设备与路由器相连,若选择无线路由器将会具有便捷的可移动性。路由器向上连接的是ADSL调制解调器,提供调制数据和解调数据的功能。ADSL调制解调器向上连向ISP,图中的ISP可能是同一个也可能是不同的。

3.2方案设计

3.2.1 公网地址

对于每个家庭网络,其NAT使能路由器从ISP那里获取IP地址,作为整个网络对外网的统一标识。获得方式依具体的网络服务提供商而定。可能的方式有:

1.动态分配。ISP拥有的地址块是有限的,但他们不希望有限的地址块过多地限制他们的用户容量,所以采用DHCP动态分配的方式对接入用户进行IP地址分配。比如某ISP拥有200个可分配的IP地址,但拥有1000个用户。由于许多用户并不会同时在线,通过动态分配的方式就可能使用少量的地址满足大量用户需求。

2.静态分配。部分家庭用户可能希望得到一个永久分配的IP地址,ISP可以提供这样的固定分配,并可能要求缴纳更高的费用。

3.2.2 NAT方案选择

网络地址转换方案主要有三类:静态NAT、动态NAT、NAPT。

1.静态NAT方案。内网私有IP地址与公网地址呈一一对应关系,此方案无助于节省IP地址。

2.动态NAT方案。私有IP地址与公网IP间的映射是动态的,加入网络的设备被分配地址,离开网络或者到达租赁期时地址被收回。

3.NAPT。此方案中一个家庭网络只需要一个公网IP即可满足要求。内网设备通过同一IP的不同端口号来标识。

3.2.3 NAT使能路由器作为DHCP Server

家庭网络设备对于内部网络来说应该是即插即用的无需过多配置和复杂的连接操作。可把NAT使能路由器作为一个DHCP服务器,为家庭网络设备提供动态主机配置服务。

3.2.4 NAT穿越问题

无论采用C/S还是P2P结构,当通信双方至少有一方处于NAT背后时,都需要解决NAT穿越的问题。这里为了实现简洁的网络结构而选择uPnP方案。

3.3 方案实现

在实现中ISP为家庭用户动态分配IP地址,NAT方案选择NAPT,路由器为内部设备提供DHCP服务,采用uPnP实现NAT穿越。具体方案如下:

3.3.1.NAT Enabled Router接入ISP网络。

1.此Router作为DHCP客户端,广播一个DHCP DISCOVERY报文。由于此时路由器尚未配置,所以源IP为0.0.0.0,目的IP为255.255.255.255。

2.网络中所以主机收到广播,不提供DHCP的主机丢弃此报文。提供DHCP的服务器们在可用的IP地址中选取一个,封装为DHCP OFFER报文,设定超期时间,广播出去。在数据链路层上封装源Router的MAC地址。

3.Router接收到DHCP OFFER,当收到多个时则选取其中一个,返回DHCP REQUEST。同时发出一个ARP广播,以检测这个OFFER中的IP地址是否被同一子网中的某个设备占用。若是已经被占用,则向DHCP Server发送DHCP DECLINE,拒绝此次OFFER。

4.DHCP Server收到DHCP REQUEST后返回DHCP ACK作为确认,依旧通过广播的形式。

3.3.2 NAT方案

假设路由器已经从ISP获得一个公网IP地址111.111.111.111。NAT为家庭网络中的某个设备A1分配私有地址10.0.0.1。当A1希望与外网的某个设备C1,(IP地址为222.222.222.222)通信时的过程如下:

1.A1发起对C1建立TCP连接的请求,源IP:10.0.0.1,源端口号:3345

目的IP:222.222.222.222,目的端口号:80。

2.NAT更改源IP和源端口号:源IP:111.111.111.111 源端口号:5001

目的IP和端口号不变。同时在NAT表中增加新旧两个IP/端口对的映射。

3.C1对请求返回响应,源IP:222.222.222 源端口号:80

目的IP:111.111.111.111 目的端口号:5001。

4.NAT收到此响应后查看NAT表,并根据查询结果更改目的端口和IP。

目的IP:10.0.0.1 目的端口号:3345。

3.3.3 NAT对内部设备提供DHCP服务

此DHCP服务类似于ISP对家庭用户的DHCP服务,不同之处在于这里分配的是私有地址。私有地址包括三类,分别是:

A类:10.0.0.0至10.255.255.255

B类:172.16.0.0至172.31.255.255

C类:192.168.0.0至192.168.255.255

具体服务流程在此不再赘述。

3.3.4 NAT穿越方案

NAT穿越采用uPnP即插即用协议。内部设备向NAT申请一个端口号作为自身的标识。相当于在NAT上开了一个与外界通信的窗口。如内部主机A1可以向NAT Enabled RouterA申请一个从私有IP地址/端口号:10.0.0.1/3345到公网IP地址/端口号:111.111.111.111/5001的映射。这样来自外边设备的连接请求可以得到响应,内部设备可以成为服务器端。即便通信双方都处于家庭网络内部也可以实现通信。此时ISP服务器可作为跟踪器,而内部设备向ISP报告自己可以在某个公网IP端口对中被检测到。

4.系统分析

4.1 优势:

1.NAT可以作为暂缓IPv4地址资源短缺的方案,在IPv4向IPv6过渡

过程中起到重要作用。

2.NAT可以实现带宽分享

3.NAT提供了一定程度的安全防护。由于内部设备对外不可见,可以避

免内部设备遭受到端口扫描攻击。

4.2 不足

1.当采用NAPT时使用端口号来标识主机,有违端口号标识进程的原则

2.路由器应当只处理底三层,而在NAT更改端口号时涉及网络层以上的

协议。

3.违反端到端原则,中间节点不应介入端口号和IP地址的修改。

5.结语

通过网络地址转换和动态主机配置协议实现了家庭网络设备之间的通信方案。有效地解决了家庭组网可能形成的地址穿越问题和地址短缺问题。功能上相对较完善且实现方案简便有效。

【参考文献】

[1] ADSL Modem. **baike.baidu**/view/854934.htm

[2] ()特南鲍姆韦瑟罗尔. 计算机网络(第5版)

[3](美)多伊尔(美)卡罗尔.TCP/IP路由技术(第1卷)(第2版)

[4] 端口扫描攻击.****cnetnews**.cn/2008/0112/706171.shtml

[5] Jie Wang.Computer Network Security:Theory And Practice.

标签: dhcp, upnp, NAT, 私有IP地址, 端口扫描攻击
分类: 工作日志
时间: 2013-05-11

相关文章

  1. 家庭网络视频监控技术的应用前景

    随着人们生活水平的提高和网络的普及,安全防护越来越深入人心.尤其是近几年信息技术的发展和人们居住环境的改善,人们对家庭安全防范的意识得到空前强化.家庭网络视频监控,凭借着技术上与IP网络的无缝兼容以及所提供的远程实时视频 ...
  2. Windows 7 HomeGroup为家庭网络共享带来便利

    微软对包括家庭网络在内的所有发展中的网络都倾注了足够的注意力,而且已经在Windows 7中添加了用于家庭网络的新功能-HomeGroup,其用途就是简化网络连接中的文件和外部设备(如打印机)共享.在这篇文章里,我们将告 ...
  3. 玩转Windows 7家庭网络共享

    如今许多家庭中都不止有一台电脑,往往都有一台台式机.一台笔记本或者是更多.那么如何更合理的组织家庭中的电脑,更高效的共享它们之间的资源呢?Windows 7系统中加入了一项名为家庭组的家庭网络辅助功能,通过这项功能我们可 ...
  4. 基于SDN,NFV的服务感知网络架构下篇

    编者按:本篇文章是继<基于SDN,NFV的服务感知网络架构上篇>对DPI进行进一步的深入解析,分析了在SDN中可能出现的三种部署情况,对第4-7层的业务需求以及业务感知网络架构作了一个深入的介绍. 在SDN网 ...
  5. 基于AgileEAS.NET企业应用开发平台的分布式解决方案

    开篇 分布式应用 AgileEAS.NET基于Microsoft .Net构件技术而构建,Microsoft .Net最吸引人的莫过于分布式应用技术,基已经提供了XML WebService. .Net Remoting ...
  6. 网络可用性监测解决方案 GroundWork Monitor

    GroundWork Monitor 网站 : http://www.gwos.com GroundWork Monitor Open Source提供了一个完整的入门级的系统和网络可用性监测解决方案,在问题出现并未变严 ...
  7. 如何在家庭网络中使用两台路由器?

    原文链接:http://www.ruanyifeng.com/blog/2009/06/how_to_connect_2_routers_in_home_networking.html 作者:阮一峰 买EeePC的时候, ...
  8. linux下udp 网络间通信程序+书上没有提过的问题自己想法

    经过五一好几天的娱乐,这几天翻过头又把socket的UDP编程反刍一下,借了几本书又思考了一下,又把给我解答问题的朋友们的留言看了一遍,对UDP的socket编程终于有所小获,在网络中跨平台试了一下,好使,甚是开心,并打 ...
  9. NFV构筑融合新网络--华为CloudCore解决方案

    编者按:现有的网络面临着尴尬的境地,一方面传统网络已经陈旧不堪,满足不了日益增长的需要:另一方面,新型的网络尚未全面问世,电信网络依然不能满足需求,华为CloudCore解决方案将尝试在电信网络的重构上作出努力. 新形势 ...
  10. 构建网络整体安全解决方案

    整体的安全方案分成技术方案.服务方案以及支持方案三部分. 一.技术解决方案 安全产品是网络安全的基石,通过在网络中安装一定的安全设备,能够使得网络的结构更加清晰,安全性得到显著增强;同时能够有效降低安全管理的难度,提高安 ...
  11. 实例讲解虚拟机3种网络模式(桥接.nat.Host-only)

    前言 很多人安装虚拟机的时候,经常遇到不能上网的问题,而vmware有三种网络模式,对初学者来说也比较眼花聊乱,今天我就来基于虚拟机3种网络模式,帮大家普及下虚拟机上网的背景知识.(博文原创自http://www.cnb ...
  12. 基于Socket的网络连接 Flex与.NET互操作(一)

    Flash/Flex也支持基于Socket的网络连接 ,服务器端可以是C++,VB,C#,Java等任一语言开发.监听一个网络端口便可以接收到Flash/Flex开发的客户端的连接. ActionScript 3.0提供 ...
  13. 走近Google基于SDN的B4网络

    如果要问当前最著名.最有影响力的基于SDN技术搭建的商用网络是哪个,我想大多数人都会投票给Google的B4网络,一方面因为Google本身的名气,另一方面也是因为Google在这个网络的搭建上投入大.周期长,最后的验证 ...
  14. 玩转家庭组 轻松实现Windows 7网络共享

    微软全新操作系统Windows 7即将于本月正式发布了,届时大家就可以购买并正式使用这款系统了.相对于Vista系统来说,Windows 7无论在功能设计还是在资源占用方面都显得更为人性化,更为完善.本篇我们给大家介绍一 ...
  15. 基于HTML5的网络拓扑图(1)

    什么是网络拓扑 网络拓扑,指构成网络的成员间特定的排列方式.分为物理的,即真实的.或者逻辑的,即虚拟的两种.如果两个网络的连接结构相同,我们就説它们的网络拓扑相同,尽管它们各自内部的物理接线.节点间距离可能会有不同. - ...
  16. 让Linux操作系统NAT服务器支持UPnP

    最近经常使用一些P2P类型软件,发现老得在Linux服务器上手动设置NAT,非常麻烦,而看着许多P2P软件都支持UPnP就眼馋,如果能让Linux支持UPnP那就简单方便多了!于是在网上搜索了一下有关让Linux支持UP ...
  17. 网络基础学习之十七路由器原理.分类和选购

    上一篇我们已对路由器的基础方面有一个全面的了解,本篇要继续介绍路由器的其它几个方面.首先要介绍的是路由器的工作原理,只有在充分理解了路由器工作原理基础上,才能正确理解路由器的主要作用. 一.路由器的工作原理 我们知道路由 ...
  18. 网络基础带你彻底认识路由器

    路由器是什么 是什么把网络相互连接起来?是路由器.路由器是互联网络的枢纽."交通警察".目前路由器已经广泛应用于各行各业,各种不同档次的产品已经成为实现各种骨干网内部连接.骨干网间互联和骨干网与互联网 ...
  19. VM linux 网络设置

    linux vmware上网设置 第一种情况: 主机使用PPPOE拨号上网 方法一:NAT方式 1.先关闭虚拟机中的操作系统,回到虚拟机主界面 双击主界面右上方的的"Ethernet",弹出" ...