# IPv4

IPv4, IP protokoloaren (Internet Protocol) 4. bertsioa da. Hau izan zen oso zabal inplementatutako protokoloaren lehenengo bertsioa eta interneten oinarria osatzen du gaur egun.
IPv4-k 32 bit-eko helbideak erabiltzen ditu, 4.294.967.296 helbideetara mugatuta eta hauetariko asko Sare Lokaletara dedikatuak. Interneten hazkuntza izugarriagatik (IPv4 diseñatu zenean espero zena baino gehiago) eta ikusita askotan helbideak alferrik galtzen direla, badira urteak ikusten hasi zela IPv4 helbideak eskasak zirela.
Helbideen urritasun hau, IPv6 sortzera bultzatu zuen, gaur egun inplementazioaren lehenengo fasetan dagoena, eta espero dena denborarekin IPv4 ordezkatzea.

## IPv4 datagramaren formatua

IP protokoloa diseinatu zenean guztiz esperimentala zen eta horregatik agertzen dira beharrezkoak ez diren eremu batzuk.

### Helburuko helbidea

Eremu hau agertzea ezinbestekoa da edozein sarearte-mailako protokoloan. Bere informazioa nahitaezkoa da sarearte mailako zerbitzua burutzeko.
Jatorrizko makinan eta bideratzaileetan egindako datagramaren prozesamendua datagrama bideratu ahal izateko, helbide honetan datza.

### Beharrezkoak diren eremuak

Ez daude zuzenean lotuta datagramak bideratzearekin, baina, zerbitzua osatzeko beharrezkoa da eremu hauen informazioa.
* Goiko protokoloa: Helmugako IP entitateak datagrama nori eman behar dion jakiteko ezinbestekoa da.
* Bertsioa: Honek datagramak nolako goiburukoa duen adierazten du, bertsio ezberdinek datagrama ezberdinak erabiltzen baitituzte. Horregatik da goiburukoaren lehenengo eremua.
* Jatorrizko helbidea: Bideratzaileek ez dute jatorrizko helbide hori bideratzeko behar, baina datagrama jasoko duenak, helbide hau beharko du igorleari erantzuna emateko.
* Goiburukoaren luzera: Datagrama prozesatu behar duten IP entitateek goiburukoa non bukatzen den eta garraiatutako datuak non hasten diren jakin behar dute.
* Datagramaren luzera: Sarbideko protokolo batzuek zaborra gehitzen diote transmititzeko ematen dieten datagramari. Helburuan, datagramari itsatsita datorren betegarria bereizteko, datagramaren luzeera erabiliko du IP entitateak.
Luzera eremuan 16 bit daudenez, datagramarik handiena 65.536 bytekoa izan daiteke (datuak gehi goiburukoa).
* Iraupena edo TTL (Time To Live): Eremu honi balio bat ematen zaio jatorrizko konputagailuan, eta bideko bideratzaile bakoitzak 1 kentzen dio. Balioa 0-raino heltzen bada, bideratzaileak datagrama ezabatuko du, beraz sareko garbiketarako erabiltzen da eremu hau.

### Datagrama berreraikitzeko eremuak

IP datagrama bat sareko pakete batean sartzeko handiegia denean, zatitu egin behar da (zati txikiena 8 bytekoa). Bideratzaileei lana errazteko, zatiketa jatorrizko konputagailuak egin behar du eta horregatik IPv4 goiburukoari 3 eremu hauek erantsi behar izan zaizkio:
* Datagramaren identifikazioa: Helburuko konputagailuak zati guztiak bildu ahal izateko.
* Desplazamendua: Eremu honek zati honen kokapena jatorrizko datagraman adierazten du.
* Bit-markak (flagak): Ez zatitu bita (Don´t Fragment) eta Zati gehiago (More Fragments) bita dira. Batak bideratzaileari datagrama hori ezin dela gehiago zatitu jakinarazten dio eta besteak, hori ez dela jatorrizko datagramari dagokion azkeneko zatia adierazten dio helburuko IP entitateari.

### Beharrezkoak ez diren eremuak

* Erroreak atzemateko funtzioa: Goiburukoari bakarrik ezartzen zaion funtzio matematiko simplea da.
* Zerbitzu-mota (TOS:Type Of Service): Eremu honek datagramen artean lehentasunak ezartzeko balio du.
* Aukerak: Protokoloaren ezaugarri berriak frogatzeko sartu zen eremu hau goiburukoan.

## IPv4 helbideak

Lehen esan bezala, IPv4-k 32 bit-eko helbideak erabiltzen ditu(4 byte). IP helbideak notazio hamartar puntudunez idazten dira. 4 bytetako bakoitza notazio hamartarrez idazten da, 0-tik 255-era. Adibidez, 193.33.217.137 helbidea idazkera bitarrean, 11000000 00100001 11011001 10001001
Sare-txartel bakoitzak bere IP helbidea behar du, beraz, konputagailu batek dituen sare-loturak bezainbeste IP helbide izango ditu.

### Helbideen egitura

Helbide bakoitzak bi zati ditu. Lehenengoak (ezkerreko bitek) sarea identifikatzen du "sare-helbidea" eta bigarrenak (eskuineko bitek) sareari konektatuta dagoen konputagailu bat helbideratzen du "makinaren identifikazioa".
IP helbide bakoitzak IPhelbideen bit-banaketa berezkoa du eta sare-maskararen bidez adierazten da. Sare-maskarak bi era ezberdinetan idazten dira:

### Helbide bereziak

IP helbide baten 32 bitek ahalbidetzen dituzten helbide guztiak ez dira erabilgarriak. Askotan topatuko ditugu horietako helbide berezi batzuk.
* Loopback helbideak: 127.0.0.0/8 helbide sorta gordeta dago konputagailuaren barruko entitateak identifikatzeko. Bat besterik ez da erabiltzen, konputagailuak bere burua
identifikatzeko, localhost izenarekin sistema eragilean.
* Sareko difusio helbidea (broadcast): IP helbide batzuk gordeta daude difusioa egiteko, bere interfazearen identifikazioaren bit guztiak 1ekoak dituztenak.
Adibidez 155.233.0.0/16 sareko makina guztiei bidalitako datagrama batek, 155.233.255.255 helburuko helbidea izango du.
* Difusio mugatutako helbidea: 32 bitak, sarekoak eta interfazekoak, 1ekoak dituen helbidea ere gordeta dago (255.255.255.255 helbidea). Konputagailu batek bere helbidea zein den
ez dakienean erabiltzen du bere sareko konputagailu guztiei laguntza-deia helarazteko eta hartzaileetako batek erantzuteko bere nortasunaren berri emanez.
* Sare-helbideak: Helbidearen interfazearen identifikazioko bitak ezin dira denak 0koak izan, horrela sortutako helbidea sare-helbidea delako.
* Autokonfigurazioko helbide lokalak: 169.254.0.0/16 sorta. Helbide horiek gordeta daude interfaze bati dagokion helbidea zein den lortzerik ez dagoenean erabiltzeko.
Konfigurazio automatikoan soilik erabil daitezke, elkar konektatuta dauden konputagailuekin komunikatzeko. DHCP bezeroek erabiltzen dute gehien, DHCP zerbitzariarekin komunikatzea lortzen ez dutenean.
* Helbide pribatuak: 10/8, 172.16/12, eta 192.168/16 sortak. Helbide hauek norberaren sare pribatuaren barnean soilik erabiltzekoak dira.

## Kanpo estekak

* Datuak: Q11103
* Multimedia: IPv4 / Q11103