1k likes | 1.01k Views
Dive into the world of computer networks, exploring layers like application, transport, and internet, and the protocols that govern data exchange. Learn how communication happens and gain insights into network organization and design principles.
E N D
Computer Networks Sándor Laki ELTE-Ericsson CommunicationNetworksLaboratory ELTE FI – Department Of Information Systems lakis@elte.hu http://lakis.web.elte.hu Basedontheslides of Laurent Vanbever.Furtherinspiration: Scott Shenker & Jennifer Rexford & PhillipaGill
Overview What is a network made of?
Three main components End-points Switches Links
Overview How to share network resources?
Resource handlingTwo different approaches for sharing Reservation On-demand Send data when needed Packet-level multiplexing Reserve the needed bandwidth in advance Flow-level multiplexing
Implementation Reservation On-demand Circuit-switching e.g. landline phone networks Packet-switching e.g. Internet Packets
Overview How to organize the network?
Tier-1 ISP Tier-1 ISP IXP Tier-2 ISP Tier-2 ISP Access ISP Access ISP
Thisweek Howdoescommunicationhappen? Howdowecharacterizeit?
Briefly… The Internet should allow processes on different hosts toexchangedata everything else is just commentary…
University net Phone company CabelTV company Enterprise net
To exchange data, Alice and Bob use a set of network protocols Alice Bob
A protocol is like a conversationalconvention The protocoldefinestheorder and rulesthepartiesshouldfollow Whoshouldtalknext and howtorespond… Alice Bob hello hello Giveme http://elte.hu Here it is…
Thereareotherkind of implementations… Gimme, gimme, gimme a web site afterMidnight Alice Bob hello Giveme http://elte.hu Giveme http://elte.hu Giveme http://elte.hu Giveme http://elte.hu Giveme http://elte.hu Giveme http://elte.hu
Eachprotocol is governedby a specific API WoWclient while (…) { message =receive(…); } WoW server while (…) { message = …; send(message, …); } Alice Bob
In practice, manyexistingprotocols… Howdoesthe Internet organizethis???
Modularity is a key componentof anygoodsystem can’t build large systems out of spaghetti code hard (if not, impossible) to understand, debug, update need to bound the scope of changes evolve the system without rewriting it from scratch Modularity is how we do it …and understand the system at a higher-level Problem Solution
„Modularity, basedonabstraction, is thewaythingsgetdone” Barbara Liskov, MIT
To provide structure to the design of network protocols,network designers organize protocols in layers and thenetwork hardware/software thatimplementthem
Hálózatok modelljei • Internet rétegmodelljei • TCP/IP modell: 4 réteget különböztet meg. 1982 márciusában az amerikai hadászati célú számítógépes hálózatok standardja lett. 1985-től népszerűsítették kereskedelmi felhasználásra. (Interop) • Hibrid TCP/IP modell: 5 réteget különböztet meg (Tanenbaum, Stallings, Kurose, Forouzan) • Nyílt rendszerek hálózatának standard modellje • Open System InterconnectionReferenceModel: Röviden OSI referencia modell, amely egy 7-rétegű standard, koncepcionális modellt definiál kommunikációs hálózatok belső funkcionalitásaihoz. (ISO/IEC 7498-1)
TCP/IP modell (RFC 1122) Alkalmazási réteg (angolul Applicationlayer) … TELNET FTP HTTP DNS Szállítói réteg (angolul Transport layer) UDP TCP protokollok Hálózati réteg (angolul Internet layer) IP Kapcsolati réteg (angolul Link layer) … LAN ARPANET SATNET Ethernet hálózatok
TCP/IP modell rétegei („bottom-up”) • Kapcsolati réteg / Host-to-networkor Link layer • nem specifikált • a LAN-tól függ • Internet réteg / Internet or Network layer • speciális csomagformátum • útvonal meghatározás (routing) • csomag továbbítás (angolul packetforwarding) • Szállítói réteg / Transportlayer • TransportControlProtocol • megbízható, kétirányú bájt-folyam átviteli szolgáltatás • szegmentálás, folyamfelügyelet, multiplexálás • UserDatagramProtocol • nem megbízható átviteli szolgáltatás • nincs folyamfelügyelet • Alkalmazási réteg / Applicationlayer • Szolgáltatások nyújtása: Telnet, FTP, SMTP, HTTP, NNTP, DNS, SSH, etc.
Rétegek jellemzése Alkalmazási Megjelenítési Ülés Szállítói Hálózati Adatkapcsolati Fizikai • Szolgáltatás • Mitcsinál az adott réteg? • Interfész • Hogyanférhetünkhozzá a réteghez? • Protokoll • Hogyanimplementáljuk a réteget?
Fizikai réteg Alkalmazási Megjelenítési Ülés Szállítói Hálózati Adatkapcsolati Fizikai • Szolgáltatás • Információt visz át két fizikailag összekötött eszköz között • definiáljaazeszközés a fizikaiátviteliközegkapcsolatát • Interfész • Specifikálja egy bit átvitelét • Protokoll • Egy bit kódolásának sémája • Feszültség szintek • Jelek időzítése • Példák: koaxiális kábel, optikai kábel, rádió frekvenciás adó
Adatkapcsolati réteg Alkalmazási Megjelenítési Ülés Szállítói Hálózati Adatkapcsolati Fizikai • Szolgáltatás • Adatok keretekre tördelésezés: határok a csomagok között • Közeghozzáférés vezérlés (MAC) • Per-hop megbízhatóság és folyamvezérlés • Interfész • Keret küldése két közös médiumra kötött eszköz között • Protokoll • Fizikai címzés (pl. MAC address, IB address) • Példák: Ethernet, Wifi, InfiniBand
Hálózati réteg Alkalmazási Megjelenítési Ülés Szállítói Hálózati Adatkapcsolati Fizikai • Szolgáltatás • Csomagtovábbítás • Útvonalválasztás • Csomag fragmentálás kezelése • Csomag ütemezés • Puffer kezelés • Interfész • Csomag küldése egy adott végpontnak • Protokoll • Globálisan egyedi címeket definiálása • Routing táblák karbantartása • Példák: Internet Protocol (IPv4), IPv6
Szállítói réteg Alkalmazási Megjelenítési Ülés Szállítói Hálózati Adatkapcsolati Fizikai • Szolgáltatás • Multiplexálás/demultiplexálás • Torlódásvezérlés • Megbízható, sorrendhelyes továbbítás • Interfész • Üzenet küldése egy célállomásnak • Protokoll • Port szám • Megbízhatóság/Hiba javítás • Folyamfelügyelet • Példa: UDP, TCP
Ülés v. Munkamenet réteg Alkalmazási Megjelenítési Ülés Szállítói Hálózati Adatkapcsolati Fizikai • Szolgáltatás • kapcsolatmenedzsment: felépítés, fenntarásésbontás • munkamenettípusánakmeghatározása • szinkronizációspontmenedzsment (checkpoint) • Interfész • Attól függ… • Protokoll • Token menedzsment • Szinkronizációs checkpoints beszúrás • Példa: nincs
Megjelenítési réteg Alkalmazási Megjelenítési Ülés Szállítói Hálózati Adatkapcsolati Fizikai • Szolgáltatás • Adatkonverzió különböző reprezentációk között • Pl. big endian to little endian • Pl.Ascii to Unicode • Interfész • Attól függ… • Protokoll • Adatformátumokat definiál • Transzformációs szabályokat alkalmaz • Példa: nincs
Alkalmazási réteg Alkalmazási Megjelenítési Ülés Szállítói Hálózati Adatkapcsolati Fizikai • Szolgáltatás • Bármi… • Interfész • Bármi… • Protokoll • Bármi… • Példa: kapcsold be a mobilod és nézd meg milyen appok vannak rajta…
ISO OSI modell Hoszt 1 Hoszt 2 Router/Switch Application Alkalmazási Presentation Megjelenítési Session Ülés Transport Szállítói A rétegek peer-to-peer egymással kommunikálnak Network Hálózati Hálózati A rétegek peer-to-peer egymással kommunikálnak Az első 2-3 réteget minden eszköz implementálja Data Link Adatkapcsolati Adatkapcsolati Fizikai Physical Fizikai OSI: Open Systems Interconnect Model
Hybridmodel – 5 layers Each layer provides a service to the layer above layer service provided L5 Applicationhighlevelnetworkaccess L4 Transportend-to-end delivery (reliableornot) L3 Networkglobalbest-effortdelivery L2 Linklocal best-effortdelivery L1 Physicalphysicaltransfer of bits
Each layer provides a service to the layer aboveby using the services of the layer directly below it Applications …built on… Reliable (or unreliable) transport …built on… Best-effort global packet delivery …built on… Best-effort local packet delivery …built on… Physical transfer of bits
Each layer has a unit of data(akaprotocoldataunit) layerrole (PDU) L5 Applicationexchangesmessagesbetweenprocesses L4 Transporttransportssegmentsbetween end-systems L3 Networkmoves packets around the network L2 Linkmoves frames across a link L1 Physicalmoves bits across a physical medium
Each layer (except for L3) is implementedwithdifferentprotocols layerprotocols L5 Application HTTP, SMTP, FTP, SIP, … L4 Transport TCP, UDP, SCTP L3 Network IP L2 Link Ethernet, Wifi, ADSL, WiMAX, LTE, … L1 Physical Twisted pair, fiber, coaxialcable, …
The Internet Protocol (IP) is theglueactingas a unifyingnetworklayer layerprotocols L5 Application HTTP, SMTP, FTP, SIP, … L4 Transport TCP, UDP, SCTP L3 Network IP L2 Link Ethernet, Wifi, ADSL, WiMAX, LTE, … L1 Physical Twisted pair, fiber, coaxialcable, …
Each layer is implemented with different protocols and technologies layertechnology L5 Application L4 Transport L3 Network L2 Link L1 Physical Software Hardware
Software and hardware advancements L1 L2 L3 L4 L5 Hardware Software SDN, P4 programmable networkdevices DPDK, FD.io, VPP highlyoptimized libraries, drivers
Each layer takes messages from the layer above,and encapsulateswith its own header and/or trailer HTTP Application Transport Network Link TCP IP Ethernet
Message Header HTTP Application Transport Network Link GET google.com HA TCP IP Ethernet
Message Header HTTP Application Transport Network Link GET google.com HA TCP HT GET google.com HA IP Ethernet
Message Header HTTP Application Transport Network Link GET google.com HA TCP HT GET google.com HA IP HN HT GET google.com HA Ethernet
Message Header HTTP Application Transport Network Link GET google.com HA TCP HT GET google.com HA IP HN HT GET google.com HA Ethernet HE TE HN HT GET google.com HA
In practice, layers are distributedon every network device HTTP HTTP Application Transport Network Link TCP TCP IP IP IP eth0 eth0 eth1 eth1 eth2 eth2 Ethernet Ethernet
Since when bits arrive they must make it tothe application, all the layers exist on a host hosts HTTP HTTP Application Transport Network Link TCP TCP IP IP IP eth0 eth0 eth1 eth1 eth2 eth2 Ethernet Ethernet
Routers act as L3 gatewayas such they implement L2 and L3 HTTP HTTP Application Transport Network Link TCP TCP Router L3 Gateway IP IP IP eth0 eth0 eth1 eth1 eth2 eth2 Ethernet Ethernet
Switches act as L2 gatewayas such they only implement L2 HTTP HTTP Application Transport Network Link TCP TCP IP IP IP eth0 eth0 eth1 eth1 eth2 eth2 Switch L2 Gateway Ethernet Ethernet