Számítógéphálózatok Gyakorlatban elterjedt hálózati architektúrák Távadatfeldolgozás 2000/2001. tanév Dr. Vadász Dénes Vadász Ea8
Hálózati architektúrák Emlékszünk? Hálózati architektúra Rétegek és protokollok halmaza Elegendő információ az implementáláshoz Nem része sem a részletes implementáció, sem az interfészek specifikációja (a konkrét implementáció során tervezői döntés). Vadász Ea8
Miről lesz szó? Protokoll hierarchiákról, protokollszövetekről, protcol stack-ekről … A TCP/IP szövet: az Internet szövete … A NetBEUI/NetBIOS: a MS szövete … A Novell NetWare: a Novell … Banyan Vines, DECNET stb. A TCP/IP protokollszövetről elsősorban Vadász Ea8
A TCP/IP szövet Transmission Control Protocol/Internet Protocol, TCP/IP, refers to an entire suite of networking protocols, developed for use on the Internet. TCP and IP are certainly two of the most important. TCP/IP provides the services necessary to interconnect computers and networks, creating the Internet. Independence from underlying network topology, physical network hardware, and OS. Unique IP Addresses. Universal connectivity throughout the network. Standardise high-level protocols. Vadász Ea8
A TCP/IP hálózati szoftverek Általános hálózati kommunikációs szolgálatok készletét biztosítja a szövet A szolgálatok szabványosítottak, és ma már szinte minden OS-hez hoszzátartoznak Az Internet technológiákhoz tartoznak … Nézzük át ezért az Internet testületeket, majd a szabványosítási módszereket ... Vadász Ea8
Internet Technical Bodies ISOC - Internet Society. Professional society to promote the use of Internet for research and scholar communication and collaboration IAB - Internet Architecture Board. Technical oversight and coordination, falls under ISOC IETF - Internet Engineering Task Force. Current protocols and specifications for standardisation. Meets 3 times a year, organised in working groups IRTF - Internet Research Task Force. Research oriented for future. Vadász Ea8
Internet Administrations DDN - the USA Defense Data Network is the government organisation that has overall responsibility for administrating the Internet DDN NIC (Network Information Center) assigns unique names and addresses collects and distributes information about TCP/IP protocols IANA Internet Assigned Numbers Authority assigns value for network parameters, name of services, identifiers NOC (Network Operations Center) manages communication links Vadász Ea8
IAB Standard Tracks Internet Draft Proposed Standard Draft Standard Circulated technical documents call Request For Comments RFC Internet Draft Revision RFC protocol specifications should be stable technically and should have no bugs or holes. Proposed Standard at least 2 independence and inter-operable implementation that test all specification functions Draft Standard Official Standard have had significant field use and clear community interest in production use. Vadász Ea8
Protocol Status Levels All TCP/IP protocol have one of the following five status levels Required Recommended Elective Limited use Not recommended Vadász Ea8
Internet documents RFC STD (STandDard) FYI (For Your Information) number with RFC XXXX, more than 2500 now updated RFCs are published with new RFC numbers not all RFCs describe protocols. not all RFCs are used ftp://ds.internic.net STD (STandDard) official Internet standard FYI (For Your Information) RFCs series that do not contain protocol specifications Vadász Ea8
Sample Documents RFC FYI 2030 I D. Mills, "Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6 and OSI", 10/30/1996. (Pages=18) (Format=.txt) (Obsoletes RFC1769) 1879 I B. Manning, "Class A Subnet Experiment Results and Recommendations", 01/15/1996. (Pages=6) (Format=.txt) FYI 0023 Guide to Network Resource Tool. EARN Staff. March 1994. (Format:TXT=235112 bytes) (Also RFC1580) 0028 Netiquette Guidelines. S. Hambridge. October 1995. (Format: TXT=46185 bytes) (Also RFC1855) Vadász Ea8
A hivatkozási modell Application Network Applications End-to-end Services Transport Internet Routing Network Interface Network Transmission Physical Vadász Ea8
Az ISO/OSI és a DoD modellek Application Presentation Session Transport Network Data Link Physical OSI Physical Application Transport Internet Network TCP/IP Vadász Ea8
A szövet legfontosabb protokolljai Application FTP TELNET SMTP TFTP NFS SNMP DNS BOOTP DHCP HTTP X-windows Transport TCP UDP Internet ICMP IP IGMP Network ARP Hardware Interface RARP Physical TCP: Transmission Control Protocol (ÖK alapú) UDP: User Datagram Protocol (ÖK mentes) IP: Internet protocol (ÖK mentes) ICMP: Internet Control Message Protocol IGMP: Internet Group Management protocol ARP: Address Resolution Protocol RARP: Reverse Address Resolution Protocol Vadász Ea8
A TCP és UDP SAP azonosítás Applications Transport IP 1 2 3 4 ( ) ( ) ( ) ( ) A szolgáltató alkalmazások 16 bites port-számokkal azonosítottak 0 --not used 1-255 --Reserved ports for well-known services (IANA) 256-1023 --Other reserved ports 1024-65535 --user-defined server ports Unix stores general used port in /etc/services Pl telnet TCP: 23; ftp TCP: 20; tftp UDP: 69; http: 80; smtp: 23; stb. Vadász Ea8
A szállítási és hálózati réteg TCP: megbízható adattovábbítás összeköttetés alapon UDP: Összeköttetésmentes datagram szolgálat IP: lásd később. ICMP: a hálózati réteggel kapcsolatos üzenetek (pl. router csomageldobás esetén visszaüzenni). Lehet közvetlen alkalmazói kapcsolat (pl. ping: elérhető-e: echo request, echo reply) IGMP: multicasting-gal (többes címzéssel) kapcsolatos üzenetek Vadász Ea8
IP jellemzők Összeköttetésmentes szolgálatot biztosít változó méretű csomagokkal (datagrams) Kapcsolódhatnak hozzá az alkalmazások közvetlenül (ez ritka) Best effort delivery (tőle telhető legjobb): késleltetés, hiba, adatvesztés lehet. Ezeket a felsőbb rétegnek kell kezelnie! Használható csakis forgalomirányításra, ekkor más protokollok (RIP, OSPF) routing tábláit is használja. Csak "send" és "delivery" szolgálata van. A hiba és a vezérlő üzeneteket az ICMP generálja. Vadász Ea8
Adatkapcsolati réteg Hardware Interface: megbízható csatorna kialakítása (több protokoll lehetséges itt) ARP és RARP: MAC címek és IP címek közötti kétirányú megfeleltetés Vadász Ea8
IP címek 32 bit, 4 byte Pontok közötti decimális alak (Dotted decimal notation) egész jól olvasható 164.107.134.5 10100100.01101011.10000110.00000101 A4:6B:86:05 Max címszám: 232 = 4 milliárd Class A Networks = 15 million csomópont Class B Networks = 64K csomópont Class C Networks = 250 csomópont. IPv4 Vadász Ea8
Host Group (Multicast) IP címosztályok Hierarchia: hálózatcím+hosztcím (netid+hostid) Class A(0-127) Class B (128-191) Class C (192-223) Class D (224-239) Class E (240-255) NIU netid hostid 1 7 24 bits 10 netid hostid 2 14 16 bits 110 netid hostid 3 21 8 bits 1110 Host Group (Multicast) 4 28 bits IPv4 Vadász Ea8
IP címek A (D osztály) multicast címek: többes címzés, az üzenet a multicast csoport minden tagjának szól … Látjuk majd: lehetnek broadcast címek is, az üzenet egy alhálózat minden hosztjának szól ... A címek az egész világon egyediek kiosztásukról az DDN NIC gondoskodik, az egyes földrészekre, államokra lehet külön szervezet (Európa: RIPE) IPv4 Vadász Ea8
IP címtér Vadász Ea8 IPv4
Speciális címek és jelentésük Nem minden cím osztható ki ... IPv4 Vadász Ea8
Klasszikus címzés összefoglaló A cím egyértelműen két részre bontható az első bitek megmondják, hol a határ ugyanakkor merev bit-határok broadcast cím egyértelműen számítható Igény a címzési hierarchia bővítésére Intézményi hálózatok fejlődése a pazarló A és B osztályok elfogytak pont-pont kapcsolatokra teljes C osztály IPv4 Vadász Ea8
Alhálózat (subnet) bevezetése hhhhhhhh ggggggggggggggggggg 32 bits netid hostid Az eredeti felosztás A subnet maszkkal az értékes biteket kijelöljük hhhhhhhh ggggggg 32 bits netid hostid sssssssssssssss subnetid A subnet maszk: n 1-es bit és 32-n 0-s bit Kiterjesztett hálózati azonosító IPv4 Vadász Ea8
Alhálózat címzések A (Sub)net maszk (RFC 950) A kiterjesztett hálózati azonosító lehet hosszabb (rövidebb), mint a címosztály hálózati azonosítója! C osztályú címnél a default maszk: 255.255.255.0 A prefix jelölés: 193.6.5.0/24 193.6.5.0 255.255.255.0 Osztály Prefix Netmask A /8 255.0.0.0 B /16 255.255.0.0 C /24 255.255.255.0 IPv4 Vadász Ea8
A subnetting eredménye A címező jobb kihasználása pont-pont kapcsolatok 2 biten elférnek több LAN befér egy IP hálózatba A cím nem tartalmazza a hálózatazonosítót A maszkot is jól kell konfigurálni a broadcast nem található ki az IP címből A maszkot is kell továbbítani (plussz 4 byte az útvonalválasztási információkban) De az útvonalválasztás egyszerűsödik IPv4 Vadász Ea8
A címfeldolgozás Ha a szubnet maszk hosszabb ... Pl 193.6.5.1 IP címból a /24 (255.255.255.0) maszk and operációja leválasztja a hálózati címet … A /24 maszk negáltjának and operációja leválasztja a gép címet Ha a szubnet maszk hosszabb ... Pl. /28: 255.255.255.240, akkor 24 bits: net 4 bits: subnet 4 bits: hoszt Rövidebb, mint a címosztályé: "supernetting" több hagyományos osztály összefogása Pl. 16 C összefogása: /20: 255.255.240.0 111… ..11 0000 32 bits 24 b: netid 4b: hostid 1111 4b: snettid IPv4 Vadász Ea8
Alhálózati címkiosztási példa Adott 193.6.5.0/24; és bontsuk öt egyforma méretű alhálózatra! 22 < 5 < 23 3 subnetbit kell /27 a prefixes jelölés valójában 8 alhálóra osztunk … * Ezeket régen nem szabadott használni! Vadász Ea8 IPv4
Alhálózati címkiosztási példa /2 A Subnet 4-et osszuk be … Csak 30 gépet tudunk azonosítani, mert egyet elvisz a subnet azonosító, egyet pedig a subnet broadcast cím ... IPv4 Vadász Ea8
Változó alhálózat méretek Variable Length Subnet Mask (VLSM) (RFC 1009) Különböző alhálózatok létrehozása hatékonyabb címfelhasználás A routing-nak támogatnia kell (RIP-1 nem jó!) a kiterjesztett prefixet (subnet maszkot) is át kell adni (terjeszteni kell) Minden router a leghosszabb prefix egyezése elvén továbbítsa a csomagokat Az aggregációhoz a címkiosztásnak követnie kell a topológiai feltételeket A többszintű hierarchia előnye alhálózatokat tovább tudunk bontani aggregáció miatt kívülről nem látszik IPv4 Vadász Ea8
Longest prefix match Tegyük fel, a 2.28.137.130 címre kell a csomagot továbbítani, az alábbi router tábla van. Forgatókönyv: Kigyüjteni az összes bejegyzést, ahol cél IP cím and mask a prefixet adja Ezekből kiválasztani, amelyiknek leghosszabb a maszkja. Legrosszabb esetben 0, azaz a default route a választás IPv4 Vadász Ea8
Az osztály nélküli címzés Classless Inter-Domain Routing (CIDR) (RFC 1517-1520) A maszk rövidebb, mint a hálózatazonosító (superneting) Több hagyományos A,B,C osztály összefogása laza bithatárok: /4 … /30 szükségtelenné válik az osztályok használata a routing nem az első bitek szerint dönt a címtér sokkal jobban kihasználható A CIDR együtt élhet a klasszikus routinggal, de régebbi eszközök nem kezelik IPv4 Vadász Ea8
A VLSM és a CIDR Mindkettő támogatja egy A, B, C hálózaton flexibilis alhálózat-rendszer kialakítását belsejének elrejtését (aggregáció) A CIDR azonban lehetővé teszi több bitszomszédos hálózat összefogását és ezen belül teszőleges hierarchia kialakítását több szomszédos A, B, C hálózat összevont útvonalválasztási bejegyzését IPv4 Vadász Ea8
Címfoglalási szabályok A globális Interneten minden IP cím egyedi a globális IP címeket engedélyeztetni kell (IANA) Internettől elszigetelt magánhálózaton tetszőleges kiosztást csinálhatunk, de későbbi esetleges csatlakozás gondot fog okozni. Lokális címtartományok (RFC 1918) 10.0.0.0./8 172.16.0.0./12 192.168.0.0./16 IPv4 Vadász Ea8
Magánhálózat csatlakoztatása az Hálóra Ha bejegyzett címtartományokat használtunk, nincs gond. A lokális címtartományú magánhálózatot tűzfallal leválasztjuk (se ki, se be) nincs gond, de nem használható a Háló Lokális címtartományú magánhálózatról bejegyzett címtartományra kívánunk áttérni átszámozás (elég költséges), címfordítás (pl Native Address Translation, NAT, RFC 1631) lehetséges. IPv4 Vadász Ea8
Címfordítás, NAT A belső és a külső IP címek összerendelése Címfordítási táblázat az összerendelő Lehet statikus (kell elegendő globális IP cím) dinamikus (kevesebb a globális cím) Külső cím Belső cím 193.6.5.0/24 10.1.2.0/24 D=152.66.8.5 S=193.6.5.4 D=152.66.8.5 S=10.1.2.4 10.1.2.4 D= 193.6.5.4 S= 152.66.8.5 D= 10.1.2.4 S= 152.66.8.5 Külső világ Belső világ IPv4 Vadász Ea8
IPv4 címzés fejlődése Klasszikus címosztályok: 1981 Alhálózatok: 1985 a címzési rendszer alapelvei Alhálózatok: 1985 kétszintű hierarchia Változó méretű alhálózatok: 1987 többszintű hierarchia, aggregáció Osztálymentes címzés: 1993 tetszőleges hálózatméret, hálózatok közti aggregáció Címfordítás: 1994 a címtér többszörös lefedése IPv4 Vadász Ea8
Destination IP Address (32) Az IP csomag verzió IHL TOS (8) Total length (16) Identification (16) flgs Fragment offset (13) TtL (8) Protocol (8) Header checksum (16) 20 bytes Header Source IP Address (32) Destination IP Address (32) Options (if any * 32) Data (x * 32) IPv4 Vadász Ea8
Az IP csomag Verzió: 4 (IPv4) IHL: Header length (az opciókkal együtt) TOS: Type of Services, csak 6 bitet használ: 3 bit a prioritásra (7 a magas, 0 az alacsony) D bit: Minimize delay (Pl. telnet) T: Maximize throughput (Pl.. Ftp data) R: Maximize reability (pl SNMP) (Nem minden implementáció használja …) Total length: az IP datagram teljes hossza bájtokban IPv4 Vadász Ea8
Az IP csomag Identification: a datagram egyedi azonosítója, amit a küldő hoszt állít be (pl fregmentáció esetén azonosítja az egyes darabokat) Flags (3 bit): 1 bit nem használt 1 bit (DF): "don't fragment" bit: ha 1, a csomag nem fregmentálható. Ha mégis kellene: ICMP error "fragmantation needed but don't fragment bit is set" 1 bit (MF): fregmentálás esetén 1, ha van még további darab; 0, ha ez az utolsó Fragment offset (13 bit): fregmentáció esetén a data melyik része (milyen az eltolás). Első darab esetén = 0 IPv4 Vadász Ea8
Az IP csomag Time to Live (TtL, 8 bit): Minden ugrás esetén a router annyival csökkenti, ahány sec-ot állt nála (de legalább 1-gyel). Régebben 32 v. 64, manapság 128 kezdeti értékkel Ha eléri a 0-át, a router eldobja és ICMP "time exceeded" error as feladónak. Protocol: az csomagot elóállító protokollt (pl TCP, UDP, ICMP, IGMP) azonosítja Header cheksum: az IP fejrészre vonatkozó 1 komplemens 16 bites összeg. Mivel a TtL változik, mindig újraszámítandó. Hiba esetén eldobják a csomagot! IPv4 Vadász Ea8
Az IP csomag SA, DA (IP címek) Opciók és adatok … valamilyen hosszon … IPv4 Vadász Ea8
IP Version 6 Az IPv4 címtartomány kimerült (még a subnet maszkokkal is) Az IPv6 címel 128 bitesek, 2128 = 3.4 * 1038 cím 665 * 1021 cím per négyzetméter a földön! Ha 106/s sebességgel osztanánk ki a címeket, 20 év alatt tölthenénk be a címteret … Hosztonként több interfész lehet … Interfészenként több IPv6 cím lehet … Unicast, multicast, anycast lehet … A címtér 75%-a nem lesz használva … IPv6 Vadász Ea8
IP Version 6 Preferred form: Compressed form: Mixed IPv4 and IPv6: FEDC:BA98:7654:3210:FEDC:BA98:7654:3210 1080:0:0:0:0:8:800:200C:417A Compressed form: 1080::8:800:200C:417A 0:0:0:0:0:0:0:1==> ::1 (Unicast Loopback address) FF01:0:0:0:0:0:0:42 ==> FF01::42 (Multicast address) 0:0:0:0:0:0:0:0==> :: (The unspecified address) Mixed IPv4 and IPv6: 0:0:0:0:0:0:13.1.68.3==>::13.1.68.3 0:0:0:0:0:FFFF:129.144.52.31==>::FFFF:129.144.52.31 IPv6 Vadász Ea8
Az IPv6 újdonságai 128 bit hosszú hálózati cím "áramvonalasabb" fejrész beépített adatvédelem folyam azonosító multcast támogatása Csomagdarabolás csak a forrásnál nincs fejrész ellenőrző összeg anycast címek automatikus konfiguráció IPv6 Vadász Ea8
Destination Address (128) Alap IPv6 fejléc RFC 1883 verzió priority Flow label (24) Payload Length (16) Next Header (8) Hop limit (8) Source Address (128) 40 bytes Destination Address (128) Verzió (4): 0110, azaz 6 Priority (4): valósidejű vagy normál adatfolyam Flow label: adatfolyam azonosító a gyorsabb továbbításhoz Payload Length: a csomag mérete (max. 65535) Next Header: a fejrészt követő adatmező típusa Hop limit: minden router csökkent eggyel, amint zéró, eldobjuk IPv6 Vadász Ea8
Opcionális fejrészek Hop-by-hop options header Routing header jumbo payload (csomagméret > 65535) router alert: routernek szóló információ Routing header loose source routing Fragment header csomagdarabok azonosítója, a közbenső routerek nem tördelnek, csak az ICMP MTU (Max. Transmission Unit) Authentication header (RFC 1826) Encapsulated Security header (RFC 1827) Destination Option header (pl mobil állomások helyzetjelzése) IPv6 Vadász Ea8
Az útvonalválasztás Alapjaiban IPv4 szerinti (CIDR) leghosszabb prefix egyezés Hatékonyabb csomagtovábbítás kevesebb opcionális fejrész hierarchikus címzés routing tábla rövidülés Dinamikus routing protokollok tartományon belül: RIPv6, OSPFv6 tartományok között: BGP4+, IDRPv6 IPv6 Vadász Ea8
Áttérés IPv6-ra Összefoglaló Dupla protokollverem a gépekben (RFC 1933) Csomagok átalakítása PT: Protocol Translator NAT: network Address Translator Összefoglaló Ami jó az IPv4-ben, azt megtarjuk Gyorsabb csomagtovábbítás Nem(csak) a 128 bites címzés az igazi hajtóerő adatvédelem, multicast, mobilitás, kisebb adminisztrációs költségek IPv6 Vadász Ea8
Az encapsulation Network Applications TCP UDP IP ARP Ethernet User Data User Data App-H Network Applications Appl Data TCP-H TCP UDP Segment D.gram TCP szegmens IP Appl Data TCP-H IP-H ARP IP datagram Packet E-H Appl Data TCP-H IP-H E-T Ethernet Frame 14 20 20 4 Ethernet frame Vadász Ea8
A viszaállítás Network Applications TCP UDP IP ARP RARP Ethernet User Data Network Applications TCP-H User Data ?-H TCP UDP IP IP-H ARP IP datagram RARP E-H E-T Ethernet Frame Incoming frame Vadász Ea8
Ethernet en/dekapszuláció (RFC 894) Ethernet frame DA SA Type Data+ Pad CRC 0800 IP datagram CRC 0806 ARP req/rep + Pad CRC 8035 RARP req/rep+Pad CRC Vadász Ea8
802.3 en/dekapszuláció D: Destination SAP (AA) (RFC 1042) 802.3 frame 6 6 2 1 1 1 3 2 4 SA DA Len D S C O Type Data+ Pad CRC 802.3 MAC Header 802.2 LLC Header 802.2 SNA Header D: Destination SAP (AA) S: Source SAP (AA) C: Control (vezérlés) (03) O: Organisation Code (00) Type: Lásd Ethernet LLC: Logical Link Control SNA: Sub Network Access Protocol Vadász Ea8
PPP en/dekapszuláció F: Flag A: Address (FF) C: Control (03) PPP frame F A C Information Prot CRC 1 2 0-1500 Soros vonalon Point to Point Protocol aszinkron, 8 bites adatok, szinkron, bit orientált. LCP (Link Control P, RFC 1548): Data link kapcsolat létrehozása, tesztje, konfigurációja NCP (Network Cont. Prot., RFC 1332): különböző hálózati protokollok (pl IPX) átvitele PPP-n F: Flag szinkron:7E (bitbeszúrás) aszinkron: 0x7D=escape (0x7D7D,5E; adatok közt 20h-nál kisebb 7D,20H+d) A: Address (FF) C: Control (03) Prot: 0021: IP datagram C021: Link Control Data 8021: Network Control Data Vadász Ea8
Az ARP (RFC 826) Feladat: hoszt vagy router IP címének leképzése MAC címmé Fogalmak, alapok: IP cím: hálózat + hoszt cím, a subnet maszk segít a szétválasztásban Default router: egy szegmenshez tartozó router, annak IP címe hány IP cime van? Biztos több! Ebből nekünk a "közelebbi" kell. Helyi kommunikáció: egy szegmensen belüli Ua a hálózati cím és ua a subnet-mask Távoli kommunkáció: szegmensen kívüli más a hálózati cím ... Vadász Ea8
Az ARP (RFC 826) Fogalmak: Címzési szabályok: minden hosztnak (legalább 1) egyedi IP címe van egy szegmensen lévőknek közös a hálózati címe és a szubnet maszkja A szegmens (itt)? Azonos a "Broadcast Domain"-nel! A hálózat azon része, melyről "Local Broadcast Packet" használatával információt nyerhetek Ismétlők, hidak továbbítják a Local Broadcast Packet-et, router-ek nem! Vagy: 2 router közötti csomópontok; egy router egy oldalán lévők … A szegmensen belül helyi kommunikáció van. A szegmensen belül "Direct Delivery" van. Vadász Ea8
Az ARP (RFC 826) A MAC címek nyerhetők: a cache-ből (IP - MAC párok vannak itt); Local Broadcast ARP_REQUEST küldése után a válaszokból (amiket azonnal cache-elni lehet, hogy legközelebb … ) A forgatókönyvhöz tegyük fel, megvan a cél IP címe (Pl. DNS-ből, WINS-ből, Remote Broadcast-ból ….) Vadász Ea8
Az ARP forgatókönyv Analizálja a cél IP címet, az "helyi", vagy "távoli" A saját subnet maszkkal leválasztja a hálózati címrészt, és összeveti a sajátjával: ha egyezik: helyi, ha nem: távoli. Ha helyi, akkor (Direct Delivery) Nézi a cache-ében, van-e hozzá MAC cím. Igen: talált süllyedt. Nincs: Local Broadcast kezdeményezéssel választ kér, és így megkapja a cél MAC címet. Mindjárt cache-eli, egyben talált, süllyedt ... Vadász Ea8
Az ARP forgatókönyv Ha a cél cím "távoli", akkor (Indirect Delivery) Nézi saját forgalomirányító tábláját (route table), van-e speciális út a célhoz. Ha van: keresi a saját cache-ében az úthoz asszociált router MAC címét. Talált: nyert, Nem talált: Local Broadcast segítségével megszerzi (és cacheli): nyert. Nincs speciális út, vagy nincs forgalomirányító tábla (azaz nem router-ről van szó): Nézi a cache-ében, van-e a default router-hez MAC cím. Igen: talált süllyedt. Nincs: Local Broadcast kezdeményezéssel választ kér, és így megkapja a default router MAC címet. Mindjárt cache-eli, egyben talált, süllyedt ... Vadász Ea8
Az ARP forgatókönyv Ebből egy "tanulság": És ne feledjük Az ARP, ha helyi a cél IP cím, a cél MAC címét eredményezi (Direct Delivery) Ha viszont távoli, akkor egy router MAC címét eredményezi: annak kell tehát az adatkapcsolati kerete küldeni (Indirect Delivery) És ne feledjük Ismétlők "bután" ismétlik a kereteket, bármilyen MAC cím is van bennük …. Hidak nézik ugyan a MAC címeket, összevetik saját portjaik tábláinak bejegyzéseivel, ettől függően azonban továbbítanak … eljut a keret a MAC címmel azonosított állomásra … Vadász Ea8
És a hibák? Lehet hibás IP cím: Hibás a szubnet maszk: Hibás hálózati címzés: tévedés a "helyi/távoli" kommunikáció megítélésében … Hibás hoszt címzés: nem talál MAC címet: törés a forgatókönyvben … Hibás a szubnet maszk: Tévedés a "helyi/távoli" kommunikáció megítélésében … Tévedés a hoszt címrész leválasztásában: törés a forgatókönyvben … Hibás router-tabla bejegyzés: Küldheti rossz irányba, vagy sikertelen a MAC szerzés … Vadász Ea8
További protokollok Az ARP csak broadcast medián működik … "Kézzel" konfigurált interfészek lehetnek, vagy Boot Protocol (RFC 1542) MAC és IP cím statikus összerendelése Kliens-szerver-relay_agent konfiguráció UDP csomagokban request-reply Dynamic Host Configuration Protocol (RFC 1541) MAC és IP cím dinamikus összerendelése címtartományok kijelölhetők, címhasználat időben korlátozódhat, hasznos erőforrás (pl DNS) jelezhető BOOTP-vel felülről kompatibilis Vadász Ea8
Az IP útvonalirányítás Az IP összeköttetésmentes protokoll, a routing-ért felelős Az IP biztosítja, hogy a felettes protokollok a hálózatot "egyetelen hálózatként" lássák: valódi end-to-end rétegek legyenek Direct Delivery esetén nem kell útvonalirányítás, a küldő a datagramot közveltelenül a célzott csomópontnak küldi … Indirect Delivery esetén (a cél nem a forrás hálózatának tagja) a forrás/router egy routernek küldi a csomagot … Vadász Ea8
Indirect Delivery A forrás a legközelebbi (default) routernek küldi a csomagot (direct delivery a MAC cím megszerzésében) A router nézi az IP datagramot, kiválasztja a soron következő routerhez (vagy a célhoz) vezető portját, kis változtatást csinál a datagramban és küldi (direct delivery a MAC cím megszerzésében) és így tovább, a vége: mindig direct delivery a cél MAC cím megszerzésében. Vadász Ea8
Indirect Delivery Class C network D Router A B C E F G Ethernet 1 IP network 223.1.2 Ethernet 2 IP network 223.1.3 H I J Ethernet 3 IP network 223.1.4 Class C network Vadász Ea8
IP Addresses in Example B 223.1.2.2 C 223.1.2.3 D 223.1.2.4 223.1.3.4 223.1.4.4 E 223.1.3.1 F 223.1.3.2 G 223.1.3.3 H 223.1.4.1 I 223.1.4.2 J 223.1.4.3 Vadász Ea8
Indirect Delivery (cont) A to B is direct communication A to D is direct communication E to D is direct communication H to D is direct communication A to F is indirect communication: must use D to forward the IP packet to the next IP address. Before D address source destination IP header A F Ethernet header A D After D address source destination IP header A F Ethernet header D F Vadász Ea8
Az IP routing Az útvonalkiválasztó az eredeti datagramon csak a következő változtatásokat teszi Dekrementálja a Time-to-Live mezőt (amiből eldönthető, hány sec-ig, vagy ugrásig maradhat meg a datagram) Úrjraszámítja a cheksum-ot Nem hálózati feladat, de megemlítjük: a Network réteghez tartozó keretben az ARP segítségével megszerzett cél MAC cím csak a végén lesz az igazi cél MAC cím (amikor eljutnak a végső direkt delivery-hez) Vadász Ea8
Routerek "hierarchiája" Router: 2 vagy több hálózatot köt össze Gateway router: dedikált router, ami a külső világhoz (Internethez) kapcsol Core Gateway routerek: az INOC (Internet Network Operation Center) által kontrollált routerek az egész Internetre vonatkozó ismereteik vannak (nincs defaoult router fogalmuk) backbone hálózatokat formálnak Vadász Ea8
Egy egyszerű példa Intézmény (Autonomous System, AS) megkapta a 223.1.2 223.1.3 223.1.4 és 223.1.5 C osztályú IP címtartományokat. Az első 3-ba tartozó hosztok default routere a D Az utólsóba tartozó hosztok (ha vannak) default routere lehet az X (elvileg lehetne D is). Működteti a D routert (számára default az X) és az X Gateway routert. Ennek is van default routere ... Vadász Ea8
Egy egyszerű példa D IP network 162.2 128.1.8.5 IP network 125 162.2.10.2 162.1.10.2 125.1.4.99 (Default) X IP network 223.1.5 D A B C E F G IP network 223.1.2 IP network 223.1.3 H I J IP network 223.1.4 Vadász Ea8
Egy egyszerű példa Az X a külvilággal való kapcsolatra való: gateway router Az X-nek 4 IP címe (és 4 MAC címe) van ebből 3 nem a kapott címosztályokból, egyeztetni kell a külvilággal … Az intézményi hálózattal való kapcsolattartáshoz (itt legalább a D-hez) az IP címe 223.1.5.1 (ugyanekkor a D címe ebben a hálózatban: 223.1.5.4, modjuk) Az X-nek van "default router" fogalma minden olyan csomagot, aminek hálózati címe "ismeretlen" számára, ennek küld majd ... Vadász Ea8
Egy egyszerű példa A külvilágba címzett datagramm Mindenképp eljut az X-hez Ha ez "tudja", hogy a 3 kimenő vonalának melyikén van a címzett: arra továbbítja, ha nem: a 125.1.4.99-es deafault router-éhez … A külvilágból bejövő csomag megérkezik X-hez, ha a címzett a 223.1.5 alhálózaton van, direct delivery-vel adja, ha nem, akkor a indirect delivery-vel a D-nek … Vadász Ea8
Kérdések merülhetnek fel ... Honnan tudja router, hova küldje a datagramot? Honnan tudja egy hoszt, hogy melyik routernek küldje a csomagot? Melyik a "default/legközelebbi" router? A válasz ezekre: útvonalválasztás van (IP routing táblák vannak). Ebből lehet tudni ... Vadász Ea8
Fogalmak Routing protokoll (RIP, OSPF) Az útvonalválasztók közötti kommunikációra Route-olt protokoll (IP,IPX, AppleTalk) maga a hálózati protokoll Útvonal kiválasztás (Path selection) Az a mozzanat, ami meghatározza, ha több út is létezik (több interfész, port is van), melyiket használjuk Vadász Ea8
IP routing tábla (Statikus konfiguráció mellett) a routing protokoll állítja elő A táblában minden egyes útvonalhoz (interfészhez, porthoz) van bejegyzés. Egy bejegyzés legalább[esetleg] IP hálózat cím[/prefix] [Direkt/indirekt flag] Következő (next hop) router IP címe vagy cél cím Az interfész (port) száma/azonosítója Vadász Ea8
IP routing tábla Egy router a routing tábláját nézi végig, hogy melyik portjára (melyik interfészére) küldje a datagramot. A keresési kulcs a cél IP hálózati címe A kereséshez szükség lehet a szubnet maszk alkalmazásra a címen A csomagtovábbítás a leghosszabb illeszkedő prefix (longest prefix match) hop-by-hop (azaz minden router maga dönt Az útvonalválasztási hiba kezelése nem routing feladat! Arra ICMP (Destination Unreachable, Timme Excced, Redirect) Vadász Ea8
Internet felépítés, AS-ek Autonom System (AS) csoportosítási egység: amit egy szervezet üzemeltet AS-en belül nem kell feltétlen az egész Internet címtartományt ismerni (default router/út) AS-en belüli lokális forgalom, topológiai változás nem látszik kifelé AS-re bontás mellett egymástól függetlenül több útvonalválasztó protokoll használható Vadász Ea8
Internet felépítés: IGP-EGP AS-en belüli Intra-Domain (Interior Gateway Protocol, IGP) Lehet RIP/OSFP a méretektől, elvárásoktól függően AS-ek közötti Inter-Domain (Exterior Gateway Protocol, EGP) Alap: egy default út ki az AS-ből egy nagy ISP-hez, (Gateway router fogalom) Border Gatway Protocol, BGP kell, ha multi homed az AS, üzleti/politikai szabályrendszert érvényesítenek. Vadász Ea8
Forgalomirányító algoritmusok Döntés, hogy melyik portján/vonalán/interfészén továbbítsa a router a datagramot Ha csak egy lehetőség van, a döntés könnyű Ha több: további információk a tábla bejegyzésekben Vector Distance Algorithm (shortest path using hops): a metrika az ugrásszám (distance in hops) Shortest Path First Alg: A metrika a "cost", ami lehet az ugrásszám, a sebesség stb… Vadász Ea8
Vector Distance Algorithm (Bellman-Ford) A routing táblában "távolság" oszlop is a távolság: ugrások száma Szomszédos routerek táblákat cserélnek (konfigurálni kell, ki kinek küldjön, kitől fogadjon. Gatewayek szoktak "cserélni") Fogadott táblák infóiból korrigálja saját tábláit: bejegyzi a nem meglévő bejegyzéseket (korrekcióval) átír meglévő bejegyzést, ha az új távolság kisebb, mint amit kapott (itt is van korrekció) Vadász Ea8
A RIP és RIP2 Routin Information Protocol az UDP-re épül, az 520-as porton. A "táblacserékhez" való protokoll Érdekes lehet az ugrásszám korlát: metric = 16 nem elérhető jelentésű A RIP az alhálózatokat nem "hirdeti", míg a RIP2 a szubneteket is hirdeti ... Vadász Ea8
Shortest Path First (Link Status) SFP a neve Minden router "térképet" tart fenn a teljes hálózatról, ebben az utak "kölségét/súlyát" is De az információgyüjtés/hirdetés során nem távolságokat gyűjt/hirdet, hanem szomszédai elérhetőségét (Link State Protocol) Minden (gateway) router periódikusan küld egy üzenetet, tesztelve a link státust az üzenet routing infókat nem tartalmaz. Ha van válasz: a link él, a térképben ez jelezhető Ha nincs válasz: a link nem él. Vadász Ea8
Shortest Path First (Link Status) Képes több utat kezelni (pl a IP type of service alapján) Képes az utakhoz súlyokat rendelni Képes azonos súlyú utak között terhelésmegosztásra. Vadász Ea8
Open SFPv2 Él-állapot leírásán alapuló (link status) dinamikus, hierarchikus protokoll, nem adaptív. Direkt IP fölött fut, transzport protokoll nélkül, saját terjesztési protokollt használ. Az így kapott elosztott adatbázison mindenki maga számol útvonalat, ugyanazon algoritmus szerint (így bár csak a következő csomópontnak adom, jó felé megy a csomag). Vadász Ea8
Dinamikus? Észreveszi, ha egy link megszakad az adatkapcsolati réteg jelzi a router alakalmazásnak (néhány sec), vagy a Hello csomagok elmaradnak (40 sec). És egyből terjeszti a router az új topológiai állapotot. OSFP Vadász Ea8
OSFP komponensek Szomszédok felfedezése (Hello) Default router (DR), tartalék (BDR) választás Szomszédsági viszony (adjacencies) kialakítása Adatbázis szinkronizáció (DS) Él állapot terjesztés (LSA flooding) Routing tábla számítás OSFP csomagok (fejrészében típus) Hello Database Description Link-State Request/Reply/Ack OSFP Vadász Ea8
OSFP Hello Szomszédsági viszony A linkek állapotának folyamatos figyelésére Broadcast linken DR választás Szomszédsági viszony Aki szomszéd, azzal hangolom össze AB-met, annak küldök LSA-kat Pont-pont linken szomszéd van Broadcast linken a DR a szomszéd OSFP Vadász Ea8
OSFP AB szinkronizáció (DS) Kérés-válasz alapon LS fejléceket cserélenk, és ami hiányzik, lekérem LS Request-tel Link-State-Advertisment (terjesztés is, flooding-gel) minden szomszédnak továbbadom, kivéve ahonnan jött, és Ack-ra várok Ha kaptam, nyugtázom, vagy újabb saját LS-omat küldöm (ez is "nyugta") Ez "fa mentén terjedő, egyszer átlapolódó körbe-küldős elv" Minden LSA "öregszik" OSFP Vadász Ea8
Exterior Gateway Protocol EGP, RFC 904 AS-ek között útvonalválasztás, elérhetőségi információk alapján Régi. Kifejlesztésekor még hierrachikus volt az Internet. Alapvetően distance-vektor protokoll Nem véd a hurokképződés ellen, nincsenek védelmi mechanizmusai Vadász Ea8
Border Gateway Protocol BGP, RFC 1771 Az EGP hiányosságait küszöböli ki CIDR támogatás (hatékony cím aggregáció) Konfigurálni kell a BGP szomszédokat, nincs "szomszéd felfedezés" TCP fölött fut (179-es port), megbízható kapcsolatorientált transzportot feltételez Nincs periódikus újraküldés, minden hallott útvonalat megjegyeznek a routerek. A hurokmentesség ellen path vektor módszert használ (célig vezető AS-ek listája) Vadász Ea8
EBGP - IBGP Exterior BGP Interior BGP AS-ek között AS-en belüli kapcsolatokra (pl. ha nem túl nagy, nem érdemes az OSPF-t, de nem felel meg a RIP) Vadász Ea8
Irodalom RFC 1058 Routing Information Protocol RFC 1723 RIP Version 2 RFC 2328 OSPF Version 2 RFC 1771 BGP-4 J. T. Moy: OSPF: Anatomy of an Internet Routing Protocol Addison-Wesley, 1998 EIGRP: www.cisco.com/warp/public/457/7.html IBM Redbooks: www.redbook.ibm.com/abstracts/gg243376.html Vadász Ea8
Content (type és code függő tartalom) Az ICMP Internet Control Message Protocol Azalapvetően a hálózati réteggel kapcsolatos üzenetek továbbítására Az ICMP enkapszuláció ICMP message Típusok: hibaüzenetek, információk, diagnosztikai üzenetek. IP header (20bytes) ICMP message Type (8) Code (8) Checksum (16) Content (type és code függő tartalom) ICMP Vadász Ea8
ICMP példák Type Code Üzenet (RFC792) 0 0 echo reply (ping) 3 * Destination unreachable 0 Network unreachable 1 Host unreachable 3 Port unreachable 4 Fregmentation is needed but don't fragment bit set 4 0 Fojtócsomag 5 * Redirect 0 Redirect for network 1 Redirect for host 8 0 echo request (ping) 11 * Time exceed 11 0 Time to live = 0 stb. ICMP Vadász Ea8
ICMP Az ICMP hibaüzenetek mindig tartalmazzák annak az IP datagrammnak fejrészét (20 byte) és első 8 bájtját, ami a hibát okozta Így a fogadó ICMP modul meghatározhatja a protokollt és a user processzt, amihez a hiba tartozik ICMP Vadász Ea8
IP hálózatok mérése A mérések szükségessége Hálózat beüzemelése tesztelése a végpontol látják egymást? (connectivity) a csomagszűrés jól van beállítva? Üzemelő hálózat teljesítményének fokozása hatékony a működés (perfomance) torlódások vannak? Erőforrások jól vannak kihasználva? Van néhány egyszrű mérő alkalmazás ping: a connectivity ellenőrzésre traceroute: útvonal asszimetria felfedezése; routing tesztelés (TTL mező lejártának ellenőrzése) Vadász Ea8
A ping Állomás elérhetőség ellenőrzés ping kliens: aki kezdeményez egy ICMP echo request-tel; ping szerver: aki válaszol egy ICMP echo reply-vel. A csomagok sorszámot és időbélyeget kapnak csomagvesztés detektálható, duplikáció detektálható, sorrendcsere detektálható, késletetési viszonyok változása (torlódás) detektálható. Vadász Ea8
A traceroute Állomás elérési útvonalának vizsgálata Ötlet: ha router TTL = 1|0 IP datagramot kap, azt nem továbbítja, hanem ICMP time exceed üzenetet küld Küldjünk csomagokat rendre TTL=1,2,3 … értékekkel … A soron következő első, második stb. router eldob és ICMP üzenetet ad: ebből megtudható a router címe; Amikor meg eljut a célállomásra, a csomagot olyan UDP port kapja, amihez nem tartozik szerver alkalmazás (pl 3000 feletti portszám: ICMP port unreachable üzenet jön vissza, ebből tudható, hogy elértük a célállomást. Vadász Ea8