Está en la página 1de 5

NotasdeclaseIPv4PROTOTIPOPorErnestoAlvarez

IntroduccinaIPversin4
IntroduccinaIPv4
IPv4(InternetProtocolversin4)eselprotocolodenivelderedusadoenInternet.Juntoconotros
protocolosauxiliaresesresponsabledetransferirlainformacindelusuarioporlared.Elprotocolo
IPv4estdefinidoenelRFC791.
IPv4esunprotocolodenivelderednoorientadoaconexin,noconfiable.Encasodehaber
problemas,seesperaqueelnodoinvolucradodescarteelpaquete.Debidoaqueunpaquetedebe
transitarporvariosnodos,posiblementesiguiendouncaminoquenonecesariamenteeselmismoque
elusadoporotrospaquetes,losdatosenviadospuedenllegarendesorden.IPv4nointentacorregirel
ordendelospaquetes.
LascaractersticasdeIPv4hacenqueInternetseaprincipalmenteunaredbesteffort,oseaqueno
proveeningunagarantasobreeltrfico,aunquehaciendosumejoresfuerzoparaasegurarsequelos
datoslleguenadestino.
AunquetambinexisteIPv6,cuandoseuseeltrminoIPenestedocumento,seconsiderarquese
esthaciendoreferenciaaIPv4.

ElformatodelpaqueteIPv4
ElprotocoloIPv4tieneunheaderdelongitudvariable.Elheaderestformadoporunaparte
obligatoria,de20bytes,seguidoporunaseriedeopciones.Debidoalimitacionesdelheader,las
opcionesdebentenerunalongitudmltiplode4bytes,pudiendoelheadercrecerhastaunmximode
60bytes(contandoparteobligatoriayopcional).
0123
01234567890123456789012345678901
+++++++++++++++++++++++++++++++++
|Version|IHL|TypeofService|TotalLength|
+++++++++++++++++++++++++++++++++
|Identification|Flags|FragmentOffset|
+++++++++++++++++++++++++++++++++
|TimetoLive|Protocol|HeaderChecksum|
+++++++++++++++++++++++++++++++++
|SourceAddress|
+++++++++++++++++++++++++++++++++
|DestinationAddress|
+++++++++++++++++++++++++++++++++
|Options|Padding|
+++++++++++++++++++++++++++++++++

Losheadersobligatoriossonlossiguientes(considerandobigendianalosnumerosmencionados)

Version(4bits):EselnmerodeversindelprotocoloIP.Unaconstante4.Permitequeotras
versionesinteractuenenlamismaredsincausarconflictos.Laotraversinusadacomunmente
esIPv6.

IHL(4bits):EslalongituddelheaderIPv4.Puestoqueelvalorcubrede0a15,lamedida
usadaesbloquesde32bits.Debeindicaralmenos5.
TypeofserviceoTOS(8bits):Esuncampodebitsqueindicacomosedebetrataralpaquete
encuestin.Usadoparapriorizaralgunospaquetessobreotros.
Totallength(16bits):Eslalongitudtotaldelpaquete,medidaenbytes.Estosignificaqueun
paqueteIPv4nopuedetenerunalongitudmayora64KiB.
Identification,flagsyfragmentoffset:Estoscampossonusadosenlafragmentacinde
paquetesIPv4(averenlasiguienteclase).
Timetolive,oTTL(8bits):Esuncampousadoparaevitarqueunpaquetequedecirculando
indefinidamenteenlared.Originalmenteindicabalacantidaddesegundosqueelpaquetepuede
permanecer.Hoyendaindicalacantidaddesaltosquepuederealizar.Estecamposecambiaal
pasarporcadarouter,yelpaquetesedescartasiestevalorllegaa0.
Protocol(8bits):Indicacualeselprotocolodelacapasuperior.Usadoparapermitirllevar
mltiplesprotocolossobreIPv4(similaralethertypedeethernet).
Headerchecksum(8bits):Esunchecksumqueprotegealheader.Nobrindamuchaproteccin
ynoprotegealosdatos.Sielchecksumenunpaquetenoescorrecto,sedescartaelmismo.Es
principalmenteunamedidaparaevitarlapropagacininnecesariadepaquetes.
Sourceaddressydestinationaddress(32bitscadauna):Indicanladireccindeorigenydestino
delpaquete.Elorigenestincludoparapermitirqueelreceptorsepaaquiendeberespondery
tambinasisteenelmantenimientodelestadoenprotocolosdecapassuperiores.

ElcampoTOSenIPv4
01234567
+++++++++
|PRECEDENCE|D|T|R|ECN|
+++++++++

IPv4proveeciertosmecanismosdepriorizacindepaquetes.LaespecificacinoriginaldeIPv4indica
quedebeconsiderarseuncampode3bitsqueindicalaprioridad(precendence),conotrostresbits
indicandoelserviciodeseadoydejandolosltimosdosbitsencero(porestarreservados).Losbitsque
indicaneltipodeservicioson(enorden):minimizarlalatencia(bitD),maximizarelthroughput
(bitT)ymaximizarlaconfiabilidad(bitR).Unhostpuedeprendercualquiercombinacinestosbits
ylosrouterspuedenusarloscomoguiaparadeterminarelprximosalto.
Supongamosqueunrouterestconectadoaotrocondosenlaces,unosatelitalconmuchothrouputy
muchalatenciayuncableserie,conpocalatenciaypocothroughput.SiunpaqueteIPv4conelbitD
debeserforwardeado,esmuyprobablequeelrouterdecidausarelenlaceserie,yaqueeselquemenos
latenciatiene.SielsiguientepaquetetieneelbitTprendido,esdeesperarqueseaenviadoporel
enlacesatelital.Todoestetratamientoesopcional,yenltimainstanciadependedelrouterquehaceel
forwardeo(ydesuconfiguracin/programacin).
Otrainterpretacinposibleeselusototaldelcampodebitsparaindicardistintasclasesdetrfico
(indicadasenelcampoDSCP).Puestoqueestainterpretacinfuedefinidamuchodespuesdela
interpretacinoriginal,esnecesariodefinirlasdeformatalqueseancompatiblesconlainterpretacin
original,amenosquehayaunarreglodeantemanoentretodoslosnodosdelared.Estanueva
interpretacinseencuentraenelRFC2474.


01234567
+++++++++
|DSCP|ECN|
+++++++++

Esimportanteaclararquelosdosbitsreservadosfueronasignadosrecientementeparacontrolde
congestin(marcadoscomoECN),porloqueningnmecanismodeToSdebealterarlos.

AnatomadeunadireccinIPv4
UnadireccinIPv4estformadapordospartes:lapartederedylapartedehost.Estadivisinnoes
evidenteenladireccinens,sinoqueestindicadaporotroparmetrollamadolamscaradered.
Unamscaraesunaseriedebitsenuno,seguidosporbitsencerohastacompletar32bits.Cuandouna
mscaraestasociadaaunadireccinIPv4,losunosdelamismaindicanloslugaresusadosenlaparte
dered,mientrasqueloscerosmarcanlapartedehost.Escomnescribirunamscaradeformasimilar
aunadireccinIPv4,aunquetambinseacostumbraabreviarlaescribiendoelnmerodebitsenuno
queestaposee.
LarazndeestadivisinesquenoesfactibleconectardirectamenteatodosloshostsdeInternetpor
mediodelniveldeenlace,yalmismotiemponoesposibleasignarunaentradaencadatabladeruteoa
cadahostposible.Paraevitaresto,sedefinelaideadered:ungrupodenodosconectados
directamenteconunprotocolodeniveldeenlace.Laideaesagruparaloshostsqueseencuentrenenla
mismaredyasignarlesunbloquededirecciones.Unavezhechoesto,esposiblerealizarelruteohacia
distintasredes,ahorrandoelcostodehacerunruteoindividualacadahost.
Pormediodelamscarasepuedenobtenerdosvaloresimportantes:ladireccinderedyladireccin
debroadcast.Ladireccinderedesladireccincuyapartedehostcontienetodoscerosysirvepara
hacerreferenciaalaredcomoentidad.Ladireccindebroadcastesladireccinconlapartedehost
llenadeunos,ysirveparaenviarunmensajeatodoslosnodosdelared.Estasdosdireccionesestn
reservadasynopuedenserasignadosaningnhostorouter.Estosparmetrosusualmentese
encuentranenlaconfiguracinbsicadeunhost.
Lamscaraausardependedeltamaodelared.Cuantosmsunostenga,maspequeaeslared.
Obviamenteenlareddebehabersuficientelugarparalosnodosquelaintegran,perousarunamscara
demasiadopequeacausaquesedesperdiciendirecciones(yaquenohayhostsenesaredquepuedan
usarlas,loquesignificaquebajocircunstanciasnormalesnoseterminanusando).Encontraposicin,
cuantomsgrandeesunamscara,menosdireccioneshayentotal,ymssedesperdiciaelespacioen
direccionesderedybroadcast(hastallegara/30,quedesperdicia50%delasdirecciones).
Direccin

Mscara
(explcita)

Mscara
(resumida)

Cantidadde Direccindered
direcciones
disponibles

157.92.27.2

255.255.0.0

/16

65533

157.92.0.0

157.92.255.255

200.80.40.197

255.255.255.240

/28

14

200.80.40.192

200.80.40.207

5.2.7.1

255.255.255.252

/30

5.2.7.0

5.2.7.3

201.213.16.47

255.255.255.0

/24

253

201.213.16.0

201.213.16.255

64.41.98.153

255.255.255.128

/25

126

64.41.98.128

64.41.98.255

Table1:Distintasdireccionesconmscarasysusdireccionesderedybroadcast.

Direccinde
broadcast

Ruteobsico
Elforwardingdepaquetesessimilaralovistoenteora:cadadatagramaseprocesa
independiendetementedelresto,yselocomparaconlasentradasdelatabladeruteo.Laprincipal
diferenciaesquelacomparacinnoserealizacondestinosfinales,sinocondistintasredes,que
englobandestinos.Paraello,cadaentradadebetenerunadireccinderedyunamscara,usadaspara
buscar,yunsiguientesalto,ounaindicacindequeeldestinoeslocal.Comoesposiblequehayan
variasentradasquecoincidanconladireccindedestino,seseguiralarutamsprecisa(laquetiene
unamscaramsgrande).
Destino

Interfaz

Siguientesalto

157.92.0.0/16

eth0

200.80.40.193

192.168.30.0/23

ser1

192.168.0.5

157.92.75.5/32

ser1

192.168.0.5

192.168.0.4/30

ser1

Directo

200.80.40.192/28

eth0

Directo

0/0

eth0

200.80.40.193

Table2:Ejemplodeunatabladeruteo,elhostestconectadodirectamenteadosredes,usandolasinterfaceseth0yser1.
Esimportantenotarlarutadefaultylaprecedenciaquetomalatercerareglasobrelaprimerasiambasseaplican.

Porcadapaquetequedebeserforwardeado,serealizaelsiguientealgoritmo:

Porcadaentradadelatabla

Aplicar(AND)lamscaradelaentradaaladireccindestino.

Compararelresultadodelpasoanteriorconladireccindereddelaentrada.

Sihaycoincidencia,guardarlocomoposibleruta.

Sihayrutasposiblesausar,buscarlademscaramsgrandeytomarlaaccincorrespondiente.

Sinohay,descartarelpaqueteporquenoesundestinoalcanzable.

Unarutamuyespecialeslarutadefaultodefaultgateway,queesunarutacuyamscaraes/0.Esta
rutasetomacuandonohaycoincidenciaconningunaotraentradaenlatabladeruteo,yaqueesla
menosprecisadetodas.
Paradeterminarsiunpaqueteestdestinadoaunaredlocal,sepuedeusarelprocedimientoindicado
arriba,usandolamscaraydireccinIPv4delhostparaobtenerladireccinderedlocal,repitiendoel
procedimientousadoconlasentradasdelatabladeruteo.Normalmentenoesnecesariohaceresta
verificacin,yaquelatabladeruteocontieneentradasparadestinoslocales.

Comomanejarespaciosdedirecciones
Sitodaslascomputadorasdeunaredestuvieranconectadasdirectamenteporelniveldeenlace,seran
vlidascomodireccionesdehostcualquiercombinacindeoctetos,excepto0.0.0.0y255.255.255.255.
PuestoqueInternetestadivididaensubredes,esnecesariofraccionaresteespaciodeacuerdoconlas

necesidadesparticularesdesususuarios.Sinembargo,puestoqueparadefinirunaredseempleauna
mscara,noesposiblehacerunaparticinarbitrariadelespaciodedirecciones.Dadaunaparticin
vlida,launicaformadevolverapartirespartireseespacioalamitad(almoverlamscaraunbita
derechayreescribireseespaciocomodosredesdistintas).Todaparticinquesepuedahacerdeunared
endistintassubredesdeberapoderexpresarsecomounaseriedeparticionesendos.Alaplicar
cualquierparticin,esimportanteprestaratencinalasdireccionesdereddelasredesresultantes.
Estasdeben(unavezmovidalamscara)tenersupartedehostllenadeceros.Unbuenmtodoconsiste
enmoverlamscarayluegoincrementaren1(binario)lapartederedmientraselresultadose
encuentreenlaredoriginal.Sinimportarelmtodousado,siunotomaunadireccinderedyla
incrementaenn(dondeneslacantidaddedireccionesdeesasubred),elresultadodeberaserla
direccindeotrared(perononecesariamentedentrodelrangoasignado,siunoaplicaestoalaltima
subreddelaparticin).
Elprocedimientoaplicadoparadividirunaredendospartes(llamadosubnetting)puedeaplicarseen
reversaparaobtenerunaredmsgrande.Paraqueesteprocedimiento(supernetting)funcione,deben
usarsedossubredesvacastalesquealcorrerlamscaraunbitaizquierdasevealamismadireccinde
redenambas.Siestosucede,esporque(almenosconceptualmente)estasdossubredesfueroncreadas
porlasubdivisindelaredmsgrandeanteriormente.
Resumiendo:

Unonodebesalirsedeloslimitesdelespacioasignado.

Esposiblepartirunespacioendos,moviendolamscaraunlugaraladerecha,teniendodos
redes,unaconlamismabasequelaoriginalyotraquecomienzaenlamitaddelespacio
partido.

Esposiblemoverlamscaravarioslugaresaladerecha:enesecaso,lacantidadderedes
obtenidasesunapotenciadedos,ytodasestanespaciadasregularmentealolargodelespacio
original.Esequivalentearealizarsucesivasparticionesendos.

Esposiblevolverajuntardosredesenunamsgrande,siemprequeambaspertenezcanaunpar
quefuepartidoanteriormente(ambasdebenindicarlamismadireccinderedsisemuevensus
mscarasaizquierdaunlugar),ysiambasestanlibres(siestasfueronpartidas,elalgoritmo
debeaplicarserecursivamente,sihayalgunasubredocupada,laredNOestalibre).

Lamscaramasgrandedered,bajocircunstanciasnormales,es/30.

Esrecomendableasignarprimerolasredesgrandesparaevitarfragmentarelespaciode
direcciones.

También podría gustarte