Neo's Blog

不抽象就无法深入思考
不还原就看不到本来面目!

0%

网络知识之NAT

0. NAT简介

NAT(Network Address Translation ,网络地址转换) 是一种广泛应用的解决IP 短缺的有效方法, NAT 将内网地址转和端口号换成合法的公网地址和端口号,建立一个会话,与公网主机进行通信。

1. 路由器

路由器(Router)工作在第三层(即网络层),它比交换机还要“聪明”一些,它能理解数据中的IP地址,如果它接收到一个数据包,就检查其中的IP地址,如果目标地址是本地网络的就不理会,如果是其他网络的,就将数据包转发出本地网络。

与工作在网络物理层,从物理上划分网段的交换机不同,路由器使用专门的软件协议从逻辑上对整个网络进行划分。

例如,一台支持IP协议的路由器可以把网络划分成多个子网段,只有指向特殊IP地址的网络流量才可以通过路由器。当IP子网中的一台主机发送IP分组给同一IP子网的另一台主机时,它将直接把IP分组送到网络上,对方就能收到。而要送给不同IP于网上的主机时,它要选择一个能到达目的子网上的路由器,把IP分组送给该路由器,由路由器负责把IP分组送到目的地。

如果没有找到这样的路由器,主机就把IP分组送给一个称为“缺省网关(default gateway)”的路由器上。对于每一个接收到的数据包,路由器都会重新计算其校验值,并写入新的物理地址。

网络中的设备用它们的网络地址(TCP/IP网络中为IP地址)互相通信。IP地址是与硬件地址无关的“逻辑”地址。目前TCP/IP网络,全部是通过路由器互连起来的,Internet就是成千上万个IP子网通过路由器互连起来的国际性网络。

路由器用于连接多个逻辑上分开的网络,几个使用不同协议和体系结构的网络。路由器利用网络层定义的“逻辑”上的网络地址(即IP地址)来区别不同的网络,实现网络的互连和隔离,保持各个网络的独立性。

当一个子网传输到另外一个子网时,可以用路由器完成。它具有判断网络地址和选择路径的功能,过滤和分隔网络信息流。一方面能够跨越不同的物理网络类型(DDN、FDDI、以太网等等),另一方面在逻辑上将整个互连网络分割成逻辑上独立的网络单位,使网络具有一定的逻辑结构。

总结:路由器的主要工作就是为经过路由器的每个IP数据包寻找一条最佳传输路径,并将该数据有效地传送到目的站点。路由器的基本功能是,把数据(IP报文)传送到正确的网络。

一般至少和两个网络相连,并根据它对所连接网络的状态决定每个数据包的传输路径。路由器生成并维护一张称为“路由信息表”的表格,这张表跟踪记录若相邻其他路由器的地址和状态信息。
路由器使用路由信息表,并根据传输距离和通信费用等要素,通过优化算法来决定一个特定的数据包的最佳传输路径。正是这种特点决定了路由器的“智能性”,它能够根据相邻网络的实际运行状况自动选择和调整数据包的传输情况,尽最大的努力以最优的路线和最小的代价将数据包传递出去。
路由器的最基本功能是数据包转发功能。
根据其中所含的目的地址,决定转发到哪一个目的地(可能是路由器也可能就是最终目的点),并决定从哪个网络接口转发出去,为了维护和使用路由器,路由器还需要有配置(控制)功能。

中继器

中继器(Repeater)是连接网络线路的一种装置,常用于两个网络节点之间物理信号的双向转发工作。中继器是最简单的网络互联设备,主要完成物理层的功能,负责在两个节点的物理层上按位传递信息,完成信号的复制、调整和放大功能,以此来延长网络的长度。它在OSI参考模型中的位置物理层。

信号在双绞线中传输的过程中信号的功率会逐渐衰减,当信号衰减到一定程度时将造成信号失真,所以为了方便较远距离的两计算机进行通信,就在这两个计算机之间安装一个中继器,让信号能传的更远。

中继器的作用就是整理已经衰减的信号,重新产生完整的信号再继续传送。中继器工作在物理层,只是起到了扩展传输距离的作用,对高层是透明的。

集线器

集线器实际上就是一种多端口的中继器,一般有4、8、16、24、32等数量的接口。

集线器,差不多就是个多端口的中继器,把每个输入端口的信号放大再发到别的端口去,集线器可以实现多台计算机之间的互联,因为它有很多的端口,每个口都能连计算机。

如一台集线器有8个接口,连接了8台计算机,那集线器就位于这8台计算机的“中心”,每台计算机想与其他计算机进行通信时,计算机首先要将数据包通过双绞线送到集线器上,而集线器是用广播的方式将包同时发给8个端口,8个端口的计算机收到广播信息(同时收到)后对信息进行检查,是发给自己的就接收,不是的话就不理睬。

正是因为广播的这种机制,我们将我们自己的电脑连在集线器上,才能抓到ucm和话机等进行通信的数据包。同样,集线器也是工作在物理层。

网桥

网桥是早期的两端口的二层网络设备,网桥像是一个聪明的中继器,如前所说,中继器只是简单的连接了两个网络,任何数据都可以通过中继器发出,但网桥有所不同。网桥除了扩展网络的距离或范围,还能提高网络的性能和安全性。

网桥(Bridge)是一个局域网与另一个局域网之间建立连接的桥梁。网桥是属于数据链路层的一种设备,它的作用是扩展网络和通信手段,在各种传输介质中转发数据信号,扩展网络的距离。

网桥可以连接两个网络,网桥A端口连接A子网,B端口连接B子网。网桥中有一个信息表,我们可以把这个信息表看作两部分,一部分记录了A子网中设备的MAC地址,另一部分记录了B子网中的MAC地址,当A发出一个包,网桥可以查看目的地址到底是A中的还是B中的,若是A中的就不进行转发,是B中的才进行转发。所以网桥与中继器不同的是隔离了两个子网,而不是任意的转发(根据),拥有了学习功能。

2. 交换机

交换机(Swich)工作在第二层(即数据链路层),它要比集线器智能一些,它能分辨出帧中的源MAC地址和目的MAC地址,因此可以在任意两个端口间建立联系,在数据帧的始发者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址。

交换机通过对信息进行重新生成,并经过内部处理后转发至指定端口,具备自动寻址能力和交换作用。但是 交换机并不懂得IP地址,它只知道MAC地址。
交换机是使用硬件来完成以往网桥使用软件来完成过滤、学习和转发过程的任务。交换机速度比HUB快,这是由于HUB不知道目标地址在何处,发送数据到所有的端口。

交换机中有一张MAC地址表,如果知道目标地址在何处,就把数据发送到指定地点,如果它不知道就发送到所有的端口。这样过滤可以帮助降低整个网络的数据传输量,提高效率。但是交换机的功能还不止如此,它可以把网络拆解成网络分支、分割网络数据流,隔离分支中发生的故障,这样就可以减少每个网络分支的数据信息流量而使每个网络更有效,提高整个网络效率。

现代交换机是这样处理数据帧的:一旦目标头域(目标地址)已经进来了,尽管帧的其他部分还没有到达,则只要输出线路可以使用,交换机就开始转发该帧,而不需理会帧后面的内容,也即是说交换机并没有使用“存储—转发”交换方式。

总结:交换机,可以理解为高级的网桥,他有网桥的功能,但性能比网桥强。交换机和网桥的细微差别就在于:交换机常常用来连接独立的计算机,而网桥连接的目标是LAN,所以交换机的端口较网桥多。

学习:以太网交换机了解每一端口相连设备的MAC地址,并将地址同相应的端口映射起来存放在交换机缓存中的MAC地址表中。

转发/过滤:当一个数据帧的目的地址在MAC地址表中有映射时,它被转发到连接目的节点的端口而不是所有端口(如该数据帧为广播/组播帧则转发至所有端口)。

消除回路:当交换机包括一个冗余回路时,以太网交换机通过生成树协议避免回路的产生,同时允许存在后备路径。

你的支持是我坚持的最大动力!