Chapter 1 Introduction A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students, readers). They’re in PowerPoint form so you can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following: If you use these slides (e.g., in a class) in substantially unaltered form, that you mention their source (after all, we’d like people to use our book!) If you post any slides in substantially unaltered form on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Computer Networking: A Top Down Approach Featuring the Internet, 3rd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2004. Thanks and enjoy! JFK/KWR All material copyright 1996-2004 J.F Kurose and K.W. Ross, All Rights Reserved Introduction 1-1 Chapter 1: Introduction Sommaire: Qu’est ce qu’Internet Qu’est ce qu’un protocole? Les “bords” du réseau Le coeur du réseau Accès au réseau, média physique Structure de l’Internet Performance: pertes, delais, débit Couches de protocole, modèle de service Modélisation Introduction 1-2 Qu’est ce qu’ Internet: approche descriptive Des millions d’ordinateurs connectés: hôtes(PC, serveurs, PDA, iPod, cells, véhicules, applications variées) Exécutent des routeur serveur FAI regional Fibre optique, cuivre, radio, satellite transmission rate = bande passante [bandwidth, bps] routeurs: routent des paquets mobile FAI local applications Liens de communication station Réseau local Introduction 1-3 Qu’est ce qu’ Internet: approche descriptive Les protocoles controlent l’envoi, la réception de messages Ex:TCP, IP, HTTP, FTP, PPP Internet = “réseau de router server workstation mobile local ISP réseaux” Peu hiérarchisé regional ISP Standards d’Internet RFC: Request for comments IETF: Internet Engineering Task Force www.ietf.org IEEE: Institute of Electrical & Electronics Engineers company network Introduction 1-4 Qu’est ce qu’ Internet : les services L’infrastructure de communication favorise les applications distribuées: Web, email, jeux, e-commerce, partage de fichiers Services de communication services fournis aux applications Deux formes: • Sans connection, non fiable (non garanti) • Orienté connection, fiable (garanti) Évolution constante Introduction 1-5 Qu’est ce qu’un protocole? protocoles humains : “As tu l’heure?” “J’ai une question” introductions … msgs specifiques envoyés … actions specifiques prises quand des messages sont reçus Protocoles de réseau: Des protocoles de “machines” Toutes les communications sur Internet sont régies par des protocoles Normalisés, rigoureux Les protocoles definissent le format, l’ordre des msgs envoyés et reçus et les actions à prendre Introduction 1-6 Qu’est ce qu’un protocole? Protocole humain vs protocole réseau: Allo Demande de connection TCP Allo réponse Connection TCP As-tu L’heure? Get http://www.awl.com/kurose-ross 2h00 <fichier> temps Introduction 1-7 La structure vue de plus près: Le “bord” du réseau: les hôtes exécutent des applications Le coeur du réseau: Routeurs Réseau de réseaux Accès au réseau, liens physiques: liens de communication Introduction 1-8 Le “bord” du réseau: Hôtes: Exécutent des programmes d’application Ex: Web, email Situés aux “limites du réseau” Modèle client/serveur L’hôte client host demande, reçoit des services de serveurs, qui fonctionnent en permanence Ex: Web browser/server; email client/server Modèle pair à pair: Usage minimal de serveurs Ex: Skype, Bit torrent Introduction 1-9 Service orienté connection But: transférer des données entre des hôtes handshaking: reconnaissance avant le transfert de données Hello, hello back human protocol Connection établie entre 2 hôtes TCP - Transmission Control Protocol Service orienté connection sur Internet TCP [RFC 793] fiable, transfert de données ordonnées pertes: acquitements et retransmissions Controle de flux: Le serveur n’inonde pas le récepteur Controle de congestion : L’envoyeur ralentit quand le réseau est congestionné Introduction 1-10 Service sans connection But: Transférer des données entre hôtes Comme le précédent! UDP - User Datagram Protocol [RFC 768]: Sans connection Transfert de données non fiable Pas de contrôle de flux Pas de contrôle de congestion On peut perdre des paquets Plus rapide (0 feedback) Applications TCP: HTTP (Web), FTP (transfert de fichiers), Telnet (remote login), SMTP (email) Applications UDP: streaming media, teleconférence, DNS, telephonie Internet Introduction 1-11 Le coeur du réseau Maillage de routeurs La question fondamentale : Comment transférer des données dans le réseau? Commutation de circuits: un circuit dédié par appel : réseau de telephone. Circuit réservé. Bande réservée. Commutation de paquets : les données sont envoyées par parties (paquets). Pas de résevation. Les paquets ont des chemins différents. Introduction 1-12 Le coeur du réseau : Commutation de circuit Ressources de bout en bout reservées par appel. Bande passante du lien, capacité des routeurs Ressources dédiées: pas de partage Semblable au circuit réel: performance garantie Nécessite l’établissement d’un appel(connexion) Introduction 1-13 Le coeur du réseau : Commutation de circuit Les ressources du réseau (Ex: bande passante) divisées en “morceaux” morceaux alloués aux Division de la bande passante en “morceaux” Division en fréquence Division du temps appels Les ressources allouées sont inutiles si le propriétaire n’en a pas besoin (pas de partage) Introduction 1-14 Commutation de circuit: FDM and TDM Exemple: 4 utilisateurs FDM fréquence temps TDM fréquence temps Introduction 1-15 Exemple Numérique Calculer le temps nécessaire pour envoyer un fichier de 640000 bits d’un hôte A à un hôte B sur un réseau à commutation de circuit? Lien à 1.536 Mbps Lien divisé en 24 “tranches” (slots) L’établissement du circuit prend 500 ms Introduction 1-16 Coeur du réseau: Commutation de paquets Les données sont divisées en “paquets” Les utilisateurs partagent les ressources du réseau Chaque paquet utilise toutes les ressources du lien (bande passante) et des routeurs Utilisation “au besoin” Pas de division de la BP Pas de ressource dédiée Pas de reservation Limitations: La somme des demandes peut > les ressources disponibles Congestion: des queues de paquets, attendent pour utiliser les liens: délai…perte! “store and forward”: les paquets vont d’un noeud à l’autre Le noeud reçoit le paquet en entier, puis le transmet au noeud suivant. Introduction 1-17 Coeur du réseau: Commutation de paquets [-] Les délais de queue sont imprévisibles [-] Les paquets voyagent à des vitesses différentes [-] Délai de bout en bout variables [+] Utilisation efficace de la bande passante [+] Plus simple, plus efficace [+] Moins cher Introduction 1-18 Commutation de paquets : Multiplexage Statistique 10 Mb/s Ethernet A B statistical multiplexing C 1.5 Mb/s queue of packets waiting for output link D E Les suites de paquets de A & B arrivent de façon aléatoire multiplexage statistique. L’attribution de tranche de temps dépend de la demande. Introduction 1-19 Commutation de paquets vs commutation de circuit La commutation de paquets permet plus d’utilisateurs sur un réseau particulier! Lien 1 Mb/s Chaque utilisateur: A besoin de 100 kbps quand il est actif Actif 10% du temps Commutation de circuit: 10 utilisateurs Commutation de paquets: N users Avec 35 utilisateurs, probabilité que > 10 actifs en même temps est < .0004 Lien 1 Mbps Introduction 1-20 Commutation de paquets vs commutation de circuit Est ce LA meilleure solution?” [+] excellent pour des “rafales” de données Partage de ressources Plus simple, pas d’établissement d’appel [-] Quand il y a congestion: Délais sur les paquets et pertes Nécessité de protocoles pour assurer la fiabilité: TCP Introduction 1-21 Commutation de paquets : store-and- forward (stocker, retransmettre) L R Prends L/R seconds R pour transmettre un paquet de L bits sur un lien à R bps Le paquet entier doit arriver avant de retransmettre sur le prochain lien: store and forward Delai total = 3L/R R Exemple: L = 7.5 Mbits R = 1.5 Mbps Delai total = 15 sec Introduction 1-22 Réseau de commutation de paquets: retransmission But: Transmettre des paquets de la source à la destination à travers d’un réseau de routeurs algorithmes de routage [Option 1] Réseau de datagrammes: L’addresse de destination du paquet détermine le prochain “saut” Le paquet contient seulement l’adresse finale. La route peut changer pendant une session Analogie: Un conducteur demande son chemin pendant un voyage, tient compte de la congestion. [Option 2] Réseau à circuit virtuel: Chaque paquet possède un identificateur de circuit virtuel (virtual circuit ID, VCID), ce VCID détermine chaque saut. Nécessite gestion d’un appel: Établissement, maintien du VCID, finé Ex: protocole X25, frame relay, ATM( Asynchronous Transfer Mode) Introduction 1-23 Classification des modèles de réseau Réseaux de Telecommunication Réseaux à commutation de circuits FDM TDM Réseaux à commutation de paquets Réseaux à VCID Réseau de datagrammes • Les réseaux de datagrammes sont soit:orientés connexion ou sans connexion Internet possède les deux: Orienté connexion(TCP) et Sans connexion (UDP) pour des applications différentes. Introduction 1-24 Accès au réseau et lien physique Q: Comment les hôtes se connectent aux routeurs? R: 3 façons Réseaux d’accès résidentiel Réseaux d’accès institutionnel (écoles, compagnies) Réseaux d’accès mobiles Critères: Largeur de bande (bps) Partagé ou dédié? Introduction 1-25 Accès résidentiel : point to point access Dialup via modem Accès au routeur <= 56Kbps ADSL: asymmetric digital subscriber line <= 1 Mbps montant upstream <= 8 Mbps descendant downstream FDM: 50 kHz - 1 MHz for downstream 4 kHz - 50 kHz for upstream 0 kHz - 4 kHz for ordinary telephone Introduction 1-26 Accès résidentiel : modems cable HFC: hybrid fiber coax asymétrique: 30Mps downstream, 2 Mbps upstream Les réseaux de cable et de fibre lient les résidences aux routeurs du fournisseur d’accès Les résidences partagent le lien Introduction 1-27 Accès corporatif: Réseaux locaux (LAN) Écoles, entreprises: le réseau (local area network, LAN) connecte les hôtes(stations) aux routeur Internet Ethernet: Liens partagés ou dédiés de l’hôte au routeur 10 Mbs, 100Mbps, Gigabit Ethernet Introduction 1-28 Réseau d’accès sans fil Accès sans fil partagé Au moyen de stations = “access point” wireless LANs: 802.11b (WiFi): 11 Mbps 802.11g: 54 Mbps 802.11n: 270 Mbps router base station wider-area wireless access WiMax (802.16m: 1Gbps) Principe simple, mais: Collision Partage de BP mobile hosts Introduction 1-29 Réseau résidentiel Composants de base: ADSL ou modem cable routeur/firewall Ethernet wireless access point Vers le modem Réseau de cable cable routeur/ firewall Ethernet wireless laptops wireless access point Introduction 1-30 Media Physique Bit: transmis entre des noeuds(transmission/ réception) Lien physique: entre deux noeuds Média “guidés” (réels): Paire torsadée (TP) Deux fils isolés Category 3: fils de téléphone, 10 Mbps Ethernet Category 5: 100Mbps Ethernet Cuivre, fibre optique, coaxial. Média non guidés: radiofréquence Introduction 1-31 Média physique: coax, fiber Cable coaxial : 2 conducteurs, concentriques bidirectionnel Bande de base: Un seul canal sur le cable Première version d’Ethernet Signaux modulés: Plusieurs canaux sur le cable HFC Fibre optique: Impulsionss de lumière sur une fibre de verre Une impulsion = un bit Operation rapide: high-speed point-to-point transmission (Ex: 5 Gps) Faible taux d’erreurs: immunité aux bruits électromagnétiques 100 km kilomètres Introduction 1-32 Média physique : radiofréquence Spectre électromagnétique, modulation bidirectionnel Effets de l’environnement sur la propagation des ondes: reflection obstruction interférences Types de liens radio: Microonde terrestre Canaux jusqu’à 45 Mbps LAN Wi-Fi wide-area (Ex: cellulaires) Ex: 3G: 2Mbps satellite Jusqu’à 50Mbps/canal 270 msec end-end delay Geostationnaire ou basse altitude Introduction 1-33 Structure de l’Internet : réseau de réseaux Grossièrement hiérarchisé: 3 niveaux Au centre: “fournisseurs de niveau 1” (Ex: Verizon, Sprint, AT&T), réseau national/international Échangent entre eux(+facturation) Tier-1 providers interconnect (peer) privately Tier 1 ISP Tier 1 ISP Tier 1 ISP Introduction 1-34 ISP de 1er niveau: Sprint ISP = Internet Service Provider (=FAI) Introduction 1-35 Structure de l’Internet : réseau de réseaux ISP “Niveau 2”: régional (Ex: RISQ) Connectés à un ou plusieurs ISP niveau 1, à d’autres ISP niveaux 2 Les ISP niveau 2 sont des clients des fournisseurs niveau 1 Tier-2 ISP Tier-2 ISP Tier 1 ISP Tier 1 ISP Tier-2 ISP Tier 1 ISP Ils se connectent aussi entre eux. Tier-2 ISP Tier-2 ISP Introduction 1-36 Structure de l’Internet : “ISP Niveau 3” : ISP locaux Dernier “saut” (“accès”) local ISP Les ISPs locaux sont des clients des fournisseurs supérieurs, qui les connectent à l’Internet Tier 3 ISP Tier-2 ISP local ISP local ISP local ISP Tier-2 ISP Tier 1 ISP Tier 1 ISP Tier-2 ISP local local ISP ISP Tier 1 ISP Tier-2 ISP local ISP Tier-2 ISP local ISP Introduction 1-37 Structure de l’Internet : réseau de réseaux Un paquet traverse de nombreux réseaux local ISP Tier 3 ISP Tier-2 ISP local ISP local ISP local ISP Tier-2 ISP Tier 1 ISP Tier 1 ISP Tier-2 ISP local local ISP ISP NAP Tier 1 ISP Tier-2 ISP local ISP Tier-2 ISP local ISP Introduction 1-38 Pourquoi y-a-t-il des délais et des pertes? Des queues se forment dans les buffers des routeurs L’arrivée des paquets > la capacité du lien de sortie du routeur Les paquets attendent leur tour (FIFO) Paquets à transmettre (delai) A B Queue de paquets (delai) Buffer disponible: pas de perte; si buffer plein, il y a des paquets perdus Introduction 1-39 Quatre sources de délai 1. traitement dans le noeud: CRC, intégrité Routage Qq microsecondes 2. queue Temps d’attente dû aux autres paquets Dépend de la congestion du routeur(variable) Qq us à qq ms transmission A propagation B Traitement dans le noeud queue Introduction 1-40 Délais dans les réseaux de paquets 3. Délai de transmission : R=Bande passante du lien(bps) L=longueur du paquet(bits) time to send bits into link = L/R 4. Délai de propagation : d = longueur du lien physique s = vitesse de propagation dans le lien (~2x108 m/s) Délai de propagation= d/s transmission A propagation B nodal processing queueing Introduction 1-41 Analogie: file de voitures 100 km File de 10 autos péage Les autos roulent (“propagation”) à 100 km/h Il faut 12 s pour servir une auto (temps de transmission) Analogie: Auto ~ bit; File ~ packet Q: Au bout de combien de temps verra-t’on les autos au 2ème poste de péage? 100 km péage Temps pour servir (transmettre) les 12 autos au premier poste = 12*10 = 120 s Temps de propagation de la dernière auto sur la route entre 2 postes: 100km/(100km/h)= 60 mn R: 62 minutes Introduction 1-42 Analogie: file de voitures(encore) 100 km ten-car caravan 100 km toll booth Les autos roulent à 1000 km/h Les péages prennent 1 mn à servir une auto Q: Des autos arriveront-elles au 2ème poste avant que toutes soient arrivées au 1er toll booth Oui! Au bout de 7 mn, la 1ère auto arrive au 2ème péage; 3 autos sont encore au 1er péage. Le 1er bit d’un paquet peut arriver au 2ème routeur avant que le paquet soit complètement sorti du 1er routeur! Applet sur site web Introduction 1-43 Délai de noeud [de l’entrée dans un noeud à l’entrée dans le suivant] d noeud d trait d queue d trans d prop dtrait = délai de traitement 0 à quelques microsecs dqueue = délai de queue Dépend de la congestion (us à ms) dtrans = délai de transmission = L/R dprop = délai de propagation De quelques us à quelques 100aines de ms Introduction 1-44 Considérations sur dqueue R=bande passante du lien (bps) Longueur du paquet(bits) a=taux moyen d’arrivée des paquets Intensité du trafic = La/R La/R ~ 0: le délai de queue est faible La/R -> 1: il augmente(atteinte de la capacité du lien) La/R > 1: Dépassement de la capacité du lien (délai devient infini pertes de paquet) Introduction 1-45 Delais et routes de l’Internet “vrai” Comment visualiser les délais et les routes? programme Traceroute : mesure les délais de la source à la destination avec chaque routeur. For all i: Envoie 3 paquets sur une destination Chaque routeur du chemin retourne un paquet à l’envoyeur L’envoyeur mesure le temps entre la transmission et la réponse. Sur DOS: tracert www.newzealand.govt.nz Visualroute 3 probes 3 probes 3 probes Introduction 1-46 Delais et routes de l’Internet “vrai” traceroute: gaia.cs.umass.edu to www.eurecom.fr Three delay measements from gaia.cs.umass.edu to cs-gw.cs.umass.edu 1 cs-gw (128.119.240.254) 1 ms 1 ms 2 ms 2 border1-rt-fa5-1-0.gw.umass.edu (128.119.3.145) 1 ms 1 ms 2 ms 3 cht-vbns.gw.umass.edu (128.119.3.130) 6 ms 5 ms 5 ms 4 jn1-at1-0-0-19.wor.vbns.net (204.147.132.129) 16 ms 11 ms 13 ms 5 jn1-so7-0-0-0.wae.vbns.net (204.147.136.136) 21 ms 18 ms 18 ms 6 abilene-vbns.abilene.ucaid.edu (198.32.11.9) 22 ms 18 ms 22 ms 7 nycm-wash.abilene.ucaid.edu (198.32.8.46) 22 ms 22 ms 22 ms trans-oceanic 8 62.40.103.253 (62.40.103.253) 104 ms 109 ms 106 ms link 9 de2-1.de1.de.geant.net (62.40.96.129) 109 ms 102 ms 104 ms 10 de.fr1.fr.geant.net (62.40.96.50) 113 ms 121 ms 114 ms 11 renater-gw.fr1.fr.geant.net (62.40.103.54) 112 ms 114 ms 112 ms 12 nio-n2.cssi.renater.fr (193.51.206.13) 111 ms 114 ms 116 ms 13 nice.cssi.renater.fr (195.220.98.102) 123 ms 125 ms 124 ms 14 r3t2-nice.cssi.renater.fr (195.220.98.110) 126 ms 126 ms 124 ms 15 eurecom-valbonne.r3t2.ft.net (193.48.50.54) 135 ms 128 ms 133 ms 16 194.214.211.25 (194.214.211.25) 126 ms 128 ms 126 ms 17 * * * * means no reponse (probe lost, router not replying) 18 * * * 19 fantasia.eurecom.fr (193.55.113.142) 132 ms 128 ms 136 ms Introduction 1-47 Perte de paquets Les queues (= buffer) des liens de sortie ont une capacité limitée Un paquet qui arrive sur une queue pleine est perdu Les paquets perdus sont Retransmis par le noeud précédent Retransmis par l’émetteur (TCP) Pas retransmis (UDP) Introduction 1-48 Couches de protocole Les réseaux sont complexes Nombreux composants: hôtes routeurs Liens divers Applications protocoles Matériel, logiciel Question: Est-ce organisable ou compréhensible ? Introduction 1-49 Organisation d’un voyage aérien Achat de billet Plainte(?) Enregistrement de bagage Récupération des bagages Embarquement Débarquement Décollage Aterrissage vol vol vol = une série d’étapes Introduction 1-50 Organisation en couches (transport aérien ticket (purchase) ticket (complain) ticket baggage (check) baggage (claim baggage gates (load) gates (unload) gate runway (takeoff) runway (land) takeoff/landing airplane routing airplane routing airplane routing departure airport airplane routing airplane routing intermediate air-traffic control centers arrival airport couches: chaque couche fournit un service Grace à sa capacité interne À la couche inférieure et à la couche supérieure Introduction 1-51 Mais pourquoi des couches? Comprendre des systèmes complexes: La strucure permet l’identification des parties du système et des relations entre elles Modèle de référence pour discussion Favorise la maintenance et la mise à jour Les couches peuvent être d’implémentation différente(OS) Ex: les changements dans les procédures d’enregisterment n’affectent pas l’ensemble du système Il y a des inconvénients Pas unanime (modèles différents) Dédoublement possible de service Pas d’échange possible par dessus une couche Introduction 1-52 Pile de protocole Internet (modèle TCP/IP) application: supporte les applications réseaux FTP, SMTP, HTTP transport: transfert de donné d’hôte à hôte TCP, UDP réseau: routage des datagrammes de la source à la destination IP, protocoles de routage Liaison de données: transfert de données entre noeuds(hôtes, routeurs) PPP, Ethernet physique: bits “sur le fil”, ou RF application transport network link physical Introduction 1-53 Modèle ISO/OSI (Open Systems Interconnection) : 7 couches presentation: allow applications to interpret meaning of data, e.g., encryption, compression, machine specific conventions session: synchronization, checkpointing, recovery of data exchange Internet stack “missing” these layers! these services, if needed, must be implemented in application needed? Introduction 1-54 source message segment Ht datagramme Hn Ht trame Hl Hn Ht M M M M Encapsulation application transport réseau liaison physique Hl Hn Ht M liaison physique Hl Hn Ht M switch destination M Ht M Hn Ht Hl Hn Ht M M application transport réseau liaison physique Hn Ht Hl Hn Ht M M réseau liaison physique Hn Ht Hl Hn Ht M M router Introduction 1-55 Histoire de l’Internet 1961-1972: les débuts de la commutation de paquets 1961: Kleinrock – théorie démontre la possibilité de la commutation de paquets 1964: Baran - commutation de paquets (militaire) 1967: ARPAnet conçu par Advanced Research Projects Agency 1969: premier noeud ARPAnet réel 1972: ARPAnet dévoilé au public NCP (Network Control Protocol) first host-host protocol [RFC 001] Premier programme e-mail ARPAnet possède 15 noeuds Introduction 1-56 Histoire de l’Internet 1972-1980: interconnexion de réseaux, nouveaux réseaux à utilisation particulière 1970: Réseau satellite ALOHAnet ( Hawaii) 1973: proposition de l’Ethernet par Metcalfe’s (thèse PhD) 1974: Cerf and Kahn architecture pour l’interconnexion de réseaux Fin 70’s: réseaux “propriétaires”: DECnet, SNA, XNA fin 70’s: commutation de paquets de longueur fixe 1979: ARPAnet possède 200 noeuds Cerf and Kahn interconnexion: minimal, autonome, polyvalent Modèle “best effort service” Routeurs statiques (pas d’état prédéterminé) Contrôle décentralisé = les “vrais pères” Introduction 1-57 Histoire de l’Internet 1990, 2000’s: commercialisation, le Web Début 1990’s: ARPAnet accessible 1991: NSF(National Science Foundation) enlève les restrictions sur l’usage commercial de NSFnet Début 1990s: Web hypertexte [Bush 1945, Nelson 1960’s] HTML, HTTP: Berners-Lee 1994: navigateur Mosaic, puis Netscape fin 1990’s: commercialisation fin 1990’s – 2000’s: Plus d’application: messagerie instantanée, échange de fichiers P2P On parle de sécurité Déploiement intense Liens fibre-optique en Gbps du Web Introduction 1-58