2015-01-12 4 views
2

Mininet, Python, SDN에서 작업해야하는데 간단한 작업을 수행하는 것입니다. 즉, 일부 스위치가 무작위로 연결되어 있으므로 (토폴로지가 중요하지 않음) 모든 호스트가 연결되어있는 네트워크를 만드는 것입니다. . 네트워크에서로드 밸런싱을해야하고로드 밸런싱이 작동하는지 모니터링 할 수 있어야합니다.Mininet ~로드 밸런싱

이것은 프로젝트이므로로드 밸런싱은 간단해야하며 다음과 같이해야합니다. H1은 H2와 H1에서 H2로 정확하게 동일한 수의 홉 (예 : H1이 연결된 경로)을 핑합니다. S1과 H2는 S2에 연결되고 S1은 S3과 S4에 연결되며 S2에도 연결됩니다). 두 경로는 H1-S1-S3-S2-H2 및 H1-S1-S4-S2-H2입니다. H1이 2 ping을 보내면 1은 첫 번째 경로를, 두 번째 경로는 두 번째 경로로 이동하는 방식으로로드 균형 조정을 수행하려고합니다. 이 방법으로 H1이 일부 트래픽을 H2로 전송하면 트래픽은 첫 번째 경로에서는 50 %, 두 번째 경로에서는 50 %가됩니다.

정말 간단한 네트워크 (예 : 4 스위치)에서 이와 비슷한 것을 어떻게 구현할 수 있습니까? 나는 몇 가지 참조 문헌을 많이 찾았지만 아무 것도 발견하지 못했습니다. 이론적으로 나는 NOX를 사용해야합니다,하지만 난 그것을 할 수 있습니다 주제를 이해하기 위해 POX를 사용하는 경우)하려고합니다 모든 사람에게 조언의

감사를 도와 :)

답변

0

을 내가 당신을 알고 스위치와 컨트롤러 사이의 연결을로드 밸런싱 할 수 있지만 스위치 스위치 경로에 대해서는 확실하지 않습니다.

분명히 openflow에서는 "select groups"라는 그룹 유형이 있습니다. 나는 버킷에 할당 된 위그를 기반으로 패킷을 배포 할 수 있다고 생각합니다. 그룹이 처리하는 트래픽의 버킷 점유율은 개별 버킷의 가중치를 그룹의 버킷 가중치의 합으로 나눈 값으로 정의됩니다. 나는 이것에 대해 완전히 확신하지 못한다.

주위에도 방법이 있습니다. 호스트가 경로 중 하나에서 패킷을 수신하고 다른 경로에서 패킷을 전송하도록 설정할 수 있습니다.

또 다른 속임수는 패킷 프로토콜이나 기타 요인에 따라 부하를 분산시킬 수 있습니다. 예를 들어,이 경로의 모든 TCP 패킷과 다른 경로의 모든 UDP 패킷을 보낼 수 있습니다.

관련 문제