Lvs dr 模型 real server出去的包
来源:3-10 LVS DR模型原理详解

snow131421
2018-11-02
老师,你好。
Lvs dr 模型 real server出去的包,目的ip和目的mac这都是已知的,源ip是arp_annource=2被改成了vip,这些都能理解,但是源mac应该是real server的mac,好像和课程里讲的不一样?如果real server出去的包的源mac是real server的,那么和客户端请求的包的目标mac就对应不上了?
还有,能不能讲下keepalived和real server在同一台服务器上的转发情况么?
1回答
-
酷田
2018-11-05
mac地址只是标示了不同的物理设备,在LVS DR模型中,客户端发出去的源IP和目标IP分别是CIP和VIP,只要接收到的数据包源IP和目标IP变成VIP和CIP,那么客户端就知道这个包是服务器回送回来的,就会对其进行处理……并不关心MAC地址是不是RealSrever的,而且在真正的环境中,也不可能是,因为RealServer处理后回送给客户端的包要经过很多设备,包括路由器和交换机,每经过一个设备,MAC地址都是要被修改的!
你之所以这样想,是因为你对网络的二三层理解不是很清楚,网络2层一下可以理解成物理层,是由网卡处理的,没经过一个设备都会拆开这个包,将MAC地址变更为当前设备的MAC地址,但并不会动三层也就是IP网络层以上的包内容,三层IP层以上的包是由我们的内核中的TCP/IP协议栈来处理的……假如你客户端发出去的包,源和目标IP是一定的,那么服务器回送给你的包也必须将这两个IP地址反过来给你,这样你的客户端才能理解这个数据包是其他主机回送给我的,会一层一层拆开包处理,如果回送的数据包中的IP地址不是反过来的,那么客户端不会继续拆这个包处理,而是直接丢弃,或者转发出去(当然这个前提是你的主机开启了转发功能).
这些知识属于网络的基础,希望可以帮助到你真正理解012018-11-07
相似问题