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


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

1.引言 安全

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

2.现状分析 网络

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


3.方案设计 设计


3.1 网络体系结构设计 htm



家庭子网中包含多种网络设备,安装有网络接口卡,具备网络数据通讯能力。如在子网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.  http://baike.baidu.com/view/854934.htm

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

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

[4]  端口扫描攻击.http://www.cnetnews.com.cn/2008/0112/706171.shtml        

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

相关文章
相关标签/搜索