在局域网中一般情况下会用192.168.1.1作为网关设备和外网交互,首先说我今天的实验:
第一:向网关的物理地址发送一帧TCP报文,TCP报文的IP地址是局域网中的另一台机器,例如我发送端IP是192.168.1.114,接收端的IP是192,168.1.89,那么到了路由器之后他应该是做了这些工作计算对方的路由,获取目标MAC,然后TTL减,最后转发到目标,还有一点是他用自己的IP替换源IP,那么就变成了由192.168.1.1发到192.168.1.89的数据帧。
第二是如果此时89有服务器在侦听那么89就会网关说受到,可是并不是网关和你建立连接啊,建立连接的是114,实时证明网关转发了这个数据包,而且吧IP替换成89的发送到了114,这就完成了一次通信。
最后网关是怎么处理客户端和服务器之间的联系的呢,由上边的关系不难看出,网关肯定是做了一个端口和一个IP地址的映射,要不然网关怎么会知道这个端口就是这个IP的呢?而我又没有去刻意的设置路由器的端口映射,所以表明在局域网中这种通过网关的端口映射是自动的,他认为是合法的,这也就是在服务器端他不知道是谁发来的数据,只有个端口,而客户端他知道要找谁他的端口是多少!之前做过UDP穿透,通过广域网就要在路由器做端口映射,不符合的全部是不合法的,这也许就是原因吧!但愿我想的是对的!
|