Την ίδια στιγμή που ένας χρήστης απολαμβάνει ένα streaming HD video, κάποιοι διαχειριστές δικτύων βρίσκονται υπ’ ατμόν.

Οι πιέσεις που δέχονται τα δίκτυα δεδομένων είναι σήμερα μεγαλύτερες από οποιαδήποτε άλλη περίοδο της ιστορίας. Η τάση αυτή αναμένεται να συνεχιστεί με μεγαλύτερη ένταση, καθώς το video ως περιεχόμενο γίνεται κομμάτι της καθημερινότητας των χρηστών, είτε στο χώρο της εργασίας, είτε στην ιδιωτική τους ζωή.

Το δίκτυο, ενσύρματο ή ασύρματο, πρέπει να είναι σε θέση να διαχειριστεί τεράστιους αριθμούς πακέτων δεδομένων, σε μια διαδικασία που μοιάζει με τα logistics μιας αποθήκης. Κάποιος στέλνει τα πακέτα, τα οποία πρέπει να παραμείνουν το λιγότερο δυνατό χρόνο στην αποθήκη και να μοιραστούν σωστά και γρήγορα στους παραλήπτες τους. Πρόκειται για μια διαδικασία που εύκολα μπορεί να διαταραχθεί με αποτελέσματα από μια απλή έκπτωση της ποιότητας των υπηρεσιών που απολαμβάνει ο χρήστης, μέχρι την κατάρρευση ολόκληρου του συστήματος διακίνησης.

Ενας provider που αντιμετωπίζει προβλήματα με το δίκτυό του θα χάσει πελάτες. Ομως και μια επιχείρηση θα χάσει σε παραγωγικότητα, δεδομένου ότι σχεδόν δεν νοείται πλέον επιχειρηματική διαδικασία η οποία να μην περιλαμβάνει τη χρήση κάποιου δικτύου.

Η επιτάχυνση και βελτιστοποίηση των δικτύων, δυστυχώς, δεν εξαρτάται από ένα μόνο παράγοντα. Ενα φανταστικό κουτί που ο διαχειριστής θα μπορούσε να γυρίσει μερικούς διακόπτες και να πετύχει το επιθυμητό αποτέλεσμα δεν υπάρχει. Αντιθέτως, υπάρχουν πολλά διαφορετικά κουτιά, τα οποία χρειάζεται να ρυθμιστούν το καθένα χωριστά και στη συνέχεια να συντονιστούν μεταξύ τους.

Αυτός είναι άλλωστε και ο λόγος που τα προηγούμενα χρόνια, οι μεγάλοι κατασκευαστές του hardware αποφάσισαν να δημιουργήσουν λύσεις που ενσωματώνουν προ-ρυθμισμένο όλο τον εξοπλισμό (CPU, networking, storage) σε ένα μόνο κουτί, ορισμένοι δε περιορίζοντας ακόμα και τις επιλογές λειτουργικών συστημάτων και άλλων λογισμικών προκειμένου να πετύχουν το βέλτιστο αποτέλεσμα.

Mutlicore και Multiprocessing
Οι πλατφόρμες που υποστηρίζουν ενσύρματα δίκτυα Gigabit Ethernet βασίζονται σήμερα σε επεξεργαστές πολλών πυρήνων. Επιπλέον, οι πλατφόρμες στον τομέα του network acceleration που παρέχουν linear scalability δημιουργούν το απαραίτητο υπόστρωμα για να υποστηρίξουν τις αυξανόμενες πιέσεις των δικτύων. Οι περισσότεροι κατασκευαστές έχουν εστιάσει στον συνδυασμό των πολυπύρηνων συστημάτων με τεχνικές multiprocessing. Ωστόσο, μέχρι τώρα η πράξη έχει δείξει ότι η καμπύλη απόδοσης γίνεται επίπεδη από ένα μικρό αριθμό πυρήνων και πάνω.

Για να γίνει το επόμενο βήμα, χρειάζεται ένας σαφής διαχωρισμός ανάμεσα στις λειτουργίες του control plane και data plane. Από εκεί και πέρα τα πλεονεκτήματα αυτής της πλατφόρμας είναι αρκετά. Οι επιδόσεις είναι προσωρινά επαρκείς, υπάρχει καινοτομία λόγω ανταγωνισμού μεταξύ των κατασκευαστών, οι εξελίξεις βρίσκουν γρήγορα το δρόμο τους στην αγορά, πρόκειται για δοκιμασμένη τεχνολογία με χαμηλό ρίσκο εφαρμογής και τελικά το αποτέλεσμα είναι ένα δίκτυο αποτελεσματικό, ασφαλές και με την απαραίτητη χωρητικότητα.

Το δίκτυο είναι διάφανο στον χρήστη
Οι χρήστες δεν πρέπει να ενδιαφέρονται για τον τύπο σύνδεσης που έχουν. Αυτό που ζητούν είναι να έχουν ταχύτητα και ποιότητα σύνδεσης που θα τους επιτρέπουν να κάνουν αποτελεσματικά την εργασία τους ή να απολαμβάνουν υπηρεσίες. Η επιτάχυνση των δικτύων επιτυγχάνεται με τη χρήση λογισμικών αλγορίθμων, οι οποίοι λειτουργούν ως ρυθμιστές της διανομής των πακέτων δεδομένων και με αλγόριθμους συμπίεσης.

Και στις δύο περιπτώσεις η επεξεργαστική ισχύς παίζει σημαντικό ρόλο. Δεν είναι, όμως, μόνο αυτό αρκετό. Το δίκτυο πρέπει να έχει τη δυνατότητα να διαθέσει τους διαθέσιμους πόρους σε εξάρτηση με τη ζήτηση ή τη χρονική περίοδο. Για παράδειγμα, ο χρήστης ζητά περισσότερους πόρους όταν πρέπει να κατεβάσει μεγάλα αρχεία, ενώ ένας κάτοχος φορητής συσκευής θέλει να έχει μια σταθερή ποιότητα υπηρεσιών, χωρίς να χρειάζεται να επιλέγει το σημείο που βρίσκεται.


Οτι δεν μετριέται, δεν αλλάζει
Βλέποντας μια επιχείρηση από το πρίσμα της δικτυακής της υποδομής, υπάρχουν τρεις διαφορετικοί «χώροι» σε ένα δίκτυο: τα τοπικά γραφεία, τα περιφερειακά γραφεία και τα data centers. Αρκετές εταιρείες επιλέγουν να έχουν τους εργαζόμενούς τους κοντά στους πελάτες τους και έτσι συχνά ο αριθμός των τοπικών γραφείων είναι μεγάλος, και είναι αυτά που συχνότερα αντιμετωπίζουν προβλήματα με την ποιότητα του δικτύου.

Εκτός από τον αριθμό των χώρων που καλείται να υποστηρίξει το δίκτυο, ένας άλλος σημαντικός παράγοντας που επηρεάζει την απόδοσή του είναι το είδος των εφαρμογών που χρησιμοποιούνται από τους χρήστες. Μέχρι πρόσφατα, η χρήση τοπικών servers, εξασφάλιζε σε μεγάλο βαθμό ότι οι χρήστες των τοπικών γραφείων θα είχαν ικανοποιητική ταχύτητα πρόσβασης στις εφαρμογές.

 Ωστόσο, οι ανάγκες μείωσης του κόστους λειτουργίας, οι πολλοί τοπικοί servers δημιουργούν αυξημένα έξοδα συντήρησης, οδηγεί πλέον αρκετές εταιρείες στη δημιουργία data centers που εξυπηρετούν μέσω WAN τα τοπικά γραφεία. Αρκετές πρόσφατες αναλύσεις αναφέρουν ότι οι χρήστες των τοπικών γραφείων αντιμετωπίζουν περισσότερα προβλήματα όσον αφορά την απόδοση του δικτύου.

Το συνηθέστερο πρόβλημα που επηρεάζει την απόδοση ενός δικτύου είναι το oversubscription. Αυτό προκαλείται όταν τα δεδομένα ξεκινούν από ένα δίκτυο υψηλής ταχύτητας και καταλήγουν σε ένα δίκτυο χαμηλότερης ταχύτητας. Το αποτέλεσμα είναι να δημιουργούνται queues στις διάφορες συσκευές και συνηθέστερα στους routers που χειρίζονται τις ισορροπίες μεταξύ των διαφορετικών δικτύων.

Ο πιο διαδεδομένος τρόπος μέτρησης της απόδοσης ενός δικτύου είναι το Utilization. Το ποσοστό Utilization περιγράφει τι μέρος του συνολικού bandwidth, χωρητικότητας του δικτύου, χρησιμοποιείται μια δεδομένη χρονική στιγμή. Ο μόνος τρόπος για να διαπιστωθεί αν ένα δίκτυο είναι υπερφορτωμένο είναι να βρίσκεται συνεχώς υπό επίβλεψη και το ρόλο αυτό αναλαμβάνουν εφαρμογές monitoring, οι οποίες δημιουργούν ποικιλία αναφορών και βοηθούν το διαχειριστή να κατανοήσει καλύτερα τα μοτίβα λειτουργίας του δικτύου στη διάρκεια μιας μέρας, ενός μήνα ή ενός έτους.

Το πότε ένα δίκτυο είναι υπερφορτωμένο δεν είναι μια αντικειμενική εμπειρία. Ο διαχειριστής μπορεί να δημιουργήσει ένα πλαίσιο, για παράδειγμα στις ώρες αιχμής εργασίας, το δίκτυο να μην ξεπερνά ποτέ το 70% της συνολικής του χωρητικότητας, αλλά τελικά αυτό που θα παίξει το σημαντικότερο ρόλο είναι η εμπειρία του χρήστη.

Ενας δεύτερος σημαντικός παράγοντας απόδοσης είναι το Latency και Delay. Τo Latency χρησιμοποιείται για να περιγράψει το χρόνο που τα δεδομένα ταξιδεύουν μέσα στο δίκτυο. Μπορεί να εμφανιστεί ως latency μιας διαδρομής ή latency μετ’ επιστροφής. Τo latency μιας διαδρομής είναι γνωστό και ως delay. Οταν μας ενδιαφέρει η απόδοση εφαρμογών, τότε είναι προτιμότερο να βασιζόμαστε στο Round Trip Time (RTT) και όχι στο Delay, γιατί τελικά η εφαρμογή ολοκληρώνει την εντολή που έχει λάβει, όχι όταν λάβει το πακέτο δεδομένων από την πηγή, αλλά όταν φτάσει στην πηγή το σήμα ότι το έλαβε.

Το συνολικό latency είναι σχεδόν πάντα αποτέλεσμα μικρότερων latencies. Οπότε ο διαχειριστής οφείλει να γνωρίζει ποια εξ’ αυτών μπορούν να μεταβληθούν και άρα να βελτιωθούν και ποια είναι αμετάβλητα. Για παράδειγμα, η ταχύτητα αποστολής ενός σήματος από ένα δορυφορικό πομπό σε ένα δέκτη καθορίζει σταθερά το χρόνο που θα χρειαστεί το σήμα για να φτάσει στο δέκτη. Αντιθέτως, το latency που οφείλεται στην επεξεργασία και διανομή του σήματος από κάποιο router είναι δυνατό να βελτιωθεί με περισσότερη επεξεργαστική ισχύ ή καλύτερους αλγόριθμους διανομής.

Τέλος, ένα μέγεθος που καθορίζει την απόδοση του δικτύου είναι το Throughput, το οποίο περιγράφει τις επιτυχημένες προσπάθειες μεταφοράς δεδομένων. To Throughput εξαρτάται από τρεις παραμέτρους: τη χωρητικότητα του δικτύου, το latency και την απώλεια πακέτων. Δυστυχώς, το throughput ενός δικτύου καθορίζεται πάντα από την αργότερη σύνδεση μεταξύ δύο κόμβων του.

Εξάρτηση από το TCP
Το TCP αποτελεί σήμερα το ευρύτερα διαδεδομένο και περισσότερο δοκιμασμένο πρωτόκολλο δικτύων. Το γεγονός, όμως, ότι δημιουργήθηκε για να υποστηρίζει Local Area Networks, έχει ως αποτέλεσμα να δημιουργεί προβλήματα επιδόσεων σε Wide Area Networks. Τα πιθανότερα προβλήματα στην επίδοση του δικτύου εξαιτίας του TCP είναι συνδεδεμένα με τον αριθμό των διαδρομών μετ’ επιστροφής που χρησιμοποιεί το πρωτόκολλο, αλλά και τον ίδιο του τον σχεδιασμό.

Πριν από την αποστολή δεδομένων, το TCP χρειάζεται να αποκαταστήσει μια επικοινωνία μεταξύ των κόμβων αποστολής και λήψης. Αυτή η διαδικασία χρειάζεται 1,5 RTT. Αφού αποκατασταθεί η επικοινωνία, ένας αριθμός μηνυμάτων ανταλλάσσονται μεταξύ των δύο κόμβων, γεγονός που συνήθως αυξάνει το delay.


Οι εφαρμογές μιλούν τη δική τους γλώσσα
Οι εφαρμογές χρησιμοποιούν τα δικά τους πρωτόκολλα επικοινωνίας, όπως για παράδειγμα το Hypertext Transfer Protocol που χρησιμοποιείται στο Internet. Αυτά τα πρωτόκολλα συνήθως προσθέτουν τις δικές τους καθυστερήσεις στην επικοινωνία.

Σε μικρές αποστάσεις, αυτή η «συζήτηση» μεταξύ των πρωτοκόλλων δεν δημιουργεί σημαντικά προβλήματα, λόγω του μικρού latency, ενώ στις μεγάλες αποστάσεις το latency μεγαλώνει και επιβαρύνει την απόδοση του δικτύου. Τα πιο ομιλητικά πρωτόκολλα είναι το HTTP, CIFS, NFS και RPC.

Το θέμα γίνεται πιο περίπλοκο από τις διαφορετικές απαιτήσεις που έχουν οι εφαρμογές από το δίκτυο. Για παράδειγμα, μια εφαρμογή μπορεί να ζητά μικρό latency, ενώ μια άλλη σχεδόν αλάνθαστη μεταφορά δεδομένων.

Στην πράξη, είναι εύκολο να απαλείψουμε αυτές τις ιδιαιτερότητες των εφαρμογών σε Local Area Networks, δεν μπορούμε να κάνουμε όμως το ίδιο σε Wide Area Networks. Υπάρχουν τέσσερα ερωτήματα, τα οποία μας βοηθούν να προσδιορίσουμε την απόδοση του δικτύου βάσει της χρήσης του από διαφορετικές εφαρμογές:
• Ποιο είναι το μέγεθος των δεδομένων που μεταφέρονται και προς τις δύο κατευθύνσεις (download/upload)
• Ποια είναι τα μοτίβα σε αυτές τις μεταφορές δεδομένων;
• Ποιο είναι το μέγεθος των δεδομένων που θα μεταφερθούν μόνο μια φορά μέσω του δικτύου;
• Υπάρχει μεταβλητότητα του ρυθμού μεταφοράς δεδομένων;

Ευτυχώς, ένα μεγάλο ποσοστό των δεδομένων που μεταφέρουν οι εφαρμογές μέσω δικτύων είναι επαναλαμβανόμενα και αυτό επιτρέπει τη χρήση αλγορίθμων συμπίεσης. Για παράδειγμα, διαφορετικοί χρήστες μπορεί να χρησιμοποιήσουν το ίδιο αρχείο στη διάρκεια της εργάσιμης μέρας ή το ίδιο email να σταλεί σε χιλιάδες παραλήπτες.

Επίσης, όλες οι εφαρμογές δεν έχουν το ίδιο υψηλές απαιτήσεις. Για παράδειγμα, μια εφαρμογή VoIP δεν θα πρέπει βάσει του G.144 προτύπου να έχει latency μεγαλύτερο από 150 msec για κοντινές και 300 msec για μακρινές κλήσεις. Επίσης, μια εφαρμογή που χρειάζεται 20 round trips για να εκτελέσει μια συγκεκριμένη λειτουργία σε ένα δίκτυο με latency 100 msec, η συνολική καθυστέρηση θα είναι 4 sec.

Δεδομένου ότι οι χρήστες είναι συνηθισμένοι σε καθυστερήσεις της τάξης των msec, μια τόσο μεγάλη καθυστέρηση θα μεταφραστεί ως διακοπή λειτουργίας της εφαρμογής. Εξαιτίας σχεδιασμού των υπαρχόντων πρωτοκόλλων δεν είναι ασυνήθιστο για μια εφαρμογή να χρειάζεται εκατοντάδες ή και χιλιάδες round trips για να εκτελέσει μια απλή εντολή.

Βελτιώνοντας την απόδοση των WAN
Δύο είναι οι κύριες διαδρομές που μπορεί να ακολουθήσει ο κατασκευαστής hardware και λογισμικού ή ο διαχειριστής του δικτύου για να βελτιώσει την ταχύτητα των WAN. H μία είναι να βελτιώσει την ποιότητα υπηρεσίας (QoS) και η δεύτερη να επιταχύνει διαδικασίες που γίνονται μέσα στο WAN.

Από την πρώτη στιγμή, οι προμηθευτές λύσεων επιτάχυνσης δικτύων εστίασαν την προσοχή τους στη βελτίωση τεχνικών συμπίεσης. Ωστόσο, μόνο όταν το κόστος της επεξεργαστικής ισχύς έφτασε στα προ τριών ετών περίπου επίπεδα, έγινε εφικτή η ευρύτερη χρήση τεχνικών συμπίεσης. Σήμερα που, εκτός από την επεξεργαστική ισχύ, έχει μειωθεί σημαντικά και το κόστος των αποθηκευτικών μέσων, οι περισσότεροι κατασκευαστές χρησιμοποιούν συνδυαστικές τεχνικές caching και συμπίεσης.

Για τις web based εφαρμογές, η χρήση asymmetric acceleration είναι σήμερα η δημοφιλέστερη, ενώ η επιτάχυνση εφαρμογών που βασίζονται κυρίως σε point to point επικοινωνία γίνεται με symmetric acceleration.