game168 发表于 2005-1-15 17:41:34

大家都知道,现在的RouterOS介绍的共享上网的原理都是采用“地址伪装”来现实的共享上网!地址伪装的粗略介绍是这样的:例,A机要通过B网关上网!那A机会就把数据包发到B网关上,B网关也有自己的网关,即C网关,A和C并没有直接的联系,不能建立连接,这时候,B网关就会对A机发来的数据包进行拆包和重新打包的过程,即把A机发来的数据包分析并拆解开来,并加上B网关自己的地址,即重新打包,再发往C网关!这时候,在C网关看到B网关发来的数据包,会对其进行识别,而这时候识别的结果就是:这个数据包是从B网关发来的,C网关并不知道在B网关后面还有一个A机!而C网关在收到外网发回来的数据包后,直接将数据包发给B网关,B网关再对数据包进行拆包和打包,并加上B网关的地址,发往A机!大家看到这个过程之后,就会明白,A机来访问C网关,事实上是将自己伪装成B网关,这时候,C网关得到的数据包事实上是经过了B网关的处理,在B网关发过来的所有信息对C网关来说,只有一个源地址,这个地址就是B网关!但是在很多网络当中,这个数据包里面包括了很多重要的信息,比较A机的信息C网关就无法得知,而且,拆包和打包就意味着进程与资源,在很多情况下,都不能修改原数据包!这时候,静态路由就起到了大作用!静态路由的粗略介绍:手痛了~~~~~下会再说……待续…………===================================================这两天出了一趟远门,所以让大家久等了!看到有人问到:NAT(网络地址转换)和Masquerading(即地址伪装)的区别,这里我也介绍一下:NAT,即网络地址转换!说得再白一点就是将外网的IP转换成内网的IP,而将内网的IP转换成外内的IP;是最早用于应用级防火墙的一个附加功能,他的作用是将内网和外网隔离开来,避免内网和外内的直接连接,并利用起有限的IP资源!而NAT又分成两个部份,一部份是将源地址转换(SNAT)即将内网地址转换成外内的,另一部份是目标地址转换(DNAT)即将外网地址转换成内网地址,而Masquerading(即地址地址)就属于源地址转换(SNAT),这就是大家为什么在RouterOS的防火墙管理界面中,只有SNAT页面里才有Masquerading功能的原因了! 而他的作用主要用来将有限的IP地址动态或静态地与内部的IP地址对应起来,用来缓解地址空间短缺的问题。而DNAT(目标地址转换)主要包括端口转发(Port forwarding)、负载分担、以及透明代理,主要用于外网主机访问内网主机。 说白了,Masquerading(即地址伪装)就是NAT(网络地址转换)中的一部份!而静态路由,负是区别于防火墙与路由器两个不同概念的东西,换句话说,静态路由与防火墙(例如上面说到的NAT和Masquerading)是两个不同的东西,不同的概念!路由器,是将网络连接在一起的产物,是先有路由器再有防火墙的概念……有人也许会说,如果只是将网络连接在一起,用交换机不就行了?这里我们也介绍一下交换机,当然,交换机又有好几种,这里我们介绍大家所认识的:二层交换机:二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。具体的工作流程如下:(1) 当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的;(2) 再去读取包头中的目的MAC地址,并在地址表中查找相应的端口;(3) 如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上;(4) 如表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。不断的循环这个过程,对于全网的MAC地址信息都可以学习到,二层交换机就是这样建立和维护它自己的地址表。从二层交换机的工作原理可以推知以下三点:(1) 由于交换机对多数端口的数据进行同时交换,这就要求具有很宽的交换总线带宽,如果二层交换机有N个端口,每个端口的带宽是M,交换机总线带宽超过N×M,那么这交换机就可以实现线速交换;(2) 学习端口连接的机器的MAC地址,写入地址表,地址表的大小(一般两种表示方式:一为BEFFER RAM,一为MAC表项数值),地址表大小影响交换机的接入容量;(3) 还有一个就是二层交换机一般都含有专门用于处理数据包转发的ASIC (Application specific Integrated Circuit)芯片,因此转发速度可以做到非常快。由于各个厂家采用ASIC不同,直接影响产品性能。而路由器工作在OSI模型的第三层---网络层操作,其工作模式与二层交换相似,但路由器工作在第三层,这个区别决定了路由和交换在传递包时使用不同的控制信息,实现功能的方式就不同。工作原理是在路由器的内部也有一个表,这个表所标示的是如果要去某一个地方,下一步应该向那里走,如果能从路由表中找到数据包下一步往那里走,把链路层信息加上转发出去;如果不能知道下一步走向那里,则将此包丢弃,然后返回一个信息交给源地址。路由技术实质上来说不过两种功能:决定最优路由和转发数据包。路由表中写入各种信息,由路由算法计算出到达目的地址的最佳路径,然后由相对简单直接的转发机制发送数据包。接受数据的下一台路由器依照相同的工作方式继续转发,依次类推,直到数据包到达目的路由器。而路由表的维护,也有两种不同的方式。一种是路由信息的更新,将部分或者全部的路由信息公布出去,路由器通过互相学习路由信息,就掌握了全网的拓扑结构,这一类的路由协议称为距离矢量路由协议;另一种是路由器将自己的链路状态信息进行广播,通过互相学习掌握全网的路由信息,进而计算出最佳的转发路径,这类路由协议称为链路状态路由协议。由于路由器需要做大量的路径计算工作,一般处理器的工作能力直接决定其性能的优劣。当然这一判断还是对中低端路由器而言,因为高端路由器往往采用分布式处理系统体系设计。太晚了,都0点40了,我也累了,下回再介绍如何在RouterOS中做静态路由吧!其实呢,这个东西操作起来很简单,也就是那两三个步聚的事,最主要是上面这些知识!掌握了才是真正的学到了!当然,有一点我不得不提一下,随着IPV6的到来,IP资源紧张的时代也在不久后会成为过去!大家当然也就不会用到用于解决IP资源紧张所带来的产物:NAT了!

voatec 发表于 2005-1-15 18:10:28

期待中...

sblive 发表于 2005-1-15 18:43:20

继续。

心想事成 发表于 2005-1-16 18:46:41

nat是通过网络地址转换而使私有IP可以共享一个公有IP上网.私有IP可以访问公有IP,而公有IP不能访问私有IP.静态路由静态设置连接两个不同IP段的中转.两个网段的IP可以互相访问.

sblive 发表于 2005-1-16 19:26:28

楼主所说的伪地址上网和NAT上网有何区别?

cf3331 发表于 2005-1-17 12:36:09

晕,我等到花儿都谢了

game168 发表于 2005-1-19 00:38:39

已更新!

sblive 发表于 2005-1-19 00:53:46

顶。好文章。IPV6来时NAT也是有一部分市场的,呵,起码可以在一定程序上保护内网安全。不过我也希望IPV6快点来呀!!

darkcomputer 发表于 2005-1-20 09:43:32

太专业了,老大你好厉害,期待你的静态ip地址设置,是不是用这个可以实现,ip地址段间不可以互访的功能呀?热情期待中。。。。。。

稀泥吧 发表于 2005-1-22 15:06:53

期待下文~~~

zhangweizj 发表于 2005-1-23 09:48:09

什么时候出续集啊...

ntjxad 发表于 2005-1-23 10:21:54

写得不错,又温习了一遍相关知识,支持一下!

猫王 发表于 2005-1-24 09:44:39

呵呵 被迷惑了啊 怎么可以呢 要知道你的IP在互联网上是不会被路由的啊 只能是伪装啊

sdcycysd 发表于 2005-1-24 18:49:24

QUOTE (猫王 @ Jan 24 2005, 09:44 AM)
呵呵 被迷惑了啊 怎么可以呢 要知道你的IP在互联网上是不会被路由的啊 只能是伪装啊
同意,内网地址是不可能在公网的路由通过的。不过奇怪的是,我的SF却有192。168。0。XXX这样的IP地址登录。是不是这个方法实现的呢?因为我的内网地址没有192的,都用了10。XXX的,所以不可能是我路由的问题吧?

zhangweizj 发表于 2005-1-24 20:33:04

好像有几个地方的字打错了比如比较(比如?)A机的信息C网关就无法得知这里我也介绍一下:NAT,即网络地址转换!说得再白一点就是将外网的IP转换成内网的IP,(句号?)而将内网的IP转换成外内(网?)的IP;是最早用于应用级防火墙的一个附加功能
页: [1]
查看完整版本: 利用静态路由实现的共享上网……