200 likes | 306 Views
Mechanizmy wirtualizacji sieci z komutacją kanałów. Autor: Andrzej Mikołajczyk Promotor: dr Mateusz Żotkiewicz. Plan prezentacji. Architektura systemu. Rola kontrolera sieci. Wirtualna topologia. Routing łączy wirtualnych. Połączenie sieciowe. Działanie programu. 2/13.
E N D
Mechanizmy wirtualizacji sieci z komutacją kanałów Autor: Andrzej Mikołajczyk Promotor: drMateusz Żotkiewicz
Plan prezentacji Architektura systemu Rola kontrolera sieci Wirtualna topologia Routing łączy wirtualnych Połączenie sieciowe Działanie programu 2/13
Architektura systemu 3/13
Architektura systemu Paralell Internet – Channel Switching Network Controller 3/13
Rola kontrolera sieciowego utrzymuje łączność zarówno z aplikacjami wirtualnych operatorów, jak i węzłami należącymi do płaszczyzny przekazu danych reguluje przepływ informacji - wirtualni operatorzy nie posiadają wiedzy o zasobach fizycznych sieci, a węzły nie są świadome istnienia sieci wirtualnych gromadzi wszelkie informacje na temat działania sieci fizycznej, a także utworzonych w jej ramach sieci wirtualnych umożliwia dowolne operacje na sieci fizycznej – dodawanie/usuwanie łączy i węzłów, modyfikacje parametrów umożliwia dodawanie optymalnych łączy wirtualnych, spełaniających wymagania stawiane przez wirtualnych operatorów... 4/13
Wirtualna topologia 1/3 VnNC ? PicsNC Problem W jaki sposób wirtualny operator może złożyć żądanie rezerwacji łącza wirtualnego, jeśli nie zna topologii fizycznej sieci? 5/13
Wirtualna topologia 2/3 VnNC GetAccessibleMatrices PicsNC GetAccessibleMatrices OK +[AInfo]:[EInfo]:[FInfo] Rozwiązanie Podział węzłów w płaszczyźnie przekazu danych na dwa rodzaje: węzły dostępowe – rozgłaszane do VnNC (m.in. nazwa, lokalizacja) węzły transmisyjne – znane jedynie kontrolerowi PicsNC 6/13
Wirtualna topologia 3/3 PicsNC Sieć wirtualna VnNC Sieć fizyczna 1. GetAccessibleMatrices 2. GetAccessibleMatrices OK [AInfo]:[EInfo]:[FInfo] 4. Set [VirtualNetworkID] [AMatrixID] [EMatrixID] [Parameters] 3. Potrzeba zestawienia łącza wirtualnego A-E 5. Routing łacza wirtualnego w PicsNC 6. Set OK AVirtualMatrixID] [EVirtualMatrixID] Info – Name:MatrixId:PositionXY:Type Parameters – MaxDelay:MaxErrorRate:Capacity 7/13
Routing 1/3 RCF (Routing Control Function) - moduł w PicsNC odpowiedzialny za znajdowanie najbardziej optymalnej ścieżki pomiędzy dwoma węzłami w sieci fizycznej PicsVirtualLink – struktura reprezentująca w PicsNC łącze wirtualne, zawierająca informacje o wszystkich łączach i węzłach fizycznych tworzących to łącze. 1. Set [VirtualNetworkID] [XMatrixID][YMatrixID] [MaxDelay]:[MaxErrorRate]:[ReqCapacity] PicsNC 3. Set OK XVirtualMatrixID] [YVirtualMatrixID] RCF 2. Zastosowanie w RCF algorytmu routingowego, otrzymanie w jego wyniku obiektu klasy PicsVirtualLink • Wirtualny operator określa parametry jakie ma spełnić tworzone przez PicsNC łącze wirtualne: • MaxDelay – maksymalne opóźnienie na łączu • MaxErrorRate – maksymalna bitowa stopa błędów łącza • Capacity – wymagana przepustowość łącza Wagi łączy wykorzystywane w algorytmie routingowym liczone są indywidualnie dla każdego operatora, dzięki wprowadzeniu współczynników. 8/13
Routing 2/3 Problem – zagadnienie SPPRC (Shortest Path Problems with Resource Constraints) [6,14] Przykład: 1 (8,3) (4,7) [0,0] [9,12] [9,15] (5,5) (2,6) s 2 t (12,2) (4,3) 3 [8,12] 9/13
Routing 2/3 Problem – zagadnienie SPPRC (Shortest Path Problems with Resource Constraints) P1 = (s,1,t) [6,14] W1 = 10 T1 = 12 Przykład: 1 (8,3) (4,7) [0,0] [9,12] [9,15] (5,5) (2,6) s 2 t (12,2) (4,3) 3 [8,12] 9/13
Routing 2/3 Problem – zagadnienie SPPRC (Shortest Path Problems with Resource Constraints) P2 = (s,2,t) [6,14] W2 = 11 T2= 11 Przykład: 1 (8,3) (4,7) [0,0] [9,12] [9,15] (5,5) (2,6) s 2 t (12,2) (4,3) 3 [8,12] 9/13
Routing 2/3 Problem – zagadnienie SPPRC (Shortest Path Problems with Resource Constraints) P3 = (s,3,t) [6,14] W3 = 5 T3= 16 > 15 Przykład: 1 (8,3) (4,7) [0,0] [9,12] [9,15] (5,5) (2,6) s 2 t (12,2) (4,3) 3 [8,12] 9/13
Routing 2/3 Problem – zagadnienie SPPRC (Shortest Path Problems with Resource Constraints) Optymalna ścieżka to: P1 = (s,1,t), bo: [6,14] W1 = 10 < W2 = 11 Przykład: 1 (8,3) (4,7) [0,0] [9,12] [9,15] (5,5) (2,6) s 2 t (12,2) (4,3) ale... 3 [8,12] 9/13
Routing 2/3 Problem – zagadnienie SPPRC (Shortest Path Problems with Resource Constraints) Czy jeśli węzeł t nie byłby węzłem docelowym, też możnaby odrzucić ścieżkę P2 = (s,2,t), jeżeli T2 < T1? [6,14] Przykład: 1 (8,3) (4,7) [0,0] [9,12] [9,15] (5,5) (2,6) s 2 t (12,2) (4,3) 3 [8,12] 9/13
Routing 3/3 • W przypadku wielu parametrów ograniczających: • brak uniwersalnego rozwiązania • problem NP-trudny • metody zależne od konkretnego przypadku Rozwiązanie? Działanie algorytmu zaimplementowanego w RCF: Analiza wszystkich ścieżek od węzła źródłowego do docelowego, zaczynając od tych o najmniejszej wadze. PicsNC • Wywoływanie algorytmu rekurencyjne, dla każdego kolejnego węzła w aktualnie analizowanej ścieżce. RCF Eliminacja jak największej liczby ścieżek na ich początkowym etapie poprzez sprawdzanie warunków. W najmniej optymalnym przypadku, analizie zostają poddane wszystkie ścieżki. 10/13
Połączenie sieciowe Komponent SCCF (Subnetwork Connection Control Function) w PicsNC odpowiada za zestawianie/zrywanie połączeń w sieci fizycznej VnNC 1. Connect [AVirtualMatrixID] [EVirtualMatrixID] [Capacity] 4. Connect OK [NetworkConnectionID] PicsNC 2A .Mapowanie identyfikatorów łączy wirtualnych na struktury reprezentujące łącza wirtualne w PicsNC – PicsVirtualLink. 2.B Stworzenie w PicsNC struktury reprezentującej nowe połączenie sieciowe – NetworkConnection grupującej połączenia na łączach - LinkConnection i w węzłach – MatrixConnection oraz punkty źródła/ujścia - NwTTP NCCF 3. Connect [PortX] [PortY] [LabelX] [LabelY] C A E NwTTP Sink/Source D B MatrixConnection LinkConnection 11/13
Działanie programu • Podsumowanie: • Wynik pracy – aplikacja PI-CS Network Controller • Implementacja: C#/.NET z wykorzystaniem bibliotek: QuickSharp, GraphSharp, SIP .NET ... • pozwala tworzyć sieci wirtualne • umożliwia modyfikowanie sieci fizycznej • pośredniczy w komunikcji VNO – węzły fizyczne • tworzy i utrzymuje połączenia sieciowe • pozwala na dowolną zmianę parametrów sieci • przechowuje wszystkie informacje o wirtualnych operatorach i ich sieciach • i wiele innych... 12/13