ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum IndexGeneral DiscussionHACMP, MSCS, VCS - How does that "floating" IP Add

Post new topicReply to topic Goto page 1, 2, 3, 4  Next
HACMP, MSCS, VCS - How does that "floating" IP Add View previous topic :: View next topic
Author Message
PeterPotkay
PostPosted: Fri Feb 05, 2016 8:34 am Post subject: HACMP, MSCS, VCS - How does that "floating" IP Add Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

OK, here goes exposing my lack of knowledge with basic networking.

Server #1 with IP Address #1
Server #2 with IP Address #2

Both servers added into a hardware cluster (say Veritas) where along with the MQ Queue Manager and disk groups, a virtual IP address and virtual DNS name are added as resources in the cluster group that can be active on either Server #1 or Server #2, but never both concurrently. Let’s call this IP Address #3 and DNS name #3


So the cluster group is started up on Server #1.
An application on my desktop starts up, and tries to connect to DNS name #3. It works, the call to DNS #3 gets routed to Server #1.

Now the cluster group is swung from Server #1 to Server #2.

As soon as the cluster resources are all online on Server #2, the very next call from my desktop to DNS #3 immediately gets routed to Server #2.

How? How is it that one minute DNS name #3 is sending TCP IP packets to Server #1, and the next minute DNS #3 is getting my TCP IP packets to Server #2? Just saying “Its simple, the cluster resources for IP Address #3 and DNS #3 became active on Server #2” is not good enough. How? How does the network know to send TCP IP packets for DNS#3 and IP Address #3 to Server #1 one minute, and the very next minute the exact same DNS name #3 and IP Address #3 starts routing to another server instead?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Feb 05, 2016 8:37 am Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Not that I'm an expert, but I think it is kinda as simple as that the address is now responding on the other machine.

The DNS entry doesn't change - it still resolves to the same value.

It's just that the network adapter accepting connections on that IP is now on the other system...
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Fri Feb 05, 2016 8:39 am Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

mqjeff wrote:
Not that I'm an expert, but I think it is kinda as simple as that the address is now responding on the other machine.

The DNS entry doesn't change - it still resolves to the same value.

It's just that the network adapter accepting connections on that IP is now on the other system...


So does that mean TCP IP packets are rattling around like crazy here, there and everywhere, eligible to be "caught" by a valid target? Again, I readily admit I am a network noob! But nobody has been able to explain this to me to the level where I feel I could explain it to somebody else.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri Feb 05, 2016 8:45 am Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

mqjeff wrote:
Not that I'm an expert, but I think it is kinda as simple as that the address is now responding on the other machine.

The DNS entry doesn't change - it still resolves to the same value.

It's just that the network adapter accepting connections on that IP is now on the other system...




The assigned IP address #3 is the same for DNS #3 no matter which machine is actually servicing it. So the network traffic is still being routed to the same destination, it's just that the destination has moved.

I can't speak for MSCS but on HACMP, VCS & RHCS you can clearly see this at work because all 3 DNS & IP combinations are active so you can telnet into all 3 machines; you simply end up at the same place for 2 of them, and the 3rd one has no cluster controlled resources available.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Feb 05, 2016 8:46 am Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

each TCP/IP packet is routed based on it's address. Switches usually form a tree structure, to avoid having one giant switch that handles everything, and to provide short paths between servers.

So address 3 is on a particular subnet - which means it's handled by a single switch. Ideally this is the same switch that handles addresses 1 and 2, but it's not a strict requirement.

All of the other switches in the network know to route packets for address 3 to the right switch. The switch then knows which port(on the switch) to send packets to.

So when the address moves from switch port 1 to switch port 2, the only thing that really changes is the routing table on the switch.
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri Feb 05, 2016 8:50 am Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

PeterPotkay wrote:
So does that mean TCP IP packets are rattling around like crazy here, there and everywhere, eligible to be "caught" by a valid target?


Probably, but the network people claim that it's all very scientific and the network hardware is actually sending stuff quite deliberately. There's a whole infrastructure of subnets, gateways and routing tables down in the metal.

Poor network performance is often caused by the network rattling IP packets down an inappropriate wire on their way to their destination. Using a tracert on 2 boxes which are physically adjacent often leads to a surprising number of entries, and you're legally allowed to start laughing when a tracert on a badly performing link goes past 6 entries if the network guy is able to hear you.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Fri Feb 05, 2016 8:54 am Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

mqjeff wrote:
each TCP/IP packet is routed based on it's address. Switches usually form a tree structure, to avoid having one giant switch that handles everything, and to provide short paths between servers.

So address 3 is on a particular subnet - which means it's handled by a single switch. Ideally this is the same switch that handles addresses 1 and 2, but it's not a strict requirement.

All of the other switches in the network know to route packets for address 3 to the right switch. The switch then knows which port(on the switch) to send packets to.

So when the address moves from switch port 1 to switch port 2, the only thing that really changes is the routing table on the switch.


OK, so perhaps the network knows that a packet for IP Address #3 must always go to a particular switch, and that switch is trying both Server #1 and Server #2 all the time to see which one is advertising itself as a valid target for IP Address #3 at any given time?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri Feb 05, 2016 8:55 am Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

mqjeff wrote:
So address 3 is on a particular subnet - which means it's handled by a single switch. Ideally this is the same switch that handles addresses 1 and 2, but it's not a strict requirement.


still.

If you want to verify this, look at the subnet mask for the cluster by doing an ipconfig from either machine. Typically it's 255.255.255.0 indicating that the first 3 octets are the subnet.

(It's a bit mask - anyone with a different set of numbers can work it out for themselves).

For the reasons my most worthy associate gives, all 3 addresses will typically be on the same subnet and covered by the same switch.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Fri Feb 05, 2016 8:57 am Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

Vitor wrote:
mqjeff wrote:
Not that I'm an expert, but I think it is kinda as simple as that the address is now responding on the other machine.

The DNS entry doesn't change - it still resolves to the same value.

It's just that the network adapter accepting connections on that IP is now on the other system...




The assigned IP address #3 is the same for DNS #3 no matter which machine is actually servicing it. So the network traffic is still being routed to the same destination, it's just that the destination has moved.

I can't speak for MSCS but on HACMP, VCS & RHCS you can clearly see this at work because all 3 DNS & IP combinations are active so you can telnet into all 3 machines; you simply end up at the same place for 2 of them, and the 3rd one has no cluster controlled resources available.



Take DNS and DNS Name #3 out of the equation, since clearly the cluster is not updating DNS and everyone's DNS cache every time. DNS#3 always means IP Address #3.

Just focusing on IP Address #3, how? How does the network know to send a packet for IP #3 to Server #1 this time, Server #2 the next time, and never to Server #99?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri Feb 05, 2016 8:59 am Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

PeterPotkay wrote:
OK, so perhaps the network knows that a packet for IP Address #3 must always go to a particular switch, and that switch is trying both Server #1 and Server #2 all the time to see which one is advertising itself as a valid target for IP Address #3 at any given time?


No. Remember that the network is sending to IP address #3. It has no interest in which server happens to be under that at any given moment. So the traffic goes to whichever port happens to be IP address #3.

Also remember that in the modern world, a lot of the switches, routers and other network bits are virtual and all of this is just in-memory transfers.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Feb 05, 2016 9:01 am Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

PeterPotkay wrote:
OK, so perhaps the network knows that a packet for IP Address #3 must always go to a particular switch, and that switch is trying both Server #1 and Server #2 all the time to see which one is advertising itself as a valid target for IP Address #3 at any given time?


It might be polling, at a very very low level (an ICMP echo packet or an ack request). Or it might be that the interface on server2 notifies the switch that it's now supporting address 3. I think the second is more likely.

In either case, the switch updates it's own routing table to point to the new switch port (the port on the switch, not the server) so it doesn't try each packet at both switch ports.
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri Feb 05, 2016 9:02 am Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

PeterPotkay wrote:
Just focusing on IP Address #3, how? How does the network know to send a packet for IP #3 to Server #1 this time, Server #2 the next time, and never to Server #99?


Because, as I said, it never sends to Server #1, Server #2 or Server #99. It always sends to IP address #3.

Take HA out of the equation. How does the switch know which port Server #1 is connected to, and is thus the correct place to send IP packets addressed to IP address #1? The exact same mechanism is used to route packets for IP address #3, because the network doesn't know IP address #3 is a virtual address floating between servers. It can't know.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Feb 05, 2016 9:06 am Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Vitor wrote:
PeterPotkay wrote:
Just focusing on IP Address #3, how? How does the network know to send a packet for IP #3 to Server #1 this time, Server #2 the next time, and never to Server #99?


Because, as I said, it never sends to Server #1, Server #2 or Server #99. It always sends to IP address #3.


It always sends to the port on the switch (physical or wireless) that it's internal routing table says is using IP Address 3. Or address 1 or address 100, or whatever.

As my estimatable colleague says, the switch doesn't know anything about servers. It simply knows which IP addresses belong to which switch ports.
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Fri Feb 05, 2016 9:07 am Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

Vitor wrote:
Because, as I said, it never sends to Server #1, Server #2 or Server #99. It always sends to IP address #3.

It most certainly does. When the cluster is active on Server #1, packets to IP Address #3 go to Server #1. And then automatically, when the cluster is active on Server #2, packets to IP Address #3 go to Server #2. And they never go to Server #99.

How?


Vitor wrote:

Take HA out of the equation. How does the switch know which port Server #1 is connected to, and is thus the correct place to send IP packets addressed to IP address #1? The exact same mechanism is used to route packets for IP address #3, because the network doesn't know IP address #3 is a virtual address floating between servers. It can't know.


How does the switch know? I don't know. I want to know how the switch knows to go to Server #1, but other times without human intervention, go to Server #2 if the cluster moved to #2? Does the cluster send commands to the network? Probably not. So how does it work?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Feb 05, 2016 9:18 am Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

PeterPotkay wrote:
How does the switch know? I don't know. I want to know how the switch knows to go to Server #1, but other times without human intervention, go to Server #2 if the cluster moved to #2? Does the cluster send commands to the network? Probably not. So how does it work?


Again. The switch itself has a table. Let's pretend it's an 8 port ethernet cable switch. That means that it has 8 cables that connect to 8 servers.

Server 1 on that switch is connected to port #5. Server 2 is connected to port #8.

The table in the switch says "IP Address #1 goes to port 5. IP Address 2 goes to port 8".

Ok so far?

There's also an entry in the table that says "IP Address 3 goes to port 5." Port 5 happens to be connected to server 1, but the switch doesn't care about that.

When IP Address #3 moves from Server 1 to server 2, the table in the switch gets changed to say "IP Address 3 goes to port 8".

The switch knows to make this change through one of two mechanisms (or maybe a third that I don't know). Method 1: The server sends out periodic ACK messages, and the switch knows that IP Address #3 is live on port 5. When port 5 stops sending ACKs and port 8 strts sending ACKS for Address #3, the switch changes it's table.

More likely, it's method 2. The network interface on Server 2 notifies the switch that it is now the owner of IP Address #3. This happens on port #8, so the switch adjusts it's table.
_________________
chmod -R ugo-wx /


Last edited by mqjeff on Fri Feb 05, 2016 9:26 am; edited 1 time in total
Back to top
View user's profile Send private message
Display posts from previous:
Post new topicReply to topic Goto page 1, 2, 3, 4  Next Page 1 of 4

MQSeries.net Forum IndexGeneral DiscussionHACMP, MSCS, VCS - How does that "floating" IP Add
Jump to:



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP


Theme by Dustin Baccetti
Powered by phpBB 2001, 2002 phpBB Group

Copyright MQSeries.net. All rights reserved.