본문 바로가기

IT인생_스크랩/Network

etherchannel [네트워크구성이중화]

출처 Cell's Ruin |
원문 http://blog.naver.com/wonic/30872079


어제 이더넷 구성하고 그걸 알아보라고 하셔서.. 열심히 했는데 막상 내가 한건 그중에 발톱의 때 --

게다가 개념도 없어 ㅡㅡ; 그래서 오늘 다시 교육받고 잊어먹지말자고.. 차분히 써봅니다.

 

etherchannel이란 Cisco 사의 VIP(Virtual IP)입니다.. (산업표준은 IEEE 802.3ad입니다만.. Cisco에서는 etherchannel을 독자적으로 개발한거죵... 다른 회사라 해도 개념면에서는 별 차이는 없음다.ㅋ).. 그래도 etherchannel을 구성하려면 대상 switch가 etherchannel을 지원해야만 합니다.

 

간단하게 개념을 말하자면, 물리적 랜카드 두개를 이용해서 하나의 논리적 device를 구성하여, 네트웍 이중화를 구성하는 것입니다... 2개든 3개든 4개든..됩니다만..

 

그러니까.. 랜카드1(LAN#1)이 있고, 랜카드2(LAN#2)가 있으면, 하나의 IP를 가지고, 데이타를 송수신 하는것입니다. 랜카드를 두개를 쓰기 때문에 bandwidth(대역폭)이 크게 늘어나고(일반 랜카드가 10/100MB이므로 이론적으로 20/200MB) throwput(실전송량) 역시 10MB/s가 아닌 '이론적 20MB/s)가 되지만 실제로 2배는 아닙니다. (쪼금 괜찮아지는정도?)

 

그리고, 두카드중 하나가 장애가 나서 사용하지 못하더라도, 몇가지 방식에 따라서 아무튼 약간의 downtime(1~2초) 이후에 계속적으로 쓸수 있게 해주는 이중화입니다.

 

이 이중화의 방식에는.. 내가 혼자 삽질했던 netif_backup(Link Aggregation)이 있고, (나중에 알고 보니 이게 젤 쉬운거 ㅠ _ㅠ) Standardmode, Round-robin mode가 있는데.. 각기 옵션이 조금씩 다릅니다. 음..

 

netif_backup이라는 명칭은 AIX 4.3.3때 쓰던 방식으로 5L이후에는 Link Aggregation이라고 부릅니다. 이중화긴 한데, load-balancing(퍼포먼스 상향)이 전혀 없습니다. 방식을 말하자면 주 랜카드 (Primary)를 하나만 설정을 하고, 이것이 장애가 발생할시 두번째 랜카드는 항상 대기(stand-by)상태에 있다가 약간의 downtime후에, 정상적으로 송수신상태가 가능하게 해줍니다. 다른 기능에 비해서 전혀 좋은게 없어보이는 그냥, 비상용 기능처럼 보이지만, switch가 etherchannel을 지원하지 않아도 가능하며, dummy hub에서도 사용이 가능합니다...

 

그럼, 나머지 standard와 round-robin기능은 무엇인고 하니.. switch가 etherchannel을 지원한다는 전제하에서,

 

standard모드는 송수신 되는 자료가 어떤 랜카드를 통해서 보낼것인지를 목적지의 IP adress(ex:192.168.1.204:8000의 8000)를 반으로 뚝 쪼개서(hashing), 그게 0이냐 1이냐에 따라서 사용하는 랜카드를 다르게 할수 있습니다. 이 경우는 고객사정에 따라서 결정하는 부분인데 옵션에 hash가 있고, hash를 반으로 쪼개서 보내는 방식의 차이가 있습니다.

default , src_port,  dst_port,  src_dst_port가 있지만..아직 hash방식은 잘 모르겠음..

 

round-robin모드는 두개의 랜카드에 하나씩의 packet를 분배해서 송수신합니다. 이 방식이 대부분의 서버에서 주로 쓰이는 방식이며, 굳이 다른 작업이 없어도 load-balancing이 높은 편입니다.

이러한 종류가 있다는건데.. 막상 쓰고 나서 생각난거지만, SCSI카드 또 까먹었다 ㅡㅡ; 보러가야지