load balancing port-channel

nangananga Member Posts: 201
there are 7 links in a port-channel and out of that 1 link is carrying double the traffic then the rest of the link in the port-channel.

I would like to understand what the problem is , how to read the output of the command how to troubleshoot this

This is what i was able to get

show interface port-channel 1 etherchannel

Ports in the Port-channel:

Index Load Port EC state No of bits
+
+
+
+
0 81 Gi2/1 On 2
1 02 Gi2/2 On 1
2 04 Gi2/47 On 1
3 08 Gi2/48 On 1
4 10 Gi4/23 On 1
5 20 Gi4/42 On 1
6 40 Gi4/45 On 1

Comments

  • jason_lundejason_lunde Member Posts: 567
    please submit the output of this show command:

    show etherchannel load-balance

    and let us know the model of the switch as well.
  • nangananga Member Posts: 201
    show etherchannel load-balance
    EtherChannel Load-Balancing Configuration:
    src-dst-ip
    mpls label-ip

    EtherChannel Load-Balancing Addresses Used Per-Protocol:
    Non-IP: Source XOR Destination MAC address
    IPv4: Source XOR Destination IP address
    IPv6: Source XOR Destination IP address
    MPLS: Label or IP


    Its 7609 series, the card used is WS-X6748-GE-TX
  • jason_lundejason_lunde Member Posts: 567
    Well because you have seven ports and the etherchannel load-balancing algorithm balances on a formula based on 8 ports you essentially have a distribution like so:

    For 7 port channel the load balancing would be 2:1:1:1:1:1:1

    the best balanced etherchannels usually have 2,4, or 8 ports because the loads can be
    4:4
    2:2:2:2
    1:1:1:1:1:1:1:1

    respectively...
    to add just a bit more...so probably what is happening...in essence, is that cisco runs your source destination ip' through their seventeenth-degree polynomial to get the hash result. Something like this is happening with the Index #'s, and hashes that it will transmit:

    Index 0 -- 000 and 001
    Index 1 -- 010
    Index 2 -- 011
    Index 3 -- 100
    Index 4 -- 101
    Index 5 -- 110
    Index 6 -- 111

    HTH's, and if Im way off I apologize, but this is my understanding.
  • HeeroHeero Member Posts: 486
    Jason is right. That is how traffic is load balanced in an etherchannel. Best to use 2, 4, or 8 links for an etherchannel.
  • tierstentiersten Member Posts: 4,505
    What jason_lunde said.
    nanga wrote: »
    there are 7 links in a port-channel and out of that 1 link is carrying double the traffic then the rest of the link in the port-channel.
    That is normal for a 7 link etherchannel. Read this. It refers to CatOS but it is still applicable in this case.
    nanga wrote: »
    show interface port-channel 1 etherchannel

    Ports in the Port-channel:

    Index Load Port EC state No of bits
    +
    +
    +
    +
    0 81 Gi2/1 On 2
    1 02 Gi2/2 On 1
    2 04 Gi2/47 On 1
    3 08 Gi2/48 On 1
    4 10 Gi4/23 On 1
    5 20 Gi4/42 On 1
    6 40 Gi4/45 On 1
    The "No of bits" column is what you need to look at. The first port has 2 there instead of 1 like all the others which means the load balancing algorithm will pick that 2 out of 8 times whilst all the others are 1 out of 8. You can't alter the algorithm to work differently.

    You may want to look into altering what it uses as the selection criteria for your traffic so it doesn't try to push as much through 0. Read the link I posted above and the IOS part of it in particular.
  • nangananga Member Posts: 201
    perfect....thank you for simplifying the explanation.
  • nangananga Member Posts: 201
    Now I am trying to troubleshoot this !!!!!

    G1/5 is a part of a port-channel and still it shows more TX values


    show int G1/5 | i load
    reliability 255/255, txload 99/255, rxload 7/255
    show int G1/6 | i load
    reliability 255/255, txload 4/255, rxload 8/255
    show int G1/23 | i load
    reliability 255/255, txload 5/255, rxload 7/255
    show int G1/24 | i load
    reliability 255/255, txload 7/255, rxload 11/255

    why would a link in the particular port-channel have more load even though they have even distribution algorithim ( bit value 2)

    show int port-channel 1 etherchannel
    Age of the Port-channel = 119d:09h:51m:41s
    Logical slot/port = 14/1 Number of ports = 4
    GC = 0x00000000 HotStandBy port = null
    Port state = Port-channel Ag-Inuse
    Protocol = -
    Fast-switchover = disabled
    Direct Load Swap = disabled

    Ports in the Port-channel:

    Index Load Port EC state No of bits
    +
    +
    +
    +
    0 11 Gi1/5 On 2
    1 22 Gi1/6 On 2
    2 44 Gi1/23 On 2
    3 88 Gi1/24 On 2

    Time since last port bundled: 119d:09h:47m:29s Gi1/24
  • tierstentiersten Member Posts: 4,505
    nanga wrote: »
    why would a link in the particular port-channel have more load even though they have even distribution algorithim ( bit value 2)
    Each flow only ever uses 1 link out of the entire channel. It doesn't spread it out over multiple links. The load balancing algorithm uses criteria like source/destination MAC and port to determine which link to use and it will always give the same link if the criteria is the same.

    So if your application always uses the same ports and it is always the same 2 machines talking to each other with nobody else using this etherchannel then you're going to find one of the links is used significantly more than the other links.

    Another pitfall which you need to be aware of is that the maximum throughput for a single flow in an etherchannel is whatever the throughput is for a single link in that etherchannel.

    You can tune the load balancing algorithm to select different criteria to try and balance it out more. Read the link I previously posted.
  • chrisonechrisone Senior Member Member Posts: 2,207 ■■■■■■■■■□
    This should fix all your problems if you have not already configured this option.

    The following is from the CCDP Arch book.

    "Test results show that EtherChannel ports configured with the default Layer 3 hash may not provide optimal utilization.To enable the Layer 3 IP plus Layer 4 port-based CEF hashing algorithm for EtherChannel ports, use the port-channel load-balance. This command can improve load distribution for EtherChannel ports because it presents more unique values to the hashing algorithm by leveraging the automatic source-port randomization in the client TCP stack."

    Give this a shot and then look at your traffic load.
    Certs: CISSP, OSCP, CRTP, eCTHPv2, eCPPT, eCIR, LFCS, CEH, AZ-900, VHL:Advanced+, Retired Cisco CCNP/SP/DP
    2021 Goals
    Courses: eLearnSecurity - PTXv2 (complete), SANS 699: Purple Team Tactics (completed), PentesterLabs Pro (ongoing)
    Certs: eCPTXv2, AZ-500, SC-200 (fail 1st attempt), EnCE, Splunk Core Power User
  • jason_lundejason_lunde Member Posts: 567
    yep, start looking at traffic flow...maybe a netflow or something, and see if the same pc's are talking the most to each other....it seems far fetched, but if you have a database server talking to a backup server over that port-channel, that 1 interface is going to have alot more data traverse it than any of the others.
  • larue38462larue38462 Member Posts: 32 ■■□□□□□□□□
    This is actually a topic I've came across recently in my CCNP Switch studies. I agree with the above poster that you should take a look at the flows to see if most of the traffic is occuring between the same two hosts. If it is, you would be best suited to look further into the flows to see if the communication between the two hosts occurs over the same source and destination ports. When the majority of flows on an etherchannel occur between two hosts, the best option for a more even distribution of traffic is a hash operation derived from src-dst-port (feel free to correct me if I'm wrong here). I would think that you're most always going to get a more even distribution of traffic using this operation since one side of the flow is likely going to be using a dynamic port, while the other side uses a well-known port.

    Another topic that I'm currently trying to look into myself is a Layer 2 versus a Layer 3 etherchannel. The 642-813 Certification guide (p.111) states that the src-dst-ip method is used for layer three channels and is NOT configurable. I need to dig back through my foundation learning guide and some Cisco docs to reaffirm my interpretation of the text. If anyone else is familiar with the load balancing options on layer 3 etherchannels, a more detailed response would be appreciated!

    yep, start looking at traffic flow...maybe a netflow or something, and see if the same pc's are talking the most to each other....it seems far fetched, but if you have a database server talking to a backup server over that port-channel, that 1 interface is going to have alot more data traverse it than any of the others.
    Currently studying for Route. Shooting for a 6/3/11 test date.
Sign In or Register to comment.