Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ipv 4
Ipv 4
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.