IP-alapok
A Unix/Linux szerverek üzemeltetése wikiből
A lap korábbi változatát látod, amilyen KornAndras (vitalap | szerkesztései) 2006. szeptember 12., 01:27-kor történt szerkesztése után volt.
Itt most az IPv4-ről lesz szó. Az IPv6-tal nem foglalkozunk.
Tartalomjegyzék[elrejtés] |
1 A protokollcsaládról
- Az IP egy protokollcsalád
- ARP (később)
- IP (Internet Protocol)
- hálózati rétegbeli
- datagramm-alapú
- fejléc:
- forráscím
- célcím
- TTL (Time To Live)
- magasabb szintű protokoll azonosítója
- egyéb (pl: DF, Don't Fragment, PMTU discoveryhez)
- ICMP (Internet Control Message Protocol)
- hiba- és státuszüzenetek, pl:
- Echo Request
- Echo Reply
- Destination Unreachable
- Network Unreachable
- Host Unreachable
- Protocol Unreachable
- Port Unreachable
- Fragmentation Needed
- Communication Administratively Prohibited
- Time To Live Exceeded
- és még jó pár, ritkábban látott másik
- hiba- és státuszüzenetek, pl:
- TCP (Transmission Control Protocol)
- összeköttetés-alapú
- garantálja a csomagok helyes sorrendjét
- újraküldi a csomagokat, ha kell
- torlódásvezérelt
- kapcsolatfelépítés:
- SYN
- SYN+ACK
- ACK
- port fogalma ("lokális multiplexelés")
- UDP (User/Unreliable Datagram Protocol)
- itt is van port
- nincs nyugta
- nincs torlódásvezérlés
- a folyam csomagjai elveszhetnek, ill. megjöhetnek rossz sorrendben
- stb.
1.1 ARP
- Az IP hálózati rétegbeli protokoll
- A hálózati szint alatt még van egy adatkapcsolati és egy fizikai réteg
- Az adatkapcsolatiban is kellhet címzés
- Honnan tudjuk a másik fél adatkapcsolati címét?
- Az IP alatt gyakran van Ethernet, vagy ahhoz hasonló broadcast médium
- Ötlet: ha nem tudjuk a címet, kérdezzük meg!
- 1. üzenet (adatkapcsolati broadcast): who-has 1.2.3.4 tell 00:de:ad:be:ef:00
- 2. üzenet (unicast): 1.2.3.4 is-at 00:f0:0d:d0:0d:00
- Egy darabig megjegyezzük az ARP-táblánkban
- Igen ám, de nem vagyunk mindenkivel egy fizikai hálózaton - a többiek MAC-címét honnan fogjuk megtudni?
- Sehonnan, mert nem is kell.
- => routing
2 Statikus routing
- Minden gépnek van egy routing-táblája, ilyesmi bejegyzésekkel:
IP | netmask | gateway | interface | megjegyzés |
---|---|---|---|---|
1.2.3.0 | 255.255.255.0 | * | eth0 | ez egy fizikai helyi hálózat, az eth0-án lóg |
2.3.4.5 | 255.255.255.255 | 1.2.3.2 | eth0 | a 2.3.4.5-ös gépet az 1.2.3.2 című routeren át érjük el, "amögött" van |
3.4.5.128 | 255.255.255.128 | 1.2.3.42 | eth0 | a 3.4.5.128/25-ös hálózat a 3.4.5.128 című routeren át érhető el, "amögött" van |
0.0.0.0 | 0.0.0.0 | 1.2.3.254 | eth0 | Minden más ("az egész Internet") az 1.2.3.254 című routeren át érhető el |
Ha egy adott konkrét A.B.C.D IP-címmel akarunk kommunikálni, a következők szerint járunk el:
- Megnézzük, az IP-cím része-e valamelyik helyi hálózatnak a cím/maszk párok alapján
- Ha igen, ARP queryt küldünk
- A válaszban benne lesz a MAC-cím
- MAC-szinten oda, IP-szinten A.B.C.D-nek címezzük a csomagot
- Ha nincs ARP-válasz, "host unreachable"
- Ha nem:
- Megnézzük, az IP-cím illeszkedik-e valamelyik más routing-bejegyzésünk cím/maszk párosára
- Ha igen, a csomagot MAC-szinten az adott gatewaynek, IP-szinten A.B.C.D-nek kell címeznünk
- Vagyis: ARP who-has IP-of-gateway
- Ha nem, akkor nem tudjuk, merre kell küldeni a csomagot, "network unreachable" ("no route to host")
- Ha igen, a csomagot MAC-szinten az adott gatewaynek, IP-szinten A.B.C.D-nek kell címeznünk
- Megnézzük, az IP-cím illeszkedik-e valamelyik más routing-bejegyzésünk cím/maszk párosára
- Ha igen, ARP queryt küldünk
2.1 A routing-tábla karbantartása
- route parancs:
- route add -net 1.2.3.0/24 dev eth0
- route add -host 2.3.4.5 gw 1.2.3.2
- Az eth0 következik a gw címéből
- route add -net 3.4.5.128/25 gw 1.2.3.42
- route add default gw 1.2.3.254
- route -n
- ip parancs:
- ip ro add 1.2.3.0/24 dev eth0
- ip ro add 2.3.4.5/32 via 1.2.3.2
- ip ro add 3.4.5.128/25 via 1.2.3.42
- ip ro add default via 1.2.3.254
- ip ro sh
2.2 Statikus route-ok automatikus felvétele
- Debianon:
- /etc/network/interfaces-be:
- iface eth0 inet static
- address 1.2.3.1
- netmask 255.255.255.0
- broadcast 1.2.3.255
- network 1.2.3.0
- gateway 1.2.3.254
- up ip ro add 2.3.4.5/32 via 1.2.3.2
- up ip ro add 3.4.5.128/25 via 1.2.3.42
- iface eth0 inet static
- Red Hat Linuxon:
?
- SuSE Linuxon:
?