Observing real smartphone aplplications over multipath tcp
1. OBSERVING REAL SMARTPHONE
APPLICATIONS OVER MULTIPATH
TCP
ΠΡΩΤΌΚΟΛΛΑ & ΑΡΧΙΤΕΚΤΟΝΙΚΈΣ ΔΙΑΔΙΚΤΎΟΥ
Πανεπιστήμιο Αιγαίου
icsd11066 :Βαγγέλης Κλιάρης
icsd11084 :Γιώργος Λέρτας
2. Περιεχόμενα
■ Εισαγωγή
■ Τι είναι το MultipathTCP ;
■ Πως λειτουργεί το MultipathTCP στα Smartphones ;
■ Παρουσίαση του πειράματος
■ Μετρήσεις απλής διαδρομής
■ Μετρήσεις πολλαπλών διαδρομών
■ Σύναψη
3. Εισαγωγή
■ Στις μέρες μας οι κινητές συσκευές έχουν συχνά περισσότερες από μία
διεπαφές δικτύου (network interfaces)
■ Οι φορείς εκμετάλλευσης δικτύων έχουν συνήθως εις διπλούν τουλάχιστον
τις σημαντικές / κεντρικές ζεύξεις δικτύου ενώ τα δίκτυα κορμού έχουν σε
γενικές γραμμές τοπολογία mesh
■ Είναι πολύ πιθανό να υπάρχουν πολλά μονοπάτια ανάμεσα σε δύο άκρα του
δικτύου
■ Συνδέσεις πολλαπλών διαδρομών μπορεί να πετύχουν εξισορρόπηση του
φορτίου ανάμεσα σε διαφορετικά μονοπάτια (load balancing)
■ Οι συσκευές που είναι συνδεδεμένες ταυτόχρονα σε διαφορετικά δίκτυα
λέγονται Multihomed
■ Η χρήση πολλαπλών μονοπατιών ταυτόχρονα ονομάζεται Multipath
■ Χρήση του MultipathTCP στο iPhone(Siri) και Galaxy S6
4. Τι είναι το MultipathTCP ;
■ Επέκταση τουTCP
■ Xρήση πολλών μονοπατιών μεταξύ δύο ή περισσότερων διεπαφών
ταυτόχρονα.
■ δεν χρειάζεται να γίνουν αλλαγές στις εφαρμογές που αρχικά
χρησιμοποιούσαν τοTCP ενώ τώρα το MultipathTCP
■ παρέχει υπηρεσία bytestream
■ μπορεί να αναπτυχθεί σεTCP-συμβατα δίκτυα
5. Πως λειτουργεί το MultipathTCP στα
Smartphones ;
■ το smartphone προσθέτει την
επιλογή MP_CAPABLE μέσω της
προεπιλεγμένη διεπαφής του (π.χ.
WiFi)
■ Αυτή η επιλογή περιέχει κάποιες
σημαίες (flags) και ένα κλειδί,έτσι
ώστε να ανιχνεύσει εάν
υποστηρίζεται το Multipath.
■ Όταν αντιλαμβάνεται πως
υποστηρίζεται το MultipathTCP τότε
τα κλειδιά στέλνονται μέσω του
MP_CAPABLE option στα SYN
πακέτα
■ Αυτή η σύνδεσηTCP ονομάζεται
αρχικό μερικό ρεύμα .
6. Πως λειτουργεί το MultipathTCP στα
Smartphones ;
■ Αν το smartphone θέλει να στείλει δεδομένα
για τη σύνδεση αυτή μέσω του κυψελοειδούς
interface του, στέλνει ένα νέο SYN με την
επιλογή MP_JOIN πάνω από αυτό το
περιβάλλον.
■ Η επιλογή αυτή περιέχει ένα 32bit
διακριτικό(token) που προέρχεται από το
κλειδί που ανακοινώθηκε από το διακομιστή
στην επιλογή MP_CAPABLE.
■ Ο διακομιστής απαντά με ένα SYN + ACK που
περιέχει την επιλογή MP_JOIN, και είναι
εγκατεστημένο το δεύτερο μερικό ρεύμα.
■ Τωρα το Multipath-TCP στέλνει δεδομένα
μέσω οποιαδήποτε από τις διαθέσιμες
υποροές.
7. Πως λειτουργεί το MultipathTCP στα
Smartphones ;
■ Χρειάζεται data sequence number όπου καθορίζει τη θέση ενός segment μέσα σε
ένα data stream(συμφωνία για Initial Data Sequence Number / IDSN)
■ Όταν συμβούν απώλειες,μπορεί να αναμεταδώσει τα δεδομένα πάνω από ένα
διαφορετικό μερικό ρεύμα.
■ Για να επιτευχθεί αυτό, η συσκευή στέλνει σε ένα άλλο μερικό ρεύμα ένα πακέτο
με το ίδιο DSN που περιέχει τα δεδομένα. (επανέγχυση)
■ Ο path manger καθορίζει την στρατηγική που χρησιμοποιείται για την δημιουργία
και την διαγραφή των υποροών.
■ Ο packet scheduler επιλέγει, μεταξύ των ενεργών υποροών ,το μερικό ρεύμα που
θα χρησιμοποιηθεί για να στείλει τα δεδομένα.
8. Παρουσίαση του πειράματος
Στόχος: Να γίνουν μετρήσεις και να αναλυθούν τις αλληλεπιδράσεις μεταξύ
πραγματικού δικτύου – βαριές εφαρμογές με τη χρήση του multipath tcp
Χρησιμοποιούμε:
• Nexus 5 (android 4.4.4) βασισμένο σε μια backport 0.89v5 της MultipathTCP
Linux Kernel
• Socks proxy server ,συμβατος με multipath-Tcp συνδέσεις, ο οποίος χρησιμοποιεί
ShadowSocks
• Το smartphone χρησιμοποιεί το πρότυπο πελάτη Android ShadowSocks.
• Αναπτύχθηκε εφαρμογή για τον έλεγχο της συσκευής και την μίμηση της
αλληλεπίδρασης του χρήστη
9. Παρουσίαση του πειράματος
Συνθήκες πειράματος:
• Κάθε δοκιμή υλοποιείται ως ένα νέο πρόγραμμα
• Τα προσωρινά αποθηκευμένα αρχεία(cached files)διαγράφονται κατά την
έναρξη των δοκιμών
• Οι δοκιμές που περιγράφονται έγιναν κατά τη διάρκεια της νύχτας για τη
μείωση των παρεμβολών με άλλους χρήστες σχετικά με τα δίκτυα
• Το δίκτυοWiFi παρέχεται από έναν ελεγχόμενο router με μια διεπαφή 802.11n
στη ζώνη συχνοτήτων των 5 GHz, με bit rate 65 έως 72 Mb / s
• Ο δρομολογητής συνδέθηκε με 100 Mb / s σύνδεση με το δίκτυο του
Πανεπιστημίου
• Διασφαλίσαμε ότι κανένα άλλο δίκτυοWiFi δεν εξέπεμπε στη συχνότητα αυτή
στο κτίριο.
• Το δίκτυο κινητής τηλεφωνίας είναι ένα εμπορικό, και ρυθμιστηκε είτε σε 3G
είτε σε 4G στο smartphone
10. Παρουσίαση του πειράματος
Σενάρια δοκιμών:
• Upload (Facebook,Messenger,Dropbox,Google Drive)
• Download(Firefox,Spotify,DailyMotion,YouTube)
Κάθε δοκιμή διαρκεί λιγότερο από 120 s.
■ Συλλέξουμε όλα τα πακέτα που αποστέλλονται τόσο από το smartphone όσο και από τον
διακομιστή SOCKS.
■ Γίνανε πάνω από 110.000 συνδέσεις και πάνω από περίπου 1400 διαφορετικές δοκιμές
■ μεταφέρθηκαν περισσότερα από 15 GB δεδομένων.
11. Μετρήσεις
Πραγματοποιήθηκαν δοκιμές μεταξύ smartphone εφαρμογών και
δικτύου κάτω από διάφορες συνθήκες. Πρώτα παρατηρήθηκαν σε
κανονικάTCP και έπειτα σε MultipathTCP.
Μετρήσεις απλής διαδρομής:
– Σημαντικός παράγοντας που επηρεάζει την απόδοση τουTCP είναι
η διάρκεια ζωής των συνδέσεων καθώς και ο αριθμός των bytes
που ανταλλάσσονται.
– Το Firefox είναι η εφαρμογή που χρησιμοποιεί το μεγαλύτερο
αριθμό συνδέσεων(63,9%).
– Οι εφαρμογές που ανταλλάσσουν το μεγαλύτερο όγκο σε bytes
είναι αυτές με streaming και αποθήκευση σε cloud. Όπως Dropbox
(31,75%),Youtube (29,7%), Drive (19,9%).
– Μερικές από τις συνδέσεις που παρατηρούμε προκαλούνται από
τη χρήση ενός proxy SOCKS.
– Υπάρχουν εκατοντάδες συνδέσεις που διαρκούν πολλά
δευτερόλεπτα, αλλά μεταφέρουν μόνο επτά bytes.Τα επτά bytes
που ανταλλάσσονται αντιστοιχούν σε αυτά που αποστέλλονται
από τον SOCKS client.
12. Μετρήσεις
Μετρήσεις απλής διαδρομής:
■ Οι περισσότερες από τις σύντομες συνδέσεις που μεταφέρουν μόνο περίπου 100 bytes
είναι τα αιτήματα DNS που αποστέλλονται σεTCP από τον SOCKS client.
■ Οι περισσότερες συνδέσειςTCP είναι σύντομες, και το μεγαλύτερο μέρος της κίνησης
μεταφέρεται από ένα μικρό μέρος του συνόλου των συνδέσεωνTCP.
– Στις δοκιμές, το 74% των συνδέσεων διαρκούν λιγότερο από 1 s. Στις συνδέσεις που
διαρκούν περισσότερο από 1s, το 32% μεταφέρουν περισσότερα από 10 kB, ενώ το
υπόλοιπο 68% ανταλλάζουν λιγότερα από 10 kB δεδομένων.
■ Οι συνδέσεις μπορούν να ταξινομηθούν σε τρεις κατηγορίες:
– Σύντομες συνδέσεις που μεταφέρουν μια σχετικά μικρή ποσότητα δεδομένων.
– Μεγάλες συνδέσεις που μεταφέρουν τα περισσότερα από τα δεδομένα.
– Μεγάλη διάρκεια ζωής συνδέσεις που μεταφέρουν μια μικρή ποσότητα δεδομένων.
■ Η RTT είναι ένας από τους βασικούς παράγοντες που επηρεάζουν την απόδοση των
συνδέσεωνTCP.
■ Το δίκτυο 4G παρουσιάζει στο upstream διάμεση RTT στα 42,6 ms και στο downstream
διάμεση RTT 38,1 ms. Στο δίκτυο WiFi, το 60% των συνδέσεων έχουν RTT μικρότερη από
15,4 ms, ενώ στο δίκτυο 3G υπάρχει bufferbloat.
13. Μετρήσεις
Μετρήσεις πολλαπλών διαδρομών:
■ Οι μετρήσεις, έχουμε επικεντρωθεί σε μια διαμόρφωση, όπου το MultipathTCP προσπαθεί να
συνενώσει τους πόρους των cellular καιWiFi διεπαφών ταυτόχρονα.
■ Αρχικά, εξετάσθηκαν οι MultipathTCP συνδέσεις χρησιμοποιώνταςWiFi και 4G διεπαφές, με το
WiFi να έχει οριστεί ως default περιβάλλον εργασίας.
■ Παρατηρείτε ότι το 96% των συνδέσεων χρησιμοποιείτε μόνο τη διεπαφήWiFi, παρόλο που και τα
δύο αξιοποιήθηκαν το ίδιο. Ωστόσο, φαίνεται ότι οι συνδέσεις αυτές είναι μικρές, αφού
μεταφέρουν μόνο το 16,3% του συνόλου των bytes.
■ Το MultipathTCP δεν χρησιμοποιεί το δίκτυο κινητής τηλεφωνίας για αυτές τις σύντομες συνδέσεις.
Οι λόγοι είναι πολλοί, ο βασικός είναι η διαμορφωμένη default διαδρομή.
– Όταν εκκινείται μια σύνδεση, το MultipathTCP στέλνει το SYN μέσω της διεπαφής με την default
διαδρομή. Εάν η σύνδεση MultipathTCP είναι σύντομη και μεταφέρει μόνο μερικά kilobytes ή
λιγότερο, τότε τα περισσότερα από τα δεδομένα ταιριάζουν στο εσωτερικό του αρχικού
παραθύρου συμφόρησης και μπορούν να αποσταλούν μέσω της διασύνδεσης LAN, ενώ το
δεύτερο μερικό ρεύμα είναι εγκατεστημένο στη διεπαφή cellular.Το 71% των συνδέσεων
αποστολής για την διεπαφήWiFi είναι σε αυτή την περίπτωση.
■ Το RTT μέσω της διεπαφήςWiFi είναι μικρότερο απ’ ότι μέσω της διεπαφής cellular.Τις
περισσότερες φορές, εφ 'όσον το παράθυρο συμφόρηση είναι ανοιχτό κατά τη διάρκεια της
διεπαφήςWiFi, ο RTT προτιμά να στείλει πακέτα μέσωWiFi.Έτσι το 84% των συνδέσεων με δύο
υποροές έχουν μικρότερο μέσο όρο RTT για WiFi από ό, τι για 4G.
14. Μετρήσεις
Μετρήσεις πολλαπλών διαδρομών:
■ Εκτελέσθηκε το ίδιο σύνολο των μετρήσεων με default διαδρομή
τη διεπαφή 4G, για να επαληθευτεί ότι τα δεδομένα με τις
σύντομες συνδέσεις ανταλλάσσονται μόνο μέσωWiFi.
■ Μόνο το 65% των συνδέσεων χρησιμοποιούν αποκλειστικά το
δίκτυο 4G, παρόλο που είναι default επιλογή. Φαίνεται ότι πολλές
συνδέσεις εξακολουθούν να χρησιμοποιούνWiFi, ακόμη και για τις
συνδέσεις ανταλλαγής λιγότερες από 1 kB.
■ Εάν η σύνδεση διαρκεί περισσότερο από δύο RTTs, το Multipath
TCP έχει αρκετό χρόνο για να δημιουργήσει δεύτερη μερικό ρεύμα.
■ Το πακέτο τότε θα επιλέξει τη ροή με το χαμηλότερο RTT.
■ Το 88% των συνδέσεων που χρησιμοποιούν δύο μερικά ρεύματα,
έχουν έναWiFi με χαμηλότερη μέση RTT από το cellular.
15. Μετρήσεις
Μετρήσεις πολλαπλών διαδρομών:
■ Όσο οι εφαρμογές ωθούν περισσότερα δεδομένα μέσω του MultipathTCP, η κατανομή
της κυκλοφορίας των δύο διεπαφών εξαρτάται από την εξέλιξη των παραθύρων
συμφόρηση.
– Αν στέλνονται σε χαμηλό ρυθμό, σε περίπτωση που ένα πακέτο χαθεί, το παράθυρο
συμφόρηση μειώνεται.
– Αν στέλνονται σε υψηλό ρυθμό, το παράθυρο συμφόρησης δεν είναι αρκετά μεγάλο,
και τα δεδομένα στελνονται κατά το δεύτερο μερικό ρεύμα.
■ Tα δεδομένα που μεταφέρονται από ένα MultipathTCP σε μία ροή μπορεί να
αναμεταδοθούν σε μια άλλη ροή. Αυτό το φαινόμενο ονομάζεται επανεισαγωγής
(reinjection) και μπορεί να περιορίσει την απόδοση των πολλαπλώνTCP σε ορισμένες
περιπτώσεις.
■ Επανεισαγωγή στο upstream χρησιμοποιούν λιγότερο από 0,5% των συνδέσεων και δεν
υπερβαίνει τα 5 kB σε κάθε σύνδεση. Στο downstream χρησιμοποιούν μόνο το 2% των
συνδέσεων και η μεγαλύτερη επανεισαγωγή είναι 30 kB σε σύνδεση 5 MB.
■ Ένα σημαντικό όφελος των MultipathTCP είναι η ικανότητά τους να προσαρμόζονται
στις διάφορες συνθήκες δικτύωσης με διαφορετικό εύρος ζώνης και καθυστερήσεις.
■ Υπάρχουν περιπτώσεις 4G που χρησιμοποιούνται περισσότερο απόWiFi κι ας έχει
καλύτερη RTT, επειδή το MultipathTCP επιλέγει με βάση την καλύτερη απόδοση και όχι
την ταχύτητα
16. Σύναψη
■ MultipathTCP είναι μια νέα επέκτασηTCP που έχει μεγάλες δυνατότητες για τα
smartphones, επιτρέποντας συνδέσειςTCP για την ανταλλαγή δεδομένων με cellular και
WiFi διεπαφές μαζί.
■ Σήμερα λίγα είναι γνωστά σχετικά με τις αλληλεπιδράσεις μεταξύ των εφαρμογών σε
πραγματικό smartphone και MultipathTCP.
■ Έχουν πραγματοποιηθεί μετρήσεις για να μελετηθούν οι αλληλεπιδράσεις οκτώ
διαφορετικών εφαρμογών smartphone, όπου καλύπτουν αρκετές περιπτώσεις
smartphone, και η πιο πρόσφατη έκδοση της εφαρμογής MultipathTCP για εκτέλεση σε
Linux.Τα τρία συμπεράσματα αυτών είναι:
– Όλες οι μελετημένες εφαρμογές λειτουργούν χωρίς καμία τροποποίηση με Multipath
TCP.
– Για τις σύντομες συνδέσεις, το MultipathTCP χρησιμοποιεί την default διαδρομή για να
διαβιβάσει τα δεδομένα για τις περισσότερες συνδέσεις.
– Για τις μεγάλες συνδέσεις, το MultipathTCP επιτρέπει στις εφαρμογές να
συγκεντρώσουν bandwidth για τις cellular καιWiFi διεπαφές, και διατηρεί καλές
επιδόσεις όταν ένας από αυτούς έχει περιορισμό bandwidth.
17. Βιβλιογραφία
■ Observing Real Smartphone Applications over MultipathTCP(Quentin
De Coninck, Matthieu Baerts, Benjamin Hesmans, and Olivier
Bonaventure)
■ MULTIPATH –TCP-SIMULATION WITH NS3(GEORGE
KYRIAKOPOULOS)
■ ΠΟΛΥΔΙΑΔΡΟΜΙΚΟTCP(Σιόλος Δ. Νικόλαος )
■ https://en.wikipedia.org/wiki/Multipath_TCP
■ https://www.multipath-tcp.org/
■ https://en.wikipedia.org/wiki/SOCKS