Análise do Nivel de Transporte Planificación e Administración de Redes1 O servizo de transporteO servizo de transporte pre...
Análise do Nivel de Transporte Planificación e Administración de Redes1.2 Control da conexión.O proceso de creación de con...
Análise do Nivel de Transporte Planificación e Administración de Redes1.3 Control de fluxo.Outro dos aspectos importantes ...
Análise do Nivel de Transporte Planificación e Administración de Redes2 UDP (User Data Protocol)UDP é un dos dous protocol...
Análise do Nivel de Transporte Planificación e Administración de Redes3 TCP (Transmission Control Protocol)O outro protoco...
Análise do Nivel de Transporte Planificación e Administración de RedesO protocolo empregado para o control de fluxo é o de...
Análise do Nivel de Transporte Planificación e Administración de Redes• Número de confirmación de recepción: Indica o segu...
Análise do Nivel de Transporte Planificación e Administración de Redes3.3 Establecemento e liberación da conexiónEn TCP as...
Análise do Nivel de Transporte Planificación e Administración de Redes3.4 Control de conxestión.Outra das tarefas do proto...
Análise do Nivel de Transporte Planificación e Administración de RedesO funcionamento da ventá de conxestión será tal que ...
Análise do Nivel de Transporte Planificación e Administración de RedesComo vemos o tamaño da ventá vaise adaptando á situa...
Análise do Nivel de Transporte Planificación e Administración de Redes4 NAT estático.O NAT estático (tamén coñecido como P...
Análise do Nivel de Transporte Planificación e Administración de RedesTáboa de contidos1 O servizo de transporte.............
Upcoming SlideShare
Loading in …5
×

Analise do nivel de transporte

111 views
70 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
111
On SlideShare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Analise do nivel de transporte

  1. 1. Análise do Nivel de Transporte Planificación e Administración de Redes1 O servizo de transporteO servizo de transporte pretende ofrecer un servizo de envío de información eficiente, deconfianza e económico aos procesos da capa de aplicación, empregando para ese obxectivo osservizos proporcionados pola capa de rede. A gran diferencia cos niveis inferiores é que neste caso onivel de transporte execútase extremo a extremo, é dicir, entre a máquina que orixina acomunicación e a que recibe os datos. Ao igual que nos niveis de enlace e rede, é posible empregarprotocolos orientados ou non á conexión, e o protocolo debe ser capaz de ofrecer este servizoindependentemente de que o servizo de rede sexa orientado ou non a conexión. De feito o obxectivofinal é que o servizo de transporte ofreza maior confianza que o servizo de rede subxacente,detectando e compensando a perda de paquetes ocultando os erros introducidos polo nivel de rede.A unidade de datos de transporte denomínase TPDU (Transport Protocol Data Unit), e consta aoigual que no caso das unidades de datos de capas inferiores dunha carga útil procedente do nivel deaplicación e un encabezado do nivel de transporte.1.1 Direccionamento.Como calquera dos niveis, o de transporte tamén require o uso de algún tipo de direccionamento.Aínda que a máquina queda identificada a nivel de rede e de enlace, é posible (ou mellor ditofrecuente) que existan varias aplicacións e procesos que empreguen a mesma dirección de rede,polo que será necesario identificar cal deses procesos é o referido por cada TPDU. Hai casos nosque esas direccións empregadas por certos procesos son estables e moi coñecidas, polo quesimplemente cando un equipo quere conectarse a un servizo concreto dunha máquina (por exemplo,o servizo de páxinas web) a dirección dese servizo na máquina é un estándar coñecido. En outrasconfiguración emprégase un servizo de directorio para recoñecer a dirección de transporte á quedebe conectarse un cliente.1
  2. 2. Análise do Nivel de Transporte Planificación e Administración de Redes1.2 Control da conexión.O proceso de creación de conexións implica realizar un control exhaustivo do proceso decomunicación, evitando a posibilidade de que cheguen paquetes atrasados, establecendo números desecuencia de transporte o suficientemente grandes como para evitar este tipo de problemas. Oprocedemento para establecer a conexión é normalmente a través do acordo a tres vías, consistenteen que un equipo pida a conexión, reciba a confirmación de que se quere iniciar a conexión, e queesta se estableza finalmente cando o receptor recibe os primeiros datos acompañados dunhaconfirmación de que a conexión está aberta. Deste xeito, cando se establece a conexión tanto oemisor como o receptor recibiron e enviaron confirmacións de recepción, e con un sistema denumeración das TPDU axeitado o sistema é o suficientemente robusto como para asegurar que oestablecemento da conexión é estable.Máis problemático é o proceso de liberación da conexión, onde é imposible ter un sistematotalmente fiable de liberación da mesma. O problema queda exemplificado polo problema dos dousexércitos:Os azuis queren atacar aos brancos, pero o único xeito de poñerse de acordo para atacar ao mesmotempo é comunicarse a través do val no que están os brancos, co perigo de que o mensaxeiro sexacapturado. Podemos ver que non hai ningún xeito de que ambos exércitos saiban que están deacordo para o ataque, porque sempre está a posibilidade de que se perda o último mensaxe. Amesma situación darase cando intentemos conectar dous equipos a través dunha rede, de xeito queademais do acordo a tres vías ao final haberá que confiar nun temporizador para liberardefinitivamente a conexión.2
  3. 3. Análise do Nivel de Transporte Planificación e Administración de Redes1.3 Control de fluxo.Outro dos aspectos importantes dun protocolo de transporte é o control de fluxo e oalmacenamento en buffers dea información. O problema é similar ao da capa de enlace, coadiferencia de que neste caso a cantidade de conexións dun equipo e moito maior que a cantidade deliñas dun enrutador, o que fai que as estratexias cambien, aínda que o uso de protocolos de ventácorrediza seguen sendo os mías empregados. En xeral o emisor almacena nun buffer todas asTPDUs enviadas ata que recibe unha confirmación da recepción. Do mesmo xeito, o receptoralmacena en buffers os paquetes recibidos antes de entregalos á capa de aplicación, tendo en contaademais que dado que a capa de rede pode non ser (e de feito moitas veces non é) orientada aconexión é posible que as TPDUs cheguen desordenadas ao destino, tendo que encargarse o nivelde transporte do receptor de entregalas secuencialmente á capa superior.1.4 Multiplexión.Cando se establecen varias comunicacións entre un equipoe o exterior, é necesario que os distintos procesos do Hostteñan asignado un identificador que os diferencie do resto deprocesos de transporte que empregan unha mesma tarxeta derede. O mecanismo polo que cando chega unha TPDU oprotocolo de transporte asigna a mesma a un proceso deaplicación empregando a dirección de transportedenomínase multiplexión cara arriba, e permite que variasaplicacións distintas poidan empregar a mesma dirección derede ao mesmo tempo sen que haxa problemas deidentificación das TPDUs.Outra situación é a da multiplexión cara abaixo, quepermite que unha conexión de transporte empregue variasdireccións de rede co obxectivo de obter un maior ancho debanda. Este tipo de multiplexión é menos habitual, aíndaque no seu momento era fundamental para o boaproveitamento das liñas RDSI. Non esquezamos queambas multiplexións poden ser empregadas ao mesmotempo, con varias aplicacións que empregan unha ou variasdireccións de rede para enviar os seus datos de xeitosimultáneo.3
  4. 4. Análise do Nivel de Transporte Planificación e Administración de Redes2 UDP (User Data Protocol)UDP é un dos dous protocolos principais da capa de transporte en Internet. É un protocolo nonorientado a conexión e polo tanto moi sinxelo, xa que unicamente inclúe un encabezado corto aospaquetes IP que permite identificar a aplicación á que se refiren, o cal fai posible a multiplexión devarias comunicacións (que non conexións) de transporte de xeito paralelo.UDP transmite segmentos con un encabezado de 8 bytes seguido pola carga útil que chega donivel de aplicación. Os campos do encabezado son o porto de orixe e porto de destino, ambos de16 bits e que se coñecen normalmente polo número decimal correspondente, entre 0 e 65535, dosque os 1024 primeiros serán os Well-Known-Ports, que explicaremos no apartado de TCP. O campolonxitude UDP indica a lonxitude de cabeceira máis datos, e a suma de verificación é opcional epermite recoñecer erros.É un protocolo non orientado a conexión que non realiza control de fluxo, control deretransmisión de erros, de paquetes duplicados o de ningún outro tipo, deixando estes controis enmans dos protocolos de aplicación correspondentes, proporcionando unicamente unha interface aoprotocolo IP que permite a multiplexión de varios procesos a través dos portos. A súa utilidade éfundamentalmente nas aplicacións cliente-servidor, onde un cliente envía unha solicitude curta aoservidor, esperando unha contestación tamén curta. Se unha petición ou unha resposta se perden, onivel de aplicación pode simplemente probar a pedila novamente. O sinxelo do protocoloconvertese nunha vantaxe para estes casos, dado que o custe de crear a conexión sería en moitoscasos superior mesmo ao custe de volver a enviar os datos. Aplicacións de amplio uso en Internetcomo DNS ou DHCP empregan UDP para o envío de paquetes, nos portos 53 (DNS) e 67-68(DHCP).4
  5. 5. Análise do Nivel de Transporte Planificación e Administración de Redes3 TCP (Transmission Control Protocol)O outro protocolo de transporte de Internet é o TCP. Neste caso falamos dun protocolo orientadoa conexión, e polo tanto moito máis complexo tanto no que se refire á súa cabeceira como sobretodo no que se refire ao seu funcionamento. A versatilidade deste protocolo, capaz de adaptarse dexeito dinámico ás propiedades da rede e ofrecer un servizo de calidade en condicións de traballomoi distintas como pode ser unha rede local de alta capacidade ou un acceso a Internet de poucosKilobits por segundo é unha das claves do éxito do TCP/IP como base da Internet.3.1 Modelo de servizo TCPO servizo TCP emprega puntos terminais tanto no servidor como no cliente denominados sockets,identificados por unha dirección que consiste na dirección IP do Host e un número de 16 bitschamado porto, exactamente igual que o porto de UDP. As conexións identificaranse mediante ossockets de orixe e destino, é dicir, que cada socket pode empregarse para múltiples conexións comesmo ou con distintos equipos, pero nunca pode haber dúas conexións que empreguen os mesmossockets tanto na orixe como no destino. Os números de porto irán do 0 ao 65535, e ao igual que noUDP os 1024 primeiros son os Well-Known-Ports (portos ben coñecidos), que se reservan paraservizos estándar que sempre ou case sempre estarán neses portos. As dirección deses portospublícanse por parte do IANA, e non é unha boa práctica facer que outras aplicación empregueneses portos reservados.Todas as conexións TCP son dúplex e punto a punto, non soportando multidifusión nin difusión.O fluxo de información é en forma de bytes, non de mensaxes, de xeito que o que se debe aseguraré o fluxo completo de datos sen que sexa necesario (nin posible) coñecer os fragmentos polos queforon enviados. Normalmente os datos recíbense nun buffer de recepción e agardase pola chegadadun grupo de bytes antes de entregalo á capa de aplicación, permitíndose a entrega de datosurxentes en caso necesario.3.2 O protocolo TCP. CabeceiraEn TCP emisor e receptor intercambian segmentos que consisten nun encabezado TCP fixo de 20bytes, ao que se lle pode engadir unha parte opcional seguido dos bytes de datos. O protocolo TCPpermite establecer o tamaño dos segmentos con un límite dos 65515 bytes do protocolo IP, tendo enconta ademais que cada rede ten unha unidade máxima de transferencia (MTU) na que debe cabercada segmento. Os dous equipos deben indicar cal é o valor da MTU e polo tanto o máximo tamañodos segmentos, que na maior parte das ocasións terá un valor arredor dos 1500 bytes, o tamaño dacarga útil en Ethernet.5
  6. 6. Análise do Nivel de Transporte Planificación e Administración de RedesO protocolo empregado para o control de fluxo é o de ventá corrediza, de xeito que cando untransmisor envía un segmento inicia un temporizador. Cando o segmento chega ao destino oreceptor devolve un segmento con datos ou sen eles que contén un número de confirmación derecepción igual ao seguinte número de secuencia do seguinte byte que espera recibir. Se otemporizador expira antes de que chegue a confirmación enviarase novamente o segmento, debendoser o receptor capaz de identificar se os datos foron ou non recibidos con anterioridade.A cabeceira TCP consta dos seguintes campos:• Porto de orixe: 16 bits que identifican o porto TCP de orixe da mensaxe, que xunto coadirección IP identificada na cabeceira IP permite coñecer o socket de transmisión.• Porto de destino: 16 bits que identifican o porto TCP de destino da mensaxe, que xuntocoa dirección IP de destino identificada na cabeceira IP permite coñecer o socket derecepción, e polo tanto entregar a mensaxe no destino.• Número de secuencia: O campo número de secuencia identifica a orde do primeiro bytede datos do segmento no total dos bytes que se envían nesa comunicación. Así, se nunhacomunicación hai que enviar 5000 bytes en segmentos de 1300 bytes de datos, os númerosde secuencia serían 0, 1300, 2600 e 3900.6
  7. 7. Análise do Nivel de Transporte Planificación e Administración de Redes• Número de confirmación de recepción: Indica o seguinte byte que espera recibir, é dicir,o número de secuencia que espera que teña o seguinte segmento. Non esquezamos que sepoden recibir segmentos desordenados.• Lonxitude do encabezado TCP: Indica a cantidade de bytes do encabezado en múltiplosde 4, de xeito que o mínimo é 5 cando non hai opcións.• URG: Indica se hai datos urxentes. Se o valor é 1 haberá datos urxentes que terán queentregarse de xeito inmediato, aínda que non chegase toda a información.• ACK: Se vale 1 indica que o número de confirmación de recepción é válido, e se é 0significa que non se está confirmando a recepción de ningún dato.• PSH: Indica que os datos deben entregarse inmediatamente en vez de esperar por novossegmentos antes de comunicalos ao nivel de aplicación, algo que se fai habitualmente pormotivos de eficiencia.• RST: Serve para restablecer unha conexión que se perdeu por algunha razón. Se apareceun 1 significa que houbo un problema na conexión.• SYN: Emprégase para establecer conexións. Cando vale 1 e o ACK é 0 trátase de unhasolicitude de conexión, se vale 1 e o ACK vale 1 é unha confirmación de conexión.• FIN: Serve para sinalizar a finalización da conexión.• Tamaño da ventá: Indica o tamaño da ventá corrediza de tamaño variable empregada poloprotocolo TCP. O valor deste campo indica a cantidade de bytes que se lle poden enviar apartir do byte do que se confirma a recepción no mesmo segmento• Suma de verificación: Permite verificar encabezado e datos do segmento.• Apuntador urxente: Cando hai datos urxentes permite identificar a partir de que byte dosdatos se atopan, xa que é posible que os datos urxentes non se correspondan con todo osegmento enviado (en tal caso o normal sería empregar o PSH)• Opcións: Permite engadir características extra non cubertas polo encabezado normal,como especificar a carga útil máxima, permitir campos de tamaño de ventá de máis de 16bits mediante un multiplicador, repetición selectiva de segmentos mediante NACK,controis de tempo....7
  8. 8. Análise do Nivel de Transporte Planificación e Administración de Redes3.3 Establecemento e liberación da conexiónEn TCP as conexións establécense empregando o acordo a tres vías comentado anteriormente.Para establecer unha conexión necesitamos un lado servidor que espera pasivamente que se inicieunha conexión, nun estado denominado normalmente LISTEN. No outro lado o cliente comeza aconexión co envío dun segmento TCP no que o destino é a IP e o porto TCP do servizo ao que sequere conectar, no que o bit SYN ten o valor 1 e o bit ACK ten o valor 0.Cando o servidor recibe un intento de conexión e as normas internas de ese servidor indican quese vai aceptar a conexión, a resposta é un segmento no que o bit SYN ten o valor 1 e o bit ACK tentamén o valor 1, confirmando a recepción do byte 0 enviando un valor superior en 1 ao número desecuencia do segmento inicial. Isto é unha confirmación de ter recibido a petición de conexión, e ossegmentos SYN, que non conteñen ningún dato, se consideran de tamaño 1. Cando o cliente recibeesta confirmación considera aberta a conexión pola súa parte, e envía unha confirmación derecepción deste segmento ao servidor, sen enviar datos. Cando esta mensaxe é recibida poloservidor ambos equipos terán aberta a mesma e poderán intercambiar datos.Ante calquera perda de segmento o sistema é capaz de recuperarse da mesma, xa que todos ossegmentos están numerados e se repetirán en caso de perda. Tamén é capaz de xestionar problemascomo a colisión de chamadas cando nos atopamos con dous sockets que poden actuarindistintamente como servidor ou como cliente, e empregando un número de secuencia baseado enreloxo poderase evitar o problema de que unha confirmación perdida nunha conexión anterior seconfunda coa actual.A liberación da conexión en TCP efectúase de xeito diferenciado para os dous sentidos dacomunicación. Cando un equipo quere rematar a conexión porque non ten máis datos que enviar,envía un segmento co bit FIN a 1, de xeito que o equipo remoto entende que non se van enviar máisdatos nese sentido, enviando un ACK do último segmento. Sen embargo, a conexión está aberta nooutro sentido da comunicación, debendo esperar o primeiro equipo a recibir un segmento con bitFIN a 1 para realizar o peche definitivo da mesma. Para evitar que a perda de segmentos deixe aconexión en estado inestable empregaremos temporizadores que darán por rematada unha conexióncando non se reciban confirmacións.Con todo o estudado ata agora, podemos compoñer o esquema de estados dunha conexión TCP naque non se produzan erros, seguindo a imaxe seguinte. As liñas grosas amosan o funcionamentohabitual, no caso do servidor con liñas de puntos. As liñas delgadas amosan as situacións menoshabituais. Xunto as liñas se amosan separados por unha barra os eventos que provocan un cambiode estado (en negriña cando son eventos que chegan da capa de aplicación) e as mensaxes enviadascando se produce dito evento.8
  9. 9. Análise do Nivel de Transporte Planificación e Administración de Redes3.4 Control de conxestión.Outra das tarefas do protocolo é a de evitar que se produza conxestión, é dicir, que o envío dedatos non sature ao receptor ou a rede. En canto ao que se refire ao receptor, xa vimos na cabeceiraTCP como cada segmento actualiza a ventá de de transmisión, de xeito que un equipo sabe en cadamomento cantos bytes está disposto a recibir o receptor.Sen embargo, o problema pode responder a que a rede non sexa capaz de xestionar os datosenviados. Neste caso o protocolo non é capaz de negociar entre os extremos cal é a ventá máisaxeitada, pero debería ser capaz de atopala. O mecanismo usado é a ventá de conxestión, cantidadede bytes máxima que se considera capaz de xestionar a rede sen ter en conta ao receptor.9
  10. 10. Análise do Nivel de Transporte Planificación e Administración de RedesO funcionamento da ventá de conxestión será tal que se combinará coa ventá de transmisión paraque o emisor transmita sen esperar ás confirmacións o valor máis baixo das súas ventás. Destexeito, se considera que a rede ten alta capacidade pero o receptor soamente é capaz de recibir unhacantidade de datos, non se superará esa cantidade. Se polo contrario o receptor pode recibir unhacantidade maior da que consideramos capaz de xestionar por parte da rede de transmisión, usarase ovalor da ventá de conxestión para limitar os datos enviados.O xeito de atopar cal é a ventá de conxestión é distinto ao da de transmisión, porque como xadicíamos non é un valor negociado senón un valor que debe atopar o protocolo de xeito indirecto.Unha primeira aproximación é que non se producen perdas de paquetes por ruído, e que polo tantotodas as perdas que se produzan sexan por conxestión na rede. Esta é unha aproximación bastanteválida para redes de cable, pero non tanto para redes sen fíos, o que obrigará a tomar medidas paraque nestas redes o comportamento de TCP sexa o axeitado. En condicións normais TCP asumepolo tanto que se se produce unha perda de segmento a perda ten que ver coa conxestión, xa que oreceptor está dispoñible xa que non se superou a ventá de recepción que el mesmo envía e a perdade paquetes por ruído considerase intranscendente.O cálculo da ventá de conxestión realízase mediante o sistema coñecido por algoritmo dearranque lento. Consiste en que a ventá inicialmente toma o valor do tamaño máximo do segmento,e segundo van chegando as confirmacións de recepción duplícase o seu valor. No momento en quese produza unha expiración do temporizador considerarase que houbo unha perda por conxestión eque a ventá óptima é a atopada no paso anterior.Para conseguir que o sistema se vaia adaptando aos cambios será necesario ter un sistema queactualice está ventá de conxestión co paso do tempo. O sistema empregado é o uso dun novoparámetro, o umbral. Cando se produce unha expiración do temporizador o umbral fíxase nametade do tamaño da ventá de conxestión, e esta pasa a ser o tamaño de segmento máximo. A partirde aí emprégase o algoritmo de arranque lento para buscar o novo tamaño da ventá de conxestiónata acadar o valor do umbral.Unha vez que o tamaño da ventá chega a este valor, o tamaño da ventá de conxestión vaiseincrementando linealmente, empregando cada vez un tamaño que supera ao anterior nun segmentomáximo. Na figura seguinte vemos o tamaño da ventá de conxestión cando se perden douspaquetes, o primeiro deles con ventá de conxestión fixada en 64 KB e con un tamaño máximo desegmento de 1 KB.10
  11. 11. Análise do Nivel de Transporte Planificación e Administración de RedesComo vemos o tamaño da ventá vaise adaptando á situación, producíndose unha lóxicadesaceleración dos envíos cando se perde un paquete. Isto ten a vantaxe de que, ademais de preparara nova busca do tamaño da ventá, reduce o tráfico no momento en que se produce a conxestión,favorecendo a recuperación do sistema.11
  12. 12. Análise do Nivel de Transporte Planificación e Administración de Redes4 NAT estático.O NAT estático (tamén coñecido como PAT, Port Address Translation) consiste na tradución dedireccións IP e porto TCP/UDP dun equipo interno, de xeito que un par IP+porto da porta deenlace da rede está asignada para enviar paquetes ao equipo interno. A interese desta configuracióné que, mentres que no NAT dinámico era necesario que un equipo da rede interna iniciase unhacomunicación co exterior para que se producise, neste caso podemos ter un servizo na rede internaque sexa accesible desde o exterior mediante a dirección mencionada da porta de enlace.Este sistema sen embargo ten as súas limitacións. Por exemplo, se queremos ter máis dun servidorweb no porto TCP 80 necesitaremos que a nosa porta de enlace dispoña de máis de unha direcciónIP, xa que en caso contrario non poderíamos asignar a dous equipos distinto a mesma combinaciónde porto e IP. Ademais neste caso o sistema non é transparente, é dicir, o administrador debe dar dealta a asignación na porta de enlace para que esta sexa efectiva.12
  13. 13. Análise do Nivel de Transporte Planificación e Administración de RedesTáboa de contidos1 O servizo de transporte.....................................................................................................................11.1 Direccionamento.......................................................................................................................11.2 Control da conexión..................................................................................................................21.3 Control de fluxo........................................................................................................................31.4 Multiplexión..............................................................................................................................32 UDP (User Data Protocol)................................................................................................................43 TCP (Transmission Control Protocol)..............................................................................................53.1 Modelo de servizo TCP............................................................................................................53.2 O protocolo TCP. Cabeceira.....................................................................................................53.3 Establecemento e liberación da conexión.................................................................................83.4 Control de conxestión...............................................................................................................94 NAT estático...................................................................................................................................1213

×