NAT ------ 内网的主机如何经过路由器与外网的主机通讯

内网主机A,路由器B,外网主机C

 使用了两个协议:

路由:位于网络层,为数据包提供一个寻径的算法,不改变数据包的源IP和目的IP,可是会修改源MAC和目的MAC,只在同个网段的进行数据的转发算法

NAT:为私有地址能访问互联网提供的一种解决方案。一个私有地址的计算机想与外界进行通讯,经过NAT的端口映射,随机分配一个未使用的端口号,在路由器的路由表中造成一一对应关系 ,即 内网IP+端口号 转换为 公网IP+端口号。路由器收到公网数据包后,根据端口号,进行比对路由表,看是哪一个内网主机发送的数据包,将数据包回发给相应的内网IP。NAT规定:数据包从内网到外网,会自动创建端口映射;数据包从外网到内网,只会查询收到的数据包的端口有没有映射到内网,而不会自动创建端口映射。网络

 

过程

A发送数据给C:spa

  A首先发送数据给路由器,数据包的源IP是A的,源端口号是A的,源MAC是A的,目的IP是C的,目的端口号是C的,目的MAC是B的LAN的;路由

  B收到数据后生产一个惟一的端口号(若是A的端口号在路由表中是惟一的就用A的)与A的端口号一一对应,并把它和A的IP、端口号、MAC存入路由表中,B发送数据给C(假设B和C以前没有其余路由器),数据包的源IP是B的WAN的,源端口是B生成的和A的端口号一一对应的端口号,源MAC是B的WAN的,目的IP是C的,目的端口号是C的,目的MAC是C的。路由器

说明:跨网段通讯中,目的MAC始终是下一跳的MAC,源MAC始终是发送者的MAC(一样也是转发一次,改变一次);目的IP和端口号时钟是终端的,不会改变互联网

 

C发送数据给A反向同理。终端

 

 

二层交换机:交换机工做主要依靠MAC表(MAC和以太网端口映射表),交换机会记录每一个端口链接的主机的MAC。当交换机收到主机的数据包,提取目的MAC地址,查看目的MAC地址的主机链接哪一个端口,而后往那个端口发送数据。交换机不会改变数据包的任何信息,包括MAC。通信

 

无线路由器:目前的无线路由器同时扮演有线网络中交换机与路由器的角色。传统有线网络中的交换机与路由器通常是分离的,客户端要传输数据时,若在同一子网在交换机上传输无须通过路由器,若跨子网传输数据时就要经过交换机与路由器了。无线路由器能接收发送给子网的数据包,也能接收发往外网的数据包。当接收到子网的数据包,无线路由器只起到交换机的做用;当接收到发往外网的数据包,经过NAT协议发送出去。数据

相关文章
相关标签/搜索