Dzięki prezentacji poznasz wyzwania jakie stawia rynek infrastrukturze sieciowej, dowiesz się jakie są główne potrzeby w tym obszarze, zapoznasz się z ewolucją kart sieciowych.
2. Plan prezentacji
● Przypomnienie podstawowych zagadnień sieciowych
● Infrastruktura sieciowa
● Wirtualizacja
● SmartNIC - zastosowanie, zalety i wady
3. Ruch internetowy 2016 - 2020[1]
W roku 2016 sumaryczny globalny ruch w ramach sieci IP przekroczy próg
1 zettabajta [ZB]
Przewidywany wzrost do 2,3 ZB do 2020
[1] http://www.cisco.com/c/en/us/solutions/collateral/service-provider/visual-networking-index-vni/vni-hyperconnectivity-wp.htm
4. Model TCP/IP
● Model rozwijany w latach 1973-74
● Wrzesień 1981 - RFC793 (TCPv4)
● Enkapsulacja danych w pakiety
sieciowe
[1] https://web.archive.org/web/20160304150203/http://ece.ut.ac.ir/Classpages/F84/PrincipleofNetworkDesign/Papers/CK74.pdf
[2] https://tools.ietf.org/html/rfc793
5. Warstwa Internetu i Transportu
● Warstwa Internetu pozwala na
tworzenie sieci (topologia,
trasowanie)
● Warstwa Transportu zapewnia
całościowe połączenie pomiędzy
stacjami (segmentacja danych,
złożenie ich w strumień)
6. ● Obsługa sieci
komputerowych jest
integralną częścią systemu
operacyjnego
● System operacyjny jest
odpowiedzialny za m. in.:
○ kapsułkowanie danych
○ stworzenie i utrzymywanie
sesji TCP
○ przekazanie (odebranie)
pakietu sieciowego do (od)
kart sieciowych
7. Obsługa sprzętu
Wydajność procesora dla potrzeb sieciowych:
1GHz procesora = 1Gbps danych[1]
gdy procesor zajmuje się:
■ Obliczaniem sum kontrolnych
■ Fragmentacją pakietów
■ Utrzymywaniem sesji TCP
Czy powyższe zadania muszą należeć do głównego procesora?
[1] Annie P. Foong et al.: “TCP Performance Re-Visited”, http://www.nanogrids.org/jaidev/papers/ispass03.pdf
9. Wirtualizacja systemów
Zalety
○ Konsolidacja serwerów - zamiast wielu mniejszych serwerów można
uruchomić jeden, obejmujący ich funkcjonalność
○ Zmniejszone zużycie energii
○ Ułatwione zarządzanie maszynami - nie trzeba kupować nowej maszyny,
kontrola wirtualnych maszyn z poziomu maszyny fizycznej, możliwość
szybkiej relokacji (również “w locie”)
10. Wirtualizacja systemów
○ Lata 1960 - Początki koncepcji wirtualizacji
○ 1987-1989 - Zaprezentowano SoftPC, aplikację umożliwiającą uruchomienie programów
napisanych pod DOS na Uniksie
○ 1997 - Apple wydało (Connectix) Virtual PC, aplikację umożliwiającą uruchomienie Windowsa
na MacOS
○ 2001 - VMWare publikuje ESX Server i GSX Server - aplikacje umożliwiające uruchomienie
wirtualnego systemu operacyjnego: Hypervisor typu 1 (ESX Server) i 2 (GSX Server)
○ 2003 - zostaje upubliczniony Xen Project
○ 2005-06 - Intel i AMD wprowadzają hardware’owe wsparcie do wirtualizacji
(odpowiednio VT-x i AMD-V)
○ 2007 - VMWare popularyzuje wirtualne maszyny
[n] https://virtualizationreview.com/articles/2008/03/31/new-things-to-virtualize.aspx
11. Wirtualizacja sieci
● Posiadamy wirtualne systemy (serwery), czyli kilka wirtualnych maszyn jest
uruchomionych równolegle na jednym fizycznym sprzęcie
● Każda z wirtualnych maszyn chce mieć dostęp do sieci komputerowej
● Powstały techniki, które to umożliwiają
○ VNIC, VLAN
○ Intel VT-d, AMD-Vi; SR-IOV
○ Software Defined Networks
○ Wirtualne (software’owe) switche i routery
12. Czym jest SmartNIC?
“Inteligentny”, czyli programowalny interfejs sieciowy
○ Dedykowany ASIC, FPGA lub SoC (System-on-Chip)
→ Zoptymalizowany pod kątem sieciowym = miliony pakietów na
sekundę; interfejsy 10, 25, 40, 50, 100 i więcej Gb/s
○ Posiada własne oprogramowanie (firmware, Linux)
14. Zadania SmartNIC
○ Odciążanie głównego procesora od operacji sieciowych (sumy kontrolne,
fragmentowanie pakietów, inne zaawansowane opcje sieciowe)
○ Wsparcie wirtualizacji
■ SR-IOV, Wirtualne Funkcje (VF), Wirtualne Kolejki (np. VMDq)
■ Obsługa wirtualnych sieci lokalnych (VLAN)
18. Przykład: QoS (Quality of Service)
● zmiana trybu pracy
● konfigurowalna ilość typów ruchu
● rejestrowanie połączeń
● listy przepływów
[1] http://www.wooditwork.com/wp-content/uploads/2013/07/image_thumb741.png
19. Przykład: firewall
● adaptacyjny lub programowalny
● równoległe przetwarzanie
● inspekcja pakietów pod względem
zawartości
[1] http://www.linuxandubuntu.com/uploads/2/1/1/5/21152474/9128554_orig.jpg
20. ■ kryptografia (SSL, IPSec)
■ wirtualne switche i routery
■ zaawansowana korekcja danych
■ automatyzacja zadań
■ analiza SQL
■ “sky is the limit”
Zastosowania