2017-05-03 8 views
0

Ryu SDN 컨트롤러를 사용하여 네트워크 대기 시간을 에뮬레이션해야합니다. 먼저 컨트롤러가 메시지의 패킷을 수신 할 때마다 함수를 호출하는 데코레이터 뒤에 수면 시간을 추가하려고했으나 문제는이 함수가 현재 패킷이 끝날 때까지 다음 패킷을 처리 할 수 ​​없다는 것입니다. 이 기능을 멀티 스레드로 만드는 방법이 있습니까?류 SDN 응용 프로그램을 사용하여 대기 시간을 에뮬레이트하는 방법은 무엇입니까?

@set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER) 
def _packet_in_handler(self, ev): 
time.sleep(LATENCY) 
... 

답변

1

네트워크 대기 시간을 에뮬레이션하려면 응용 프로그램이 아니라 링크에 대기 시간을 적용해야합니다. 가상 컴퓨터를 사용하는 경우

, 당신은에 지연을 모방 netem을 설정할 수 있습니다 (mininet.link.TCLink 예 mininet)

네트워크 시뮬레이터를 사용하는 경우, 이것은 자사의 API에서 수행 할 수 있습니다 사용중인 인터페이스.

+0

저는 실제 장치를 사용하고 있습니다. 어쨌든 고마워. – HSC

+0

실제 물리적 장치에도 netem을 사용할 수 있습니다. – Hafager

+0

좋습니다. 고마워요. – HSC