网络基础知识 - 路由器

之前几篇文章都在内网转悠(有兴趣的朋友可以关注作者查看作者文章)。但是世界这么大总想去浪一浪。网络世界里如果从内网连到外网呢。这就要一个网关这个东西了。先看一下下面这个命令。

ip route add 10.168.10.0/20 via 10.173.23.1 dev eth0

熟悉的人应该知道这个命令是给路由器配置路由表的一条命令,不熟悉的人也没关系可以继续往下看。我这里提到路由器,路由表,那网关跟路由器,路由表有啥关系呢。先说一下路由器是一个三层的物理设备,它起到的作用就是网关的作用,所以一般我们就称一个路由器为网关,但其实路由器有好几个口,每个口连接了可以转发到的目标局域网。路由表里定义了转发过程中到哪个局域网应该走哪个口,下一个跳转IP是啥。所以这样一套设备加路由规则就满足了我们从内网连接到外网的需求。要理解他的工作原理还得从MAC头和IP头讲起。假设现在有一个局域网A内的主机A想访问局域网B内的主机B

网络基础知识 - 路由器

我们知道网络数据包的MAC头和IP头格式如下,请求包的每次转发都要有下面的内容,MAC头中先是目标地址然后是源MAC地址,然后是协议类型,IP头中版本类型一般是Ipv4,TOS,LLS等我们主要看源IP地址,和目标IP地址。

网络基础知识 - 路由器

那这个请求的过程应该要经历下面几个过程

1.机器A发送请求包之前发现目标IP和自己不是一个网段的,(怎么计算,就是IP地址和子网掩码安于与计算)然后就把请求包发个网关,请求包应该是这样


2.路由器A接收到请求发现MAC地址匹配,把包收过来,发现目标ip地址在局域网B,需要通过10.1.1.1/8 转发出去。于是下一跳转是10.1.1.1/8到路由器B,请求包是这样的

3. 路由器B接收到请求后发现MAC地址匹配,于是把包拿过来,发现目标ip地址跟自己是同一网段的,需要跳转。直接发送请求包是这样的

4. 机器B接收到请求发现Mac地址匹配,如是把数据拿过来,响应之后,用过以上方式的回路返回给机器A

以上这个路由方式是不是看起来挺清晰了。在不同局域网在不同网段的时候这种方式工作起来没得问题,但是局域网之间是互不知道的。很有可能两个局域网内的机器的ip完全都是一样的。比如上面机器A的ip地址是192.168.1.100,机器B的ip地址也是192.158.1.100,如果通过上面的方式发送数据,看起来完全就是自己发给自己。

这个时候要用到一种加NAT路由器的路由器了,其实就是路由器上加上NAT的功能,NAT的全程是Network Address Translation,翻译过来意思是网络地址装换。他的主要转发原理是转发的时候会把源内网IP装换为公有IP,这样通过公有IP就可以跟外网通信。他屏保的局域网对外网的可见,这样一个局域网最少只要一个公有IP跟外网通信,极大缓解了IP资源不足的局面。NAT的类型主要有三种

1. 静态NAT,通过手动配置,把公网IP映射到一个特定的私有IP和端口,这样外网只要通过这个公网IP访问就自动映射到对应的私有IP上了,但是这种配置公网IP和私有IP是一一对应的,需要组织申请到足够多的公有IP才行。家里有矿可以,但是穷屌丝这种方式还是放弃吧。

2.动态NAT。动态NAT适用于家里经济条件有限,只有很少的公有IP资源,但是内网主机有很多的情况,他是一种响应式的动态配置,当内网主机通过拨号上网或者建立远程连接是,会动态的给这个内网IP分配一个临时的外网IP地址并存在NAT table中,这个临时外网IP跟内网IP也是一一对应的,所以网络数据转发的过程跟上面静态NAT是一样的。当一定时间内内网IP跟外网没有通信的情况下,路由器会把他的临时外网IP从NAT table中删除,以备后续使用。一定程度上提高了IP的使用率

3.网络地址端口装换NATP

网络地址端口装换(Network Address Translation Port)是把内网的ip列表映射到 同一个外网IP的不同端口上,这种转换方式是最长用的。NATP又有两种转换方式

展开阅读全文

页面更新:2024-04-05

标签:公网   路由器   网关   路由   局域网   基础知识   机器   目标   地址   方式   发现   网络

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top