Você está na página 1de 728

Redes de Computadoras, 2007/08

Redes de Computadoras
Vicente Gonzlez Ruiz a Depto de Arquitectura de Computadores y Electrnica o vruiz@ual.es http://www.ace.ual.es/~vruiz/docencia 27 de mayo de 2009

Contenidos
I
Redes de Computadoras, 2007/08

Introduccin a las redes de computadoras o


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1
2 3 4 5 6 7 9 10 11 12 13 15 17

1. Qu es Internet? e 1.1. Qu es Internet? . . . . . . . . . . . . . . . . e 1.2. Qu es una internet? . . . . . . . . . . . . . . e 1.3. Que es un host? . . . . . . . . . . . . . . . . 1.4. Qu es un router? . . . . . . . . . . . . . . . e 1.5. Cul es la morfolog de Internet? . . . . . . . a a 1.6. Qu es un ISP? . . . . . . . . . . . . . . . . . e 1.7. Qu servicios proporciona la red? . . . . . . . e 1.8. Cmo usan los servicios las aplicaciones? . . . o 1.9. Qu es un protocolo de red? . . . . . . . . . . e 1.10. Qu son los clientes y los servidores? . . . . . e 1.11. Qu es un servicio orientado a conexin? . . . e o 1.12. Qu es un servicio no conable y sin conexin? e o

Redes de Computadoras, 2007/08

2. Tcnicas de transmisin de datos e o 2.1. Conmutacin de circuitos . . . . . . . . . . . . . . . . . o 2.2. Conmutacin de paquetes . . . . . . . . . . . . . . . . . o 2.3. Multiplexacin en redes de conmutacin de circuitos . . o o 2.4. Multiplexacin en redes de conmutacin de paquetes . . o o 2.5. Por qu Internet utiliza conmutacin de paquetes? . . . e o 2.6. Qu inconvenientes genera la conmutacin de paquetes? e o 2.7. Almacenamiento y reenv . . . . . . . . . . . . . . . . o 2.8. Segmentacin de los mensajes . . . . . . . . . . . . . . o 3. Tcnolog de trasmisin de datos e as o 3.1. Telfono de voz . . . . . . . . . . . . . . e 3.2. ADSL (Asymetric Digital Subscriber Line) 3.3. Cable coaxial de TV . . . . . . . . . . . . 3.4. Ethernet conmutada . . . . . . . . . . . . 3.5. Wireless LAN o Wi-Fi . . . . . . . . . . . 3.6. Telefon mvil digital celular . . . . . . . a o 3.7. Telefon mvil digital por satlite . . . . a o e 3.8. ATM (Asynchronous Transfer Mode) . . .

. . . . . . . .

. . . . . . . .

18 19 20 21 23 25 26 27 28 31 32 34 36 38 40 42 43 44

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

Redes de Computadoras, 2007/08

4. Retardos y prdidas en redes de conmutacin de paquetes e o 4.1. Funcionamiento bsico de un router . . . . . . . . . . . . a 4.2. Tiempo de procesamiento (tproc ) . . . . . . . . . . . . . . 4.3. Tiempo de cola (tcola ) . . . . . . . . . . . . . . . . . . . . 4.4. Tiempo de transmisin (ttran ) . . . . . . . . . . . . . . . . o 4.5. Tiempo de propagacin (tprop ) . . . . . . . . . . . . . . . o 4.6. Tiempo de retardo nodal (tnodal ) . . . . . . . . . . . . . . 4.7. Prdida de paquetes a causa de la congestin . . . . . . . e o 4.8. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. Arquitectura del TCP/IP 5.1. El modelo de capas . . . 5.2. Funciones de las capas en 5.3. Las capas de Internet . . 5.4. Capas y protocolos . . . 5.5. Capas y nodos . . . . . . 5.6. Ejemplos . . . . . . . . .

. . . . . . . .

46 48 50 52 54 55 57 58 60 70 71 72 73 74 75 77

. . . . . . . . . . el modelo de red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

II

La capa de aplicacin o
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

81
82 83 84 87 88 89 90 92 95 98 99 100 101 103 104 105 106

6. La Web 6.1. Qu es la Web? . . . . . . . . . . . . e 6.2. La comunicacin Web . . . . . . . . . o 6.3. Las conexiones Web . . . . . . . . . . 6.3.1. Conexiones no persistentes . . 6.3.2. Conexiones persistentes . . . . 6.4. Los mensajes HTTP . . . . . . . . . . 6.4.1. Un mensaje de peticin . . . . o 6.4.2. Un mensaje de respuesta . . . 6.5. Paso de parmetros en las URLs . . . a 6.6. Identicacin de usuarios . . . . . . . o 6.6.1. Autorizacin login/password o 6.6.2. Cookies . . . . . . . . . . . . 6.7. El GET condicional . . . . . . . . . . 6.7.1. GET (normal) . . . . . . . . . 6.7.2. GET condicional . . . . . . . . 6.8. Las cachs Web (proxies Web) . . . . e

Redes de Computadoras, 2007/08

Redes de Computadoras, 2007/08

6.9. Arquitecturas Web . . . . . . . . . . 6.9.1. La conguracin ms sencilla o a 6.9.2. Sistemas proxy de 1 nivel . . 6.9.3. Sistemas proxy multinivel . . 6.9.4. Sistemas proxy distribuidos .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

108 108 109 110 112 114 115 116 117 118 119 121 122 124 126 132 133 136

7. El correo electrnico o 7.1. El correo electrnico . . . . . . . . . . . . . . . . . . . . o 7.2. Conguraciones . . . . . . . . . . . . . . . . . . . . . . 7.2.1. Correo local usando SMTP . . . . . . . . . . . . 7.2.2. Correo local usando lectores y escritores de correo 7.2.3. Correo remoto usando servidores locales . . . . . 7.2.4. Correo remoto usando un servidor remoto . . . . 7.3. El SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4. Formato de un e-mail . . . . . . . . . . . . . . . . . . . 7.5. Las extensiones MIME . . . . . . . . . . . . . . . . . . . 7.6. Los lectores/escritores de correo . . . . . . . . . . . . . 7.7. Protocolos de acceso a correo (POP3 e IMAP) . . . . . 7.8. Web-Based E-mail . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

Redes de Computadoras, 2007/08

8. El DNS (Domain Name Service) 8.1. Funcin del DNS . . . . . . . . . . . . . . o 8.2. Descripcin del DNS . . . . . . . . . . . . o 8.3. Alias y nombres cannicos . . . . . . . . . . o 8.4. Arquitectura del DNS . . . . . . . . . . . . 8.4.1. Servidores de nombres ra . . . . . z 8.4.2. Servidores de nombres de alto nivel . 8.4.3. Servidores de nombres autorizados . 8.5. Las consultas . . . . . . . . . . . . . . . . 8.6. Caching . . . . . . . . . . . . . . . . . . . 8.7. Los registros DNS . . . . . . . . . . . . . . 8.8. Regional Internet Registries . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

138 139 140 141 145 147 148 149 150 157 158 162 164 165 167 170 172 175

9. Comparticin de Ficheros (File Sharing) o 9.1. El FTP (File Transfer Program) . . . . . . . . . . . . 9.2. Aplicaciones P2P (Peer-to-peer) . . . . . . . . . . . . 9.2.1. Bsqueda usando un directorio centralizado . . u 9.2.2. Bsqueda usando un directorio descentralizado u 9.2.3. Bsqueda mediante inundacin . . . . . . . . . u o

. . . . .

. . . . .

. . . . .

9.3. Acerca de la tasa de descarga 9.4. Network File System . . . . . 9.4.1. Caracter sticas . . . . 9.4.2. El NFSP . . . . . . .
Redes de Computadoras, 2007/08

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

178 180 180 182 186 187 188 189 190 192 192 193 197 198 198 202 204 206

10.Transmisin de audio y v o deo 10.1. Caracter sticas de la transmisin de audio y v o deo 10.2. Ejemplos de aplicaciones . . . . . . . . . . . . . 10.3. Obstculos de la Internet actual . . . . . . . . . a 10.4. Cmo deber evolucionar Internet? . . . . . . . o a 10.5. Problemas y soluciones en la transmisin de audio o 10.5.1. Eliminacin del jitter . . . . . . . . . . . o 10.5.2. Recuperacin de paquetes perdidos . . . . o 10.5.3. Ordenacin de paquetes . . . . . . . . . . o 10.6. Protocolos para la transmisin de audio y v o deo . 10.6.1. Real-Time Protocol (RTP) . . . . . . . . 10.6.2. Real-Time Control Protocol (RTCP) . . . 10.6.3. Real-Time Streaming Protocol (RTSP) . 10.7. ReSerVation Protocol (RSVP) . . . . . . . . . .

. . . . y . . . . . . . .

. . . . . . . . . . . . . . . . v deo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . .

III

La capa de transporte de datos


. . . . . . . . . . . . . . . . . . . .

208
209 210 212 213 215 216 217 218 220 223 226 227 228 229 230

Redes de Computadoras, 2007/08

11.Servicios de la capa de transporte de datos 11.1. Dnde corre la capa de transporte? . . . . . . . . o 11.2. Servicios proporcionados por la capa de transporte . 11.3. El servicio de multiplexacin . . . . . . . . . . . . o 11.4. Sobre los puertos . . . . . . . . . . . . . . . . . . 12.El UDP (User Datagram Protocol) 12.1. El UDP . . . . . . . . . . . . . . . . 12.2. Formato del datagrama UDP . . . . . 12.3. La suma de comprobacin (checksum) o 12.4. Cundo usar el UDP? . . . . . . . . a 12.5. Sobre el control de la congestin . . . o

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

13.Transferencia able de datos 13.1. La transferencia able de datos . . . . . . . . . . . . . . . . 13.2. Deteccin y correccin de errores . . . . . . . . . . . . . . . o o 13.3. Protocolos ARQ . . . . . . . . . . . . . . . . . . . . . . . .

13.4. El protocolo ARQ con parada y espera (stop and wait) 13.4.1. NAK vs slo-ACK . . . . . . . . . . . . . . . . o 13.4.2. Numeracin de los paquetes . . . . . . . . . . o 13.4.3. Conrmacin de los paquetes duplicados . . . . o 13.4.4. Numeracin de los paquetes de conrmacin . o o 13.4.5. El protocolo falla si los paquetes se desordenan 13.4.6. Rendimiento pobre . . . . . . . . . . . . . . . 13.5. ARQ con retroceso a n (go back n) . . . . . . . . . . 13.5.1. Longitud de la secuencia de conteo . . . . . . . 13.5.2. Tratamiento de los errores . . . . . . . . . . . 13.5.3. Conrmacin acumulativa . . . . . . . . . . . . o 13.5.4. Piggybacking [32] . . . . . . . . . . . . . . . . 13.6. ARQ con repeticin selectiva (selective repeat o SR) . o 13.6.1. Longitud de la secuencia de conteo . . . . . . . 13.7. Consideraciones sobre la eciencia . . . . . . . . . . . 13.7.1. Tasa de transmisin versus tasa de errores . . . o 13.7.2. Latencia media versus tasa de errores . . . . . 13.7.3. Tasa de transmisin versus tamao del paquete o n 13.8. Solucin al desorden de los paquetes . . . . . . . . . . o

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

231 232 233 234 235 236 237 239 240 241 243 243 244 246 249 249 250 251 252

Redes de Computadoras, 2007/08

Redes de Computadoras, 2007/08

14.Control del ujo y de la congestin o 14.1. Control de ujo . . . . . . . . . 14.2. Control de la congestin . . . . . o 14.3. Causas y costes de la congestin o 14.4. Dnde se realiza el control de la o

. . . . . . . . . . . . . . . . . . . . . congestin? o

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

253 254 255 256 257 258 259 260 261 261 266 267 270 271 272 275 277 280

15.El TCP (Transmission Control Protocol) 15.1. Servicios proporcionados . . . . . . . . . . 15.2. El contexto de trabajo . . . . . . . . . . . . 15.3. Transmisin de datos . . . . . . . . . . . . o 15.3.1. El segmento TCP . . . . . . . . . . 15.3.2. EL proceso de desmultiplexacin . . o 15.3.3. Establecimiento de la conexin . . . o 15.3.4. El tamao mximo de los segmentos n a 15.3.5. Transmisin de datos urgentes . . . o 15.3.6. Cierre de la conexin . . . . . . . . o 15.3.7. El diagrama de estados . . . . . . . 15.4. Control de ujo y de errores . . . . . . . . . 15.4.1. El tamao de las ventanas . . . . . n

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

Redes de Computadoras, 2007/08

15.4.2. El tamao de los nmeros de secuencia . . n u 15.4.3. Retransmisin rpida . . . . . . . . . . . . o a 15.4.4. El s ndrome de la ventana tonta . . . . . . 15.5. Control de la congestin . . . . . . . . . . . . . . . o 15.5.1. El tamao de los time-outs . . . . . . . . . n 15.5.1.1. El algoritmo original . . . . . . . 15.5.1.2. El Algoritmo de Karn/Partridge . 15.5.1.3. El Algoritmo de Jacobson/Karels . 15.6. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . 16.El mecanismo RPC (Remote Procedure Call) 16.1. Caracter sticas . . . . . . . . . . . . . . . . 16.2. Microprotocolos del mecanismo RPC . . . . 16.2.1. BLAST . . . . . . . . . . . . . . . 16.2.2. CHAN(nel) . . . . . . . . . . . . . 16.2.3. SELECT . . . . . . . . . . . . . . . 16.3. El caso particular de SunRPC . . . . . . . . 16.4. Otras implementaciones . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

281 283 284 286 290 291 292 295 297 303 304 307 309 314 319 320 323

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

IV

La capa de red
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

324
325 326 328 329 333 335 337 342 344 345 348 350 354 355 358

Redes de Computadoras, 2007/08

17.Servicios de la capa de red 17.1. El modelo de servicio . . . . . . . . . . . . . . . 17.2. El IP (Internet Protocol) . . . . . . . . . . . . . 17.2.1. Formato de la cabecera en IPv4 . . . . . 17.2.2. Formato de la cabecera en IPv6 . . . . . 17.2.3. Fragmentacin y ensamblaje . . . . . . . o 17.3. El ICMP (Internet Control Message Protocol) . . 17.4. El DHCP (Dynamic Host Conguration Protocol) 18.Addressing (Direccionamiento) 18.1. Direccionamiento en IPv4 . . . . . . 18.2. Clases de dirs IP . . . . . . . . . . . 18.3. Sub-netting y dirs CIDR en IPv4 . . 18.4. Redes privadas . . . . . . . . . . . . 18.5. NAT (Network Address Translation) 18.6. La transicin de IPv4 a IPv6 . . . . o

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

19.Forwarding (Encaminamiento) 360 19.1. El proceso de encaminamiento . . . . . . . . . . . . . . . . 361 19.1.1. Bsqueda en las tablas de encaminamiento . . . . . 362 u 19.2. Agregacin de direcciones . . . . . . . . . . . . . . . . . . . 372 o
Redes de Computadoras, 2007/08

20.Routing (Rutado) 20.1. Qu es el routing? . . . . . . . . . . . . . . . e 20.2. La red como un grafo . . . . . . . . . . . . . . 20.3. Sobre los costes de los caminos . . . . . . . . . 20.4. Routing jerrquico y sistemas autmomos . . . a o 20.5. El RIP (Routing Information Protocol) . . . . . 20.6. El protocolo OSPF (Open Shortest Path First) 20.7. El BGP (Border Gateway Protocol) . . . . . . . 20.8. Algoritmos de routing . . . . . . . . . . . . . . 20.8.1. Algoritmo de routing Link-State . . . . 20.8.2. Algoritmo de routing Distance-Vector .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

378 379 382 383 384 387 393 396 399 399 405

21.Multicasting (Multidifusin) o 410 21.1. Modelos de transmisin . . . . . . . . . . . . . . . . . . . . 411 o

Redes de Computadoras, 2007/08

21.2. El multicasting a nivel de aplicacin y de red . . . . . . . . . o 21.3. Algoritmos de broadcasting . . . . . . . . . . . . . . . . . . 21.3.1. Flooding . . . . . . . . . . . . . . . . . . . . . . . . 21.3.2. Spanning-tree broadcast . . . . . . . . . . . . . . . . 21.4. Los grupos multicast . . . . . . . . . . . . . . . . . . . . . 21.5. El IGMP (Internet Group Management Protocol) . . . . . . 21.6. Protocolos de routing multicast . . . . . . . . . . . . . . . . 21.6.1. El DVMRP (Distance Vector Multicast Routing Protocol) . . . . . . . . . . . . . . . . . . . . . . . . . 21.6.2. PIM (Protocol Independent Multicast) . . . . . . . . 21.7. Multicasting en las redes locales . . . . . . . . . . . . . . . 21.8. Multicasting en Internet: el MBone (Multicast BackbONE) . 22.Mobility (Movilidad) 22.1. Routing para hosts mviles o 22.2. Nomenclatura . . . . . . . 22.3. Routing indirecto . . . . . 22.4. Routing directo . . . . . .

412 414 414 417 421 424 427 427 428 429 430 433 434 436 438 441

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

La capa de enlace de datos

443
444 445 447 448 451 452 454 456 458 462 463 464 465 466 467

Redes de Computadoras, 2007/08

23.Servicios de la capa de enlace de datos 23.1. El marco de trabajo . . . . . . . . . . . . . . . . . . . . . . 23.2. Nodos, frames y enlaces . . . . . . . . . . . . . . . . . . . . 23.3. Servicios generalmente proporcionados . . . . . . . . . . . . 24.Control de errores 24.1. Fundamentos . . . . . . . . . . 24.2. Paridad . . . . . . . . . . . . . . 24.3. Checksum . . . . . . . . . . . . 24.4. CRC (Cyclic Redundancy Check)

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

25.Protocolos de acceso mltiple u 25.1. Protocolos de particionado del canal . . . . . . 25.2. Las colisiones . . . . . . . . . . . . . . . . . . 25.3. Protocolos de particionado esttico del canal . . a 25.3.1. FDM y TDM . . . . . . . . . . . . . . 25.3.2. CDMA (Code Division Multiple Access)

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

Redes de Computadoras, 2007/08

25.4. Protocolos de acceso aleatorio . . . . . . . . 25.4.1. ALOHA ranurado . . . . . . . . . . . 25.4.2. ALOHA (no ranurado) . . . . . . . . 25.4.3. CSMA (Carrier Sense Multiple Access) 25.4.4. CSMA/CD (Collision Detect) . . . . . 25.5. Protocolos basados en turnos . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

471 472 474 476 478 480 481 482 483 485 488 489 490 492 493 494 495

26.Redes locales y el ARP 26.1. LAN: denicin . . . . . . . . . . . . . . . . . . . . . . . . o 26.2. Direcciones f sicas . . . . . . . . . . . . . . . . . . . . . . . 26.3. El ARP (Address Resolution Protocol) . . . . . . . . . . . . 27.Ethernet 27.1. Historia . . . . . . . . . . . . . . . 27.2. Estructura del frame . . . . . . . . . 27.3. Tamao mximo y m n a nimo de frame 27.4. Servicio . . . . . . . . . . . . . . . 27.5. Codicacin Manchester . . . . . . o 27.6. El protocolo CSMA/CD en Ethernet

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

Redes de Computadoras, 2007/08

27.6.1. Eciencia . . . . . . . . . . . . . . . . 27.7. Tecnolog Ethernet . . . . . . . . . . . . . . as 27.7.1. 10Base2 Ethernet . . . . . . . . . . . . 27.7.2. 10BaseT Ethernet y 100BaseT Ethernet 27.7.3. Gigabit Ethernet y 10 Gigabit Ethernet . 27.8. Hubs . . . . . . . . . . . . . . . . . . . . . . . 27.9. Switches . . . . . . . . . . . . . . . . . . . . . 27.9.1. Encaminamiento . . . . . . . . . . . . . 27.9.2. Store-and-forward versus cut-through . . 28.Wi-Fi 28.1. Capacidades . . . . . . . 28.2. Modes . . . . . . . . . . 28.2.1. Infrastructure . . 28.2.2. Modo Ad-Hoc . . 28.3. Canales . . . . . . . . . . 28.4. El proceso de asociacin . o 28.5. CSMA/CA (Carrier Sense ance) . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

497 498 498 500 502 503 505 509 511 512 513 514 514 516 517 518 520

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Multiple . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Access/Collision Avoid. . . . . . . . . . . . . .

28.6. Estructura del frame IEEE 802.11 . . . . . . . . . . . . . . 525 28.7. Mobility . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527 29.Bluetooth 529 29.1. IEEE 802.15 . . . . . . . . . . . . . . . . . . . . . . . . . . 530 30.Enlaces PPP 30.1. EL PPP (Point-to-Point 30.2. Data framing . . . . . 30.2.1. Byte stung . . 30.3. Protocolo de control del 531 532 533 534 535 543 544 545 546 548 550 551

Redes de Computadoras, 2007/08

Protocol) . . . . . . . . . . . . enlace . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

31.ATM 31.1. Historia . . . . . . . . . . 31.2. Principales caracter sticas . 31.3. Modelo de servicio . . . . . 31.4. Las celdas ATM . . . . . . 31.5. Morfolog de la red . . . . a 31.6. Canales virtuales y routing

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

Redes de Computadoras, 2007/08

31.7. Arquitectura de ATM . . . . . . . . . . . . . 31.7.1. La capa f sica . . . . . . . . . . . . . 31.7.2. La capa ATM . . . . . . . . . . . . . 31.7.3. La capa AAL (ATM Adaptation Layer) 31.7.4. La capa de usuario . . . . . . . . . . 31.8. Control de la congestin . . . . . . . . . . . . o 31.9. The Internet-over-ATM protocol stack . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

552 553 554 555 558 559 560

Apndices e
A. Espectro de una seal digital n A.1. Dato e informacin . . . . . . . o A.2. Tipos de fuentes de informacin o A.3. Seales digitales y analgicas . . n o A.4. La ventaja de trabajar en digital A.5. Amplicadores y repetidores . . . A.6. Seales binarias y bits . . . . . . n A.7. Conversin analgica/digital . . o o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

560
562 563 564 565 566 567 568 570

A.8. Espectro de una seal digital . . . . . . . . . . . . . . . . . 572 n B. Perturbaciones en la transmisin de seales digitales o n 574 B.1. Efectos de la limitacin del ancho de banda . . . . . . . . . 576 o B.1.1. Estimacin de Nyquist para la capacidad de un enlace 581 o B.2. Efectos del ruido y de la atenuacin . . . . . . . . . . . . . 582 o B.2.1. Estimacin de Shannon-Hartley para la capacidad de o un enlace . . . . . . . . . . . . . . . . . . . . . . . 582 B.3. Efectos de la distorsin de retardo . . . . . . . . . . . . . . 584 o C. Modulacin de seales digitales o n C.1. La modulacin de seales . . . . . . . . . . . . . . o n C.2. Utilidad de la modulacin de seales . . . . . . . . o n C.3. Bits de datos, elementos de sealizacin y Baudios n o C.4. Modulacin binaria en amplitud o ASK . . . . . . . o C.4.1. Modulacin . . . . . . . . . . . . . . . . . o C.4.2. Desmodulacin . . . . . . . . . . . . . . . o C.5. Modulacin binaria en frecuencia o FSK . . . . . . o C.5.1. Modulacin . . . . . . . . . . . . . . . . . o 587 588 590 591 592 592 601 602 602

Redes de Computadoras, 2007/08

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

Redes de Computadoras, 2007/08

C.5.2. Desmodulacin . . . . . . o C.6. Modulacin binaria en fase o PSK o C.6.1. Modulacin . . . . . . . . o C.6.2. Desmodulacin . . . . . . o C.7. Modulacin n-ria . . . . . . . . . o a

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

607 608 608 610 611 615 618 623 626 629 633 634 635 636 638

D. Transmisin de datos serie o D.1. Sincronizacin de bits . . . . . . . . . . o D.2. Sealizaciones bipolares . . . . . . . . . n D.3. Sealizaciones auto-reloj . . . . . . . . n D.4. Sealizaciones ms resistentes a errores n a D.5. Delimitacin de tramas . . . . . . . . . o D.6. Transmisiones as ncronas . . . . . . . . D.7. Transmisiones s ncronas . . . . . . . . . D.7.1. Recuento de caracteres . . . . . D.7.2. Inserccin de delimitadores . . . o

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

E. Cdigos de correccin de errores o o 642 E.1. El cdigo de Hamming . . . . . . . . . . . . . . . . . . . . 647 o

F. Fibras pticas o G. Enlaces de radio


Redes de Computadoras, 2007/08

652 667 673 678 680 682 685 690 693 695 697

H. Enlaces de microondas I. Enlaces de rayos infrarrojos J. Enlaces de luz K. Rayos X, rayos gamma y rayos csmicos o L. La multiplexacin de los enlaces o L.1. Multiplexacin en el dominio de la frecuencia (FDM) o L.2. Multiplexacin en el dominio del tiempo (TDM) . . . o L.2.1. TDM s ncrona . . . . . . . . . . . . . . . . . L.2.2. TDM as ncrona . . . . . . . . . . . . . . . .

. . . .

. . . .

. . . .

. . . .

Redes de Computadoras, 2007/08

Parte I

Introduccin a las redes de o computadoras

Redes de Computadoras, 2007/08

Cap tulo 1

Qu es Internet? e

1.1.

Qu es Internet? e

Existen muchas deniciones de Internet. Algunas de ellas:


Redes de Computadoras, 2007/08

1. Internet es una red de millones de computadoras que se extiende a nivel mundial. 2. Internet es una estructura computacional en la que se ejecutan aplicaciones distribuidas (que intercambian datos a travs de la red). e 3. Internet es una gran internet (una red de redes).

1.1 Qu es Internet? e

1.2.

Qu es una internet? e
Por denicin, una internet es la estuctura formada cuando interconeco tamos dos (o ms) redes. En otras palabras, un conjunto de nodos a de computacin interconectados mediante enlaces de transmisin de o o datos [14]. Al nivel internet, slo existen dos tipos distintos de nodos: o 1. Hosts o sistemas terminales (end systems). 2. Routers o dispositivos de conmutacin de paquetes de datos (dao ta packet switches).

Redes de Computadoras, 2007/08

1.2 Qu es una internet? e

1.3.

Que es un host?
En Internet, un host es una computadora que ejecuta aplicaciones de red (que se comunica con otras aplicaciones en otros hosts).

Redes de Computadoras, 2007/08

En adelante, generalmente denotaremos a un host mediante la gura: H Un host puede conectarse directamente a otros hosts o a otros routers. H H R R H 1.3 Que es un host? H 5 H

1.4.

Qu es un router? e
En Internet, un router es un sistema espec camente diseado para n intercambiar paquetes de datos con otros routers y hosts.

Redes de Computadoras, 2007/08

En adelante, denotaremos un router mediante la gura: R Un router puede conectarse directamente a otros routers y/o hosts. H H R R H 1.4 Qu es un router? e H 6 H

1.5.

Cul es la morfolog de Internet? a a


Internet se organiza f sicamente como una red de grandes redes que a su vez se componen de otras redes de tamao menor. n

Redes de Computadoras, 2007/08

1.5 Cul es la morfolog de Internet? a a

Redes de Computadoras, 2007/08

La situacin geogrca de las redes se corresponde normalmente con o a los ncleos urbanos. Por tanto, si fuera visible desde el espacio, Inu ternet se parecer a una tela de araa (aunque mucho ms catica) a n a o compuesta por enlaces de transmisin de datos de larga distancia que o interconectan internets ms pequeas. a n

1.5 Cul es la morfolog de Internet? a a

1.6.

Qu es un ISP? e
En la actualidad, la Internet pblica es gestionada por una serie de u empresas que dan servicio de conexin a Internet. A esta clase de emo presas se les llama Internet Service Providers (proveedores de servicio de Internet) o ISPs. Existen ISPs que interconectan redes a nivel mundial y otros que lo hacen a escala menor. Dependiendo de esto hablaremos de ISPs de nivel 1 (nivel mundial), ISPs de nivel 2 (nivel nacional), etc., hasta llegar a los ISPs que dan servicio a las universidades, empresas, casas, etc. Un aspecto interesante e importante de cara al funcionamiento de Internet es que cada ISP se gestiona de forma independiente.

Redes de Computadoras, 2007/08

1.6 Qu es un ISP? e

1.7.

Qu servicios proporciona la red? e


A nivel de usuario: 1. Web surng. 2. Mensajer instantnea. a a 3. Acceso remoto (remote login). 4. Correo electrnico (e-mail). o 5. Comparticin de archivos peer-to-peer (par-a-par) o P2P. o 6. Telefon IP (Internet Protocol). a 7. Streaming de audio y v deo. 8. Juegos en red. 9. Etc. A nivel de aplicacin: existe un conjunto de bibliotecas de software o que permiten transmitir datos entre las apliaciones distribuidas (anteriormente mencionadas) que corren en los hosts.

Redes de Computadoras, 2007/08

1.7 Qu servicios proporciona la red? e

10

1.8.

Cmo usan los servicios las aplicaciones? o


Cualquier aplicacin, que hace uso de Internet, debe usar estos tipos o de servicios (uno o ambos a la vez):

Redes de Computadoras, 2007/08

Servicios ables orientados a conexin, que garantizan que o los datos son siempre entregados correctamente a la apliacin o receptora. Servicios no ables y sin conexin, que no garantizan nada. o Unicamente que se intentar entregar los paquetes de datos. a No existen restricciones temporales para realizar dichos servicios.

1.8 Cmo usan los servicios las aplicaciones? o

11

1.9.

Qu es un protocolo de red? e
En Internet, los servicios de los que hemos hablado se presentan a las aplicaciones en forma de protocolos de red.

Redes de Computadoras, 2007/08

En general, un protocolo es un conjunto de reglas de comportamiento que permiten a dos o ms aplicaciones remotas comunicarse entre s a . En Internet, los protocolos ms famosos son el TCP (Transmision a Control Protocol) y el IP (Internet Protocol). El primero implementa el servicio able orientado a conexin y el segundo se encarga del o routing (conduccin) de los paquetes de datos a travs de Internet. o e

1.9 Qu es un protocolo de red? e

12

1.10.

Qu son los clientes y los servidores? e

Redes de Computadoras, 2007/08

La mayor de las aplicaciones distribuidas siguen el paradigma a cliente/servidor. En l, la aplicacin cliente es la que inicia la coe o municacin y la aplicacin servidora contesta a las peticiones. o o Por ejemplo, cuando navegamos a travs de la Web, utilizamos el TCP e para comunicarnos con el servidor Web. A continuacin se muestra lo o que ocurre cuando descargamos una pgina Web: a

1.10 Qu son los clientes y los servidores? e

13

Cliente
Solicit ud de con ex in T o CP CP o in T

Servidor

Redes de Computadoras, 2007/08

esta Respu GET

ex de con

http:/

/www .awl.c om/k urose

-ross

index.h

tml

Tiempo

Tiempo

En este ejemplo, nuestro navegador Web es la aplicacin cliente y el o servidor Web es la aplicacin servidora. o 1.10 Qu son los clientes y los servidores? e 14

1.11.

Qu es e conexin? o

un

servicio

orientado

Redes de Computadoras, 2007/08

1. Es el servicio proporcionado por la red que simula una conexin exo clusiva entre dos aplicaciones de red. 2. La aplicacin receptora recibe una copia excta del ujo de bytes o a generado por la aplicacin emisora. Para ello, antes del comienzo de o la transmisin, el emisor se asegura de que el receptor puede atender o la llegada de los datos. 3. Implementa un mecanismo de control de ujo y de congestin. Medio ante el primero, un emisor rpido no colapsa a un receptor ms lento a a que l. Gracias al segundo, un emisor disminuye su tasa de transmisin e o cuando la red se colapsa por exceso de trabajo.

1.11 Qu es un servicio orientado a conexin? e o

15

4. Aunque garantiza la entrega correcta de los datos, no se especica un tiempo mximo. Los datos enviados se agrupan en paquetes para a transmitirse, y estos pueden sur un retraso indeterminado en los routers.
Redes de Computadoras, 2007/08

5. Lo proporciona el TCP que est denido en el RFC (Request For a Comments) 793 [5].

1.11 Qu es un servicio orientado a conexin? e o

16

1.12.

Qu es un servicio no conable y sin e conexin? o

Redes de Computadoras, 2007/08

1. La aplicacin emisora env los datos a la aplicacin receptora sin o a o necesidad de conocer si sta los est esperando. No existe establece a imiento de conexin. o 2. Los datos se env agrupados en paquetes, que se pueden retrasar an un tiempo indeterminado, perder, modicar y desordenar. 3. La red no proporciona ninguna informacin acerca de qu les ha pasao e do a los paquetes. 4. La aplicacin emisora env los datos a la velocidad que le parece o a (normalmente tan rpido como puede): no existen mecanismos de a control de ujo y de congestin. o 5. Lo proporciona el UDP (User Datagram Protocol) que se dene en el RFC 768 [23]. 17

Redes de Computadoras, 2007/08

Cap tulo 2

Tcnicas de transmisin de e o datos


1.12 Qu es un servicio no conable y sin conexin? e o 18

2.1.

Conmutacin de circuitos o
Actualmente se utiliza en telefon [32] porque garantiza una tasa de a transmisin de bits (bit-rate) constante entre el emisor y el (o los) o receptor(es). Los canales en los enlaces de transmisin y conmutadores (switches), o es decir, los circuitos quedan reservados durante el tiempo que dura la comunicacin.1 o Una vez que se ha establecido la conexin, no existe tiempo de eso pera para transmitir. Sin embargo, la conexin puede denegarse si no o existen sucientes circuitos (red congestionada). Los recursos siguen asignados aunque los emisores dejen temporalmente de transmitir. Bajo esta circunstancia, los circuitos se desperdician.

Redes de Computadoras, 2007/08

1 En el fondo es como si siguiera existiendo la operadora que debe enchufar algunas clavijas para establecer la conexin. o

2.1 Conmutacin de circuitos o

19

2.2.

Conmutacin de paquetes o
La red no reserva recursos de transmisin en concreto, a lo sumo o establece prioridades.

Redes de Computadoras, 2007/08

La tasa de transmisin es variable y depende de la carga de la red, o con o sin establecimiento de conexin. o

2.2 Conmutacin de paquetes o

20

2.3.

Multiplexacin en redes de conmutacin o o de circuitos


Normalmente los enlaces presentan una capacidad mayor de la que se necesita en una transmisin. Por este motivo se multiplexan muchas o transmisiones mediante dos tcnicas distintas, aunque equivalentes e desde el punto de vista de la tasa de bits proporcionada: 1. Multiplexacin en la frecuencia o FDM (Frecuency Division o Multiplexing): Los circuitos se implementan mediante canales de frecuencia [27] (vase el Apndice C). e e 2. Multiplexacin en el tiempo o TDM (Time Division Multio plexing): Los circuitos se implementan mediante slots de tiempo peridicamente asignados. o

Redes de Computadoras, 2007/08

2.3 Multiplexacin en redes de conmutacin de circuitos o o

21

Frecuencia w

FDM

Frecuencia w

TDM

Canal 4
Redes de Computadoras, 2007/08

Canal 3 Canal 2 Canal 1 t Tiempo Tiempo

Ntese que la capacidad de transmisin de cada emisor es la misma o o en ambos casos e igual a: w t 4

2.3 Multiplexacin en redes de conmutacin de circuitos o o

22

2.4.

Multiplexacin en redes de conmutacin o o de paquetes


Es una generalizacin de TDM, donde los slots de tiempo suelen ser o mucho ms grandes y de una longitud variable en funcin del tamao a o n del paquete.

Redes de Computadoras, 2007/08

2.4 Multiplexacin en redes de conmutacin de paquetes o o

23

Los slots de tiempo no quedan reservados. Esto provoca demoras impredecibles en los conmutadores de paquetes dependiendo de la carga. En promedio (olvidando los overheads provocados por las cabeceras) la capacidad de transmisin asignada a los emisores es la misma que o en conmutacin de circuitos. o

Redes de Computadoras, 2007/08

2.4 Multiplexacin en redes de conmutacin de paquetes o o

24

2.5.

Por qu Internet utiliza conmutacin de e o paquetes?


Mayor aprovechamiento de los recursos de la red [14]: El ancho de banda disponible se aprovecha mejor porque las aplicaciones suelen transmitir de forma aleatoria e intermitente (sin un patrn predetero minado). En otras palabras: se transmite un volumen total de datos mayor. Posibilidad de tasas de transmisin instantneas muy altas: La o a red en general tiene mucha capacidad y si da la casualidad de que la usamos solos, utilizaremos todo el ancho de banda disposible.

Redes de Computadoras, 2007/08

2.5 Por qu Internet utiliza conmutacin de paquetes? e o

25

2.6.

Qu inconvenientes genera e mutacin de paquetes? o

la

con-

Tasa de transmisin variable: El bit-rate depende de la carga. o


Redes de Computadoras, 2007/08

Jitter2 > 0: El retraso que sufren los paquetes es variable.

2 La variacin (en trminos absolutos, es decir, sin considerar el signo) de la latencia o e de la red.

2.6 Qu inconvenientes genera la conmutacin de paquetes? e o

26

2.7.

Almacenamiento y reenv o
Los conmutadores de paquetes en Internet normalmente utilizan la tcnica de esperar a recibir completamente un paquete antes de proe ceder a su retransmisin (store-and-forward). Motivos: o 1. El enlace de salida puede estar ocupado transmitiendo algn pau quete anterior. 2. La tasa de transmisin del enlace de entrada y de salida puede o ser distinta. La alternativa (cut-through) es muy rara y slo se utiliza cuando estos o dos factores no son un problema (por ejemplo, en mquinas multia procesadoras).

Redes de Computadoras, 2007/08

2.7 Almacenamiento y reenv o

27

2.8.

Segmentacin de los mensajes o


Los mensajes (de longitud arbitraria) son divididos (normalmente por el emisor) en paquetes de datos antes de ser enviados. El receptor se encarga de reensamblarlos. Esto se hace fundamentalmente por los siguientes motivos:

Redes de Computadoras, 2007/08

2.8 Segmentacin de los mensajes o

28

1. Aunque la segmentacin introduce redundancia (en forma de o cabeceras), los tiempos de transmisin de los mensajes en redes o conmutadas son menores cuando utilizamos almacenamiento y reenv ya que disminuye la latencia [27]. o,
Redes de Computadoras, 2007/08

Sin Segmentacin o
Emisor Conmutador Receptor Emisor

Con Segmentacin o
Conmutador Receptor

Tiempo

2.8 Segmentacin de los mensajes o

29

2. La retransmisin de los paquetes errneos (la forma ms freo o a cuente de correccin de errores) introduce menos redundancia o [32] ya que los paquetes son ms pequeos. a n
Redes de Computadoras, 2007/08

Tasa de Transmisin o

Tamao Optimo n

Tamao del n Paquete Overhead de la Segmentacin o Overhead de la Retransmisin o

30

Redes de Computadoras, 2007/08

Cap tulo 3

Tcnolog de trasmisin e as o de datos


2.8 Segmentacin de los mensajes o 31

3.1.

Telfono de voz e
Se utiliza fundamentalmente en acceso residencial y hasta hace poco ha sido (con mucho) el sistema de acceso a Internet ms popular a debido a su menor coste. Se utiliza un canal de voz (con 4 KHz de ancho de banda) para transmitir, que permite a lo sumo 56 Kbps de tasa de transmisin o (normalmente menos debido al ruido en la l nea) mediante modulacin o QAM (modulacin en amplitud y fase simultneas, vase el Apndice o a e e C). Son conexiones punto a punto entre el host y el ISP [14].

Redes de Computadoras, 2007/08

Casa
H Modem Par Trenzado Modem

ISP
R

3.1 Telfono de voz e

32

El enlace se implementa mediante un par de hilos trenzados de cobre. Las trenzas contribuyen a tener el mismo ruido en ambos hilos. De hecho, los enlaces se clasican en categor dependiendo del nmero as u de trenzas que poseen por unidad de longitud.1
Redes de Computadoras, 2007/08

Ruido

Radiacin o Electromagntica e n trenzas an + bn an + bn b b Aislantes Elctricos e

a Conductores Elctricos e a>b

La distancia entre los modems puede ser muy alta (cientos de Kms).
1 Por ejemplo, en redes es muy comn usar UTP (Unshield Twisted Pair) categor 5 u a con los que alcanzan tasas de 100 Mbps sobre unas decenas de metros.

3.1 Telfono de voz e

33

3.2.

ADSL (Asymetric Digital Subscriber Line)


Se utiliza fundamentalmente en acceso residencial. Emplea la misma infraestructura que el telfono de voz (par trenzado). e Permite alcanzar hasta 20 Mbps (dependiendo de la distancia entre los modems)2 y usar el telfono simultneamente [27]. e a Los enlaces ADSL son punto a punto y dedicados (no se comparten con otros vecinos).

Redes de Computadoras, 2007/08

2 Para alcanzar estas velocidades generalmente slo puede haber unas decenas de o metros entre ambos modems.

3.2 ADSL (Asymetric Digital Subscriber Line)

34

Por la forma en que los usuarios suelen usar Internet, el canal de bajada generalmente tiene un ancho de banda mayor que el de subida (de ah lo de asimtrico). Se utiliza multiplexacin en frecuencia. e o
Redes de Computadoras, 2007/08

Frecuencia 1 MHz

Recepcin o

50 KHz Env o 4 KHz Voz Analgica (bidireccional) o 0 Tiempo 3.2 ADSL (Asymetric Digital Subscriber Line) 35

3.3.

Cable coaxial de TV
Se utiliza fundamentalmente en acceso residencial. Aprovecha la infraestructura de la TV por cable. La idea es dedicar algunos canales de TV (unos 6 MHz/canal) para enviar datos y otros para recibir. El medio de transmisin (cable coaxial) es compartido por todos los o usuarios de Internet del vecindario. A su vez los canales pueden compartirse dependiendo del nmero de usuarios. u
Cubierta de Plstico a Conductor Elctrico e Interno Conductor Elctrico e Externo Aislante Elctrico e

Redes de Computadoras, 2007/08

Aislante Elctrico e

3.3 Cable coaxial de TV

36

Si esto ocurre, el canal de carga (subida) presenta problemas de colisiones y el de descarga (bajada) es compartido por todos los vecinos. Estos problemas no suelen (o al menos no deber an) bajar la tasa de bits obtenida por debajo de la contratada.
Redes de Computadoras, 2007/08

Casa
H Modem

Cable Coaxial

Casa
Modem H

Modem ISP R

3.3 Cable coaxial de TV

37

3.4.

Ethernet conmutada
Es la tecnolog LAN (Local Area Network) ms implantada en ema a presas, universidades, etc.

Redes de Computadoras, 2007/08

Los hosts se conectan mediante enlaces punto a punto a un conmutador de tramas Ethernet, formndose t a picamente estructuras en rbol. a

R S S H 3.4 Ethernet conmutada H 38 H

Utiliza enlaces de par trenzado (distancias cortas) o bra ptica (diso tancias largas). Las tasas de transmisin t o picas son 100 Mbps y 1 Gbps entre cada par de nodos. No existen colisiones. El conmutador las resuelve.

Redes de Computadoras, 2007/08

3.4 Ethernet conmutada

39

3.5.

Wireless LAN o Wi-Fi


Est reemplazando a la Ethernet conmutada cuando es necesaria cierta a movilidad de los hosts (bibliotecas, cafeter universidades, casas). as,

Redes de Computadoras, 2007/08

Permite alcanzar tasas de 54 Mbps (802.11g) o 11 Mbps (802.11b), aunque sta puede decrecer al disminuir la SNR3 (vase el Apndice e e e B). Se basa en la tecnolog Ethernet para medios compartidos4 (en este a caso se utilizan enlaces de radio), donde una serie de hosts comparten en mismo rango de frecuencias para enviar y recibir (TDM).
R

H
35

Mbps, 2 Mbps, 1 Mbps ... las redes Ethernet usaban un cable coaxial para interconectar todos los hosts de la red.
4 Inicialmente

3.5 Wireless LAN o Wi-Fi

40

La distancia entre los nodos y los switches no sobrepasa normalmente las decenas de metros (dependiendo de las paredes, etc.). Un caso t pico:
Redes de Computadoras, 2007/08

3.5 Wireless LAN o Wi-Fi

41

3.6.

Telefon mvil digital celular a o


Permiten conexiones de hasta unas decenas de kilometros. Existen muchas normas. Las ms usadas [2]: a 1. GSM (Global System for Mobile kbps/hasta 14 kbps (subida/bajada). communications): 14

Redes de Computadoras, 2007/08

2. GPRS (General Packet Radio Service): 14 kbps/hasta 64 kbps. 3. 3G(GSM) (3rd Generation GSM): 348 kbps.

3.6 Telefon mvil digital celular a o

42

3.7.

Telefon mvil digital por satlite a o e


Permiten conectarnos desde cualquier punto del planeta gracias a una constelacin de satlites [33]. o e

Redes de Computadoras, 2007/08

Los satlites son no geo-estacionarios con el objeto de que puedan e estar a unos pocos cientos de Km de la supercie terrestre.5 Los satlites no geo-estacionarios estn constantemente en movimiene a to respecto de la supercie.6 Se consiguen tasas de transmisin de hasta 64 Kbps. o

5 Los satlites estacionarios (que no se mueven respecto de la supercie terrestre) estn e a generalmente demasiado lejos (a unos 36,000 Km de la supercie de La Tierra) como para que con la potencia de transmisin que usan los mviles la conexin sea posible (la o o o SNR de la transmisin sea sucientemente alta) (vese el Apndice B). o a e 6 Se mantienen a una distancia constante de la supercie porque la fuerza centr fuga es igual a la fuerza de la gravedad.

3.7 Telefon mvil digital por satlite a o e

43

3.8.

ATM (Asynchronous Transfer Mode)


Es una tecnolog desarrollada para implementar WANs (Wide Area a Network) y est compuesta por conmutadores y enlaces punto a punto a de larga distancia. No existe ninguna topolog espec a ca aunque la ms frecuente suele ser en estrella. a Se utiliza fundamentalmente en transmisiones de larga distancia entre ISPs. Los enlaces pueden alcanzar una gran variedad de velocidades, pero normalmente se manejan Gbps. Los enlaces se implementan generalmente mediante bra ptica o mio croondas (tanto terrestres como a travs de satlites7 ), aunque para e e distancias muy cortas puede usarse par trenzado.

Redes de Computadoras, 2007/08

7 Principalmente

geo-estacionarios.

3.8 ATM (Asynchronous Transfer Mode)

44

Permite reservar ancho de banda (emulando la conmutacin de ciro cuitos muy bien) y por este motivo ATM es fundamentalmente utilizadas por las compa telefnicas. nas o
Redes de Computadoras, 2007/08

45

Redes de Computadoras, 2007/08

3.8 ATM (Asynchronous Transfer Mode)

46

Redes de Computadoras, 2007/08

Cap tulo 4

Retardos y prdidas en e redes de conmutacin de o paquetes


3.8 ATM (Asynchronous Transfer Mode) 47

4.1.

Funcionamiento bsico de un router a


Dispositivo de conmutacin encargado de conducir los paquetes desde o un emisor hasta el/los receptor/es. El tratamiento de cada paquete es independiente (el paquete es la mxima unidad de transmisin) [14]. a o Asociado a cada enlace de salida existe una cola (memoria) donde esperan los paquetes que van a ser retransmitidos por ese enlace de salida.

Redes de Computadoras, 2007/08

4.1 Funcionamiento bsico de un router a

48

Redes de Computadoras, 2007/08

Aunque no exista ningn paquete almacenado en la cola de salida, u la retransmisin de un paquete entrante no comienza hasta que se o ha recibido totalmente (store-and-forward). Como alternativa, si el enlace est ocioso podr retransmitirse el paquete conforme se recibe a a (cut-through). Sin embargo, esta tcnica es muy rara. e Las colas de salida son nitas y cuando se llenan de paquetes, los nuevos paquetes entrantes se descartan (son destruidos). Normalmente los paquetes son colocados en la cola por estricto orden de llegada (no existen prioridades).

4.1 Funcionamiento bsico de un router a

49

4.2.

Tiempo de procesamiento (tproc )


Tiempo necesario para que un router examine la cabecera de un paquete y determine hacia qu enlace de salida debe encaminarse. e

Redes de Computadoras, 2007/08

Incluye el tiempo necesario para determinar si existen errores de transmisin (alteraciones de bits) en la cabecera (no en los datos). Si exo isten, el paquete se desecha pues probablemente se entregar a un a receptor equivocado o el receptor no podr recuperar adecuadamente a el paquete. El tiempo de procesamiento suele ser constante y del orden de los microsegundos.

4.2 Tiempo de procesamiento (tproc )

50

Redes de Computadoras, 2007/08

4.2 Tiempo de procesamiento (tproc )

51

4.3.

Tiempo de cola (tcola )


Tiempo que un paquete espera en la cola de salida de un router a ser retransmitido.

Redes de Computadoras, 2007/08

Depende del tiempo que necesiten los paquetes anteriores almacenados en la cola en ser transmitidos. Es 0 si la cola est vac a a. 4.3 Tiempo de cola (tcola ) 52

Suele ser muy variable pues depende de la carga. Se mide en milisegundos. Vase el applet: e http://www.ace.ual.es/~{}vruiz/docencia/redes/teoria/ applets/queuing.html

Redes de Computadoras, 2007/08

4.3 Tiempo de cola (tcola )

53

4.4.

Tiempo de transmisin (ttran ) o


Tiempo que tardan todos los bits de un paquete (cabecera y datos) en ser introducidos en y extra dos de un enlace.

Redes de Computadoras, 2007/08

Depende de la tasa de transmisin R y del tamao S del paquete. o n ttran = S R

En la prctica suele ser del orden de los milisegundos. a

4.4 Tiempo de transmisin (ttran ) o

54

4.5.

Tiempo de propagacin (tprop ) o


Tiempo necesario para que una seal que indica el comienzo de un bit n de datos pueda propagarse desde un extremo a otro del enlace.

Redes de Computadoras, 2007/08

Depende la distancia a recorrer D y de la velocidad C de propagacin o de las seales (normalmente electromagnticas) en el medio de transn e misin. o D tprop = C

4.5 Tiempo de propagacin (tprop ) o

55

La velocidad de propagacin depende el medio. o Medio Vac o/Aire Cobre Fibra Optica C 3 108 m/s 2,3 108 m/s 2 108 m/s

Redes de Computadoras, 2007/08

En WANs puede llegar a ser del orden de milisegundos.

4.5 Tiempo de propagacin (tprop ) o

56

4.6.

Tiempo de retardo nodal (tnodal )


Es el tiempo que tarda un router en retransmitir un paquete hasta el siguiente router.

Redes de Computadoras, 2007/08

Por denicin es la acumulacin de todos los tiempos anteriormente o o descritos: tnodal = tproc + tcola + ttran + tprop El retardo total que experimenta un paquete en cruzar la red depende del nmero de saltos (pasos por un router) que debe realizar. A este u tiempo tambin se lo conoce como tend-to-end o retardo de extremo-ae extremo.

4.6 Tiempo de retardo nodal (tnodal )

57

4.7.

Prdida de paquetes a causa de la cone gestin o


Los routers descartan los paquetes cuando la cola de salida de los paquetes estn llenas. a El nivel de llenado de una cola depende de la velocidad a la que llegan los paquetes a ella y de la velocidad a la que los paquetes son transmitidos. Esto en denitiva depende de las tasas de bits de llegada Ri y de salida Ro . Si el ratio (intensidad de trco) a Ri >1 Ro

Redes de Computadoras, 2007/08

entonces, la cola se desbordar y los paquetes comenzarn a ser a a desechados. Si el ratio Ri 1 Ro entonces, la cola no se desbordar. a 4.7 Prdida de paquetes a causa de la congestin e o 58

La intensidad de trco y el retardo medio en las colas de salida se a relacionan de la siguiente manera Retardo Medio en Cola

Redes de Computadoras, 2007/08

Ri Ro

Intensidad de Trco a

lo que signica que el tiempo de transmisin de los paquetes a travs o e de Internet depende exponencialmente de la intensidad del trco. a 4.7 Prdida de paquetes a causa de la congestin e o 59

4.8.

Ejemplos

Redes de Computadoras, 2007/08

1. Enunciado: Sea S la longitud media de los paquetes (en bits) y la tasa media de los paquetes que llegan hasta un router. Calclese u la tasa de bits de llegada al router Ri . Solucin: S se expresa en bits/paquete y en paquetes/segundo. o Por tanto: bits paquetes Ri = S( )( ). paquete segundo

4.8 Ejemplos

60

Redes de Computadoras, 2007/08

2. Enunciado: Supngase un router con n enlaces de entrada y que o al mismo tiempo llegan n paquetes (uno por cada enlace). Determ nese el mximo tiempo de cola tcola que sufre uno de los a paquetes. Supngase que L es la longitud media de los paquetes o (en bits) y que R es la tasa de transmisin en paquetes/segundo. o Solucin: El primer paquete servido se retrasar 0 segundos, el seo a gundo L/R segundos, ... y el n-simo e tcola = (n 1) L . R

4.8 Ejemplos

61

3. Enunciado: Calclese el tiempo m u nimo de extremo-a-extremo entre dos hosts en Internet. Solucin: El tiempo m o nimo se determina cuando los routers estn a descongestionados, es decir, cuando tcola = 0. Si N es el nmero u de routers en el camino que une ambos extremos, entonces tend-to-end min = (N + 1)(tproc + ttran + tprop ). (Tngase en cuenta el enlace que va desde el primer host origen hasta e el primer router. Tambin se ha supuesto que el host consume un e tproc .)

Redes de Computadoras, 2007/08

4.8 Ejemplos

62

Redes de Computadoras, 2007/08

4. Enunciado (Prob 1.6 [15]): Este problema elemental explora el retraso de propagacin y el retraso de transmisin, dos conceptos o o fundamentales en las redes de datos. Considere dos hosts A y B conectados mediante un unico enlace de R bps. Suponga que los dos hosts estn separados por m metros, y suponga que la velocia dad de propagacin a lo largo del enlace es de s metros/segundo. o El host A env al host B un paquete de tamao L bits. a n Exprese el retraso de propagacin, tprop en trminos de m y o e s. Solucin: o tprop = m(metros) m = (segundos). metros s( segundo ) s

4.8 Ejemplos

63

Determine el tiempo de transmisin de un paquete, ttrans en o trminos de L y R. e Solucin: o


Redes de Computadoras, 2007/08

ttrans =

bits L( paquete ) bits R( segundo )

L segundos ( ). R paquete

4.8 Ejemplos

64

Ignorando los retrasos de procesamiento y de cola, obtenga una expresin para el retraso de extremo a extremo. o Solucin: o
Redes de Computadoras, 2007/08

tend-to-end = (

m L segundos + )( ). s L paquete

4.8 Ejemplos

65

Suponga que un host A comienza a transmitir un paquete en el instante de tiempo t = 0. En el instante de tiempo t = ttrans , dnde est el ultimo bit del paquete? o a
Redes de Computadoras, 2007/08

Solucin: Acaba de abandonar el host A. o

4.8 Ejemplos

66

Suponga que tprop > ttrans . En el instante de tiempo t = ttrans , dnde est el primer bit del paquete? o a Solucin: Viajando por el enlace de transmisin. o o
Redes de Computadoras, 2007/08

4.8 Ejemplos

67

Suponga que tprop < ttrans . En el instante de tiempo t = ttrans , dnde est el primer bit del paquete? o a Solucin: En el host B. o
Redes de Computadoras, 2007/08

4.8 Ejemplos

68

Suponga que s = 2,5 108 metros/segundo, que L = 100 bits, y que R = 28 kbps. Encuentre la distancia m de manera que tprop = ttrans .
Redes de Computadoras, 2007/08

Solucin: Si o ttrans = tprop entonces L m = . s R m 100 bits = . bits 8 metros 2,5 10 segundo 28 103 segundo Despejando m = 893 103 metros.

Sustituyendo

4.8 Ejemplos

69

Redes de Computadoras, 2007/08

Cap tulo 5

Arquitectura del TCP/IP

4.8 Ejemplos

70

5.1.

El modelo de capas
Es una forma de organizacin de sistemas complejos que permite imo plementarlos mediante subsistemas (capas) ms simples [4, 8, 14]. a

Redes de Computadoras, 2007/08

El modelo permite reemplazar la implementacin de una de las capas o sin que las dems tengan que modicarse. a Para ello, se dene un interfaz de funcionamiento de cada capa mediante el cual se intercambian datos y se solicitan servicios.

5.1 El modelo de capas

71

5.2.

Funciones de las capas en el modelo de red


En una red de computadoras, en general cada capa puede realizar una o ms de las siguientes tareas: a 1. Control de errores de transmisin. o 2. Control de ujo de datos y de congestin. o 3. Segmentacin de mensajes y reensamblado de paquetes de datos. o 4. Multiplexado de los enlaces de transmisin. o 5. Establecimiento de conexiones.

Redes de Computadoras, 2007/08

5.2 Funciones de las capas en el modelo de red

72

5.3.

Las capas de Internet


Internet se organiza en 5 capas: 1. Capa de aplicacin: en ella corren las aplicaciones de red (la o Web, ftp, e-mail, etc.). 2. Capa de transporte: transere datos entre las aplicaciones que corren en 2 o ms hosts. a 3. Capa de red: es responsable del routing, es decir, de conducir los paquetes de datos entre los hosts. 4. Capa de enlace: resuelve el problema de transmitir datos entre cada par de nodos (host-host, host-switch, host-router, routerrouter, etc.). 5. Capa f sica: entiende cmo deben transmitirse los ujos de bits o sobre los distintos medios f sicos. En ocasiones y dependiendo de la complejidad, las capas pueden subdividirse en sub-capas o pueden fusionarse.

Redes de Computadoras, 2007/08

5.3 Las capas de Internet

73

5.4.

Capas y protocolos
La funcionalidad de cada capa est denida nalmente por el conjunto a de protocolos que implementa.

Redes de Computadoras, 2007/08

En Internet, los protocolos ms utilizados son el TCP y el IP. Por este a motivo hablamos de la pila de protocolos TCP/IP, aunque existen muchos ms. a Ordenados por capas, algunos de los protocolos ms importantes son: a 1. Capa de aplicacin: HTTP (Web), SMTP (e-mail), FTP (ftp), o ... 2. Capa de transporte: TCP (transferencia able de datos) y UDP. 3. Capa de red: IP (routing), ICMP (Internet Control Message Protocol), ... 4. Capa de enlace de datos: CSMA/CD (Ethernet), Point-toPoint Protocol (PPP), ... 5.4 Capas y protocolos 74

5.5.

Capas y nodos
El nmero de capas que un nodo debe implementar depende de su u funcionalidad.

Redes de Computadoras, 2007/08

Nivel 5 Nivel 4 Nivel 3 Nivel 2 Nivel 1

Aplicacin o Transporte Red Enlace F sica

Datos T Datos R T Datos E R T Datos

Hosts Hosts Hosts y Routers Hosts, Routers y Switches Host, Routers, Switches y Repeaters

F E R T Datos

El nmero de capas de enlace y f u sica es igual al nmero de interfaces u de red (en la gura slo 1). o Al proceso de aadir cabeceras y entregar el PDU (Procesing Data n Unit) a la capa inferior se le llama encapsulamiento. 5.5 Capas y nodos 75

Redes de Computadoras, 2007/08

5.5 Capas y nodos 76

5.6.

Ejemplos

Redes de Computadoras, 2007/08

1. Enunciado (Prob 1.20 [15]): En las redes de conmutacin de pao quetes modernas el host origen segmenta los mensajes largos generados en la capa de aplicacin en paquetes ms pequeos o a n antes de enviarlos a la red, y el receptor los reensambla. Nos referiremos a este proceso como la segmentacin de mensajes. o Supngase una red como la de la gura: o
A S1 S2 B

En la que se env un mensaje de 7,5 106 bits y la tasa de a transmisin de los enlaces es de 1,5 106 bits/segundo. o Suponiendo que los conmutadores son del tipo store-andforward, qu tiempo transcurre desde que el host A env e a el mensaje hasta que ste es recibido por el host B? Ignorense e los retrasos de propagacin, de cola y de procesamiento. o 5.6 Ejemplos 77

Solucin: o

7,5 106 b = 5s. 1,5 106 b/s


A S1 S2 B

Redes de Computadoras, 2007/08

5s

15 s

5.6 Ejemplos

78

Redes de Computadoras, 2007/08

Suponga ahora que el mensaje se segmenta en 5000 paquetes, cada uno de 1500 bits, qu tiempo transcurre desde e que el host A env el mensaje hasta que ste es recibido a e por el host B? De nuevo, ignorense los retrasos de propagacin, de cola y de procesamiento. o Solucin: o 1,5 103 b = 1ms. 1,5 106 b/s
A S1 S2 B

1 ms 5s

2 ms 5,002 s 5s

5.6 Ejemplos

79

Comente algunos inconvenientes de la segmentacin de o mensajes. Solucin: o a) El overhead de las cabeceras. b) La reordenacin de los framentos en el receptor. o

Redes de Computadoras, 2007/08

5.6 Ejemplos

80

Redes de Computadoras, 2007/08

Parte II

La capa de aplicacin o

81

Redes de Computadoras, 2007/08

Cap tulo 6

La Web

5.6 Ejemplos

82

6.1.

Qu es la Web? e
La (World Wide) Web es una aplicacin distribuida, inventada por o Tim Berners-Lee [6] a principios de los 90, que permite la transmisin o de informacin bajo demanda. o

Redes de Computadoras, 2007/08

T picamente, un servidor Web establece una comunicacin de o forma simultnea con muchos a clientes Web. El protocolo que dene el intercambio de informacin o es el HTTP (HyperText Transfer Protocol). Este se dene en los RFCs 1945 (HTTP/1.0) y 2616 (HTTP/1.1).

Cliente Web Servidor Web

Cliente Web

Cliente Web

Cliente Web Cliente Web

La Web utiliza el TCP como protocolo de transporte [14]. 6.1 Qu es la Web? e 83

6.2.

La comunicacin Web o
En una comunicacin Web, un navegador Web (el cliente) realiza o peticiones al servidor Web (a travs del puerto 80) y ste le entrega e e objetos Web. Ambos tipos de mensajes se realizan segn el HTTP. u

Redes de Computadoras, 2007/08

Servidor
Peticiones HTTP Servidor Web Respuestas HTTP

Cliente
Navegador Web

Objetos Web

6.2 La comunicacin Web o

84

Entre los servidores Web ms populares se encuentran Apache y Mia crosoft Internet Informacion Server (vase la URL e http://news.netcraft.com/archives/web server survey.html).
Redes de Computadoras, 2007/08

6.2 La comunicacin Web o

85

Redes de Computadoras, 2007/08

Un objeto Web es cualquier cosa que puede ser referenciada por su URL (Universal Resource Locator). Ejemplos t picos son las pginas a Web (cdigo HTML1 ), las imgenes GIF y las imgenes JPEG, aunque o a a actualmente se utiliza el HTTP para transmitir cualquier tipo de archivo (con cualquier contenido). La estructura de una URL Web siempre es de la forma: http://host/camino al objeto en el host

6.2 La comunicacin Web o

1 HyperText

Markup Language.

86

6.3.

Las conexiones Web


Cuando el cliente establece una conexin HTTP con un servidor Web, o sta puede ser de 2 tipos: no persistente o persistente. El HTTP/1.0 e utiliza slo conexiones no persistentes y el HTTP/1.1 puede utilizar o adems conexiones persistentes. a En una conexin no persistente, para cada objeto Web transferio do se establece una conexin TCP independiente. En una conexin o o persistente, durante la misma conexin (establecida por un par o cliente/servidor) se pueden transmitir muchos objetos Web, lo que generalmente ahorra recursos en el servidor (memoria y CPU) y en la red (ancho de banda). Ambos tipos de conexiones pueden ser adems secuenciales o paralelas a (pipelining). Estas ultimas permiten ahorrar tiempo si transmitimos varios objetos Web porque el cliente puede realizar una nueva peticin o antes de recibir la respuesta de una previa.

Redes de Computadoras, 2007/08

6.3 Las conexiones Web

87

6.3.1.

Conexiones no persistentes Conex. secuenciales


Cliente Servidor

Conex. paralelas
Cliente Servidor

Redes de Computadoras, 2007/08

RTT1 RTT2 tobj GET obj1 obj1 GET obj2 obj2 GET obj1 GET obj2 obj1 obj2

RTT (Round-Trip Time) es el tiempo de ida y vuelta de un mensaje de longitud despreciable y tobj es el tiempo de transmisin del objeto Web. En o cada conexin TCP, el tiempo de establecimiento de conexin TCP necesita o o un RTT (RTT1 ). El segundo RTT (RTT2 ) se emplea en solicitar el objeto. 6.3 Las conexiones Web 88

6.3.2.

Conexiones persistentes Conex. secuenciales


Cliente Servidor

Conex. paralelas
Cliente Servidor

Redes de Computadoras, 2007/08

RTT1 RTT2 tobj GET obj1 obj1 GET obj2 obj2 GET obj1 GET obj2 obj1 obj2

El ahorro del establecimiento de una conexin TCP para cada conexin o o Web reduce el tiempo en el caso de las conexiones secuenciales. El tiempo de respuesta de las conexiones paralelas persistentes es el mismo que el de las conexiones no persistentes, aunque la carga para el servidor suele ser menor. 6.3 Las conexiones Web 89

6.4.

Los mensajes HTTP


En una comunicacin HTTP slo existen dos tipos de mensajes, los o o de peticin (request) y los de respuesta (reply). o

Redes de Computadoras, 2007/08

6.4 Los mensajes HTTP

90

Redes de Computadoras, 2007/08

6.4 Los mensajes HTTP 91

6.4.1.

Un mensaje de peticin o

Capturado usando ethereal conectndose a www.google.es mediante a mozilla.


Redes de Computadoras, 2007/08

GET / HTTP/1.1 Host: www.google.es User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) G Accept: text/xml,application/xml,application/xhtml+xml,text/htm Accept-Language: en-us, en;q=0.50 Accept-Encoding: gzip, deflate, compress;q=0.9 Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66 Keep-Alive: 300 Connection: keep-alive Cookie: PREF=ID=1e9556644260c793:LD=es:TM=1076751818:LM=1076751 <Cuerpo de entidad>

6.4 Los mensajes HTTP

92

Signicado de algunas de las l neas: Los mensajes de peticin estn codicados en ASCII, comienzan siemo a pre por la cadena GET, la cadena POST o la cadena HEAD y acaban siempre en una l nea en blanco (retorno de carro y nueva l nea). El nmero de l u neas es variable, pero como m nimo siempre existe la primera (l nea de peticin) donde se indica el tipo de peticin (GET), o o la pqina HTML reclamada (/directorio/pagina.html, aunque en a el ejemplo se trata de la pgina index.html que es la pgina por a a defecto) y la versin del protocolo HTTP utilizado (HTTP/1.1). o El resto de las l neas de cabecera. La primera l nea, que comienza en el ejemplo por Host: especica el host en que reside el objeto (necesario para los proxies). La l nea Connection: indica el tipo de conexin (keep-alive o signica conexin persistente y close conexin no persistente. o o La l nea User-Agent: indica el navegador Web utilizado. Esto es importante para el servidor porque dependiendo del navegador 6.4 Los mensajes HTTP 93

Redes de Computadoras, 2007/08

se pueden enviar pginas HTML diferentes (con idntica URL). a e La l nea Accept-Language: indica que el usuario preere recibir una versin en ingls del objeto. o e
Redes de Computadoras, 2007/08

<Cuerpo de entidad> es un campo de los mensajes de peticin que o est vac cuando se utiliza el mtodo GET, pero que s se utiliza con a o e el mtodo POST. Este mtodo se emplea, por ejemplo, para rellenar e e formularios (donde el cliente debe enviar informacin al servidor). Fio nalmente, el mtodo HEAD es similar al mtodo GET, pero el servidor e e en su respuesta no va a incluir el objeto pedido. Este mtodo es nore malmente utilizado por los desarrolladores de aplicaciones. En la versin HTTP/1.1, adems de GET, POST y HEAD, existen otros o a dos mtodos: PUT que permite a un usuario cargar un objeto en el e servidor Web y DELETE que permite borrarlo.

6.4 Los mensajes HTTP

94

6.4.2.

Un mensaje de respuesta

Redes de Computadoras, 2007/08

HTTP/1.1 200 OK Cache-control: private Content-Type: text/html Content-Encoding: gzip Server: GWS/2.1 Content-length: 1484 Date: Sat, 14 Feb 2004 10:52:44 GMT <Cuerpo de entidad> Signicado de algunas de las l neas: Los mensajes de respuesta siempre tienen 3 secciones: la l nea inicial de estados, las lineas de cabecera y el cuerpo de la entidad. La l nea inicial de estados tiene 3 campos: la versin del protocolo, el o cdigo de estado y el estado (estas dos cosas signican lo mismo). En o el ejemplo, 200 OK signica que el servidor ha encontrado el objeto y que lo ha servido (en el ejemplo no se muestra tal cual, se trata de 6.4 Los mensajes HTTP 95

un objeto comprimido). En la siguiente tabla se presentan algunos de los cdigos de control ms comunes: o a Cdigo o 200 OK 301 Moved Permanently 400 Bad Request 404 Not Found 505 HTTP Version Not Supported Signicado Peticin exitosa o El objeto demandado ha sido movido a la URL especicada en Location: Peticin no entendida por el servidor o Objeto no encontrado en el servidor Obvio

Redes de Computadoras, 2007/08

Server: indica el software del servidor Web. Date: indica la fecha y hora en la que se cre y envi la respueso o ta HTTP. Este campo es importante porque ayuda a los proxies a mantener sus cachs. e Content-length: indica el tamao en bytes del objeto enviado. n 6.4 Los mensajes HTTP 96

Content-Type: indica que el objeto enviado en el cuerpo de la entidad es texto HTML.

Redes de Computadoras, 2007/08

6.4 Los mensajes HTTP

97

6.5.

Paso de parmetros en las URLs a


En la seccin anterior hemos visto que uno de los mtodos usados o e en los mensajes de peticin (POST) era utilizado para enviar datos de o tipo formulario al servidor. Esto tambin ser puede realizar mediante e GET. Para ello, en la URL usada se especican dichos datos mediante la forma: URL?primer parmetro&segundo parmetro&. . . a a Por ejemplo: http://www.google.es/language_tools?hl=es

Redes de Computadoras, 2007/08

6.5 Paso de parmetros en las URLs a

98

6.6.

Identicacin de usuarios o
El HTTP no tiene estado lo que signica que un servidor no guarda informacin acerca de los datos enviados a un determinado cliente. o Esto simplica el diseo de los servidores. n A menudo, el servidor necesita identicar a los usuarios, bien porque el acceso al servidor est restringido, o porque quisiera servir cierto e contenido en funcin de la identidad del usuario. o El HTTP proporciona dos mecanismos: 1. La autorizacin login/password. o 2. Las cookies (galletas).

Redes de Computadoras, 2007/08

6.6 Identicacin de usuarios o

99

6.6.1.

Autorizacin login/password o

El usuario se identica mediante un nombre de usuario (login) y una palabra clave (password). Pasos:
Redes de Computadoras, 2007/08

1. El servidor avisa al navegador que debe identicarse mediante una l nea inicial de estado HTTP/1.1 401 AuthorizationRequired en su mensaje HTTP de respuesta. 2. El navegador solicita al usuario el login/password e incluye esta informacin en una l o nea Authorization: del prximo mensaje o de peticin. Dicha l o nea se incluye en cualquier nueva peticin o de cualquier nuevo objeto al servidor.

6.6 Identicacin de usuarios o

100

6.6.2.

Cookies

Las cookies sirven para que los navegadores identiquen a los usuarios que anteriormente se han conectado.
Redes de Computadoras, 2007/08

Servidor
Servidor Web

Cookie: cookie# (en cada peticin) o

Cliente
Navegador Web

Set-cookie: cookie# (slo en la primera respuesta) o Tabla de Clientes Cookies Recibidas

En la tabla de clientes existen entradas de la forma (cookie#,usuario), que son creadas la primera vez que el usuario se conecta. 6.6 Identicacin de usuarios o 101

En el chero de cookies recibidas el navegador almacena una entrada (servidor Web, cookie#) cada vez que se conecta (por primera vez) a un servidor que utiliza cookies.
Redes de Computadoras, 2007/08

6.6 Identicacin de usuarios o

102

6.7.

El GET condicional
Los navegadores Web poseen una cach donde almacenan los objetos e ms recientes. a

Redes de Computadoras, 2007/08

Cuando un navegador va a reclamar un objeto, primero mira si est en a su cach. Si est, entonces su peticin es condicional. Si no est, su e a o a peticin no es condicional. o Cuando se realiza una peticin condicional, el servidor Web env una o a nueva versin slo si la copia local es obsoleta. o o

6.7 El GET condicional

103

6.7.1.

GET (normal)

Redes de Computadoras, 2007/08

Peticin o GET /fruit/kiwi.gif HTTP/1.0 User-agent: Mozilla/4.0 Respuesta HTTP/1.0 200 OK Date: Web, 12 Aug 1998 15:39:29 Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 09:23:24 Content-Type: image/gif (cuerpo de entidad)

6.7 El GET condicional

104

6.7.2.

GET condicional

En la cach del cliente existe el objeto reclamado. e


Redes de Computadoras, 2007/08

Peticin o GET /fruit/kiwi.gif HTTP/1.0 User-agent: Mozilla/4.0 If-modified-since: Mon, 22 Jun 1998 09:23:24 Respuesta Suponiendo que el objeto no ha sido modicado desde 22 Jun 1998 09:23:24. HTTP/1.0 304 Not Modified Date: Web, 19 Aug 1998 15:39:29 Server: Apache/1.3.0 (Unix) 6.7 El GET condicional 105

6.8.

Las cachs Web (proxies Web) e


La Web es un entramado de servidores de contenidos y de clientes (navegadores Web y cualquier otra aplicacin distribuida que utilice o el HTTP para comunicarse) (vase http://www.rediris.es/si/cache). e Para minimizar los tiempos de respuesta y el trco en la red, la Web a utiliza un conjunto de servidores especiales (llamdos proxies Web2 ) que funcionan como una cach, almacenando todo lo que sirven a los e clientes para su posterior reenv segn una determinada pol o u tica (por ejemplo, almacenando siempre los objetos ms frecuentes). a De esta forma, cuando un cliente (congurado para utilizar un proxy) solicita un objeto a un servidor Web, en lugar de hacerlo directamente al servidor lo realiza al proxy. El proxy entonces mira si posee el objeto

Funcionamiento
Redes de Computadoras, 2007/08

2 Existen otros tipos de proxies que no son Web y por lo tanto, cuando exista confusin o deber especicarse. En este documento esto no es as por lo que prescindiremos de a especicar el tipo de proxy.

6.8 Las cachs Web (proxies Web) e

106

y si es as lo sirve. En caso contrario lo solicita al servidor, lo almacena , y lo sirve. Para mantener actualizada la cach de un proxy, este utiliza el GET e condicional con el servidor (o el proxy de nivel superior).

Redes de Computadoras, 2007/08

6.8 Las cachs Web (proxies Web) e

107

6.9.
6.9.1.
Redes de Computadoras, 2007/08

Arquitecturas Web
La conguracin ms sencilla o a
En su conguracin ms simple, los clientes atacan directamente o a a/los servidores Web.
Cliente Web Cliente Web

Cliente Web

Respuesta Peticin o

Internet
Servidor Web

6.9 Arquitecturas Web

108

6.9.2.

Sistemas proxy de 1 nivel

El cliente solicita un objeto a su proxy local y si este no lo encuentra, lo solicita al servidor Web pertinente.
Redes de Computadoras, 2007/08

Peticin o
Cliente Web Cliente Web

Cliente Web

Proxy Web

Respuesta

Internet
Servidor Web

6.9 Arquitecturas Web

109

6.9.3.

Sistemas proxy multinivel

Redes de Computadoras, 2007/08

Los servidores proxy pueden congurarse para utilizar de forma recursiva otros servidores proxy de mayor ambito. A esto se le llama cach Web cooperativa. e Los proxies de una jerarqu pueden utilizar el Internet Caching Protoa col (ICP) para hablar todos con todos a la hora de localizar un objeto dentro de la jerarqu De esta manera, si el objeto se localiza en un a. proxy cercano el proceso de descarga del objeto (que nalmente se realiza mediante HTTP) se acelerar a.

6.9 Arquitecturas Web

110

ACE
Clientes Web

UAL
Clientes Web

Internet
Servidor Web

Redes de Computadoras, 2007/08

CICA
Proxy Web

Proxy Web

Clientes Web

Respuesta R R RedIRIS
Clientes Web

Algebra
Clientes Web

UGR
Clientes Web Proxy Web

Proxy Web

Peticin o
Proxy Web Proxy Web

. . . Resto de Departamentos de la UAL

. . . Resto de Universidades Andaluzas

6.9 Arquitecturas Web

111

6.9.4.

Sistemas proxy distribuidos

Los proxies pueden soportar cargas muy altas cuando representan a una gran cantidad de servidores Web.
Redes de Computadoras, 2007/08

Cuando un proxy soporta demasiada carga se puede proceder a la distribucin del contenido de su cach sobre un conjuto de proxies. o e El contenido de cada proxy se controla mediante el Cache Array Routing Protocol (CARP) que utiliza rutado por dispersin (hashing). Esta o forma de rutado consiste en usar un proxy distinto en funcin de la o URL del objeto Web solicitado. Cuando todos los clientes utilizan la misma funcin de dispersin, un o o objeto slo reside en uno de los proxies (en ese nivel). o

6.9 Arquitecturas Web

112

Cliente Web
Redes de Computadoras, 2007/08

Cliente Web

Cliente Web

Proxy Web

Proxy Web

Internet
Servidor Web

113

Redes de Computadoras, 2007/08

Cap tulo 7

El correo electrnico o

6.9 Arquitecturas Web

114

7.1.

El correo electrnico o
Es un medio de comunicacin as o ncrono, mediante el cual usando Internet podemos enviar correos electrnicos a otras personas sin o necesidad de una advertencia previa [14]. En sus versiones ms iniciales slo permit transmitir mensajes en a o a formato ASCII. Ahora tambin puede transmitir cualquier otro tipo e de informacin (datos binarios, programas, v o deos, etc.). Se trata de una aplicacin cliente/servidor. El cliente env los meno a sajes (e-mails) y el servidor los recibe. La comunicacin cliente-servidor se realiza mediante el SMTP (Simo ple Mail Transfer Protocol).

Redes de Computadoras, 2007/08

7.1 El correo electrnico o

115

7.2.

Conguraciones

Supongamos que Alicia le env un e-mail a Roberto. Podr darse (entre a an otras) estas conguraciones:
Redes de Computadoras, 2007/08

7.2 Conguraciones

116

7.2.1.

Correo local usando SMTP


Host

Redes de Computadoras, 2007/08

Alicia

SMTP

Mail Server

Roberto

Mail Box

Alicia sabe SMTP y roberto lee el correo directamente desde su chero de mailbox1 , donde se encolan los e-mails que se reciben y todav no a se han le do. En este ejemplo, Roberto utiliza un editor de cheros ASCII. Ambos se comunican a travs del mismo host. e
1 En

Unix, t picamente en /var/spool/mail/Roberto.

7.2 Conguraciones

117

7.2.2.

Correo local usando lectores y escritores de correo


Alicia Roberto

Redes de Computadoras, 2007/08

Mail Writer

SMTP

Mail Server

Mail Reader

Host

Mail Box

Los lectores y escritores facilitan la tarea de componer y leer e-mails.

7.2 Conguraciones

118

7.2.3.

Correo remoto usando servidores locales


Alicia Mail Writer SMTP Mail Server SMTP Roberto Mail Reader Mail Server

Redes de Computadoras, 2007/08

Host

Mail Queue

Host

Mail Box

El servidor de Alicia tratar de enviar los e-mails inmediatamente. Si a la comunicacin con el servidor de Roberto no es posible, los e-mails o 7.2 Conguraciones 119

se almacenan en una cola local2 para un intento posterior3 . Si despus de varios d (normalmente 6) la transmisin no tiene e as o xito, entonces el servidor de correo env un mensaje al usuario ese a critor indicndole que la comunicacin no ha sido posible. a o Normalmente el nmero de saltos que realiza un e-mail entre servidores u es slo 1, es decir, el servidor de Alicia le env el e-mail directamente o a al servidor de Roberto. Sin embargo, esto puede cambiar si el servidor de Alicia est congurado para que todo el correo saliente pase a por otro servidor de correo intermedio. Estos servidores hacen relay (retransmisin) y se suelen utilizar para controlar si los mensajes o contienen virus, etc.
2 En 3 Que

Redes de Computadoras, 2007/08

Unix, t picamente en /var/spool/mqueue/Alicia. se realiza aproximadamente cada 30 minutos.

7.2 Conguraciones

120

7.2.4.

Correo remoto usando un servidor remoto


Roberto

Alicia

Redes de Computadoras, 2007/08

Mail Writer

SMTP

Mail Server

POP3 Server

POP3

Mail Reader

Host

Mail Box

Host

Host

El escritor de correo utiliza SMTP para el correo (saliente) y el lector de correo POP3 (o IMAP) para el correo entrante.

7.2 Conguraciones

121

7.3.

El SMTP
RFC 2821. Controla cmo se realiza la transmisin de datos entre los servidores o o de correo. Es bastante antiguo4 y slo permite enviar mensajes escritos en ASCII o de 7 bits. Corre sobre el TCP y se utiliza el puerto 25. El SMTP utiliza conexiones persistentes, lo que signica que si el emisor tiene que transmitir varios e-mails, lo har sobre la misma a conexin TCP. o

Redes de Computadoras, 2007/08

7.3 El SMTP

4 1982,

teniendo en cuenta que Internet apareci formalmente a principios de los 70. o

122

Un ejemplo (servidor, cliente): hundix$ telnet localhost 25 220 hundix.ace.ual.es ESMTP Sendmail 8.12.8/8.12.8; Sun, 11 Jan 2004 10:31:23 +0100 HELO hundix.ace.ual.es 250 hundix.ace.ual.es Hello localhost.localdomain [127.0.0.1], pleased to meet you MAIL FROM: <vruiz@ual.es> 250 2.1.0 <vruiz@ual.es>... Sender ok RCPT TO: <bill gates@msn.com> 250 2.1.5 <bill gates@msn.com>... Recipient ok (will queue) DATA 354 Enter mail, end with "." on a line by itself Como va tu Windows? . 250 2.0.0 i0B9VNiA001623 Message accepted for delivery QUIT 221 2.0.0 hundix.ace.ual.es closing connection Connection closed by foreign host. 7.3 El SMTP 123

Redes de Computadoras, 2007/08

7.4.

Formato de un e-mail
Un e-mail (tal y como se almacena en una mailbox tras su recepcin) o se compone de una cabecera y de un cuerpo de mensaje, separados por una l nea en blanco (CRLF). El formato de la cabecera est estandarizado (RFC 822). Es una a lista de l neas de la forma: palabra-clave: argumento Algunas de las palabras-clave (junto con sus argumentos) son obligatorias para que un e-mail est bien formateado. Este es un e ejemplo m nimo: From: vruiz@ual.es To: Bill_Gates@msn.com Subject: Has probado el Linux? Algunas entradas de la cabecera las coloca el escritor de correo (cuando lo construye) y otras son generadas por los servidores

Redes de Computadoras, 2007/08

7.4 Formato de un e-mail

124

Redes de Computadoras, 2007/08

de correo (cuando transmiten los e-mails). Algunos ejemplos: From: Escritor de correo To: Escritor de correo Subject: Escritor de correo Received: Servidor de correo y retransmisiores Return-Path: Retransmisores El cuerpo del mensaje no tiene formato (puede ser cualquier cosa siempre que se codique en ASCII de 7 bits).

7.4 Formato de un e-mail

125

7.5.

Las extensiones MIME


RFCs 2045 y 2046. Las extensiones MIME (Multipurpose Internet Mail Extensions) amplian las posibilidades denidas en el RFC 822, para poder enviar cualquier cosa (caracteres con acentos, cheros MP3, etc.) en el cuerpo del mensaje de un e-mail, utilizando cdigos ASCII de 7 bits. o Cuando transmitimos cheros en un e-mail, la cabecera contiene las entradas: Content-Transfer-Encoding: <mtodo de codificacin> e o Content-Type: <tipo>/<subtipo>; <parmetros> a

Redes de Computadoras, 2007/08

Estas cabeceras son creadas por los escritores de correo.

7.5 Las extensiones MIME

126

Un ejemplo simple, en el que se transmite una imagen JPEG, ser a: From: alicia@crepes.fr To: Roberto@hamburger.edu Subject: Imagen de un delicioso crepe. Content-Transfer-Encoding: base64 Content-Type: image/jpeg 980v98t0298t2098t2j0982098td0j928t9jtjd2j89t2j3 ... 098309d20jr82j309h8239r209384fr239d8rj23098rd29

Redes de Computadoras, 2007/08

7.5 Las extensiones MIME

127

Los tipos de mensajes MIME ms usuales son: a 1. text: se utiliza para indicar que el contenido es texto, aunque en algn juego de caracteres especial. Ejemplo: u
Redes de Computadoras, 2007/08

From: alicia@crepes.fr To: roberto@hamburger.edu Subject: Saludos Content-Type: text/plain; charset="ISO-8859-1" Hola Roberto. Cmo ests? o a

7.5 Las extensiones MIME

128

2. image: indica que se env una imagen. Ejemplo: a From: alicia@crepes.fr To: Roberto@hamburger.edu Subject: Imagen de un delicioso crepe. Content-Transfer-Encoding: base64 Content-Type: image/gif 980v98t0298t2098t2j0982098td0j928t9jtjd2j89t2j3 ... 098309d20jr82j309h8239r209384fr239d8rj23098rd29

Redes de Computadoras, 2007/08

7.5 Las extensiones MIME

129

3. application: se emplea para indicar que se transmite cualquier cosa que no sea texto ni una imagen. Ejemplo: From: alicia@crepes.fr To: roberto@hamburger.edu Subject: El documento que me pediste Content-Transfer-Encoding: base64 Content-Type: application/msword 8r9eq098re09q8g0hyr9egy908q0rehy9fqey90hrg9qhye ... 9809rj8390qd9j8e90jf8qw98jef9j8qwe980jq9j8freq9

Redes de Computadoras, 2007/08

7.5 Las extensiones MIME

130

4. multipart: se utiliza para enviar en un chero e-mail varios cheros adjuntos. Ejemplo:
From: alicia@crepes.fr To: roberto@hamburger.edu Subject: Imagen de un delicioso crepe con comentarios. MIME-Version: 1.0 Content-Type: multipart/mixed; Boundary=StartOfNextPart --StartOfNextPart Content-Type: text/plain; charset="ISO-8859-1" Querido Roberto, te envo una imagen de un delicioso crepe. --StartOfNextPart Content-Transfer-Encoding: base64 Content-Type: image/jpeg ldfljkasdfw983909298feq9hjfr939dr39r239j4rd29r3 ... 9n4ytgfy9j8f98fepw98fkfujweifuwe98rugf29tu924u -- StartOfNextPart Content-Type: text/plain; charset="ISO-8859-1" Dime si quieres la receta.

Redes de Computadoras, 2007/08

7.5 Las extensiones MIME

131

7.6.

Los lectores/escritores de correo


El correo electrnico slo ser utilizado por los gurs de las redes o o a u si no existieran estos programas que ayudan a componer, revisar, ... e-mails. Sus principales funciones son: 1. Gestionar las cabeceras. 2. Comunicarse con un servidor de correo para enviar un e-mail usando SMTP. 3. Avisar de que se ha recibido un nuevo e-mail. 4. Gestionar la creacin y presentacin de mensajes con MIME. o o 5. Gestionar los mailboxes (correo entrante).

Redes de Computadoras, 2007/08

7.6 Los lectores/escritores de correo

132

7.7.

Protocolos de acceso a correo (POP3 e IMAP)


Sirven para que un usuario pueda gestionar (principalmente leer y borrar) su mailbox situado en un servidor remoto. Alicia Roberto

Redes de Computadoras, 2007/08

Mail Writer

SMTP

Mail Server

POP3 Server

POP3

Mail Reader

Host

Mail Box

Host

Host

7.7 Protocolos de acceso a correo (POP3 e IMAP)

133

Las ventajas ms frecuentes por las que un usuario desea leer el correo a en su host local (diferente del host que ejecuta el servidor de correo) son:
Redes de Computadoras, 2007/08

1. El host local no tiene que estar siempre encendido; los e-mails se reclaman o env al servidor de correo que no se apaga. an 2. La visualizacin de e-mails con contenidos multimedia (msica, o u v deo) es muy costosa (en trminos de ancho de banda pico) si e se hace mediante streaming (transmisin del audio y del v o deo a travs de la red mientras se consume). e Los principales protocolos de acceso al correo son POP3 (Post Oce Protocol versin 3) RFC1939 e IMAP (Internet Mail Access o Protocol) RFC 2060 . Ambos utilizan el TCP.

7.7 Protocolos de acceso a correo (POP3 e IMAP)

134

El acceso se realiza en 3 fases: Fase 1. Autenticacin: Al comienzo, el usuario se identica (user o y password). Fase 2. Transaccin: A continuacin se transmiten los mensajes. o o Con POP3 slo se puede hacer dos cosas: (1) descargar o y borrar o (2) slo descargar. o Con IMAP se pueden crear carpetas en el servidor de forma que tras descargar un e-mail podemos eliminarlos del mailbox, pero dejndolo dentro de una carpeta. a Con IMAP podemos tambin descargar unicamente un e e-mail, o incluso una parte de un e-mail (esto es util si hay e-mail tiene por ejemplo incluido (attached) un v deo y la l nea de conexin tiene muy poco de banda). o Fase 3. Actualizacin: Durante esta etapa se cierra la conexin y se o o realiza el borrado/movimiento de los e-mails entre el mailbox y las carpetas. 7.7 Protocolos de acceso a correo (POP3 e IMAP) 135

Redes de Computadoras, 2007/08

7.8.

Web-Based E-mail
Para terminar de complicar el asunto, todav existe una forma ms de a a acceder al correo electrnico almacenado en un servidor: a travs de o e la Web. Ejemplos son Hotmail y Yahoo Mail, aunque tambin existen e servicios similares en universidades, empresas, ... El agente de usuario es un navegador Web y el servidor de acceso al correo es un servidor Web especialmente diseado para este propsito. n o En este sentido, podemos decir que el HTTP es tambin un protocolo e de acceso a correo, aunque la comunicacin con el servidor se realiza o mediante scripts que utilizan generalmente IMAP. La ventaja de usar Web-Based E-mail es evidente: no es necesario disponer de un agente de usuario, slo de un navegador Web. o

Redes de Computadoras, 2007/08

7.8 Web-Based E-mail

136

Alicia Host
Redes de Computadoras, 2007/08

HTTP Host HTTP Web-Mail SMTP Server IMAP Mail Server IMAP Server

Roberto Host Web-Mail Reader

Web-Mail Writer

Mail Box

137

Redes de Computadoras, 2007/08

Cap tulo 8

El DNS (Domain Name Service)


7.8 Web-Based E-mail 138

8.1.

Funcin del DNS o


En Internet cada host pblico se identica mediante su direccin IP. u o Las dirs IP son nmeros de 32 bits en IPv4 y de 128 bits en IPv6. En u IPv4, la forma ms corriente de especicarlas es: a A.B.C.D donde A, B, C y D son nmeros entre 0 y 255. u Esto para los humanos no es muy cmodo porque nos cuesta mucho o recordar nmeros. Nosotros utilizamos mejor nombres de hosts. u El DNS se encarga de traducir los nombres en sus correspondientes dirs IP [14].

Redes de Computadoras, 2007/08

8.1 Funcin del DNS o

139

8.2.

Descripcin del DNS o


RFCs 1034 y 1035. El DNS es una base de datos distribuida (ningn host servidor de DNS, u tambin llamado servidor de nombres, conoce todas las traducciones). e Los servidores de DNS son habitualmente mquinas Unix que ejecutan a el demonio BIND (Berkeley Internet Name Domain). Los servidores de nombres escuchan a travs del puerto 53. e El DNS es un servicio cr tico para el funcionamiento de Internet porque la mayor de las aplicaciones que interactuan con humanos necesitan a la resolucin de nombres constantemente. o El DNS se implementa sobre el UDP.

Redes de Computadoras, 2007/08

8.2 Descripcin del DNS o

140

8.3.

Alias y nombres cannicos o


Un host puede tener ms de un nombre, uno cannico y el resto alias. a o Esto se hace normalmente para concentrar sevicios.

Redes de Computadoras, 2007/08

Ejemplo 8.1: Podemos hacer que un mismo host sea servidor de correo electrnico y de la Web. El nombre o cannico del host podr ser X.Y.Z y su alias www.Y.Z. o a Por ejemplo, filabres.ual.es (el nombre cannico) y o www.ual.es (el alias) fueron durante un tiempo la misma mquina 150.214.156.2. a

8.3 Alias y nombres cannicos o

141

Un mismo nombre (cannico o alias) puede ser asignado a muchos o hosts. Esto se hace para: 1. Descentralizar servicios (distribuir la carga de trabajo): Cuando nos conectamos a cnn.com, no lo hacemos siempre al mismo servidor: $ /usr/bin/host cnn.com cnn.com has address 64.236.24.12 cnn.com has address 64.236.24.20 cnn.com has address 64.236.24.28 cnn.com has address 64.236.16.20 cnn.com has address 64.236.16.52 cnn.com has address 64.236.16.84 cnn.com has address 64.236.16.116 cnn.com has address 64.236.24.4

Redes de Computadoras, 2007/08

8.3 Alias y nombres cannicos o

142

2. Aumentar la resistencia a errores: Por ejemplo, cuando escribimos a un usuario de correo electrnico de yahoo.es en realidad o escribimos a un servidor SMTP en uno de estos hosts:
Redes de Computadoras, 2007/08

$ /usr/bin/host -t MX yahoo.es yahoo.es mail is handled by 1 mx2.mail.yahoo.com. yahoo.es mail is handled by 5 mx4.mail.yahoo.com. yahoo.es mail is handled by 1 mx1.mail.yahoo.com.

8.3 Alias y nombres cannicos o

143

3. Que seamos atendidos por el servidor ms cercano (ahorrar ana cho de banda): Cuando nos conectamos a www.google.com desde un host en Espaa somos automticamente redirigidos a n a www.google.es1 :
Redes de Computadoras, 2007/08

$ /bin/ping www.google.es PING www.google.akadns.net (66.102.11.104) 56(84) bytes of data 64 bytes from 66.102.11.104: icmp_seq=1 ttl=234 time=94.1 ms : $ /bin/ping www.google.com PING www.google.akadns.net (66.102.11.99) 56(84) bytes of data. 64 bytes from 66.102.11.99: icmp_seq=1 ttl=235 time=94.1 ms : $ /usr/bin/host www.google.akadns.net www.google.akadns.net has address 66.102.11.99 www.google.akadns.net has address 66.102.11.104

8.3 Alias y nombres cannicos o

1 Ntese o

que la carga de www.google.akadns.net est distribuida. a

144

8.4.

Arquitectura del DNS


El DNS es un sistema cliente-servidor, donde la aplicacin servidora o est distribuida. Si esto no fuera as el sistema no escalar porque: a a

Redes de Computadoras, 2007/08

1. Existir un unico punto de fallo. a 2. Ser un cuello de botella. a 3. La base de datos con los registros DNS estar alejada de la a mayor de los host de Internet. a 4. Una base de datos enorme, en continuo cambio, recaer en una a sola mquina y su mantenimiento ser muy costoso. a a El tiempo de respuesta es ilimitado, aunque generalmente es pequeo n (dcimas de segundo). Esto tiene mucho que ver con que el DNS se e base en el UDP.

8.4 Arquitectura del DNS

145

Los servidores de nombres se organizan jerrquicamente. Dependiendo a del nivel en que se encuentran hablamos de tres tipos: (1) servidores autorizados (authoritative), (2) servidores de dominio del alto nivel (top-level domain) y (3) servidores ra (root): z
Redes de Computadoras, 2007/08

Para aumentar la resistencia a errores, en cada dominio suelen existir varios servidores de nombres. 8.4 Arquitectura del DNS 146

8.4.1.

Servidores de nombres ra z

Redes de Computadoras, 2007/08

Hasta la fecha de marzo del 2008, en Internet existen 13 servidores (generalmente muy potentes debido a la alta carga que deben soportar) de nombres ra (http://www.root-servers.org). z

8.4 Arquitectura del DNS

147

8.4.2.

Servidores de nombres de alto nivel

Son responsables de los dominios de alto nivel: com, org, edu, gov, es, ...
Redes de Computadoras, 2007/08

La denicin del servidor de nombres de alto nivel (TLD) es un poco o ambiga porque la altura es una medida relativa con respecto a u otros servidores de nombres subordinados. Ejemplo 8.2: Cada departamento de una universidad podr tener su propio servidor de nombres para los hosts a de ese departamento. Por ejemplo, el departamento de arquitectura de computadores y electrnica de la universio dad de Almer podr tener un servidor para el dominio a a ace.ual.es. Adems, la universidad podr tener un servia a dor de nombres para el dominio ual.es. En este caso, el servidor de la universidad es un servidor de ms alto nivel a que l del departamento. Sin embargo, por encima al menos e hay dos servidores de mayor nivel: el que atiende al dominio es y los servidores de nombres ra z. 8.4 Arquitectura del DNS 148

8.4.3.

Servidores de nombres autorizados

Cada organizacin con hosts pblicos (universidades, empresas, etc.) o u debe poseer al menos un servidor de nombres autorizado.
Redes de Computadoras, 2007/08

Por denicin, un servidor de nombres autorizado para el dominio Y o debe de mantener los registros de resolucin de todos los hosts xxx.Y. o La fuente original de los registros de resolucion (tambin llamados e registros de recursos) est en los servidores de nombres autorizados. a Ejemplo 8.3: Continuado con el ejemplo anterior, el servidor de nombres del departamento de arquitectura de computadores y electrnica ser el unico servidor que debe mantener los rego a istros de las mquinas del departamento. De hecho, cuando se a instalase una nueva mquina, el proceso de alta de dicho host a en el DNS consistir en crear un nuevo registro slo en dicho a o servidor.

8.4 Arquitectura del DNS

149

8.5.

Las consultas
Cuando una aplicacin solicita una resolucin, primero consulta a uno o o de sus servidores de nombres locales (situados en el nivel ms bajo del a mismo dominio), que suele ser uno de los servidores de nombres autorizados para ese nivel del dominio (los servidores de nombres pueden estar replicados para aumentar la abilidad del DNS). Esto se hace as porque es muy probable que la mayor de las resoluciones cac a headas que se repiten sean referentes a hosts del mismo dominio. Ejemplo 8.4: Cuando el host gogh.ace.ual.es solicita una resolucin, este consulta a filabres.ual.es o a o alboran.ual.es. miro.ace.ual.es (otro host del mismo dominio) hace igual:

Redes de Computadoras, 2007/08

8.5 Las consultas

150

gogh$ /usr/bin/host -v gogh.ace.ual.es Trying "gogh.ace.ual.es" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24177 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
Redes de Computadoras, 2007/08

;; QUESTION SECTION: ;gogh.ace.ual.es. ;; ANSWER SECTION: gogh.ace.ual.es. ;; AUTHORITY SECTION: ace.ual.es. ace.ual.es. ;; ADDITIONAL SECTION: filabres.ual.es. alboran.ual.es.

IN

172800

IN

193.147.118.57

172800 172800

IN IN

NS NS

filabres.ual.es. alboran.ual.es.

172800 172800

IN IN

A A

150.214.156.2 150.214.156.32

Received 126 bytes from 150.214.156.2#53 in 23 ms

8.5 Las consultas

151

gogh$ /usr/bin/host -v miro.ace.ual.es Trying "miro.ace.ual.es" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24036 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
Redes de Computadoras, 2007/08

;; QUESTION SECTION: ;miro.ace.ual.es. ;; ANSWER SECTION: miro.ace.ual.es. ;; AUTHORITY SECTION: ace.ual.es. ace.ual.es. ;; ADDITIONAL SECTION: filabres.ual.es. alboran.ual.es.

IN

172800

IN

193.147.118.63

172800 172800

IN IN

NS NS

filabres.ual.es. alboran.ual.es.

172800 172800

IN IN

A A

150.214.156.2 150.214.156.32

Received 126 bytes from 150.214.156.2#53 in 23 ms

8.5 Las consultas

152

Redes de Computadoras, 2007/08

En otras ocasiones una aplicacin solicita la resolucin de un nombre o o que no pertenece a su dominio y por tanto un servidor local no puede traducirlo. Entonces el servidor local se comunica con un servidor de nombres de mbito superior (que suele ser un servidor de nombres a ra por sencillez para los administradores de las redes). z, Hay muchos casos donde el DNS est muy replicado por tratarse de a un servico cr tico. Por ejemplo, segn la siguiente consulta existen 7 u servidores de nombres que son autorizados para el dominio ual.es. En este ejemplo se muestra tambin el TTL (Time To Live) usado e para el chacheo de los registros devueltos por ese servidor y el tipo de servidor (A = Authorized, NS = Name Server).

8.5 Las consultas

153

$ /usr/bin/host -v filabres.ual.es Trying "filabres.ual.es" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36716 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 7, ADDITIONAL: 7 ;; QUESTION SECTION: ;filabres.ual.es. ;; ANSWER SECTION: filabres.ual.es. ;; AUTHORITY SECTION: ual.es. ual.es. ual.es. ual.es. ual.es. ual.es. ual.es. ;; ADDITIONAL SECTION: filabres.ual.es. alboran.ual.es. dns1.cica.es. dns2.cica.es. sun.rediris.es. chico.rediris.es. ineco.nic.es.

Redes de Computadoras, 2007/08

IN

172800

IN

150.214.156.2

172800 172800 172800 172800 172800 172800 172800

IN IN IN IN IN IN IN

NS NS NS NS NS NS NS

filabres.ual.es. alboran.ual.es. dns1.cica.es. dns2.cica.es. sun.rediris.es. chico.rediris.es. ineco.nic.es.

172800 172800 17790 14781 19453 19673 2379

IN IN IN IN IN IN IN

A A A A A A A

150.214.156.2 150.214.156.32 150.214.5.83 150.214.4.35 130.206.1.2 130.206.1.3 194.69.254.2

Received 310 bytes from 150.214.156.2#53 in 33 ms

8.5 Las consultas

154

Ejemplo 8.5: Consultas recursivas. cis.poly.edu necesita obtener la dir IP de gaia.cs.umass.edu.

Redes de Computadoras, 2007/08

8.5 Las consultas

155

Ejemplo 8.6: Consultas iterativas. cis.poly.edu necesita obtener la dir IP de gaia.cs.umass.edu.

Redes de Computadoras, 2007/08

8.5 Las consultas

156

8.6.

Caching
Cuando un servidor de nombres recibe una correspondencia DNS (una traduccin), normalmente realiza una copia en su memoria local, con o la esperanza de que en poco tiempo se le realize la misma peticin. o Si sta se produce, el servidor de nombres resuelve, aunque en este e caso no se trate del servidor autorizado. Como consecuencia el tiempo de respuesta se minimiza. Para poder tratar con hosts ef meros (que cambin constantemente de a IP), los registros de las cachs son destruidos despus de un periodo e e de tiempo (normalmente 2 d as).

Redes de Computadoras, 2007/08

8.6 Caching

157

8.7.

Los registros DNS


Los registros DNS son intercambiados por los servidores de nombres para proporcionar el servicio de resolucin. o

Redes de Computadoras, 2007/08

Los registros DNS tienen 4 campos: (Nombre, Tipo, Valor, TTL) El campo TTL es el tiempo de vida del registro e indica cundo debe a ser borrado de las cachs de los servidores. Los otros campos dependen e del valor que toma el campo Tipo: 1. Si Tipo == A, Nombre es un host y Valor es su dir. IP. Este tipo de registro se utiliza para una resolucin estndar. Por ejemplo, o a cuando preguntamos por la dir IP de dali.ace.ual.es recibimos un registro de la forma: (dali.ace.ual.es, 193.147.118.56, A, TTL) Estos registros estn de forma permantente en los servidores de a nombres autorizados. 8.7 Los registros DNS 158

Ejemplo 8.7: Consultando la dir IP de www.ual.es: $ /usr/bin/host -t A www.ual.es www.ual.es has address 150.214.156.62
Redes de Computadoras, 2007/08

2. Si Tipo == NS, Nombre es un dominio y Valor es su servidor de nombres autorizado. Por ejemplo, cuando queremos preguntar por el servidor de nombres autorizado para el dominio ual.es recibimos: (ual.es, dns.ual.es, NS, TTL) Ejemplo 8.8: Consultando el/los servidor/es de nombre/s de gogh.ace.ual.es: (ver Seccin 8.5) o

8.7 Los registros DNS

159

3. Si Tipo == CNAME, Nombre es un alias y Valor es su nombre cannico. Por ejemplo, cuando queremos conocer el nombre o cannico del alias www.ace.ual.es recibimos: o
Redes de Computadoras, 2007/08

(www.ace.ual.es, dali.ace.ual.es, CNAME, TLL) Ejemplo 8.9: Consulando el nombre cannico de o www.ace.ual.es: $ /usr/bin/host -t CNAME www.ace.ual.es www.ace.ual.es is an alias for dali.ace.ual.es.

8.7 Los registros DNS

160

4. Si Tipo == MX, Nombre es un dominio de correo y Valor es el nombre cannico del servidor de correo. Por ejemplo, cuando o utilizamos el alias de correo ual.es en realidad mandamos el e-mail a smtp.ual.es porque el DNS constesta con:
Redes de Computadoras, 2007/08

(ual.es, smtp.ual.es, MX, TLL) Ntese que una compa puede tener el mismo alias par su servio na dor de correo y para su servidor Web. Cuando estamos utilizando el correo electrnico, el cliente DNS consultar un registro DNS o a con Tipo == MX. Sin embargo, para obtener el nombre cannico o del servidor Web, consultar con Tipo == CNAME. a Ejemplo 8.10: Consultando por el servidor de SMTP de la UAL: $ /usr/bin/host -t MX ual.es ual.es mail is handled by 10 mail.rediris.es. ual.es mail is handled by 2 smtp.ual.es.

8.7 Los registros DNS

161

8.8.

Regional Internet Registries


Controlan la asignacin de direcciones IP y los nombres de dominio o de alto nivel.

Redes de Computadoras, 2007/08

Actualmente existen 5 organismos de registro: 1. American Registry for Internet Numbers (http://www.arin.net) para Amrica del Norte. e (ARIN)

2. Rseaux IP Europens Network Coordination Centre (RIPE NCC) e e (http://www.ripe.net) para Europa, cercano Oriente y Asia central. 3. Asia-Pacic Network Information Centre (APNIC) (http://www.apnic.net) para el resto de Asia y las regiones del Pac co. 4. Latin American and Caribbean Internet Address Registry (LACNIC) (http://www.lacnic.net) para Amrica Latina y la regin e o del Caribe. 8.8 Regional Internet Registries 162

5. African Network Information (http://www.afrinic.net/) para Africa.

Centre

(AfriNIC)

Redes de Computadoras, 2007/08

Estos organismos estn coordinados por la Internet Corporation for a Assigned Names and Numbers (ICANN) (http://www.icann.org).

163

Redes de Computadoras, 2007/08

Cap tulo 9

Comparticin de Ficheros o (File Sharing)


8.8 Regional Internet Registries 164

9.1.

El FTP (File Transfer Program)


La aplicacin FTP permite la transmisin de archivos entre hosts reo o motos.

Redes de Computadoras, 2007/08

Servidor
Conexin de Control o Servidor FTP Conexin de Datos o

Cliente
Cliente FTP

Archivos

Archivos

Utiliza TCP en ambas conexiones. 9.1 El FTP (File Transfer Program) 165

Redes de Computadoras, 2007/08

La conexin de control transporta la informacin (en formato ASCII) o o necesaria para controlar la transmisin de archivos (login/password, o comandos para movernos por el sistema de cheros remoto y mover archivos, listar directorios, ...). El servidor recibe la informacin de o control a travs del puerto 21 y utiliza el File Transfer Protocol (FTP, e descrito en el RFC 959). La conexin de datos se utiliza para transferir 1 archivo (se establece o una conexin TCP para cada archivo). El servidor utiliza para esto el o puerto 20.

9.1 El FTP (File Transfer Program)

166

9.2.

Aplicaciones P2P (Peer-to-peer)


Muy alta escalabilidad (los clientes son tambin servidores). e Se utilizan para compartir archivos que residen en los hosts de los usuarios. Por esto a las aplicaciones P2P tambin se les llama aplicae ciones de comparticin de archivos entre iguales. Ejemplos: Napster, o Gnutella, KaZaA, eMule y BitTorrent. Contexto complejo: t picamente los hosts no permanecen todo el tiempo encendidos (ni conectados) y rara vez disponen de una direccin o IP ja. Cuando un usuario busca un archivo obtiene una lista de hosts que en este momento estn conectados y almacenan (al menos parcialmente) a dicho archivo. Con esto se calcula un ndice de accesibilidad al chero.

Redes de Computadoras, 2007/08

9.2 Aplicaciones P2P (Peer-to-peer)

167

Redes de Computadoras, 2007/08

La transmisin (generalmente mediante TCP) de un archivo se proo duce directamente (sin servidores intermedios) entre uno o varios de esos hosts y el del usuario (que ha realizado la bsqueda). Esto peru mite transmitir simultneamente distintas parte del mismo archivo a mediante mltiples conexiones. u En cuanto el usuario dispone de una seccin del archivo, automticao a mente entra a formar parte de la lista de iguales que disponen de l. e As mientras lo descarga, otros usuarios pueden comenzar a descar, garlo de l. e Por tanto, las aplicaciones P2P de comparticin de archivos son alo tamente escalables en lo que se reere a la cantidad de datos que pueden gestionar, porque aunque un nuevo usuario consume ancho de banda de salida de los iguales que contienen los archivos que se est descargando, tambin proporciona el suyo para que otros hagan a e lo mismo.

9.2 Aplicaciones P2P (Peer-to-peer)

168

Sin embargo, en general los sistemas P2P presentan un problema de cuello de botella en los buscadores de contenidos. A continuacin o discutiremos las 3 estrategias existentes.
Redes de Computadoras, 2007/08

9.2 Aplicaciones P2P (Peer-to-peer)

169

9.2.1.

Bsqueda usando un directorio centralizado u

Ejemplos: Napster, eMule y BitTorrent.


Redes de Computadoras, 2007/08

Existe un gran servidor (Napster) o un conjunto de servidores (parcialmente) replicados (eMule) para que proporcionan servicio de bsqueu da. En el caso de BitTorrent, cada chero .torrent especica un servidor que no es de bsqueda de contenidos, sino de determinacin u o de peers para ese contenido. Cada igual (cuando se conecta) informa al servidor de su direccin o IP y de los contenidos que desea compartir. As el servidor crea y , mantiene una base de datos dinmica que relaciona cada nombre de a chero con el conjunto de IPs de los hosts que lo contienen.

9.2 Aplicaciones P2P (Peer-to-peer)

170

Redes de Computadoras, 2007/08

Ventajas: la bsqueda de contenidos (por parte de los iguales) es u sencilla porque la base de datos est centralizada. a Desventajas: el servidor central se convierte en el cuello de botella del sistema y si no existe ninguno funcionando, ningn igual puede u buscar. 9.2 Aplicaciones P2P (Peer-to-peer) 171

9.2.2.

Bsqueda usando un directorio descentralizado u

Ejemplos: KaZaA, Overnet, eDonkey y Kademlia (eMule).


Redes de Computadoras, 2007/08

Un subgrupo de iguales son designados como l deres de grupo (supernodos) y cuando un nuevo igual se conecta, se le asigna uno de ellos.

9.2 Aplicaciones P2P (Peer-to-peer)

172

Cada l de grupo gestiona una base de datos con la informacin de der o los iguales de su grupo. Cuando un usuario busca, lo hace primero dentro de su grupo y obtiene una contestacin rpida. Si el usuario lo solicita, puede ampliar la o a bsqueda al resto de grupos ya que el l u der de su grupo conoce a los dems l a deres. Cuando un usuario se conecta lo hace a partir de un nodo de arranque que conoce al menos uno de los l deres de grupo. No es necesario conocer, de entrada, a un supernodo. Un nodo (un igual) se convierte en un l der normalmente porque el usuario lo solicita1 .

Redes de Computadoras, 2007/08

1 Probablemente a cambio de gastar ancho de banda extra en ser servidor de consultas, obtenga mayores prioridades a la hora de acceder a los cheros compartidos.

9.2 Aplicaciones P2P (Peer-to-peer)

173

Ventajas de la bsqueda descentralizada: u Las bases de datos son localmente ms pequeas (un l a n der slo o se encarga de un subconjunto de los iguales, generalmente los ms prximos (menos hops)). a o El sistema es ms escalable y resistente a fallos porque ahora la a base de datos global est distribuida. a Desventajas: Cuando un l se apaga, los iguales tienen que buscar otro l der der vecino y regenerar la base de datos local. Los nodos no son todos iguales (los l deres, que tambin funcioe nan como igual, consumen ms recursos que los iguales). a Sigue existiendo la necesidad de un nodo inicial de arranque que conozca al menos un l der y que no puede apagarse.

Redes de Computadoras, 2007/08

9.2 Aplicaciones P2P (Peer-to-peer)

174

9.2.3.

Bsqueda mediante inundacin u o

Ejemplo: Gnutella.
Redes de Computadoras, 2007/08

No existe una jerarqu de servidores (supernodos) e iguales. Todos a los participantes son iguales. Para que un nodo se conecte debe conocer, al menos, la direccin IP o de un nodo que ya forme parte de la red de comparticin. o Las bsquedas se realizan mediante inundacin de consultas: u o

9.2 Aplicaciones P2P (Peer-to-peer)

175

Redes de Computadoras, 2007/08

1. El nodo que inicia la bsqueda pregunta primero a sus vecinos u (inmediatos). 2. Los vecinos repiten el proceso con sus vecinos inmediatos (excepto con los que le han preguntado ya por lo mismo). 9.2 Aplicaciones P2P (Peer-to-peer) 176

3. Los nodos que contienen el archivo buscado se lo comunican al nodo vecino que le ha preguntado la bsqueda. Este proceso u acaba cuando las contestaciones llegan hasta el nodo que inici la o bsqueda. u
Redes de Computadoras, 2007/08

Ventajas: Todos los nodos son iguales. No existen bases de datos con informacin de directorio. o Desventajas: El volumen de trco generado por las consultas suele ser muy a alto. Por este motivo el rea de bsqueda (nmero de hops) suele a u u estar limitado. Lo malo de esto es que puede ocurrir que slo se o obtengan bsquedas parciales. u Es necesario conocer un nodo de la red de comparticin para o poder formar parte de ella (http://www.gnutella.com). 9.2 Aplicaciones P2P (Peer-to-peer) 177

9.3.

Acerca de la tasa de descarga


La tasa de descarga de las aplicaciones P2P depende normalmente de la tasa de subida a la red. Si sta es alta, la de descarga tambin. e e

Redes de Computadoras, 2007/08

Existen dos formas distintas de premiar al que ms env a a: 1. Incrementando la prioridad del peer en las colas asociadas a los contenidos: Si subes ms, tardas menos tiempo de obtener a conexiones. Esto es lo que ocurre en eMule, por ejemplo. 2. Conectndote a los mejores peers. Hay protocolos, como BitTora rent, que el nmero de peers a los que te conectas est limitado u a (5 generalmente). Si los peers tratan de enviar datos a aquellos otros peers que mejor le sirven, aquellos peers que ms ancho a de banda dedican se comunicarn entre s De esta manera, Si a . subes ms, te conectars a los mejores peers y por tanto, obtena a drs ms datos de la red. En BitTorrent cada 30 segundos la a a peor de las 5 conexiones se cierra y se establece una nueva (tras consultar al tracker) con la idea de mejorar algunas de las otras 4 conexiones existentes. 9.3 Acerca de la tasa de descarga 178

En la prctica no debe dedicarse el 100 % del ancho de banda de subida a porque ahogar amos las conexiones TCP de descarga. Tcnicamente e lo que ocurre es que los segmentos de control de ujo que se env an a los peers se retrasan, provocndose un sobre-control del ujo. a
Redes de Computadoras, 2007/08

9.3 Acerca de la tasa de descarga

179

9.4.
9.4.1.
Redes de Computadoras, 2007/08

Network File System


Caracter sticas
Desarrollado en 1984 por Sun Microsystems para SunOS. Ms tarde a donado al public domain [9]. Permite montar un sistema de cheros remoto dentro del sistema de cheros local.2 Las aplicaciones no ven la diferencia. El sistema de cheros es exportado por el host remoto. El sistema de cheros es montado por el host local. Muchos hosts remotos pueden montar el mismo sistema de cheros y compartir as datos de forma sencilla.

2 Un sistema de cheros es cualquier directorio que cuelgue del directorio ra en el z host remoto (un directorio, una particin de un disco duro, un CD-ROM, un disco RAM, o etc.).

9.4 Network File System

180

Las aplicaciones locales acceden al sistema de cheros remoto como si fuera local. En otras palabras, el NFS es completamente transparente al usuario.
Redes de Computadoras, 2007/08

Arquitectura cliente/servidor. El servidor se monta en el host que exporta el sistema de cheros y el cliente, en los hosts que lo montan. El servidor asegura la integridad de los datos en el sistema de cheros exportado. El NFS utiliza un protocolo a nivel de la capa de aplicacin y se monta o encima del sistema RPC, otro paquete de la capa de aplicacin [25]. o Dicho protocolo es el NFSP (NFS Protocol). Actualmente cohexisten tres versiones: la 2 [28], la 3 [29] y la 4 [31]. Los datos son transmitidos a travs de la red usando el sistema de e representacin XDR (eXternal Data Representation) [30]. Esto pero mite que hosts de diferentes clases (con distintos SOs, endians y/o longitudes de palabra) puedan intercambiar datos. 9.4 Network File System 181

9.4.2.

El NFSP

Redes de Computadoras, 2007/08

Es un protocolo sin estado lo que signica que ante un fallo del sistema (por ejemplo, que el servidor NFS se cuelgue), es el cliente el que sabe cmo recuperarse de los errores (por ejemplo, re-ejecutando la o orden de escribir un chero que no pudo ser escrito por el cuelgue del servidor). El protocolo se describe mediante un conjunto de procedimientos que se ejecutan sobre el sistema RPC. A continuacin se muestran algunos o de los ms usados: a 1. null() returns(): Hace un ping al server. Sirve para medir latencias en la red. 2. lookup(dir fh, name) return (fh, attr): Busca el chero name en el directorio dir fh y si lo encuentra, devuelve el descriptor de ese chero fh ms la informacin attr sobre a o los atributos del chero. 3. create(dir fh, name, attr) return(new fh, new attr): Crea en e directorio dir fh el chero name 9.4 Network File System 182

con atributos attr. Si la creacin tiene xito, devuelve un nuevo o e descriptor de chero new fh que tiene los atributos new attr. 4. remove(dir fh, name) returns(status): Borra el chero name en el directorio dir fh y devuelve verdadero si la operacin o ha tenido xito. e 5. getattr(fh) returns(attr): Devuelve los atributos del chero. 6. setattr(fh, attr) returns(new attr): Establece los atributos del chero. 7. read(fh, offset, count) returns(attr, data): Escribe en el puntero data los count bytes a partir del byte de ndice offset del chero fh. Se devuelve adems los atributos del a chero. 8. write(fh, offset, count, data) returns(attr): Semejante al anterior mtodo, excepto que escribimos en el chero e remoto. 9. rename(dir fh, name, to fh, to name) 9.4 Network File System 183

Redes de Computadoras, 2007/08

returns(status): Renombra el chero name en el directorio dir fh al chero to name en el directorio to fh. Se devuelve informacin sobre el xito de la operacin. o e o
Redes de Computadoras, 2007/08

10. link(dir fh, name, to fh, to name) returns(status): Crea el chero to name en el directorio to fh, que es un enlace al chero name en el directorio dir fh.3 11. symlink(dir fh, name, string) returns(status): Crea un enlace simblico llamado name en el directorio dir fh con o el valor string.4 12. readlink(fh) return(string): Devuelve el nombre del enlace simblico. o 13. mkdir(dir fh, name, attr) returns(fh, new attr): Crea un nuevo directorio llamado name dentro del directorio
3 Un enlace a un chero es una nueva entrada en el sistema de cheros que apunta a un chero ya existente. Es como un seudnimo. o 4 La unica diferencia entre un enlace (a secas, tambin llamado enlace duro) y un e enlace simblico es que ste ultimo puede hacerse entre sistema de cheros diferentes. o e

9.4 Network File System

184

dir fh, retorna el descriptor de ese directorio fh y los atributos new attr con los que nalmente ha sido creado. 14. rmdir(dir fh, name) returns(status): Elimina un directorio vac llamado name que est dentro del directorio dir fh y o a devuelve el resultado de dicha operacin. o 15. readdir(dir fh, cookie, count) return(entries): En entries retorna hasta count bytes de las entradas en el directorio dir fh. Cada entrada contiene un nombre de chero, un identiticador y un puntero cookie a la siguiente entrada dentro del directorio. Este chero permite en sucesivas llamadas ir recorriendo todas las entradas del directorio. Si cookie == NULL se devuelve la primera entrada. 16. statfs(fh) return(fs stats): Devuelve informacin sobre o el sistema de cheros remoto como el tamao de bloque, el n nmero de bloques libres, etc. u

Redes de Computadoras, 2007/08

185

Redes de Computadoras, 2007/08

Cap tulo 10

Transmisin de audio y o v deo


9.4 Network File System 186

10.1.

Caracter sticas de la transmisin de auo dio y v deo

Redes de Computadoras, 2007/08

Las aplicaciones que operan con secuencias de audio y v deo son altamente sensibles al retraso de extremo-a-extremo (end-to-end delay) de la red y a la variacin de este retraso (jitter) [14]. o Relacionado con lo anterior, generalmente necesitan una tasa de transmisin promedio sostenida porque una vez que la secuencia comienza o a ser reproducida no pueden ocurrir cortes por culpa de la red. Normalmente toleran cierta cantidad de prdida de datos durante la e transmisin. o En la mayor de las transmisiones unicast se utiliza el UDP en lugar a del TCP debido no hace falta controlar ni el ujo ni la congestin. o Si la transmisin es multicast slo puede utilizarse el UDP. o o 10.1 Caracter sticas de la transmisin de audio y v o deo 187

10.2.

Ejemplos de aplicaciones
Stored Media Transmission Video on Demand Pause, rewind, fast-forward and indexing Yes, if extra band-width is available As large as possible UDP/TCP Live Media Transmission Internet TV, Internet Radio None Real-time Media Transmission Video-conferencing, IP telephony None

Redes de Computadoras, 2007/08

Example(s): Data-ow control:

Pre-fetching:

No way

No way

Buering: Internet transport protocol(s):

Jitter hiding (few seconds) UDP

< 500 ms UDP

10.2 Ejemplos de aplicaciones

188

10.3.

Obstculos de la Internet actual a

Redes de Computadoras, 2007/08

Tasas de transmisin variables: las mayor de los algoritmos de o a compresin utilizados para codicar audio y v o deo necesitan tasas de bits constantes. Latencias altas y variables: en muchos casos el retraso de extremoa-extremo es demasiado alto (especialmente cuando los paquetes atraviesan enlaces congestionados) y adems el jitter de los paquea tes es distinto de cero. No existen pol ticas de prioridad: todos los paquetes son tratados por igual por los routers, por tanto, paquetes que no son sensibles al tiempo compiten por los mismos recursos que paquetes que s lo son. No existe el concepto de stream: los paquetes pertenecientes al mismo stream de audio o de v deo pueden desordenarse en la red.

10.3 Obstculos de la Internet actual a

189

10.4.

Cmo deber evolucionar Internet? o a

A la hora de acomodar el trco sensible al tiempo, actualmente exa isten dos pol ticas radicalmente opuestas:
Redes de Computadoras, 2007/08

1. Permitir que las aplicaciones permitan reservar ancho de banda: Esto signica fundamentalmente que: Habr que modicar las pol a ticas de servicio de los paquetes en los routers, lo que implica un gran cambio en su diseo n actual. Habr que idear alguna forma de controlar canto y cundo a u a se reservan los recursos (pagando por ello, por supuesto). Habr que etiquetar los paquetes con informacin sensible a o al tiempo para que los routers los distinguieran. 2. Incrementar el ancho de banda y distribuir adecuadamente los contenidos: Los incrementos en las necesidades de ancho de banda se deben principalmente a que ms gente se conecta a la red y a 10.4 Cmo deber evolucionar Internet? o a 190

Redes de Computadoras, 2007/08

tiene accesos de mayor velocidad a travs de su ISP. Es lgie o co esperar que dicho ISP gane dinero dando dicho servicio y que reinvierta parte de sus benecios en infraestructura. En denitiva, la red va a crecer al mismo ritmo que se demandan recursos. Existen tcnicas de replicacin de contenidos que pueden e o ayudar a disminuir enormemente el trco. Por ejemplo, los a ISPs deber instalar en sus servidores aquellas secuencia an de audio y v deo que sus usuarios reclaman con mayor frecuencia. El concepto anterior deber adems extenderse entre los a a distintos niveles de ISP formando lo que se conoce como una red de superposicin multicast1 (multicast overlay o network).

1 Es importante darse cuenta de que esta forma de realizar multicasting no tienen nada que ver con la que se realiza a nivel de IP. En IP del multicasting se realiza a nivel de red y en este caso el multicasting se hace a nivel de aplicacin. o

10.4 Cmo deber evolucionar Internet? o a

191

10.5.
10.5.1.

Problemas y soluciones en la transmisin o de audio y v deo


Eliminacin del jitter o

Redes de Computadoras, 2007/08

Por qu se retrasan los paquetes? e Aunque el emisor generalmente coloca los paquetes peridicao mente en la red, los routers puede introducir un retardo variable en ellos dependiendo del estado de sus colas. Cmo solucionamos el problema? o Retrasando la reproduccin un tiempo prudencial (la mxima o a latencia de extremo-a-extremo esperada o bien un retraso que genere una tasa de prdida de paquetes admisible) o hasta donde e sea posible (a lo sumo 500 ms en el caso de las transmisiones en tiempo real). 10.5 Problemas y soluciones en la transmisin de audio y v o deo 192

10.5.2.

Recuperacin de paquetes perdidos o

Por qu se pierden los paquetes? e


Redes de Computadoras, 2007/08

Aunque el contenido de un paquete recibido puede ser diferente del enviado (lo que tambin puede ser un problema), lo normal e es que los paquetes lleguen (sin errores) o no lleguen debido a los problemas de congestin de la red. o En otras ocasiones, aunque el paquete llega al destino lo puede hacer demasiado tarde, especialmente en el caso de la transmisin interactiva en tiempo real. En este caso el paquete se o descarta en el receptor.

10.5 Problemas y soluciones en la transmisin de audio y v o deo

193

Cmo solucionamos el problema? o 1. Enviando informacin redundante. Ejemplos: o Insertando un paquete de paridad peridicamente. o Si cada n paquetes introducimos uno con la operacin XOR de los bits de mismo o ndice (posicin) o de estos paquetes, podemos reconstruir un paquete perdido tras recibir los n + 1 paquetes. Aadiendo a cada paquete informacin redundante son o bre otro paquete (piggybacking). Podemos insertar, en cada paquete, informacin (de o baja calidad) sobre el paquete anterior. La informacin piggibacked de baja calidad del paquete i se o utiliza si se pierde el paquete i 1. Grcamente: a
Redes de Computadoras, 2007/08

10.5 Problemas y soluciones en la transmisin de audio y v o deo

194

Stream Original

Stream Redundante

Redes de Computadoras, 2007/08

Internet
Stream Recibido

Stream Reconstruido

10.5 Problemas y soluciones en la transmisin de audio y v o deo

195

2. Entrelazando la informacin (interleaving) y luego aplicano do alguna tcnicas de prediccin o interpolacin. e o o El emisor coloca en cada paquete porciones de stream no consecutivos. Ejemplo:
Redes de Computadoras, 2007/08
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

13

10

14

11

15

12

16

Internet
1 5 9 13 2 6 10 14 4 8 12 16

10

12

13

14

16

10.5 Problemas y soluciones en la transmisin de audio y v o deo

196

10.5.3.

Ordenacin de paquetes o

Por qu se desordenan los paquetes? e


Redes de Computadoras, 2007/08

Las tablas de routing de los routers son dinmicas y por lo tana to, dos paquetes del mismo stream pueden viajar por caminos distintos con diferente longitud (en trminos de tiempo). e Cmo solucionamos el problema? o Insertando un nmero de secuencia2 en cada paquete. u

10.5 Problemas y soluciones en la transmisin de audio y v o deo

2O

una estampa de tiempo.

197

10.6.
10.6.1.

Protocolos para la transmisin de audio o y v deo


Real-Time Protocol (RTP)

Redes de Computadoras, 2007/08

RFC 3550. Usa UDP.

10.6 Protocolos para la transmisin de audio y v o deo

198

Estandariza la informacin (como son los nmeros de secuencia, eso u tampas de tiempo, el algoritmo de compresin utilizado, etc.) que utio lizan la mayor de las aplicaciones de transmisin de audio y v a o deo. El formato de la cabecera RTP es:
Redes de Computadoras, 2007/08

7 bits 16 bits 32 bits 32 bits +---------+----------+-------+-------------------+---------------+ | Payload | Sequence | Time | Synchronization | Miscellaneous | | type | number | stamp | source identifier | fields | +---------+----------+-------+-------------------+---------------+

Donde: Payload type: Indica la codicacin (PCM, GSM, MPEG-1, o MPEG-2, H.261, etc.). Ejemplos:

10.6 Protocolos para la transmisin de audio y v o deo

199

Redes de Computadoras, 2007/08

10.6 Protocolos para la transmisin de audio y v o deo

200

Sequence Number: Enumera los paquetes enviados. Time-stamp: indica el instante en que se gener el primer bit de o datos del paquete RTP. Se utiliza para sincronizar el emisor y el receptor.
Redes de Computadoras, 2007/08

Synchronization source identifier: identica al emisor del stream (la dir IP del host no sirve porque en un host pueden generarse varios streams (audio y v deo por separado, por ejemplo)).

10.6 Protocolos para la transmisin de audio y v o deo

201

10.6.2.

Real-Time Control Protocol (RTCP)

RFC 1889. Se utiliza junto con el RTP, normalmente sobre el siguiente puerto.
Redes de Computadoras, 2007/08

Sirve para que los miembros de una sesin RTP se intercambien ino formacin (t o picamente mediante multicasting).

10.6 Protocolos para la transmisin de audio y v o deo

202

Peridicamente, se transmiten informes de estad o sticas utiles para la transmisin de audio y v o deo: nmero de paquetes enviados, nmero de u u paquetes perdidos, jitter, nmero de hosts escuchando en una transu misiones multicast, ....
Redes de Computadoras, 2007/08

Su uso plantea un inconveniente, sobre todo en transmisiones multicast porque el emisor puede llegar a recibir una gran cantidad de informes (uno por cada oyente). En estos casos la frecuencia de env o de los informes se decrementa en funcin del nmero de participantes o u en las sesiones multicast, de forma que el RTCP consume siempre aproximadamente el 5 % del ancho de banda.

10.6 Protocolos para la transmisin de audio y v o deo

203

10.6.3.

Real-Time Streaming Protocol (RTSP)

RFC 2326. Normalmente usa TCP.


Redes de Computadoras, 2007/08

Se utiliza para controlar la transmisin de streams de audio y v o deo almacenados (pause, rewind, play, etc.). El player sabe que el stream soporta todas estas acciones porque su URL es de la forma: rtsp:// Los mensajes RTSP son muy similares a los utilizados por el protocolo FTP o HTTP. El cliente (C:) solicita acciones y el servidor (S:) las realiza. Un ejemplo de transmisin ser o a:

10.6 Protocolos para la transmisin de audio y v o deo

204

Redes de Computadoras, 2007/08

C: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0 Transport: rtp/udp; compression; port=3056; mode=PLAY S: RTSP/1.0 200 1 OK Session 4231 C: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=0S: RTSP/1.0 200 1 OK Session 4231 C: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=37 S: RTSP/1.0 200 1 OK Session 4231 C: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 S: 200 3 OK

10.6 Protocolos para la transmisin de audio y v o deo

205

10.7.

ReSerVation Protocol (RSVP)

RFC 2205.
Redes de Computadoras, 2007/08

Permite que los hosts realicen reservas de ancho de banda en Internet para transmisiones multicast. Las reservas expiran tras un determinado tiempo y tienen que ser peridicamente realizadas. o El host que reserva es el que recibe, no el que env el stream. a Los routers tienen que entender el RSVP y permitir las reservas. Qu es en realidad una reserva? Para el RSVP una reserva es una ine dicacin para uno o varios routers de canto quiere recibir el receptor, o u lo que no signica que se tenga que recibir.

10.7 ReSerVation Protocol (RSVP)

206

El RSVP se utiliza fundamentalmente en transmisiones multicast por capas de calidad. Veamos un ejemplo donde existen 3 capas (20 Kbps, 100 Kbps y 3 Mbps):
Redes de Computadoras, 2007/08

H2 C H1 A B H3

20 Kbps

100 Kbps

El router D solicita al router B recibir las 3 capas. El router C solicita al router B recibir las 2 primeras capas. El router B solicita al router A recibir las 3 capas. Hasta H2 llegan las dos primeras capas, aunque slo hace uso de la o primera. 10.7 ReSerVation Protocol (RSVP)

D H4 3 Mbps

H5

3 Mbps

207

Redes de Computadoras, 2007/08

Parte III

La capa de transporte de datos

208

Redes de Computadoras, 2007/08

Cap tulo 11

Servicios de la capa de transporte de datos


10.7 ReSerVation Protocol (RSVP) 209

11.1.

Dnde corre la capa de transporte? o

La capa de transporte se ejecuta slo en los sistemas nales (hosts). o Por qu? e
Redes de Computadoras, 2007/08

Actualmente la tasa de errores de las tecnolog de transas misin de datos son muy bajas. Esto posibilita que el control o de ujo y de errores sea posible de extremo a extremo. Alternativamente, el control de ujo y de errores1 se puede realizar entre cada par de nodos adyacentes. Como la tasa de error crece de forma proporcional con la distancia recorrida (nmero de saltos), u cuando esta es sucientemente alta, es ms adecuado el control salto a a salto.

1 La congestin puede entenderse en s misma como un error de transmisin puesto o o que degrada la tasa de transmisin efectiva. o

11.1 Dnde corre la capa de transporte? o

210

Se sita a nivel 4, entre la capa de aplicacin (nivel 5) y la capa de u o red (nivel 3).

Redes de Computadoras, 2007/08

11.1 Dnde corre la capa de transporte? o

211

11.2.

Servicios proporcionados por la capa de transporte

Redes de Computadoras, 2007/08

Permite la comunicacin a nivel de procesos2 [14]. A este servicio o tambin se le llama multiplexacin. Proporcionado por el TCP y el e o UDP. Opcionalmente, corrige los errores de transmisin (modicacin, prdio o e da, duplicacin y reordenacin). Slo TCP. o o o Opcionalmente, controla el ujo y la congestin. Slo TCP. o o Opcionalmente, proporciona una conexin del tipo byte-stream. o Slo TCP. o No garantiza la transmisin de datos entre procesos en un tiempo o limitado (principalmente porque la capa de red no garantiza la comunicacin entre hosts en un tiempo limitado). TCP y UDP. o
2 Que

11.2 Servicios proporcionados por la capa de transporte

pueden ejecutarse en una misma mquina o sobre mquinas diferentes. a a

212

11.3.

El servicio de multiplexacin o

Redes de Computadoras, 2007/08

En el host emisor se realiza una multiplexacin (muchos procesos, una o unica capa de transporte/host) y en el proceso receptor una desmul tiplexacin (una unica capa de transporte/host, muchos procesos). o Nivel de Aplicacin o Nivel de Transporte Nivel de Red Nivel de Enlace Nivel F sico 11.3 El servicio de multiplexacin o 213

Puerto Mux

Puerto

Puerto Demux

Permite aprovechar el servicio de entrega de host-a-host proporcionado por la capa de red para ofrecer un servicio de entrega de proceso-aproceso.
Redes de Computadoras, 2007/08

Los procesos que se ejecutan dentro de un host son diferenciados por la capa de transporte a partir del puerto en el que estn escuchando. a En los paquetes de datos gurar el puerto destino. a

11.3 El servicio de multiplexacin o

214

11.4.

Sobre los puertos

Permiten que ms de una aplicacin utilice la red en un determinado a o intervalo de tiempo.


Redes de Computadoras, 2007/08

Cada puerto tiene asignado un nmero entre 0 y 65.535. u Los puertos que comprenden desde el 0 al 1.023 estn reservados para a aplicaciones estndares (como la Web que utiliza el puerto 80) [4]. a Dicha lista es mantenida por el IANA (Internet Assigned Numbers Authority, http://www.iana.org) y se puede consultar en el RFC 1700.3

3 En

Unix, esta informacin el S.O. la almacena en el chero /etc/services. o

215

Redes de Computadoras, 2007/08

Cap tulo 12

El UDP (User Datagram Protocol)


11.4 Sobre los puertos 216

12.1.

El UDP

RFC 768.
Redes de Computadoras, 2007/08

Multiplexa [14] y desmultiplexa [4]. Transmite datagramas (paquetes de datos que son transmitidos independientemente y sin previo establecimiento de conexin). o Opcionalmente, comprueba si se han producido errores de transmisin o (no los corrige). Cuando se emplea el UDP slo un proceso (receptor o emisor) puede o utilizar cada puerto.

12.1 El UDP

217

12.2.

Formato del datagrama UDP

0 15 16 31 +-------------------------+-------------------------+ | SrcPort | DstPort | +-------------------------+-------------------------+ | Length | Checksum | +-------------------------+-------------------------+ | | | Data | | | +-------------------------+-------------------------+ SrcPort = puerto del proceso emisor. DstPort = puerto del proceso receptor. Length = longitud en bytes del datagrama UDP (cabecera y datos). Checksum = checksum de la cabecera, pseudo-cabecera y datos. Data = datos a trasmitir (hasta 64 KB).

Redes de Computadoras, 2007/08

12.2 Formato del datagrama UDP

218

El checksum es opcional. 1. Si checksum = 0 signica que no se calcula.


Redes de Computadoras, 2007/08

2. Si checksum = 0, se calcula teniendo en cuenta la pseudocabecera, la cabecera del datagrama UDP y los datos a transmitir. El puerto del proceso emisor se utiliza para que el proceso receptor pueda contestar.

12.2 Formato del datagrama UDP

219

12.3.

La suma de comprobacin (checksum) o

RFC 1071.
Redes de Computadoras, 2007/08

Forma simple de control de errores. Consiste en calcular la suma aritmtica mdulo 16 de todas las pae o labras del datagrama UDP y de la pseudo-cabecera, y calcular su complemento a 1 (negativo). Se puede ignorar, permitiendo as la recepcin de un datagrama con o errores [14].

12.3 La suma de comprobacin (checksum) o

220

La pseudo-cabecera no se transmite. Se utiliza en el checksum para vericar, entre otras cosas, que el datagrama UDP llega al destino correcto y que el host origen es el que indica el IP. Su contenido es:
Redes de Computadoras, 2007/08

0 7 8 16 31 +---------------------------------------------------+ | SrcIPAddr | +-------------------------+-------------------------+ | DstIPAddr | +------------+------------+-------------------------+ | ZERO | PROTO | Length | +------------+------------+-------------------------+ SrcIPAddr = direccin IP del host emisor (proporcionada por el IP). o DstIPAddr = dir. IP del host receptor (prop. por la aplicacin). o ZERO = byte de relleno igual a 0. PROTO = identicador de protocolo (17 para UDP). Length = tamao del datagrama UDP. n 12.3 La suma de comprobacin (checksum) o 221

El receptor realiza dicha suma, pero usando adems la suma de coma probacin. Si el resultado es 0, entonces presumiblemente no existen o errores de transmisin. o
Redes de Computadoras, 2007/08

12.3 La suma de comprobacin (checksum) o

222

12.4.

Cundo usar el UDP? a

Cuando queremos minimizar la latencia


Redes de Computadoras, 2007/08

Cuando usamos el UDP no existe establecimiento de conexin. En o aplicaciones como el DNS esto es fundamental. Con el UDP el emisor controla exactamente cundo los datos son a enviados.

Cuando se permite la prdida de datos e


Existen aplicaciones donde la no llegada de datos es peor que la llegada de ellos aunque modicados (probablemente en unos pocos bits). En aplicaciones como en la transmisin de audio y v o deo esto es importante.

12.4 Cundo usar el UDP? a

223

Cuando queremos hacer transmisiones multicast


UDP es ideal para transmitir de uno a muchos porque la replicacin o del datagrama UDP por parte de los routers no implica ninguna modicacin en el comportamiento del emisor (en concreto, la tarea de o emitir en unicast o en multicast es bsicamente la misma e indea pendiente del nmero de receptores a los que llega el paquete). En u aplicaciones como la difusin de audio y v o deo esto es esencial.

Redes de Computadoras, 2007/08

Cuando queremos controlar el ujo


Usando UDP, la aplicacin sabe qu datos son enviados en cada ino e stante. En aplicaciones como en la transmisin de ujos de audio el o control de ujo lo impone la aplicacin, no la capa de transporte. o

12.4 Cundo usar el UDP? a

224

Redes de Computadoras, 2007/08

12.4 Cundo usar el UDP? a 225

12.5.

Sobre el control de la congestin o

El UDP no realiza control de la congestin. o


Redes de Computadoras, 2007/08

Transmitir datos de forma masiva usando UDP es una forma potencialmente peligrosa de congestionar la red.

226

Redes de Computadoras, 2007/08

Cap tulo 13

Transferencia able de datos


12.5 Sobre el control de la congestin o 227

13.1.

La transferencia able de datos

Se utiliza para transmitir datos sin errores de transmisin y para cono trolar el ujo1 .
Redes de Computadoras, 2007/08

Se implementa en diferentes niveles [14], dependiendo de las necesidades: 1. Capa de aplicacin. T o picamente porque ningn nivel inferior u la implementa o no lo hace adecuadamente. 2. Capa de transporte. Es el lugar natural de implementacin o (TCP) porque una gran cantidad de aplicaciones necesitan garantizar la entrega correcta. 3. Capa de enlace de datos. Se implementa a este nivel cuando la tasa de errores de un enlace es muy alta y ha de realizarse el control, nodo a nodo.

13.1 La transferencia able de datos

1 otra

forma de evitar errores.

228

13.2.

Deteccin y correccin de errores o o

Los cdigos de deteccin de errores introducen redundancia y los de o o correccin de errores ms an. o a u
Redes de Computadoras, 2007/08

Los cdigos de deteccin de errores no indican los errores, slo que se o o o han producido. Los cdigos de correccin de errores indican los errores y por tanto se o o pueden corregir. Ninguno de estos cdigos resuelve los problema de la prdida de pao e quetes de datos y/o su desordenacin. o

13.2 Deteccin y correccin de errores o o

229

13.3.

Protocolos ARQ

Redes de Computadoras, 2007/08

Los protocolos de solicitud de repeticin automtica o protocolos ARQ o a (Automatic Repeat reQuest) retransmiten aquellos paquetes de datos que han llegado con errores. Utilizan cdigos de deteccin de errores. o o Nacieron como una alternativa automatizada a la vericacin de o eco2 [10].

de control manual de errores que se utiliza en programas de acceso remoto como Telnet. Consiste en una tcnica muy sencilla: cuando el usuario teclea un carcter, e a ste es transmitido hasta la computadora y se reenv de nuevo hacia el terminal que lo e a presenta en pantalla. Si el usuario se da cuenta de que lo que se muestra no coincide con lo que l esperaba, es el usuario el encargado de realizar la correccin de errores oportuna e o usando los caracteres de control de los que dispone el terminal.

2 Mtodo e

13.3 Protocolos ARQ

230

13.4.

El protocolo ARQ con parada y espera (stop and wait)

Redes de Computadoras, 2007/08

Se trata del protocolo ARQ ms sencillo. Se basa en las siguientes a reglas: 1. El emisor env un paquete y espera a que el receptor conrme a positiva o negativamente su recepcin. o 2. El receptor env un reconocimiento positivo3 o ACK (ACKnowla edgement) cuando el paquete ha llegado sin errores. 3. El receptor env un reconocimiento negativo o NAK (Negative a AcKnowledgement) cuando el paquete ha llegado con errores, aunque esto es opcional4 . 4. El emisor lanza un temporizador para cada paquete enviado con el objetivo de saber cunto tiempo debe esperar una conrmaa cin. o
3 Algo 4 Sin

13.4 El protocolo ARQ con parada y espera (stop and wait)

similar a un acuse de recibo en el correo ordinario. embargo, su uso mejora el rendimiento [8].

231

13.4.1.

NAK vs slo-ACK o
Emisor
Datos ACK

Lanzamos Temporizador
Redes de Computadoras, 2007/08

Receptor Trama Aceptada

Emisor
Datos ACK Datos

Receptor Trama Aceptada

Paramos y Lanzamos Temporizador

Ruido
Datos NAK Datos ACK

Trama Rechazada

Trama Rechazada

Trama Time-out Aceptada

Datos ACK

Trama Aceptada

Tiempo Con NAKs

Sin NAKs

Ntese que la versin que utiliza NAKs es ms rpida! o o a a

13.4 El protocolo ARQ con parada y espera (stop and wait)

232

13.4.2.

Numeracin de los paquetes o

Todos los paquetes deben ser enumerados para evitar duplicados.


Redes de Computadoras, 2007/08

Emisor
Datos ACK Datos ACK

Receptor Trama Aceptada

Emisor
Datos 0 ACK Datos 0 ACK

Receptor Trama Aceptada

Trama Duplicada Aceptada

Trama Rechazada

13.4 El protocolo ARQ con parada y espera (stop and wait)

233

13.4.3.

Conrmacin de los paquetes duplicados o

Los paquetes duplicados deben conrmarse positivamente para evitar interbloqueos.


Redes de Computadoras, 2007/08

Emisor
Datos 0 ACK Datos 0

Receptor Trama Aceptada Trama Rechazada

Emisor
Datos 0 ACK Datos 0 ACK Datos 1

Receptor Trama Aceptada Trama Rechazada

Datos 0

Trama Rechazada

Trama Aceptada

13.4 El protocolo ARQ con parada y espera (stop and wait)

234

13.4.4.

Numeracin de los paquetes de conrmacin o o

Los paquetes de conrmacin deben enumerarse tambin para evitar o e la prdida de datos. En el ejemplo (izq), el primer Datos 1 se pierde. e
Redes de Computadoras, 2007/08

Emisor
Datos 0

Receptor Trama Aceptada

Emisor
Datos 0

Receptor Trama Aceptada

ACK Datos 0 Datos 1 ACK Datos 0 ACK Datos 1

ACK 0 Datos 0

Trama Rechazada Conrmacin o Inesperada Trama Rechazada Trama Aceptada

Datos 1 ACK 0 Datos 1

Trama Rechazada

Trama Aceptada

13.4 El protocolo ARQ con parada y espera (stop and wait)

235

13.4.5.

El protocolo falla si los paquetes se desordenan

El enlace de transmisin debe ser punto a punto, es decir, los paquetes o no pueden desordenarse [32].
Redes de Computadoras, 2007/08

Emisor

Receptor

0 0 ACK0 1 ACK1 0 ACK0 1 Aceptada Aceptada Aceptada

Aceptada

13.4 El protocolo ARQ con parada y espera (stop and wait)

236

13.4.6.

Rendimiento pobre

Redes de Computadoras, 2007/08

ARQ con parada y espera no es adecuado cuando los retrasos de extremo a extremo y las tasas de transmisin de los enlaces son altas o [14, 22].
Emisor ttran RTT tprop Receptor tprop ttran Emisor Receptor

Parada y Espera

Protocolo Ideal

13.4 El protocolo ARQ con parada y espera (stop and wait)

237

Ejemplo 13.11: Supongamos que se estn transmitiendo paa quetes de 1.000 bits a travs de un canal de 1 Mbps y que el e RTT del enlace es de 10 ms. En la gura
Redes de Computadoras, 2007/08

Emisor 1 ms 10 ms

Receptor

se muestra el time-line asociado a la transmisin de un paquete o de datos. El emisor necesita ttran = 103 b/paquete = 1 ms/paquete. 106 b/s

Como cada 11 ms se logran enviar 1.000 bits, es lgico peno sar que cada 11 s se lograr enviar 106 bits. Por lo tanto la an transmisin es 11 veces ms lenta de lo deber ser. o a a 13.4 El protocolo ARQ con parada y espera (stop and wait)

238

13.5.

ARQ con retroceso a n (go back n)

Redes de Computadoras, 2007/08

En GBN, el emisor puede transmitir tantos paquetes (n) como sean necesarios para que no se tenga que esperar (dejando de transmitir datos) a un reconocimiento. A esto se le llama pipelining (vase el ape plet http://www.ace.ual.es/~vruiz/docencia/redes/teoria/ applets/gbn.html). Emisor Receptor Ejemplo (n = 3): 1 2 3

13.5 ARQ con retroceso a n (go back n)

239

13.5.1.

Longitud de la secuencia de conteo

La longitud l de la secuencia de conteo debe ser mayor que el nmero u de paquetes n sin conrmar (l > n):
Redes de Computadoras, 2007/08

Emisor A0 B1 C2

Receptor A0 B1 C2

Emisor

Receptor

ACK0, Aceptar ACK1, Aceptar ACK2, Aceptar

ACK0, Aceptar ACK1, Aceptar ACK2, Aceptar

A0 B1 C2

ACK0, Aceptar ACK1, Aceptar ACK2, Aceptar

A0 B1 C2

ACK0, Rechazar ACK1, Rechazar ACK2, Rechazar

n=l=3

n = 3, l = 4

13.5 ARQ con retroceso a n (go back n)

240

13.5.2.

Tratamiento de los errores

Un NAKk signica que hay que retransmitir el paquete k y siguientes. Ejemplo:


Redes de Computadoras, 2007/08

Emisor A0 B1

Receptor

ACK0, Aceptar NAK1, Rechazar Ignorar

C2 B1 C2

ACK1, Aceptar ACK2, Aceptar

n = 2, l = 3 13.5 ARQ con retroceso a n (go back n)

241

Ejemplo: A0 B1 C2 D3 E4 F5 C2 D3

Emisor

Receptor

Redes de Computadoras, 2007/08

ACK0, Aceptar ACK1, Aceptar NAK2, Ignorar Ignorar Ignorar ACK2, Aceptar ACK3, Aceptar

n = 5, l = 6 Los paquetes de datos que llegan fuera de secuencia, es decir, que no estn precedidos de los paquetes anteriores, son descartados. Esto se a hace porque de todas formas el emisor los va a retransmitir. 13.5 ARQ con retroceso a n (go back n) 242

13.5.3.

Conrmacin acumulativa o

Minimiza el nmero de conrmaciones: u


Redes de Computadoras, 2007/08

1. Un ACKk signica que todos los paquetes enviados antes que el k-simo paquete han llegado con xito. e e 2. Un NAKk signica que todos los paquetes enviados antes que el k-simo han llegado con xito, pero el paquete k debe ser e e retransmitido.

13.5.4.

Piggybacking [32]

En la prctica muchas veces tanto el emisor como el receptor son a a su vez receptor y emisor (respectivamente). Una forma de disminuir el consumo de ancho de banda en este caso es transmitir las conrmaciones dentro de los paquetes de datos si estos se env con la an suciente frecuencia.

13.5 ARQ con retroceso a n (go back n)

243

13.6.

ARQ con repeticin selectiva (selective o repeat o SR)

Redes de Computadoras, 2007/08

GBN presenta un rendimiento pobre cuando los enlaces tienen altas tasas de transmisin, altas latencias y relativamente altas tasas de o errores porque un error en un unico paquete de los que estn viajando a (que pueden ser muchos) implica la retransmisin de todos los que lo o suceden en el enlace (que ya han sido transmitidos) [32].

13.6 ARQ con repeticin selectiva (selective repeat o SR) o

244

SR retransmite slo aquellos paquetes que han llegado con errores, es o decir, cuando se recibe un NAKk el emisor retransmite slo el paquete o k. Ejemplo:
Redes de Computadoras, 2007/08

Emisor A0 B1 C2 D3 E4 B1 F5

Receptor

Aceptar NAK1, Rechazar Aceptar Aceptar Aceptar ACK4, Aceptar

13.6 ARQ con repeticin selectiva (selective repeat o SR) o

245

13.6.1.

Longitud de la secuencia de conteo

Redes de Computadoras, 2007/08

La longitud de la secuencia de conteo l debe ser al menos el doble que el nmero mximo n de paquetes enviados sin conrmacin (l 2n). u a o En el ejemplo (izq.) A0 y B1 se duplican:
Emisor A0 B1 C2 Receptor A0 B1 C2 Emisor Receptor

Aceptar Aceptar ACK2, Aceptar Esperando 3, 0 o 1 Aceptar Aceptar Rechazar n = 3, l = 4

Aceptar Aceptar ACK2, Aceptar Esperando 3, 4 o 5 Rechazar Rechazar Rechazar

A0 B1 C2

A0 B1 C2

n = 3, l = 6

13.6 ARQ con repeticin selectiva (selective repeat o SR) o

246

Tratamiento de los errores (otros ejemplos)


Un NAKk signica que hay que retrasmitir slo el paquete k: o Emisor
Redes de Computadoras, 2007/08

Receptor

A0 B1 C2 D3 E4 F5 C2 G6

Aceptar Aceptar NAK2, Rechazar Aceptar Aceptar Aceptar ACK5, Aceptar Aceptar n = 6, l = 12

13.6 ARQ con repeticin selectiva (selective repeat o SR) o

247

Emisor A0 B1 C2 D3 E4 B1 F5

Receptor

Redes de Computadoras, 2007/08

Aceptar NAK1 Aceptar Aceptar Aceptar ACK4, Aceptar

n = 6, l = 12

13.6 ARQ con repeticin selectiva (selective repeat o SR) o

248

13.7.
13.7.1.
Redes de Computadoras, 2007/08

Consideraciones sobre la eciencia


Tasa de transmisin versus tasa de errores o

La tasa de transmisin se degrada al aumentar la tasa de errores [17]: o Tasa de Transmisin o Capacidad del Enlace Overhead del Sistema de Transmisin o Todas las Tramas Afectadas por Errores 0 0 13.7 Consideraciones sobre la eciencia 249 Tasa de Errores

13.7.2.

Latencia media versus tasa de errores

La latencia media aumenta al aumentar la tasa de errores:


Redes de Computadoras, 2007/08

Latencia Media

No Existe Retransmisin o 0 0

tprop + ttran
Tasa de Errores

13.7 Consideraciones sobre la eciencia

250

13.7.3.

Tasa de transmisin versus tamao del paquete o n

La tasa de transmisin depende del tamao del paquete [17]: o n


Redes de Computadoras, 2007/08

Tasa de Transmisin o Capacidad del Enlace Tamao Optimo n

0 0 Overhead del Sistema de Transmisin o Volumen de Datos Retransmitidos Excesivo

Tamao de Trama n

13.7 Consideraciones sobre la eciencia

251

13.8.

Solucin al desorden de los paquetes o

Redes de Computadoras, 2007/08

Es necesario utilizar secuencias de conteo sucientemente largas [8]. Por ejemplo, en TCP se utiliza 232 . Para el caso concreto del ejemplo planteado para parada y espera es suciente contar hasta 3:
Emisor Emisor Receptor Receptor

0 0 0 ACK0 1 ACK1 0 ACK0 1 Aceptada Aceptada Aceptada Conrmacin o Inesperada Aceptada 2 Aceptada 0 ACK0 1 ACK1 2 ACK0 Aceptada Aceptada Ignorada

13.8 Solucin al desorden de los paquetes o

252

Redes de Computadoras, 2007/08

Cap tulo 14

Control del ujo y de la congestin o


13.8 Solucin al desorden de los paquetes o 253

14.1.

Control de ujo

El control de ujo adeca la velocidad de transferencia del emisor a u la velocidad de procesamiento del receptor [14].
Redes de Computadoras, 2007/08

Como hemos visto, los protocolos ARQ implementan impl citamente el control de ujo porque es el receptor el que marca qu cantidad de e datos desea recibir. Esto se hace en ultima medida controlando el nmero mximo de u a paquetes que pueden enviarse sin conrmacin, en otras palabras, o controlando el tamao de la ventana emisora. n

14.1 Control de ujo

254

14.2.

Control de la congestin o

La congestin es un trmino que dene la carga excesiva de la red de o e comunicacin [14]. o


Redes de Computadoras, 2007/08

En presencia de la congestin ocurre que la tasa de entrada de datos o a la red (en promedio) es superior a la tasa de salida de datos de la red (tambin en promedio). En la prctica lo que se obtiene es una e a curva de la forma: Tasa de Salida

Congestin o

Tasa de Entrada

14.2 Control de la congestin o

255

14.3.

Causas y costes de la congestin o


El nivel de congestion aumenta

Redes de Computadoras, 2007/08

Aumentan las retransmisiones innecesarias Aumentan las retransmisiones necesarias

Aumentan las latencias de los paquetes Los routers desechan paquetes

14.3 Causas y costes de la congestin o

256

14.4.

Dnde se realiza el control de la cono gestin? o


1. Control de la congestin entre extremos. La capa de red no o proporciona ningn soporte expl u cito a la capa de transporte para controlar la congestin. De hecho, sta debe ser inferida por los o e sistemas nales basndose exclusivamente en la observacin del a o comportamiento de la red (prdidas y retrasos de paquetes de e datos) [14]. 2. Control de la congestin asistido por la red. La capa de red o (y en concreto los routers) proporcionan una retro-alimentacin o expl cita al emisor sobre el estado de la congestin de la red. o

Existen dos posibilidades:


Redes de Computadoras, 2007/08

257

Redes de Computadoras, 2007/08

Cap tulo 15

El TCP (Transmission Control Protocol)


14.4 Dnde se realiza el control de la congestin? o o 258

15.1.

Servicios proporcionados

Protocolo de transporte por excelencia en Internet [24, 4, 14].


Redes de Computadoras, 2007/08

RFCs 793 (principalmente), 854, 1122, 1323, 2018, 2581 y 2988. Transferencia able de datos (control de errores y de ujo) basado en un protocolo ARQ con pipelining (mezcla de GBN y SR). Es orientado a conexin (antes de transmitir sta se establece). o e Las conexiones son siempre unicast (entre dos procesos). No se puede realizar multicasting. Multiplexacin: el TCP distingue procesos dentro del mismo host a o partir del puerto en el que escuchan y a quin estn escuchando. e a Control agresivo de la congestin (por el bien comn). o u Full-duplex (comunicacin en ambos sentidos al mismo tiempo). o Los procesos ven byte-streams, no datagramas o segmentos. 15.1 Servicios proporcionados 259

15.2.

El contexto de trabajo

Corre encima del IP (capa de red) lo que signica que los paquetes de datos se pueden perder, desordenar, duplicar y llegar con errores.
Redes de Computadoras, 2007/08

Las latencias son muy variables lo que complica conocer la duracin o de los temporizadores utilizados para conocer cundo hay que retransa mitir los segmentos. Se implementa slo en los sistemas nales. Los routers no distinguen o entre paquetes UDP o TCP (ellos ven datagramas, no conexiones). Supone que la red no proporciona informacin acerca de la congestin, o o lo que signica un ahorro considerable en la complejidad de los dispositivos de nivel 3 (routers) e inferiores.

15.2 El contexto de trabajo

260

15.3.
15.3.1.
Redes de Computadoras, 2007/08

Transmisin de datos o
El segmento TCP

Aunque las aplicaciones leen y escriben un ujo de bytes, el TCP agrupa los bytes en segmentos que son transmitidos como los datagramas UDP. Esto se hace para minimizar el overhead provocado por las cabeceras de los segmentos (20 bytes como m nimo).

15.3 Transmisin de datos o

261

El tamao de cada segmento depende de: n 1. El MTU (Maximum Transfer Unit)1 de la red directamente conectada (en la que est el host). Si el tamao del segmento es a n ms grande que el MTU, el IP fragmentar los segmentos y si a a uno se pierde, el TCP tendr que retransmitir todo el segmento a a nivel de transporte, no el sub-segmento (paquete) perdido a nivel de IP. 2. El instante en que el emisor realiza un push del ujo (enviar ahora). 3. Un tiempo mximo de espera. a

Redes de Computadoras, 2007/08

15.3 Transmisin de datos o

1 Tamao n

mximo de la trama de datos que el medio f a sico soporta.

262

El formato del segmento TCP es: 0 4 10 16 31 +--------+-------+--------+-------------------------+ | SrcPort | DstPort | +-------------------------+-------------------------+ | Seq(uence Number) | +-------------------------+-------------------------+ | Ack(nowledgment) | +--------+-------+--------+-------------------------+ | HdrLen | 0 | Flags | (Receiver) Window | +--------+-------+--------+-------------------------+ | Checksum | UgrPtr | +-------------------------+-------------------------+ | Options (variable) | +-------------------------+-------------------------+ | | | Data | | | +-------------------------+-------------------------+ 15.3 Transmisin de datos o 263

Redes de Computadoras, 2007/08

Puerto del proceso emisor. Puerto del proceso receptor. Indice del primer byte de datos del segmento dentro del ujo de datos. Ack Siguiente byte esperado. Window Tamao de la ventana de recepcin del emisor del segmento n o (nm. de bytes que puede recibir sin enviar un nuevo ACK). u HdrLen Longitud de la cabecera en palabras de 32 bits. Flags 6 bits que pueden representar: SYN = Sincronizacin de nm. de secuencia. o u FIN = Fin de la transmisin. o RESET = Fin anmalo de la transmisin. o o PUSH = Segmento enviado mediante un push. URG = Datos urgentes (no ignorar en receptor). ACK = Segmento contiene Ack. Checksum De la cabecera, pseudo-cabecera y datos. Obligatorio. UgrPtr Punto donde se nalizan los datos urgentes. Options MSS, marca temporal y factor de escala. Data Datos transmitidos. 15.3 Transmisin de datos o 264 SrcPort DstPort Seq

Redes de Computadoras, 2007/08

La pseudo-cabecera en TCP es idntica a la del UDP, excepto en que e el campo PROTO = 6.

Redes de Computadoras, 2007/08

15.3 Transmisin de datos o

265

15.3.2.

EL proceso de desmultiplexacin o

Est basada en conexiones (par de puntos extremos), no en puertos. a


Redes de Computadoras, 2007/08

El TCP diferencia a un proceso dentro de un host a partir del par de puntos extremos (punto extremo origen, punto extremo destino) donde un punto extremo est formado por un par a (IP del host, nmero de puerto). u Por tanto, dos procesos distintos en un mismo host que usan en un mismo puerto pueden estar conectados a dos procesos distintos en otro host si estos utilizan puertos de salida diferentes (ver el progama netstat de Unix).

15.3 Transmisin de datos o

266

15.3.3.

Establecimiento de la conexin o

Se utiliza el Algoritmo Three-Way Handshake:


Redes de Computadoras, 2007/08

Cliente Peticin de o conexin o SYN, Seq = x

Servidor

Conexin o aceptada SYN, Seq = y ACK, Ack = x + 1 Conexin o establecida ACK, Ack = y + 1

15.3 Transmisin de datos o

267

x e y, los nmeros de secuencia inciales, suelen ser un nmeros aleatou u rios. Motivos: 1. Para minimizar la probabilidad de que un segmento de una conexin anterior ya terminada y que se encuentra viajando por o la red sea tomado errneamente por un segmento vlido de una o a conexin posterior entre los mismos puntos extremos [14]. o 2. Para evitar el ataque del nmero de secuencia [18] que consiste u en que un cliente ilegal puede suplantar a un cliente legal averiguando los nmeros de secuencia de los segmentos2 , usando u su IP y su puerto de salida. Tras la suplantacin el cliente legal o podr acceder a datos restringidos o cerrar la conexin con el a o servidor. Los dos primeros segmentos son de control, ninguno puede transportar datos. El tercero s puede transportar datos [15]. A partir del tiempo
que seguro es ms sencillo si los nmeros de secuencia iniciales estuvieran predea u terminados.
2 Lo

Redes de Computadoras, 2007/08

15.3 Transmisin de datos o

268

en l nea azul, los procesos pueden emitir y recibir segmentos normales con datos.

Redes de Computadoras, 2007/08

15.3 Transmisin de datos o

269

15.3.4.

El tamao mximo de los segmentos n a

Redes de Computadoras, 2007/08

Los extremos de una transmisin TCP necesitan conocer de antemano, o a partir del establecimiento de la conexin, el tamao mximo de los o n a payloads (la parte con datos) de los segmentos transmitidos [14]. A este valor se le llama tamao mximo de segmento o MSS (Maximum n a Segment Size). Dicho valor se establece en el campo Options y depende normalmente del MTU de la red asociada. Si el MSS ms el tamao de las correa n spondientes cabeceras es mayor que el MTU, el IP fragmentar el a segmento. La prdida (por parte del IP) de uno de los fragmentos e signica que el TCP deber reenviar todo el segmento. a Por tanto, si el segmento es demasiado grande, la cantidad de datos retransmitidos por errores de transmisin aumenta y disminuye la tasa o efectiva de transmisin. o

15.3 Transmisin de datos o

270

15.3.5.

Transmisin de datos urgentes o

Redes de Computadoras, 2007/08

Existen situaciones donde los datos deben entregarse a la aplicacin o receptora lo antes posible. TCP indica esto en sus segmentos activando el ag URG. El tratamiento de los segmentos urgentes se produce slo entre las o capas de transporte del emisor y del receptor. El IP es ajeno y trata por igual a todos los segmentos, independientemente de si el ag URG est activado. a Cuando dicho ag est activado, UrgPtr indica hasta qu parte de a e los datos a partir del comienzo de los datos son de carcter urgente. a Cuando llega un segmento con el ag UGR activado hasta el receptor, la parte urgente de ste es entregado al proceso receptor lo antes e posible.

15.3 Transmisin de datos o

271

15.3.6.

Cierre de la conexin o

Generalmente es el cliente el que cierra la conexin. Esto se hace con o el Algoritmo Four-Way Handshake:
Redes de Computadoras, 2007/08

15.3 Transmisin de datos o

272

Cliente FIN, Seq = x


Redes de Computadoras, 2007/08

Servidor

ACK, Ack = x + 1 ACK, Ack = x + 1 FIN, Seq = y ACK, Ack = y + 1 2 MSL Conexin o cerrada

La aplicacin servidora o reconoce el cierre.

Conexin o cerrada

15.3 Transmisin de datos o

273

El cliente, tras la emisin del segundo ACK espera t o picamente 2 MSL3 (2 60 segundos en la mayor de las implementaciones [22, 5]) que a es intervalo de tiempo en el cual podr recibirse otro ACK+FIN del a servidor si el ACK del ciente se perdiera y no llegara al servidor.
Redes de Computadoras, 2007/08

Si esto ultimo ocurriera, el servidor reenviar el ACK+FIN y si este a se retrasara lo suciente, otra aplicacin en el host cliente podr o a establecer una nueva conexin con la aplicacin servidora, usando o o el mismo puerto de salida. Si a continuacin llegara el ACK+FIN o retrasado, dicha conexin se cerrar puesto que el cliente considera o a que el servidor desea cerrar la conexin [22]. o

3 MSL o Maximun Segment Lifetime es el tiempo mximo estimado de vida de un a paquete IP, y por lo tanto de un segmento, en Internet.

15.3 Transmisin de datos o

274

15.3.7.

El diagrama de estados

Redes de Computadoras, 2007/08

Frecuentemente se representa mediante una mquina de estados nita a donde los nodos representan estados y las transiciones se etiquetan mediante evento/accin. o Los eventos puede estar provocados por la llegada de nuevos segmentos con informacin de control (SYN, FIN, etc.) o porque la aplicacin o o local realiza una llamada al TCP (Apertura Pasiva, Cierre, etc.). No siempre que se produzca un evento necesariamente se genera una salida. En este caso slo cambiamos de estado. o En rojo aparecen las transisiones normalmente seguidas por el cliente y en verde las seguidas por el servidor.

15.3 Transmisin de datos o

275

Conexin o

Lo que sea/RESET

e Ap

Comienzo

Cerrado

N SY a/ tiv Ac e) ra ent rtu (Cli

Redes de Computadoras, 2007/08

SY

Apertura Pasiva (Servidor) ACK YN+ Escucha N/S


RES ET

Cierre

Env o /S

YN

SYN Recibido

SYN/SYN+ACK
AC K/ SY N

CK /A CK +A

SYN Enviado

Cierre/SYN Cierre/FIN
IN /F

Establecido (Transmitir)

Cie

rre

FIN /A CK

FIN Espera 1 ACK/ Tras 2 MSL

FIN/ACK Cerrando
FIN + AC K/ AC K

Espera de Cierre ACK/ Cierre/FIN+ACK Ultimo ACK

ACK/ Espera Cronometrada

(RTT mx) a

FIN Espera 2

FIN+ACK/ACK

Desconexin o

15.3 Transmisin de datos o

276

15.4.

Control de ujo y de errores

El TCP utiliza 2 colas circulares (ventanas deslizantes organizadas en bytes) en cada host, una para transmitir y otra para recibir.
Redes de Computadoras, 2007/08

La estructura de la cola de emisin es la siguiente: o


Proceso Emisor Capa de Aplicacin o TCP Ventana Deslizante Emisora Datos Enviados y Conrmados Datos Enviados pero no Conrmados Datos a Enviar sin Retardo Datos no Generados

Ultimo Byte Conrmado

Ultimo Byte Enviado

Ultimo Byte Generado

15.4 Control de ujo y de errores

277

La estructura de la cola de recepcin es: o

Redes de Computadoras, 2007/08

Proceso Receptor Capa de Aplicacin o TCP Ventana Deslizante Receptora Datos ya Consumidos Datos Conrmados pero an u no Consumidos Datos en Trnsito a Datos Recibidos pero no Conrmados Datos por Recibir

Ultimo Byte Consumido

Siguiente Byte Esperado

El control de ujo lo realiza el receptor controlando el tamao de la n ventana emisora del emisor (campo Window). 15.4 Control de ujo y de errores 278

Redes de Computadoras, 2007/08

Cuando la ventana emisora del emisor se hace 0, el proceso emisor se bloquea, lo que signica que el receptor no va a recibir ms datos, a al menos temporalmente.4 Como el emisor no recibe un segmento de control del receptor si ste no le env un segmento con Window > 0, e a el emisor peridicamente trata de enviarle 1 byte de datos al receptor. o Mientras el receptor no puede recibir ms datos, un segmento con a Window = 0 es enviado. Sin embargo, cuando el receptor puede recibir datos, este campo es > 0 y la ventana del emisor es ampliada.

15.4 Control de ujo y de errores

4 Excepto

si llega un segmento con su URG activo.

279

15.4.1.

El tamao de las ventanas n

Redes de Computadoras, 2007/08

Cuando el factor de escala5 del campo Options = 1, el tamao mxin a mo de la ventana del emisor es de 64 KB. Este l mite es demasiado bajo para la mayor de los enlaces de media y larga distancia (RTT a 100 ms) [22]: Enlace T1 Ethernet T3 Fast Ethernet STS-3 STS-12 STS-24 Capacidad 1,5 Mbps 10 Mbps 45 Mbps 100 Mbps 155 Mbps 622 Mbps 1,2 Gbps 100 ms Capacidad 18 KB 122 KB 549 KB 1,2 MB 1,8 MB 7,4 MB 14,8 MB

El receptor puede utilizar el factor de escala para aumentar hasta 232 bytes el tamao de la ventana del emisor. n 15.4 Control de ujo y de errores
5 Expresado

siempre como una potencia de 2.

280

15.4.2.

El tamao de los nmeros de secuencia n u

Redes de Computadoras, 2007/08

TCP utiliza nmeros de secuencia de 32 bits y el tamao mximo de u n a las ventanas del emisor y del receptor es de 216 216 = 232 bytes. El primer factor 216 est determinado por el campo Window (de 16 bits) a y el segundo por un factor de escala presente en el campo Options (de 8 bits, aunque slo puede llegar a valer 16). Ntese que estando o o TCP basado en el protocolo ARQ con pipelining, excepto en el caso extremo se cumple siempre que la longitud de la secuencia de conteo es siempre superior al tamao mximo de la ventana emisora. n a Por desgracia esta condicin no es suciente, pudindose dar el cao e so de que si la red retrasa sucientemente un segmento, ste puede e suplantar a otro en un momento posterior de dicha u otra transmisin. Adems, este factor aumenta proporcionalmente con la tasa o a de transmisin de la red [14]. En otras palabras, teniendo en cuenta o que el MSL = 60 segundos, 32 bits son sucientes para la mayor de a las situaciones, pero no para todas [22]: 15.4 Control de ujo y de errores 281

Redes de Computadoras, 2007/08

Enlace T1 Ethernet T3 Fast Ethernet STS-3 STS-12 STS-24

Capacidad 1,5 Mbps 10 Mbps 45 Mbps 100 Mbps 155 Mbps 622 Mbps 1,2 Gbps

Tiempo hasta wrap-around 6,4 horas 57 minutos 13 minutos 6 minutos 4 minutos 55 segundos 28 segundos

Wrap-around = Situacin que se produce cuando el nmero de o u secuencia sobrepasa el l mite 232 1 y comienza de nuevo por el principio. Para solucionar el problema, en el campo Options de los segmentos TCP se coloca una marca de tiempo. De esta forma el receptor puede saber cul de los dos segmentos que tienen el mismo nmero a u de secuencia es el ms viejo. a

15.4 Control de ujo y de errores

282

15.4.3.

Retransmisin rpida o a

Redes de Computadoras, 2007/08

El TCP no usa NAKs. Sin embargo, cuando se pierde un segmento el emisor puede percatarse de ello antes de que expire su temporizador si recibe uno o ms ACKs duplicados, es decir, cuando recibe un a reconocimiento para un segmento que ya hab sido reconocido. a En la prctica, cuando se reciben 3 ACKs del mismo segmento no a se espera a que expire el temporizador y se realiza una retransmisin o rpida del segmento [14]. Los diseadores del TCP estimaron que a n esperar slo a una duplicacin del ACK podr fallar a la hora de o o a estimar una prdida cuando en realidad lo que ha ocurrido es que un e segmento ha adelantado a otro.

15.4 Control de ujo y de errores

283

15.4.4.

El s ndrome de la ventana tonta

Se genera con frecuencia cuando conectamos un emisor rpido a un a receptor lento.


Redes de Computadoras, 2007/08

El receptor consume los datos byte a byte, y con cada uno de ellos env un segmento de conrmacin al emisor. El resultado es que los a o segmentos enviados slo contienen un byte de datos lo que consume o muchos recursos de la red.6 La misma situacin aparece si el emisor es demasiado ansioso y no o espera a tener sucientes datos antes de enviarlos. Para prevenirlo: 1. El receptor tratar de evitar el anunciar ventanas pequeas. En a n la prctica espera a recibir a m n(Window/2, MSS) bytes,
6 La eciencia desde el punto de vista del TCP/IP ser de 1/41, 20 bytes de la cabecera a TCP y otros 20 de la IP.

15.4 Control de ujo y de errores

284

Redes de Computadoras, 2007/08

donde Window es el tamao de la ventana del receptor. Esto n implica que los ACKs pueden retrasarse indenidamente lo que supone un problema para el emisor (para el clculo del timea out) y para la red (por las retransmisiones innecesarias debidos a dichos retrasos). En la prctica el TCP limita el retraso mximo a a de un ACK a 500 ms. 2. El emisor tratar de evitar el usar segmentos pequeos (tinya n grams), es decir, acumular datos hasta generar segmentos a iguales al MSS mientras no reciba un ACK. As si la apli, cacin emisora es el cuello de botella y la aplicacin receptora no o o est ansiosa (no env ACKs constantemente), el tamao de los a a n segmentos ser grande. A este procedimiento se le conoce como a Algoritmo de Nagle.

15.4 Control de ujo y de errores

285

15.5.

Control de la congestin o

Si el TCP percibe que la red se est congestionando disminuye la tasa a de transmisin y viceversa. o
Redes de Computadoras, 2007/08

Un emisor generalmente no conoce dnde ni por qu se est proo e a duciendo la congestin. Simplemente experimenta un incremento en o los RTTs y tal vez reciba algn paquete ICMP para informar de esta u situacin. Ante ello, el TCP debe reducir la tasa de transmisin [14]. o o Si la congestin se hace ms severa los routers comienzan a descartar o a paquetes. El TCP debe percatarse de este problema y no retransmitirlos hasta que la congestin cese. o Por este motivo, el tamao de la ventana emisora no slo depende n o de lo que indica el receptor (control del ujo), sino que tambin va a e tener en cuenta el nivel de congestin. o

15.5 Control de la congestin o

286

En la prctica, el tamao de la ventana emisora SenderW indowSize a n va a ser igual al menor del tamao indicado por el receptor Window y n un valor CongestionW indowSize impuesto por el nivel de congestin o de la red, es decir,
Redes de Computadoras, 2007/08

SenderW indowSize = m n(Window, CongestionW indowSize). El valor CongestionW indowSize se calcula siguiendo las siguientes reglas: 1. Modo de arranque (relativamente) lento en el que se duplica CongestionW indowSize con cada ACK recibido. Este modo se utiliza desde que desaparece la situacin de cono gestin hasta que se alcanza la mitad del anterior valor de o CongestionW indowSize (que en la grca se llama Thresha old). 2. Modo de prevencin de la congestin en el que o o CongestionW indowSize crece en un MSS por cada ACK recibido. Este modo perdura hasta que se pierde un segmento[4]. 15.5 Control de la congestin o 287

3. Cuando se detecta la prdida de un segmento por triple e ACK recibido, entonces CongestionW indowSize CongestionW indowSize/2 (este hecho no se muestra en la grca). a
Redes de Computadoras, 2007/08

4. Cuando se detecta la prdida de un segmento porque expira su e temporizador, entonces CongestionW indowSize 1 (este hecho se muestra en la grca). a

15.5 Control de la congestin o

288

Redes de Computadoras, 2007/08

15.5 Control de la congestin o

289

15.5.1.

El tamao de los time-outs n

Redes de Computadoras, 2007/08

Cada vez que se env un segmento, el TCP arranca un temporizador a y espera el correspondiente ACK. Si se termina el tiempo antes de que se conrme positivamente el segmento (recurdese que no se e utilizan conrmaciones negativas), el TCP asume que dicho segmento se perdi o corrompi, y lo retransmite. o o El problema radica en que las redes IP poseen latencias muy variables debido a su tamao, heterogeneidad, variacin de la carga, nivel de n o congestin, etc. Por este motivo el TCP utiliza un algoritmo adaptao tivo para calcular los time-outs.

15.5 Control de la congestin o

290

15.5.1.1.

El algoritmo original

Estima el RTT promedio como EstimatedRT T EstimatedRT T + (1 ) SampleRT T ,


Redes de Computadoras, 2007/08

donde: EstimatedRT T es la estimacin del RTT, o SampleRT T es la medida del ultimo RTT (medido como la diferencia en tiempo entre el instante en que se env el segmento hasta que se a recibe su conrmacin) y o es un nmero entre 0 y 1 de tal forma que si 0 entonces tiene mayor u peso la ultima medida del RTT, y si 1 entonces EstimatedRT T es menos dependiente de SampleRT T . La especicacin original del o TCP recomienda que 0,8 0,9. Finalmente, la estimacin (promedio) para el time-out es o T imeOut 2 EstimatedRT T . 15.5 Control de la congestin o 291

15.5.1.2.

El Algoritmo de Karn/Partridge

Redes de Computadoras, 2007/08

El algoritmo original no funciona correctamente cuando ocurre una retransmisin. En esta situacin, el emisor no puede saber si el ACK recibido o o se corresponde con la primera o la segunda transmisin (problema de la o ambigedad del ACK). Si supone que es con la primera y no ocurre as el u , SampleRT T medido ser demasiado largo. Si supone que es con la segunda a y esto no es cierto, el clculo es demasiado corto. Grcamente: a a
Emisor Receptor Transm isin o sampleRTT
Retran smisin o ACK

Emisor Receptor Transm isin o ACK Retran smisin sampleRTT o

15.5 Control de la congestin o

292

Ambos errores son perjudiciales para el clculo del T imeOut: a Si el SampleRT T (y por lo tanto el T imeOut) es ms grande de lo a que debiera ser, las retransmisiones ocurrirn con un periodo superior. a As el siguiente SampleRT T tras una retransmisin tender a crecer, , o a y as sucesivamente. En consecuencia, un T imeOut excesivamente grande provoca a la larga una infrautilizacin de los enlaces. o Si el SampleRT T (y por lo tanto el T imeOut) es errneamente o pequeo, el emisor retransmitir innecesariamente antes de recibir el n a correspondiente ACK. Esto provocar de nuevo que el SampleRTT sea a errneamente pequeo y as sucesivamente hasta llegar a una situacin o n o de equilibrio donde en promedio cada segmento se retransmite 1 vez. Por tanto, un T imeOut excesivamente pequeo incrementar la conn a gestin de los enlaces. o La solucin: o Ignorar los RTTs de los segmentos retransmitidos para computar el time-out. 15.5 Control de la congestin o 293

Redes de Computadoras, 2007/08

Redes de Computadoras, 2007/08

Estimar el RTT slo para los segmentos que no son retransmitidos acaro rea un nuevo problema. Supongamos que debido a un aumento en la carga de la red o de la congestin, el RTT aumenta por encima del time-out, o lo que provoca una retransmisin. Como el TCP va a ignorar el RTT de o los segmentos retransmitidos, nunca va a actualizar la estimacin para el o RTT mientras las latencias sigan siendo altas y el ciclo continuar. Por este a motivo, adems: a Cada vez que se retransmite se dobla el time-out, hasta alcanzar 2MSL [4]. El motivo de este aumento exponencial del time-out obedece a que normalmente un aumento en las latencias se debe a problemas de congestin y o ante esta situacin lo mejor es disminuir rpidamente la frecuencia de las o a retransmisiones.

15.5 Control de la congestin o

294

15.5.1.3.

El Algoritmo de Jacobson/Karels

Redes de Computadoras, 2007/08

Por desgracia, la mejora del algoritmo bsico realizada por Karn y Para tridge no funciona cuando los niveles de congestin son altos, ya que las o latencias son muy variables. En esta situacin es muy importante no colapo sar an ms la red usando time-outs demasiado bajos. u a La mejora propuesta por Jacobson y Karels consiste en tener en cuenta adems la variacin de los RTTs, no slo su media. Intuitivamente, si la a o o varianza es baja, entonces EstimatedRT T es ms able. Por otra parte, a una varianza alta signica que EstimatedRT T no debe ser considerado con tanto peso a la hora de calcular T imeOut. De esta forma, el clculo actual a del time-out en el TCP es Dif f EstimatedRT T DevRT T T imeOut donde: 0 1 es un factor que mide lo que Dif f afecta al nuevo clculo a 15.5 Control de la congestin o 295 SampleRT T EstimatedRT T, EstimatedRT T + Dif f, DevRT T + (|Dif f | DevRT T ), EstimatedRT T + 4 DevRT T,

del RTT y 0 1 es otro factor que hace lo mismo con la desviacin eso tad stica del RTT.
Redes de Computadoras, 2007/08

Un ejemplo real [14]:

15.5 Control de la congestin o

296

15.6.

Ejemplos

Enunciado: El host A desea enviar al host B 200 bytes de datos y el host B al host A 100 bytes de datos, utilizando el TCP. Por simplicidad, suponer que las transmisiones slo se producen al comienzo de unos o tics de reloj de periodo constante y que ningn segmento tarda ms u a de un tic en llegar al otro extremo. Suponer adems que el MSS = 50 a bytes para ambas estaciones, que el tamao de las ventanas receptoras n queda determinado durante el establecimiento de la conexin (50 bytes o para A y 150 bytes para B), que los segmentos enviados entre el 4o y 9o tic de reloj (es decir, justo despus del establecimiento de la e conexin) son corrompidos por el ruido, y que nunca se retrasan los o ACKs. Dibujar el time-line asociado suponiendo que el nmero de u secuencia inicial utilizado por A es 1.000 y por B es 2.000. Finalmente supngase un TimeOut de 5 tics. o Solucin: o

Redes de Computadoras, 2007/08

15.6 Ejemplos

297

Seq = 1.000, 00 bytes Window = 50, SYN Ack Seq = 1.001, 50 bytes, Ack Seq = 1.051, 50 bytes, Ack Seq = 1.101, 50 bytes, Ack = 2.001 = 2.001 = 2.001 = 2.001

B Seq = 2.000, 00 bytes, ACK = 1.001 Window = 150, SYN Seq = 2.001, 50 bytes, Ack = 1.001

Redes de Computadoras, 2007/08

Seq = 1.001, 50 bytes, Ack = 2.001 Seq = 1.051, 50 bytes, Ack = 2.001 Seq = 1.101, 50 bytes, Ack = 2.001

Seq = 2.001, 50 bytes, Ack = 1.001 Ack = 1.001 Ack = 1.001 Seq = 2.001, 50 bytes, Ack = 1.001 Ack = 1.151 Seq= 2.051, 50 bytes, Ack = 1.151 Ack = 1.201 Ack = 1.202 Seq = 2.101, 00 bytes, Ack = 1.202 FIN

Seq = 1.001, 50 bytes, Ack = 2.001 Seq = 1.051, 50 bytes, Ack = 2.051 Seq = 1.151, 50 bytes, Ack = 2.051 Ack = 2.101 Seq = 1.201, 00 bytes FIN Ack = 2.102

15.6 Ejemplos

298

Receptora 2001 2050 1001

Emisora 1150

B
1001

Receptora

Emisora 1150 2001 2050

Redes de Computadoras, 2007/08

1001 1051 1100 1150 1001 1051 1150

2051 2100 1151 2101 2150 1151 1201 1300 1300

1151

1300 2051 2100

1151 1201

1300

15.6 Ejemplos

299

Enunciado: Estamos transmitiendo cheros entre dos hosts mediante TCP y observamos que la tasa de transmisin real es muy baja comparao da con la capacidad f sica del enlace. Para mitigar este problema se proponen las siguientes soluciones (comentar su efectividad).
Redes de Computadoras, 2007/08

1. Se ha observado que la latencia entre los nodos es muy alta por lo que se adopta aumentar el tamao de las ventanas emisoras n en ambos nodos. Solucin: Para maximizar la tasa de transmisin el tamao de o o n las ventanas emisoras debe ser siempre mayor o igual que el producto RTTcapacidad del enlace. Por lo tanto, aumentar el tamao de las ventanas puede ayudar. n 2. El porcentaje de segmentos perdidos es muy alto, aunque la latencia es muy baja. En este caso se adopta disminuir el timeout en ambos nodos. Solucin: El mecanismo que el TCP posee para solucionar los o errores de transmisin es la retransmisin de las tramas tras o o expirar el correspondiente temporizador, lo que signica que 15.6 Ejemplos 300

si la latencia es muy baja, entonces el time-out tambin e deber serlo. Por lo tanto, disminuir los tiempos de reenv a o puede ayudar.
Redes de Computadoras, 2007/08

3. Se observa que el nmero de segmentos reenviados innecesariau mente es muy alto. En este caso se propone aumentar el tamao n de las ventanas emisoras en ambos nodos. Solucin: El tamao de las ventanas no afecta al instante en o n que los segmentos son reenviados. Por lo tanto, esta medida no mejorar las tasas de transmisin. Lo que ayudar es a o a aumentar los time-outs. 4. Se observa que durante largos periodos de tiempo cesa la transmisin de datos por llenarse la ventana emisora del emisor. Como o solucin se propone disminuir el tamao de la ventana emisora o n del emisor, pero aumentando su time-out. Solucin: Si la ventana emisora en el emisor permanece largos o periodos de tiempo llena es porque la red no es sucientemente rpida o porque el receptor es demasiado lento, a si los comparamos con el emisor. Disminuir el tamao de n 15.6 Ejemplos 301

Redes de Computadoras, 2007/08

la ventana emisora en el emisor nunca mejorar la tasa de a transmisin, independientemente de cmo sea el time-out. o o Sin embargo, aumentar el time-out podr ayudar ya que una a red lenta y/o un receptor lento implican mayores RTTs con lo que el time-out deber ser grande. a

302

Redes de Computadoras, 2007/08

Cap tulo 16

El mecanismo RPC (Remote Procedure Call)


15.6 Ejemplos 303

16.1.

Caracter sticas

Basado en el paradigma de comunicacin cliente/servidor. o


Redes de Computadoras, 2007/08

Permite que el cliente invoque procedimientos (cdigo ejecutable o perteneciente a un determinado proceso) en el servidor [22]. La sintaxis para el cliente es la misma que si invocara a un procedimiento local (de ah su nombre).

16.1 Caracter sticas

304

Al igual que ocurre con la ejecucin de un procedimiento local, el o proceso llamador espera (bloqueado) a que el procedimiento remoto termine de ejecutarse.
Redes de Computadoras, 2007/08

Emisor Computacin o

Receptor

Bloqueo Peticin o

Bloqueo Respuesta Computacin o Tiempo 16.1 Caracter sticas

Computacin o

Bloqueo

305

Para que las aplicaciones usen el RPC, ste debe estar soportado por e el compilador. Utilizado por aplicaciones como el NFS.
Redes de Computadoras, 2007/08

16.1 Caracter sticas

306

16.2.

Microprotocolos del mecanismo RPC


1. BLAST: fragmenta y ensambla mensajes grandes. 2. CHAN: sincroniza los mensajes de peticin y respuesta. o 3. SELECT: encamina los mensajes de peticin al proceso correcto. o

RPC utiliza tres microprotocolos:


Redes de Computadoras, 2007/08

16.2 Microprotocolos del mecanismo RPC

307

Con todo esto, la pila de protocolos ms simple que puede usar RPC a ser a: +-------+ |SELECT | +---+---+ | +---+---+ | CHAN | +---+---+ | +---+---+ | BLAST | +---+---+ | +---+---+ | IP | +-------+ 16.2 Microprotocolos del mecanismo RPC 308

Redes de Computadoras, 2007/08

16.2.1.

BLAST

Acomoda la longitud de los mensajes al MTU (Maximun Transfer Unit) de la red.1


Redes de Computadoras, 2007/08

Semejante al TCP, aunque no est orientado a la transmisin de un a o ujo de datos. Soluciona la prdida de paquetes mediante retransmisin selectiva e o (SRR = Selective Retransmission Request). Ejemplo:
1 El IP tambin tiene esta funcionalidad, pero si un fragmento se pierde BLAST lo e retransmite seletivamente. El IP retransmitir todo el mensaje. a

16.2 Microprotocolos del mecanismo RPC

309

Emisor

Receptor

Fragmento 1 Fragmento 2
Redes de Computadoras, 2007/08

Fragmento 3 Fragmento 4 Fragmento 5 SRR Fragmento 2 Fragmento 4 SRR Tiempo 16.2 Microprotocolos del mecanismo RPC 310 El receptor sabe que el quinto fragmento es el ultimo!

BLAST no garantiza la transmisin sin errores. Por ejemplo, si se o pierden todos los paquetes de datos, no se enviar ningn SRR (que a u slo se env cuando hay errores). Por tanto, el mensaje se perder. o an a
Redes de Computadoras, 2007/08

16.2 Microprotocolos del mecanismo RPC

311

Cabecera de un paquete BLAST: 0 16 31 +-------------------------+-------------------------+ | ProtNum | +-------------------------+-------------------------+ | MID | +-------------------------+-------------------------+ | Length | +-------------------------+-------------------------+ | NumFrags | Type | +-------------------------+-------------------------+ | FragMask | +-------------------------+-------------------------+ | | | Data | | | +-------------------------+-------------------------+ 16.2 Microprotocolos del mecanismo RPC 312

Redes de Computadoras, 2007/08

ProtNum: protocolo que utiliza BLAST. MID: nmero de secuencia que identica de forma unica el mensaje. u Length: longitud del fragmento.
Redes de Computadoras, 2007/08

NumFrags: nmero de fragmentos del mensaje. u Type: DATA | SRR. FragMask: Cuando se trata de un paquete con datos, slo un bit o puede estar a 1, indicando el ndice del paquete dentro de la secuencia de fragmentacin. Cuando se trata de un paquete SRR, o un bit a 1 indica qu paquete de datos debe ser retransmitido. e Ntese que no se pueden transmitir mensajes que al fragmentarse o generan ms de 32 paquetes. a

16.2 Microprotocolos del mecanismo RPC

313

16.2.2.

CHAN(nel)

Implementa el mecanismo peticin/respuesta del RPC. o Convierte al RPC en able.


Redes de Computadoras, 2007/08

Sincroniza a los procesos que se comunican2 usando un protocolo en el que cada mensaje se reconoce positivamente (ACK):
2 Sincronizacin = la operacin send() termina cuando el receptor ha recibido los o o datos correctamente y adems, el emisor lo sabe y recibe alguna contestacin. Se dice en a o este caso que el send() es bloqueante.

16.2 Microprotocolos del mecanismo RPC

314

Cliente Peticin o
Redes de Computadoras, 2007/08

Servidor

Cliente Peticin o

Servidor

ACK

Respuesta Peticin o Respuesta

Respuesta ACK

Tiempo Funcionamiento bsico a

Tiempo Uso de ACKs impl citos

aunque existe un modo donde se suprimen los reconocimientos para acelerar la comunicacin. o 16.2 Microprotocolos del mecanismo RPC 315

Se crea un canal por cada interaccin peticin/respuesta (llamada a o o un procedimiento remoto) que se produce. Ms de un canal puede usarse al mismo tiempo. Esto es muy util si a las peticiones tardan mucho tiempo en responderse (pipelining).

Redes de Computadoras, 2007/08

16.2 Microprotocolos del mecanismo RPC

316

Formato de la cabecera CHAN: 0 16 31 +-------------------------+-------------------------+ | Type | CID | +-------------------------+-------------------------+ | MID | +-------------------------+-------------------------+ | BID | +-------------------------+-------------------------+ | Length | +-------------------------+-------------------------+ | ProtNum | +-------------------------+-------------------------+ | | | Data | | | +-------------------------+-------------------------+ Type: REQ(uest) | REP(ly) | ACK(nowlegment) | PROBE (are you 16.2 Microprotocolos del mecanismo RPC 317

Redes de Computadoras, 2007/08

alive?). CID (Channel ID): nmero de secuencia que identica de forma u unica el canal (216 canales simultaneos).
Redes de Computadoras, 2007/08

MID (Message ID): nmero de secuencia que identica de forma u unica el mensaje. Sirve para descartar duplicados. BID (Boot ID): nmero de secuencia que identica de forma unica u el nmero de rebotes de la mquina. Sirve, junto con el MID, u a para descartar duplicados. Length: longitud del mensaje. ProtNum: protocolo que usa CHAN.

16.2 Microprotocolos del mecanismo RPC

318

16.2.3.

SELECT

Redes de Computadoras, 2007/08

Implementa la funcionalidad del desmultiplexado dentro del RPC: En el servidor hay un nmero determinado de procedimientos que pueden u ser llamados por el cliente. Dichos procedimientos se enumeran y SELECT permite que el cliente pueda invocar a uno en concreto. La forma de enumeracin ms frecuente es la jerrquica: Cada proceso o a a en el servidor tiene un nmero de proceso, y cada proceso enumera u internamente sus procedimientos. El nmero de bits dedicados a la u seleccin depende de la versin del RPC y del SO. o o

16.2 Microprotocolos del mecanismo RPC

319

16.3.

El caso particular de SunRPC

Redes de Computadoras, 2007/08

SunRPC es una versin del sistema RPC desarrollado por Sun Mio crosystems para su SunOS. Es la implementacin del RPC ms exteno a dida. Implementa una versin del RPC distinta de la planteada anterioro mente, cuyo grafo de protocolos consiste en: +-------+ |SunRPC | +---+---+ | +---+---+ | UDP | +---+---+ | +---+---+ | IP | +-------+ 16.3 El caso particular de SunRPC

320

El IP sustituye a BLAST (aunque con cierta prdida de eciencia) en e la tarea de fragmentar los mensajes demasiado largos. El UDP sustituye en parte a SELECT ya que permite desmultiplexar al proceso correcto usando un puerto. Finalmente, SunRPC implementa la funcionalidad de CHAN y de SELECT, aunque de una forma diferente: SunRPC corre como un demonio llamado Port Mapper que escucha, por defecto, en el puerto 111. Cuando un cliente remoto solicita la ejecucin de un procedimieno to local, primero debe conocer en qu puerto est escuchando e a el proceso local que posee el procedimiento. Esta informacin la o obtiene preguntando al Port Mapper. Seguidamente, el cliente realiza la peticin RPC al correspondio ente proceso utilizando el puerto retornado en la anterior consulta. 16.3 El caso particular de SunRPC 321

Redes de Computadoras, 2007/08

Los clientes normalmente cachean el resultado de la consulta realizada al Port Mapper, lo que no degrada el rendimiento en sucesiva llamadas a procedimientos remotos.
Redes de Computadoras, 2007/08

16.3 El caso particular de SunRPC

322

16.4.

Otras implementaciones

Las versiones actuales de RPC tienden a usar el TCP en lugar del UDP por diversas razones:
Redes de Computadoras, 2007/08

1. En muchos cortafuegos el trco UDP est restringido. a a 2. El mecanismo de control de la congestin del TCP es necesario o en las transmisiones a larga distancia. 3. El TCP es able mientras que el UDP no lo es. 4. La prdida de un segmento no implica la retransmisin del mene o saje completo.

16.4 Otras implementaciones

323

Redes de Computadoras, 2007/08

Parte IV

La capa de red

324

Redes de Computadoras, 2007/08

Cap tulo 17

Servicios de la capa de red

16.4 Otras implementaciones

325

17.1.

El modelo de servicio

Comunicacin de paquetes (datagramas) entre hosts. o


Redes de Computadoras, 2007/08

La capa de red (en concreto el IP) corre en todos los routers y hosts de Internet.

17.1 El modelo de servicio

326

Es la responsable del encaminamiento (forwarding) de los datagramas y del routing (actualizacin de las tablas encaminamiento) [24, 4, 14]. o No existen conexiones (este concepto slo se maneja a nivel del TCP). o
Redes de Computadoras, 2007/08

Servicio m nimo: No existe control de ujo, ni de errores, ni de congestin. o No se garantiza la tasa de transmisin, independientemente del o intervalo de tiempo utilizado. Realmente best-eort? Portabilidad extrema: El servicio denido por el IP es tan pobre que casi cualquier tecnolog de red inventada hasta la fecha es capaz de propora cionarlo. Gracias a su sencillez, el IP mantiene a los routers simples. 17.1 El modelo de servicio 327

17.2.

El IP (Internet Protocol)

Se encarga del encaminamiento de los datagramas en Internet.


Redes de Computadoras, 2007/08

Existen actualmente dos versiones: la IPv4 (RFC 791) que es la que en estos momentos se utiliza y la IPv6 (RFC 2460, RFC 2373) que se planea utilizar en un futuro prximo. o IPv6 es compatible hacia atrs con IPv4 (IPv6 es capaz de encaminar a paquetes IPv4).

17.2 El IP (Internet Protocol)

328

17.2.1.

Formato de la cabecera en IPv4

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| IHL |Type of Service| Total Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identification |Flags| Fragment Offset | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time to Live | Protocol | Header Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Redes de Computadoras, 2007/08

17.2 El IP (Internet Protocol)

329

Version: Versin del protocolo IP (4). o IHL (Internet Header Length): Tamao de la cabecera del paquete IP n en palabras de 32 bits.
Redes de Computadoras, 2007/08

Type of Service (TOS): Indicacin de la calidad de servicio que se o espera recibir por parte de los routers (trco multimedia, informacin a o sobre la congestin de la red, etc.). o Total Length: Tamao del datagrama IP (cabecera y datos) en n bytes. Tamaos t n picos son (debido principalmente a los MTUs de las redes) 1.500 bytes (Ethernet) y 576 bytes (PPP). Identification: Etiqueta creada por el emisor del paquete y que se utiliza cuando ste se fragmenta. e Flags: Bit 0: reserved, must be zero. Bit 1: (DF) 0 = May Fragment, 1 = Dont Fragment. Bit 2: (MF) 0 = Last Fragment, 1 = More Fragments. 17.2 El IP (Internet Protocol) 330

Fragment Offset: Oset del paquete cuando se ha fragmentado en palabras de 8 bytes. Time to Live (TTL): Valor que se decrementa cada vez que el paquete es retransmitido por un router. Cuando TTL = 0 entonces el paquete se destruye1 . Protocol: Protocolo al que va dirigido el paquete (RFCs 790, 1700 y 3232). Por ejemplo, cuando se transporta un paquete UDP se utiliza el 17, para TCP el 6, para ICMP el 1, etc. Header Checksum: Cdigo de deteccin de errores que sirve para o o desechar el paquete si se han producido errores de transmisin en o la cabecera. Es una suma de todas las palabras de 16 bits de (slo) la o cabecera IP usando aritmtica en complemento a 1 (RFC 1071). Este e valor es recalculado en cada hop (salto) porque en cada uno de ellos el TTL se decrementa. Source Address: Dir IP del host que gener el paquete. o 17.2 El IP (Internet Protocol)
1Y

Redes de Computadoras, 2007/08

se genera un paquete ICMP para el emisor.

331

Destination Address: Dir IP del host al que va dirigido el paquete. Options: Campo de longitud variable (desde 0 bytes) que se utiliza para diferentes propsitos (almacenar rutas, colocar estampas de o tiempo, etc.). Padding: Bits a 0 rellenando la cabecera hasta tener un tamao mltin u plo de 32 bits.

Redes de Computadoras, 2007/08

17.2 El IP (Internet Protocol)

332

17.2.2.

Formato de la cabecera en IPv6

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Traffic Class | Flow Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Length | Next Header | Hop Limit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Source Address | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Destination Address | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Redes de Computadoras, 2007/08

17.2 El IP (Internet Protocol)

333

Version: Versin del protocolo (6). o Traffic Class: Identica el tipo de trco. Por ejemplo, sirve para a diferenciar el trco multimedia del que no es sensible al tiempo. a
Redes de Computadoras, 2007/08

Flow Label: Identica a los paquetes de un mismo ujo de datos (trco multimedia). a Payload Length: Nmero de bytes de datos transportados (sin conu siderar la cabecera que es de tamao jo 40 bytes ). n Next Header: Identica el protocolo que utiliza el IP (igual que IPv4). Hop Limit: TTL. Source Address: Dir IP del host origen del paquete. Destination Address: Dir IP del host destino del paquete.

17.2 El IP (Internet Protocol)

334

17.2.3.

Fragmentacin y ensamblaje o

Redes de Computadoras, 2007/08

Cada tecnolog de red posee un l a mite en el tamao mximo del n a paquete a transmitir (MTU). Por ejemplo, en Ethernet el l mite es de 1.500 bytes. El IP (en los hosts y en los routers), antes de enviar los datagramas los fragmenta de forma que ninguno de ellos tiene un tamao superior n al MTU de la red directamente conectada. Durante el trayecto los datagramas pueden ser re-fragmentados si se atraviesa una red de menor MTU. Slo el IP del host destino realiza el ensamblaje (nunca los routers). Si o alguno de los fragmentos no llega correctamente se desechan el resto de fragmentos. Slo en IPv4. No en IPv62 . o
2 Si el MTU es demasiado pequeo, el paquete IPv6 se destruye y se genera un paquete n ICMP para el emisor.

17.2 El IP (Internet Protocol)

335

Ejemplo

Comienzo de la Cabecera Ident. = X 1 Desp. =


0 8

Resto de la Cabecera
Redes de Computadoras, 2007/08

512 bytes de datos Comienzo de la Cabecera Ident. = X 0 Desp. = 0 Comienzo de la Cabecera Ident. = X 1 Desp. =
512 8

Resto de la Cabecera

Resto de la Cabecera 512 bytes de datos

1.400 bytes de datos

Comienzo de la Cabecera Ident. = X 0 Desp. =


1024 8

Resto de la Cabecera 376 bytes de datos

17.2 El IP (Internet Protocol)

336

17.3.

El ICMP (Internet Control Message Protocol)

Redes de Computadoras, 2007/08

RFC 792. Informe de errores. Generado por routers y hosts. Los mensajes se encapsulan en paquetes IP. Los mensajes contienen los primeros 8 bytes del paquete IP que produjo el mensaje ICMP. Esto se hace para que el receptor del paquete ICMP conozca el paquete IP que produjo el error [15].

17.3 El ICMP (Internet Control Message Protocol)

337

Mensajes ICMP: Tipo 0 3 3 3 3 3 3 4 8 9 10 11 12 Cdigo o 0 0 1 2 3 6 7 0 0 0 0 0 0 Fuente/Mensaje Nodo/Respuesta a un eco (ping) Router/Red destino inalcanzable (no funciona) Router/Host destino inalcanzable Host/Protocolo destino inalcanzable Host/Puerto destino inalcanzable Router/Red destino desconocida (no existe) Router/Host destino desconocido Router/Apaciguar host (control de congestin) o Host/Peticin de eco o Router/Anuncio de router Router/Descubrimiento de router Router/TTL expirado Nodo/Cabecera IP errnea o

Redes de Computadoras, 2007/08

17.3 El ICMP (Internet Control Message Protocol)

338

Ejemplo: traceroute
Programa de diagnstico que permite conocer la ruta (routers) por o los que pasan los paquetes que viajan desde nuestra mquina (la que a ejecuta el programa traceroute) hasta la mquina destino. a Uso: traceroute [flags] nodo destino Funciona aprovechando los servicios proporcionados por el ICMP (Internet Control Message Protocol), que se utiliza para conocer qu est ocurriendo en la red. e a Uno de los mensajes que el ICMP proporciona es el de tiempo excedido (time exceeded). Estos mensajes son generados slo por los routers o cuando no retransmiten un paquete porque su TTL (Time To Live) es 0.

Redes de Computadoras, 2007/08

17.3 El ICMP (Internet Control Message Protocol)

339

El campo TTL gura en todas las cabeceras de los paquetes que son transmitidos a travs de Internet y sirven para controlar cmo de lejos e o van a viajar. Cada vez que un paquete atraviesa un router su TTL se decrementa.
Redes de Computadoras, 2007/08

traceroute fuerza a que los distintos routers contesten con un ICMP TIME EXCEEDED, enviando paquetes con un TTL que se va incrementando en 1 en cada iteracin. Entonces traceroute calcula los o tiempos de ida y vuelta o RTT (Round-Trip Time) en 3 ocasiones. Otro de los mensajes que el ICMP proporciona es el de puerto inalcanzable (unreacheable port). Este tipo de mensaje es generado unica mente por los hosts cuando les llega un paquete cuyo puerto destino no est siendo escuchado por ninguna aplicacin. a o traceroute obtiene el RTT del host destino aprovechando el mensaje e ICMP PORT UNREACHEABLE generado por ste, ya que el puerto destino usado (el 33.434) no suele utilizarse para otro propsito. o Un ejemplo de funcionamiento ser a: 17.3 El ICMP (Internet Control Message Protocol)

340

Redes de Computadoras, 2007/08

traceroute www.cica.es traceroute to ataman.cica.es (150.214.4.16), 30 hops max, 38 byte packets 1 rou118.ual.es (193.147.118.1) 0.701 ms 0.574 ms 0.480 ms 2 11.0.0.5 (11.0.0.5) 0.840 ms 0.783 ms 0.767 ms 3 192.168.1.1 (192.168.1.1) 0.653 ms 0.644 ms 0.608 ms 4 almeria.cica.es (150.214.231.97) 1.795 ms 1.761 ms 2.740 ms 5 jds-rt2-almeria.cica.es (150.214.0.33) 13.333 ms 13.354 ms 12.946 ms 6 ataman.cica.es (150.214.4.16) 13.476 ms * 18.044 ms

Para conocer ms sobre esta utilidad, en una mquina Unix ejecutar a a man traceroute o visitar la pgina Web www.traceroute.org. a

17.3 El ICMP (Internet Control Message Protocol)

341

17.4.

El DHCP (Dynamic Host Conguration Protocol)

Redes de Computadoras, 2007/08

RFC 2131. Protocolo cliente-servidor, UDP, puerto 67. Los clientes lo utilizan para obtener de forma automtica los parmeta a ros de conexin (dir IP, mscara, gateway y DNS) de la red. o a Especialmente utilizado en el caso de hosts mviles. o T picamente se utiliza para asignar un pool de X dirs IP a Y hosts de forma dinmica, donde generalmente X Y . a Cuando un host arranca se pone en contacto con su servidor DHCP preguntando a la dir de broadcast3 (255.255.255.255) y usando la dir IP origen 0.0.0.0.
3 Lo

que se env a esta dir IP le llega a todos los nodos de la red local. a

17.4 El DHCP (Dynamic Host Conguration Protocol)

342

En una misma red pueden existir varios servidores DHCP. En principio todos contestar y es el cliente quien elige. an Las conguraciones pueden asignarse de forma temporal o de forma indenida.

Redes de Computadoras, 2007/08

343

Redes de Computadoras, 2007/08

Cap tulo 18

Addressing (Direccionamiento)
17.4 El DHCP (Dynamic Host Conguration Protocol) 344

18.1.

Direccionamiento en IPv4

Cada enlace que se conecta a un host o un router en Internet lo hace a travs de un interface y cada interface tiene asociada una dir IP.1 e
Redes de Computadoras, 2007/08

En IPv4 las dirs IP son de 32 bits y en IPv6 de 128 bits. Formato: MSb LSb +---------------+-------------------+ | Dir de la Red | Dir del Interface | +---------------+-------------------+ Las dirs IP son jerrquicas. La primera parte identica la red a la que a est conectada el interface y la segunda parte, el interface dentro de a la red.
ICANN (Internet Corporation for Assigned Names and Numbers, RFC 2050) es la autoridad global de asignacin de dirs IP. Maneja tambin los servidores de nombres o e ra Los administradores de redes acceden a la ICANN a travs de las respectivas autoriz. e dades regionales de registros de Internet (ejemplos: ARIN (American Registry for Internet Numbers), RIPE (Rseaux IP Europens) y APNIC (Asia Pacic Network Information e e Centre)).
1 La

18.1 Direccionamiento en IPv4

345

Por denicin, todos los interfaces de una misma red tienen la misma o direccin de red. o En IPv4 se suele utilizar la notacin decimal punteada para repreo sentar las dirs IP, donde cada byte se traduce a su forma decimal y se separa por un punto del resto de bytes de la direccin. Ejemplo: o 00001111 00010001 00000001 00000010 = 15.17.1.2 Para diferenciar en una dir IP la direccin de la red y la direccin del o o interface, se utiliza la mscara de red. En el caso de IPv4 son 32 bits a y para IPv6 128. Las mscaras son siempre de la forma a 1111...111000...000 donde se cumple que dir IP AND mscara = dir Red a y que 18.1 Direccionamiento en IPv4 346

Redes de Computadoras, 2007/08

dir IP MOD mscara = dir Interface. a

Redes de Computadoras, 2007/08

18.1 Direccionamiento en IPv4

347

18.2.

Clases de dirs IP

Las redes IP se consideran de diferentes clases dependiendo de los bits ms signicativos [14]: a
Redes de Computadoras, 2007/08

En IPv4:

18.2 Clases de dirs IP

348

Allocation ------------------------------------Reserved Unassigned Reserved for NSAP (ATM) Allocation Reserved for IPX (Novell) Allocation Unassigned Unassigned Unassigned Aggregatable Global Unicast Addresses Unassigned Unassigned Unassigned Unassigned Unassigned Unassigned Unassigned Unassigned Unassigned Unassigned Link-Local Unicast Addresses Site-Local Unicast Addresses Multicast Addresses

En IPv6:

18.2 Clases de dirs IP

Prefix (binary) -----------0000 0000 0000 0001 0000 001 0000 010 0000 011 0000 1 0001 001 010 011 100 101 110 1110 1111 0 1111 10 1111 110 1111 1110 0 1111 1110 10 1111 1110 11 1111 1111

Fraction of Address Space ------------1/256 1/256 1/128 1/128 1/128 1/32 1/16 1/8 1/8 1/8 1/8 1/8 1/8 1/16 1/32 1/64 1/128 1/512 1/1024 1/1024 1/256

Redes de Computadoras, 2007/08

349

18.3.

Sub-netting y dirs CIDR en IPv4

Sub-netting en RFC 950.


Redes de Computadoras, 2007/08

CIDR (Classless InterDomain Routing) en RFC 1519. Originalmente slo se permit tres clases de dirs IPv4 y por lo tanto o an slo exist 3 tamaos posibles para las redes IP. El tipo de red se o an n distingu por sus primeros bits. a Clase A B C Bits Iniciales 0 10 110 Nmero de Redes u 27 214 221 Nmero de Interfaces u 224 216 28

18.3 Sub-netting y dirs CIDR en IPv4

350

Los diseadores de Internet pronto se dieron cuenta de que en muchos n casos de produc un desperdicio considerable de dirs IP (por ejemplo, a hac falta una red de clase B para conectar a ella 257 interfaces). a
Redes de Computadoras, 2007/08

La mscara de red (aparte de indicar la direccin de la red) dene a o (independientemente de los bits iniciales de las dirs IP) el tamao de n la red. As una red de clase C se denota por , X.Y.Z.0/24, porque la mscara de red, para todos los interfaces conectados a este a tipo de red, posee 24 unos. A este tipo de dirs IP, donde la mscara de red puede tener cualquier a nmero M de bits y por tanto la red puede contener hasta 232M u interfaces, se les llama dirs IP CIDR.

18.3 Sub-netting y dirs CIDR en IPv4

351

Usando sub-netting, cualquier rango de dirs IP se puede dividir en conjuntos disjuntos de dirs IP y cada conjunto puede ser una (sub)red diferente. Ejemplo (sub-netting en una red de clase B):
Redes de Computadoras, 2007/08

1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1 0| NETWORK | SUBNET | Inferface Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

18.3 Sub-netting y dirs CIDR en IPv4

352

Ejemplo de red IP
H1
Redes de Computadoras, 2007/08

H2 .4 .1 R1 .1 Red 150.214.0.0/24 .2 R2 .2 .1 Red 150.214.2.0/24 .2 R3 .1

.3

.2

Red 150.214.1.0/24

H3

Red 150.214.3.0/24 .3 .4 H5

H4

18.3 Sub-netting y dirs CIDR en IPv4

353

18.4.

Redes privadas

RFC 1918.
Redes de Computadoras, 2007/08

Permiten conectar ms nodos a la red que el proporcionado por el a espacio de dirs IPv4. Se implementan usando NAT. La IANA ha reservado los siguientes bloques de dirs IP privadas: Bloque 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 Desde 10.0.0.0 172.16.0.0 192.168.0.0 Hasta 10.255.255.255 172.31.255.255 192.168.255.255

18.4 Redes privadas

354

18.5.

NAT (Network Address Translation)

Se dene en los RFCs 2663 y 3022.


Redes de Computadoras, 2007/08

Se ejecuta en un router o un host que funciona como un router. El router tiene asignada slo una dir IP pblica. Esta pertenece al o u interface que conecta el router con Internet. Todos los interfaces de la red interna (normalmente privada) poseen dirs IP que no son visibles desde Internet. Todos los nodos de la red interna acceden a Internet mediante la IP del router NAT, en otras palabras, todos ellos utilizan la dir IP del interface pblico del router NAT. u El router utiliza una tabla de traduccin NAT para asociar conexiones o [Dir IP Pblica, puerto (router)] [Dir IP Privada, puerto (host)]. u 18.5 NAT (Network Address Translation) 355

La tabla NAT tiene 3 columnas: Puerto pblico u


Redes de Computadoras, 2007/08

Dir IP privada

Puerto privado

Cuando un host privado env un paquete para un host pblico, el a u router NAT inserta una entrada en la tabla de traduccin NAT con o un puerto libre y utiliza el puerto pblico asignado para todos los u paquetes salientes con la misma (Dir IP Privada, Puerto privado). Cuando llega un paquete para una estacin de la red privada, el router o busca en su tabla de traduccin NAT usando como clave o (Puerto pblico) u y encamina hacia la red privada el paquete usando la dir IP privada y el puerto (privado). Ntese que en cualquier caso no son posibles ms de 216 conexiones o a simultneas a travs del router NAT. a e 18.5 NAT (Network Address Translation) 356

Ejemplo En la siguiente gura el host de la red privada con IP 10.0.0.1 accede a un servidor Web pblico con IP 128.119.40.186. u
Redes de Computadoras, 2007/08

18.5 NAT (Network Address Translation)

357

18.6.

La transicin de IPv4 a IPv6 o

RFC 2893.
Redes de Computadoras, 2007/08

A principio de los 90 el IETF predijo que el espacio de direcciones del IPv4 se gastar aproximadamente en 2008 [14]. Luego apareci el a o CIDR y se comenz a hacer un uso intensivo del NAT y del DHCP, o con lo que el consumo se ha reducido considerablemente. Actualmente existen routers IPv4 e IPv6 funcionando. Los routers IPv6 son capaces de encaminar IPv4, pero no al contrario. Cuando un router no entiende IPv6 se utiliza una tcnica llamada tune neling, que consiste en encapsular datagramas IPv6 en datagramas IPv4 cuando los puntos extremos utilizan IPv6 y los routers intermedios slo entienden IPv4. Ejemplo: o

18.6 La transicin de IPv4 a IPv6 o

358

Redes de Computadoras, 2007/08

359

Redes de Computadoras, 2007/08

Cap tulo 19

Forwarding (Encaminamiento)
18.6 La transicin de IPv4 a IPv6 o 360

19.1.

El proceso de encaminamiento

Realizado por los routers y en ocasiones los hosts (cuando tienen ms a de un interface).
Redes de Computadoras, 2007/08

Se realiza para cada paquete a nivel de IP. Algoritmo (encaminamiento de un paquete): 1. Extraer la dir IP destino del paquete. 2. Buscar la dir IP en la tabla de encaminamiento. 3. Seleccionar el interface de salida correspondiente.

19.1 El proceso de encaminamiento

361

19.1.1.

Bsqueda en las tablas de encaminamiento u

Las tablas de encaminamiento poseen (al menos) los campos: Red destino
Redes de Computadoras, 2007/08

Interface de salida

La tabla de encaminamiento est indexada por la direccin de red a o destino. En IPv4 existen hasta 232 redes diferentes y en IPv6 hasta 2128 . Para evitar tener que disponer f sicamente de una entrada para cada posible red, las tablas de encaminamiento normalmente slo poseen una eno trada por cada red que puede alcanzarse directamente desde el nodo. Dependiendo del tamao de dicha red, la entrada tiene ms o menos n a bits. Las redes destino pueden ser alcanzadas a travs de diferentes intere faces de salida. En este caso, el algoritmo de bsqueda seleccionar u a la entrada ms larga (la red ms pequea).1 a a n 19.1 El proceso de encaminamiento
1 Recurdese e

que por denicin, unas redes contienen a otras. o

362

Ejemplo
Un router que posee 4 interfaces y que se encuentra en la red 11001000 00010111 000 (200.23.0.0/19) podr tener una tabla de encamia namiento como la siguiente:
Red de destino 11001000 00010111 00010 (200.23.16.0/21) 11001000 00010111 00011000 (200.23.24.0/24) 11001000 00010111 00011 (200.23.24.0/21) en otro caso Interface de salida 0 1 2 3

Redes de Computadoras, 2007/08

Un paquete dirigido a 11001000 00010111 00010xxx xxxxxxxx ser a encaminado al interface 0. Un paquete dirigido a 11001000 00010111 00011000 xxxxxxxx ser a encaminado al interface 1. Un paquete dirigido a 11001000 00010111 00011XXX xxxxxxxx ser a encaminado al interface 2, si XXX!=000. 19.1 El proceso de encaminamiento 363

R 2

Redes de Computadoras, 2007/08

200.23.24.0/24

200.23.24.0/21

19.1 El proceso de encaminamiento

364

Ejemplo
En Unix, la tabla de encaminamiento del host se puede consultar con el comando:
Redes de Computadoras, 2007/08

$ /sbin/route Kernel IP routing table Destination Gateway 193.147.118.0 * loopback gogh.ace.ual.es default 193.147.118.1

Genmask 255.255.255.0 255.0.0.0 0.0.0.0

Iface eth0 lo eth0

Segn dicha tabla (del host gogh.ace.ual.es): u Cualquier paquete que vaya dirigido a una estacin de la red local (que o en este ejemplo se trata de una red de clase C) debe ser entregado al interface de red eth0. Cualquier paquete que vaya dirigido al loopback (una red virtual de clase A formada slo por el host) debe ser entregado al interface de o red lo. 19.1 El proceso de encaminamiento 365

Finalmente, cualquier paquete que no vaya dirigido ni a la red local ni al loopback, ser entregado al interface de red eth0. a

Redes de Computadoras, 2007/08

19.1 El proceso de encaminamiento

366

Ejemplo
El router R2 de la red
Redes de Computadoras, 2007/08

H1 .3

H2 .4 .1 R1 .1 Red 150.214.0.0/24 .2 R2 .2 .1 Red 150.214.2.0/24 .2 R3 .1

.2

Red 150.214.1.0/24

H3

Red 150.214.3.0/24 .3 .4 H5

H4

19.1 El proceso de encaminamiento

367

Redes de Computadoras, 2007/08

podr tener a Destination 150.214.0.0 150.214.1.0 150.214.3.0 loopback default

una tabla de encaminamiento igual a: Gateway Genmask * 255.255.255.0 * 255.255.255.0 * 255.255.255.0 R2 255.0.0.0 150.214.1.2 0.0.0.0
H1 .3 H2 .4 .1 R1 .1 Red 150.214.0.0/24 .2 R2 .2 .1

Iface eth0 ppp0 fddi0 lo ppp0

Red 150.214.2.0/24 .2 R3 .1

.2

Red 150.214.1.0/24

H3

Red 150.214.3.0/24 .3 .4 H5

H4

19.1 El proceso de encaminamiento

368

Ejemplo
Supongamos una red clase B con direccin 149.76.0.0 dedicada a o un campus universitario. Debido a su excesivo tamao (216 intern faces/red), esta red se divide en redes clase C (28 interfaces/red). F sicamente se distribuye una dorsal (backbone) de FDDI y a ella se conectan las pasarelas (gateways) que unen la FDDI con las redes Ethernet de los diferentes departamentos. Cmo administrar o as las direcciones de red y qu direcciones asignar a las pasarelas? e as Cuntos departamentos de hasta 254 estaciones pueden formarse? a Especique la tabla de encaminamiento para la pasarela 149.76.0.4 suponiendo que todas las redes posibles del campus estn dadas en a alta en ella.

Redes de Computadoras, 2007/08

19.1 El proceso de encaminamiento

369

Internet .1 R1

.2 149.76.2.0/24

Redes de Computadoras, 2007/08

.1

R2 .2

149.76.172.0/24 .2 .1 R172 .172 149.76.0.0/24

149.76.64.0/24 .1 .2

R64 .64

254 routers 253 departamentos Todas las redes son de clase C Slo se muestra el primer o host de cada departamento

.128 R128 .1 .2 149.76.128.0/24

19.1 El proceso de encaminamiento

370

El router 149.74.0.4 posee la siguiente tabla de routing: Destino 149.76.2.0 149.76.3.0 149.76.4.0 149.76.5.0 . . . 149.76.254.0 127.0.0.0 default Router 149.76.0.2 149.76.0.3 * 149.76.0.5 . . . 149.76.0.254 * 149.76.0.1
Internet .1 R1 .1 R2 .2 149.76.172.0/24 .2 .1 R172 .172 149.76.0.0/24 R64 .64 .1 .2 149.76.64.0/24 .2 149.76.2.0/24

Redes de Computadoras, 2007/08

Mscara a 255.255.255.0 255.255.255.0 255.255.255.0 255.255.255.0 . . . 255.255.255.0 255.0.0.0 0.0.0.0

Interface fddi0 fddi0 eth0 fddi0 . . . fddi0 lo fddi0

254 routers 253 departamentos Todas las redes son de clase C Slo se muestra el primer o host de cada departamento

.128 R128 .1 .2 149.76.128.0/24

19.1 El proceso de encaminamiento

371

19.2.

Agregacin de direcciones o

Cuando dos (o ms subredes) poseen el mismo prejo, pueden agrea garse formando una red mayor (vase el ejemplo de la pgina 363). e a
Redes de Computadoras, 2007/08

Dicha agregacin hace posible reducir el tamao de las tablas de eno n caminamiento (eliminando en dicho ejemplo la entrada de la red ms a larga que est incluida en la otra entrada). a La agregacin no signica que las redes se fusionen. La agregacin o o slo afecta a las tablas de encaminamiento. o

19.2 Agregacin de direcciones o

372

Ejemplo de agregacin o
Sea la siguiente conguracin, donde existen dos ISPs que conectan o a una serie de redes a Internet. El primer ISP Fly-By-Night da servicio a 8 organizaciones y el segundo ISP ISPs-R-Us hace lo mismo a un nmero indeterminado de ellas. u Las redes conectadas a travs de Fly-By-Night poseen un prejo e comn igual a 200.23.16.0/20. Las redes conectadas a travs de ISPsu e R-Us tienen todas el prejo 199.31.0.0/16. Gracias a la agregacin, el router que conecta Internet con Fly-Byo Night slo posee una entrada en su tabla de encaminamiento con la o red destino 200.23.16.0/20, aunque en realidad existen 8 redes dentro de esta. Lo mismo ocurre con el router que conecta a ISPs-R-Us con Internet.

Redes de Computadoras, 2007/08

19.2 Agregacin de direcciones o

373

Redes de Computadoras, 2007/08

19.2 Agregacin de direcciones o

374

Ejemplo de des-agregacin o
Imaginemos que Fly-By-Night no es un ISP muy serio y que la Organizacin 1 se pasa a ISPs-R-Us. Sin embargo, la Organizacin 1 no o o desea modicar sus dirs IP. Esta nueva conguracin debe afectar a los routers que conectan amo bos ISPs con Internet para hacer que los paquetes dirigidos a la Organizacin 1 sean encaminados a travs de ISPs-R-Us. o e Supongamos (por simplicidad) que Fly-By-Night e ISPs-R-Us se conectan a Internet a travs del mismo router. En la tabla de e encaminamiento de este router gurar una entrada para la red a 200.23.16.0/20 y otra para la red 200.23.18.0/23. Como 200.23.16.0/20 es prejo de 200.23.18.0/23, cada vez que a este router lleque un paquete dirigido a la Organizacin 1, usar el o a prejo ms largo (200.23.18.0/23) y el encaminamiento ser correcto. a a Ms espec a camente, su tabla de encaminamiento ser a: 19.2 Agregacin de direcciones o 375

Redes de Computadoras, 2007/08

Red de destino . . .
Redes de Computadoras, 2007/08

Interface de salida . . . El que lleva a ISPs-R-Us El que lleva a ISPs-R-Us El que lleva a Fly-By-Night . . .

199.31.0.0/16 200.23.18.0/23 200.23.16.0/20 . . .

19.2 Agregacin de direcciones o

376

Redes de Computadoras, 2007/08

377

Redes de Computadoras, 2007/08

Cap tulo 20

Routing (Rutado)

19.2 Agregacin de direcciones o

378

20.1.

Qu es el routing? e

Redes de Computadoras, 2007/08

Si forwarding consiste en transmitir un paquete hasta el siguiente nodo, routing es el proceso de determinar el mejor camino para realizar el encaminamiento. En otras palabras, routing es el proceso que se realiza para determinar las tablas de encaminamiento. El problema del routing se trata generalmente modelando las redes mediante grafos. En ellos, los nodos representan a los routers de la red y los arcos a los enlaces que los interconectan.

20.1 Qu es el routing? e

379

Redes de Computadoras, 2007/08

La solucin ms frecuente que buscan los algoritmos de routing cono a siste en encontrar el camino ms corto que une a cada par de routers a (el router origen del paquete y el router destino). Como es lgico, el o router origen es en realidad el rst-hop router (el que conecta con Internet a la red que contiene el host que en realidad genera el paquete) y el router destino es el last-hop router (el que conecta con Internet 20.1 Qu es el routing? e 380

a la red que contiene el host que es el destino del paquete). Evidntemente, ninguno de estos routers son realmente ni el origen ni e el destino del paquete. En realidad son las redes que se conectan a estos routers. Sin embargo, el problema del routing queda resuelto si obviamos este hecho porque independientemente de la red destino a la que nalmente va dirigido el paquete, este debe de llegar forzosamente al last-hop router, y el mismo razonamiento puede realizarse para el rst-hop router.

Redes de Computadoras, 2007/08

20.1 Qu es el routing? e

381

20.2.

La red como un grafo


H1 .3 H2 .4 .1 R1 .1 Red 150.214.0.0/24 .2 R2 .2 .1 Red 150.214.2.0/24 .2 R3 .1

Redes de Computadoras, 2007/08

.2

Red 150.214.1.0/24

H3

Red 150.214.3.0/24 .3 .4 H5

H4

c1
R1

c2

R2

c3

R3

20.2 La red como un grafo

382

20.3.

Sobre los costes de los caminos

Se utilizan para determinar las rutas ptimas. o


Redes de Computadoras, 2007/08

Dependen de: 1. Latencia de los enlaces (distancia f sica entre nodos). 2. Tasa de transmisin (capacidad) de los enlaces. o 3. Carga de los enlaces. 4. Tasa de errores de los enlaces. 5. Cuestiones pol ticas (espionaje) y/o comerciales (coste econmio co).

20.3 Sobre los costes de los caminos

383

20.4.

Routing jerrquico y sistemas autmoa o mos

Redes de Computadoras, 2007/08

Internet est formada por una estraticacin de sistemas autnomos o a o o ASs (Autonomous Systems) de diferente nivel que son administrados de forma independiente. Dentro de cada sistema autnomo se realiza el routing como se cono sidera necesario, sin tener en cuenta lo que ocurre en el resto de ASs. Lo unico que debe vericarse es que el protocolo de routing que eje cutan los routers del AS debe de ser el mismo (para que se entiendan entre s ). En la siguiente gura se muestra un ejemplo de varios AS interconectados entre s En cada AS existen routers que ejecutan un protocolo . de routing intra-AS y al menos 1 que ejecuta un protocolo inter-AS. Gracias al protocolo intra-AS los routers de cada AS saben cmo eno caminar dentro de su AS y gracias al protocolo inter-AS (al menos) uno de los routers de cada AS sabe cmo encaminar entre ASs. o 20.4 Routing jerrquico y sistemas autmomos a o 384

Redes de Computadoras, 2007/08

20.4 Routing jerrquico y sistemas autmomos a o

385

Por tanto, el routing jerrquico permite esconder la complejidad a de a los ASs de nivel inferior a los ASs de nivel superior. De esta manera: 1. Las tablas de encaminamiento son mucho ms pequeas. De a n hecho, un router de un AS slo necesita conocer los routers de o su AS. 2. El nmero de mensajes intercambiados por los routers es muu cho menor y la mayor se producen dentro de los ASs. As los a algoritmos de routing dinmicos convergen ms rpidamente. a a a 3. Permite la autonom administrativa (algoritmo de routing, a pol ticas, etc.).

Redes de Computadoras, 2007/08

20.4 Routing jerrquico y sistemas autmomos a o

386

20.5.

El RIP (Routing Information Protocol)

RFCs 1058 y 2453.


Redes de Computadoras, 2007/08

Routing intra-AS (interior gateway protocol [15]). Creado por Xerox e inclu en la versin BSD (Berkeley Software do o Distribution) del UNIX en 1982. Los routers utilizan el algoritmo de routing Distance-Vector. El coste de cada enlace es siempre 1. Por tanto, el algoritmo minimiza el nmero de saltos (hops). u El coste mximo permitido para un camino (path) es 15 (ASs a pequeos). n Los routers se intercambian (entre vecinos inmediatos) sus tablas de routing (vectores con las distancias a todas las redes del AS y routers por los que encaminar hacia ellas) cada 30 segundos (no necesariamente de forma s ncrona) y cuando reciben nuevos datos acerca del AS, re-calculan los caminos m nimos. 20.5 El RIP (Routing Information Protocol) 387

Si un router tras el clculo detecta alguna variacin en su tabla de a o routing, esta es comunicada a todos sus vecinos directamente conectados.
Redes de Computadoras, 2007/08

Se utilizan paquetes UDP y el puerto 520 [14]. Transcurridos 180 segundos sin recibir informacin desde el router o X, todo router conectado directamente a X lo considera inalcanzable (unreacheable). En este momento re-calcula los caminos m nimos (teniendo en cuenta este evento) y transmite la tabla de routing con los nuevos caminos a todos sus vecinos. El nmero mximo de redes destino en cada mensaje es a lo sumo 25 u a [15].

20.5 El RIP (Routing Information Protocol)

388

El RIP es utilizado por el demonio routed que corre, en la capa de aplicacin y como un proceso ms, en el seno del sistema operativo o a UNIX y compatibles.
Redes de Computadoras, 2007/08

20.5 El RIP (Routing Information Protocol)

389

Ejemplo
Sea el SA de la gura:
Redes de Computadoras, 2007/08

20.5 El RIP (Routing Information Protocol)

390

En un momento determinado la tabla de routing del router D podr ser: a Destination subnet w y z x . . . Next router A B B . . . Number of hops to destination 2 2 7 1 . . .

Redes de Computadoras, 2007/08

Si ms tarde recibe la siguiente tabla de routing de A: a Destination subnet z w x . . . Next router C . . . Number of hops to destination 4 1 1 . . .

20.5 El RIP (Routing Information Protocol)

391

Entonces la tabla de routing del router D pasar a ser: a Destination subnet w y z x . . . Next router A B A . . . Number of hops to destination 2 2 5 1 . . .

Redes de Computadoras, 2007/08

20.5 El RIP (Routing Information Protocol)

392

20.6.

El protocolo OSPF (Open Shortest Path First)

Redes de Computadoras, 2007/08

RFC 2328. Routing intra-AS. Se dise como el sucesor del RIP y puede manejar AS ms grandes. no a Los intercambios de los mensajes con informacin acerca del routing o son autenticados. Los routers utilizan el algoritmo de routing Link-State para calcular los caminos de coste m nimo. Los costes de los enlaces no tienen que ser siempre 1 como en el RIP. As el administrador de la red podr tener en cuenta la capacidad de , a los enlaces, por ejemplo.

20.6 El protocolo OSPF (Open Shortest Path First)

393

Redes de Computadoras, 2007/08

El clculo de los caminos m a nimos se produce cada vez que un router detecta un cambio en el coste de uno de sus enlaces o en su defecto, cada 30 minutos. En cualquier caso, los routers envian a todos los dems routers del AS (broadcasting) los costes de los enlaces con a dichos routers. Se utiliza directamente el IP, puerto 89 [14]. Soporta multicasting (RFC 1584).

20.6 El protocolo OSPF (Open Shortest Path First)

394

Soporta routing jerrquico (permite denir ASs dentro de los ASs): a

Redes de Computadoras, 2007/08

20.6 El protocolo OSPF (Open Shortest Path First)

395

20.7.

El BGP (Border Gateway Protocol)

RFCs 1771 (versin 4), 1172, 1173 y 1930. o


Redes de Computadoras, 2007/08

Routing inter-AS.1

Utiliza el algoritmo Distance-Vector. 20.7 El BGP (Border Gateway Protocol)


1A

los routers que conectan sistemas autnomos entre s se les llama border gateways. o

396

BGP usa intensivamente el routing jerrquico. a A la hora de calcular las rutas se tienen en cuenta factores econmicos, o pol ticos, de seguridad, etc.
Redes de Computadoras, 2007/08

Se emplea el TCP, puerto 179. Los routers se intercambian CDIRized prexes (direcciones de redes que contienen otras redes de forma jerrquica) [15]. Por ejemplo (ver a la siguiente gura), el router A.c enviar al router B.a informacin a o sobre las redes que son alcanzables desde A.c y B.a enviar a A.c a informacin sobre las redes que son alcanzables desde B.a. Ntese que o o si la agregacin es ptima, el intercambio de informacin es m o o o nimo:

20.7 El BGP (Border Gateway Protocol)

397

Redes de Computadoras, 2007/08

20.7 El BGP (Border Gateway Protocol)

398

20.8.
20.8.1.
Redes de Computadoras, 2007/08

Algoritmos de routing
Algoritmo de routing Link-State

Consta de dos fases: 1. Fase de ooding (inundacin). En ella, cada router broadcasts o el estado de sus enlaces (destino2 y coste) al resto de routers del AS. 2. Fase de clculo de los caminos m a nimos. Se utiliza normalmente el algoritmo de Dijkstra [22].

20.8 Algoritmos de routing

2 Ntese o

que el origen est determinado por quien env en mensaje. a a

399

Flooding de los estados de los enlaces


Cada router env el estado de sus enlaces a todos los routers direca tamente conectados.
Redes de Computadoras, 2007/08

Todo router que recibe un mensaje con informacin del tipo anterior o retransmite el mensaje a travs de todos sus enlaces excepto por el e que lleg el mensaje. o Cuando los mensajes son creados se les asigna un TTL que es decrementado cada vez que es retransmitido. De esta forma garantizamos que la fase de inundacin naliza. o

20.8 Algoritmos de routing

400

Algoritmo de Dijkstra
1. Sean dos listas (Conrmed y Tentative) de ternas (Destination, Cost, NextHop). Inicializar Conrmed con el nodo que ejecuta el algoritmo y Tentative con los nodos que pueden alcanzarse desde l. e 2. Mientras Tentative no est vac e a: a) Mover desde Tentative a Conrmed la terna de menor coste. b) Recarcular las distancias a los posibles destinos con esta terna. 3. En cada entrada de Conrmed queda almacenada la distancia m nima a cada nodo de la red y el primer nodo que se tiene que atravesar para conseguirlo.

Redes de Computadoras, 2007/08

20.8 Algoritmos de routing

401

Ejemplo
Dada la red de la gura
Redes de Computadoras, 2007/08

A 5 3 1 B

2 2 D 3 4

C 1 F 2 E

obtener la tabla de encaminamiento para el nodo E segn el algoritmo u Link-State. 20.8 Algoritmos de routing 402

Conrmed (E,0,-)
2 5 3 1 B 4 E D 3 2 2

C 1 F

Redes de Computadoras, 2007/08

(E,0,-) (F,2,F) (E,0,-) (F,2,F) (E,0,-) (F,2,F) (D,3,D) (E,0,-) (F,2,F) (D,3,D) (E,0,-) (F,2,F) (D,3,D) (C,3,F) (E,0,-) (F,2,F) (D,3,D) (C,3,F)

Tentative (B,4,B) (D,3,D) (F,2,F) (B,4,B) (D,3,D) (B,4,B) (D,3,D) (C,2+1,F) (B,4,B) (C,3,F) (B,4,B) (C,3,F) (A,3+5,D) (B,4,B) (A,8,D)

Comentarios Inicio

Movemos (F,2,F) Actualizamos desde (F,2,F) Movemos (D,3,D) Actualizamos desde (D,3,D) Movemos (C,3,F)

(B,4,B) (A,3+2,F)

Actualizamos desde (C,3,F)

20.8 Algoritmos de routing

403

A 5 3 1

2 2 D 3 4

C 1 F 2 E

Redes de Computadoras, 2007/08

Conrmed (E,0,-) (F,2,F) (D,3,D) (C,3,F) (B,4,B) (E,0,-) (F,2,F) (D,3,D) (C,3,F) (B,4,B) (E,0,-) (F,2,F) (D,3,D) (C,3,F) (B,4,B) (A,5,F)

Tentative (A,5,F)

Comentarios Movemos (B,4,B)

(A,5,F)

Actualizamos desde (B,4,B)

Movemos (A,5,F) y terminamos

20.8 Algoritmos de routing

404

20.8.2.

Algoritmo de routing Distance-Vector

Tambin llamado algoritmo de Bellman-Ford [22]. e


Redes de Computadoras, 2007/08

Emplea el mismo modelo de red mediante un grafo, donde los nodos representan routers y los arcos enlaces de transmisin. o Es un algoritmo progresivo (calcula las rutas progresivamente, mejorndolas en cada iteracin) y distribuido (los clculos se realizan a o a parcialmente en cada router).

Algoritmo de Bellman-Ford
Cada cierto tiempo todos los routers vecinos intercambian los vectores con distancias a todos los dems routers del AS y se recalculan los a vectores de distancias. Lo anterior tambin ocurre cuando un router detecta una variacin en e o la distancia a algunos de sus vecinos. 20.8 Algoritmos de routing 405

Ejemplo
Dada la red de la gura
Redes de Computadoras, 2007/08

A 5 3 1 B

2 2 D 3 4

C 1 F 2 E

obtener las tablas de encaminamiento segn el algoritmo Distanceu Vector. 20.8 Algoritmos de routing 406

A 5 3 1

2 2 D 3 4

C 1 F 2 E

Redes de Computadoras, 2007/08

A B C D E F

Tablas A 0 3/A 2/A 5/A

de encaminamiento B C D 3/B 2/C 5/D 0 1/D 0 2/D 1/B 2/C 0 4/B 3/D 1/C

iniciales. E F 4/E 1/F 3/E 0 2/F 2/E 0

20.8 Algoritmos de routing

407

A 5 3 1 B

2 2 D 3 4

C 1 F 2 E

Redes de Computadoras, 2007/08

A B C D E F

Tablas A 0 3/A 2/A 5/A

de encaminamiento iniciales. B C D E F 3/B 2/C 5/D 0 1/D 4/E 0 2/D 1/F 1/B 2/C 0 3/E 4/B 3/D 0 2/F 1/C 2/E 0

A B C D E F

Tablas de encaminamiento tras el primer intercambio de vectores. A B C D E F 0 3/B 2/C 4/C 7/B 3/C 3/A 0 3/D 1/D 4/E 6/E 2/A 3/D 0 2/D 3/F 1/F 4/B 1/B 2/C 0 3/E 3/C 7/B 4/B 3/F 3/D 0 2/F 3/C 6/E 1/C 3/C 2/E 0 408

20.8 Algoritmos de routing

A 5 3 1 B

2 2 D 3 4

C 1 F 2 E

Redes de Computadoras, 2007/08

A B C D E F

Tablas de encaminamiento tras el primer intercambio de vectores. A B C D E F 0 3/B 2/C 4/C 7/B 3/C 3/A 0 3/D 1/D 4/E 6/E 2/A 3/D 0 2/D 3/F 1/F 4/B 1/B 2/C 0 3/E 3/C 7/B 4/B 3/F 3/D 0 2/F 3/C 6/E 1/C 3/C 2/E 0

Tablas de encaminamiento tras el segundo y denitivo intercambio de A B C D E A 0 3/B 2/C 4/C 5/C B 3/A 0 3/D 1/D 4/E C 2/A 3/D 0 2/D 3/F D 4/B 1/B 2/C 0 3/E E 5/F 4/B 3/F 3/D 0 F 3/C 4/C 1/C 3/C 2/E

vectores. F 3/C 4/D 1/F 3/C 2/F 0 409

Redes de Computadoras, 2007/08

Cap tulo 21

Multicasting (Multidifusin) o
20.8 Algoritmos de routing 410

21.1.

Modelos de transmisin o

1. El modelo unicast donde un emisor realiza un env y los datos llegan o a un unico receptor. Ejemplo: las transmisiones TCP.
Redes de Computadoras, 2007/08

2. El modelo multicast: Un emisor realiza un env y los datos llegan a o muchos receptores. Ejemplos: actualizaciones de software, streaming de audio y v deo, pizarras compartidas, juegos interactivos, ... A nivel de la capa de red, el multicasting permite ahorrar ancho de banda (sobre todo en en el enlace de subida el emisor) si lo comparamos con la versin unicast de las aplicaciones. o El broadcasting se considera un caso particular del modelo multicast en el que los datos llegan a todos los posibles receptores.

21.1 Modelos de transmisin o

411

21.2.

El multicasting a nivel de aplicacin y de o red


1. A nivel de la capa de aplicacin, mediante dos tcnicas difero e entes: a) Mltiple-unicast: el emisor genera una copia de los datos u para cada posible receptor. b) Mediante overlay networks: en este caso, el emisor slo o genera una copia y en algunos puntos estratgicos de la red e se coloca un programa de replicacin que hace las veces de o router multicast. 2. A nivel de la capa de red, emitiendo una unica copia de los datos. Los routers multicast se encargan de replicar los paquetes que transportan los datos tanto como sea necesario.

El multicasting puede realizarse fundamentalmente de dos maneras:


Redes de Computadoras, 2007/08

21.2 El multicasting a nivel de aplicacin y de red o

412

Las dos ultimas alternativas tienen dos grandes ventajas: 1. La redundancia de la emisin es mucho menor. o
Redes de Computadoras, 2007/08

2. El emisor no tiene por qu conocer los posibles receptores (que e pueden ser muchos). La tercera adems simplica el software a nivel de aplicacin. a o

21.2 El multicasting a nivel de aplicacin y de red o

413

21.3.
21.3.1.
Redes de Computadoras, 2007/08

Algoritmos de broadcasting
Flooding

Los routers env los paquetes recibidos a todos sus vecinos, excepto an al que se los entrega. Para evitar que los lazos generen una sucesin innita de replicaciones o (broadcast storm) se utilizan dos tcnias: e 1. Sequence-number-controlled ooding. En cada paquete se incluye un nmero de secuencia que lo identica. Este nmero u u junto con la dir IP origen del paquete sirve para que cuando un router lo recibe, ste lo replica si y slo si antes no ha sido e o replicado. 2. Reverse path forwarding (RPF). En este caso se utiliza slo o la dir IP del paquete. Un router lo replica si y slo si recibe o el paquete a travs del enlace que forma parte de la ruta de e distancia m nima entre ambos routers (el de origen del paquete 21.3 Algoritmos de broadcasting 414

y el que recibe el paquete).1 Un ejemplo lo encontramos en la siguiente gura (A es el router origen):


1 Ntese que esta informacin gura en la tabla de routing de cada router que recibe o o el paquete.

Redes de Computadoras, 2007/08

21.3 Algoritmos de broadcasting

415

Redes de Computadoras, 2007/08

21.3 Algoritmos de broadcasting

416

21.3.2.

Spanning-tree broadcast

Es ms ptimo que el fooding (cada router recibe slo una copia de a o o los datos).
Redes de Computadoras, 2007/08

Se basa en que los routers slo env los datos a travs del minimum o an e spanning tree. El rbol de expansin m a o nimo es un rbol (y por tanto a un grafo sin ciclos) que utiliza a todos los nodos del grafo y que posee un coste m nimo.

21.3 Algoritmos de broadcasting

417

Redes de Computadoras, 2007/08

Para determinar el minimum spanning tree se puede utilizar el algoritmo de Steiner [14], pero ste es muy costoso en trminos de tiempo e e (es un problema de complejidad exponencial O(xN ), donde N es el nmero de nodos del grafo y x es una costante) y por este motivo se u utilizan otros algoritmos menos costosos basados en heur sticas. 21.3 Algoritmos de broadcasting 418

Uno de los algoritmos usados es el algoritmo del punto de encuentro (rendezvous point) para el clculo del spanning tree2 : a 1. Denir un rendezvous router y hacrselo saber a todos los dems e a routers. 2. Todos los dems routers env un mensaje tree-join hacia el rena an dezvous router usando el camino m nimo (que s es determinado por los algoritmos de routing unicast). 3. Cada router que recibe un mensaje tree-join aade al spanning n tree el enlace por el que ha llegado el mensaje. 4. El mensaje se retransmite hacia el rendezvous router si el router todav no pertenece al spanning tree. Ejemplo (E es el punto a de encuentro):
ocasiones llamado tambin aproximacin basada en el centro para el clculo del e o a spanning tree.
2 En

Redes de Computadoras, 2007/08

21.3 Algoritmos de broadcasting

419

Redes de Computadoras, 2007/08

21.3 Algoritmos de broadcasting

420

21.4.

Los grupos multicast

La clase D de dirs IP fueron reservadas para grupos multicast. La red multicast es la 224.0.0.0/4 [14]. Vase la transparencia 18.2. e
Redes de Computadoras, 2007/08

Todos los hosts que escuchan una dir IP multicast forman un grupo multicast. Existen 2324 grupos multicast diferentes. Cada dir IP multicast se comporta como un canal de tipo broadcast (como los canales de radio) donde todos los hosts pertenecientes a un grupo multicast puede enviar y recibir datagramas. El env de datagramas a un grupo multicast puede hacerse en o cualquier instante, independientemende de que en ese momento exista otro emisor en el grupo. En un datagrama dirigido a un grupo multicast gura, como dir IP destino, la dir IP del grupo multicast. Los miembros de un grupo multicast no conocen (al menos por la capa de red) a los otros miembros del grupo. 21.4 Los grupos multicast 421

Nadie controla quin pertenece a un grupo multicast (a nivel de la capa e de red). La limitacin la imponen los routers multicast (ltrando) y o los TTLs de los paquetes.
Redes de Computadoras, 2007/08

Nadie controla qu grupos multicast se crean o destruyen (a nivel e de red). A nivel de aplicacin s que se hace (vase la aplicacin sdr o e o (Session DiRectory)) diseada para el MBone [12]. n Cuando un host escribe a una dir multicast, el datagrama llega a todos los miembros del grupo. En el siguiente ejemplo se supone que el grupo multicast 226.17.30.197 est formado por los 3 recepa tores 128.59.16.20, 128.34.108.63 y 128.34.108.60, y por el emisor 128.119.40.186.

21.4 Los grupos multicast

422

Redes de Computadoras, 2007/08

21.4 Los grupos multicast 423

21.5.

El IGMP (Internet Group Management Protocol)

Redes de Computadoras, 2007/08

RFC 2236. Controla cmo se crean y destruyen los grupos multicast. o El IGMP se utiliza entre un host y su router multicast, que por denicin debe de estar en su red. o

21.5 El IGMP (Internet Group Management Protocol)

424

Redes de Computadoras, 2007/08

Funcionamiento:

21.5 El IGMP (Internet Group Management Protocol)

425

1. El router multicast env peridicamente un mensaje del tipo a o membership query a la(s) red(es) conectada(s) para preguntar si existe al menos un host suscrito a un grupo multicast.
Redes de Computadoras, 2007/08

2. Todos los hosts suscritos a algn grupo multicast conu testan (esperando un tiempo aleatorio mximo establecido a en el mensaje membership query) con mensajes del tipo membership report, indicando en cada uno de ellos las dirs IP multicast correspondientes. Esperan un tiempo aleatorio antes de contestar porque si durante la espera escuchan un membership report de otro host de la sub-red indicando que est suscrito a ese grupo multicast, se ahorran la contestacin. a o Si el router no recibe ningn membership report en un cierto tiempo u despus de un membership query, deja de participar en las transmie siones multicast (pruning del rbol multicast). a El anterior estado tambin puede conseguirse enviando al router un e mensaje opcional llamado leave group. 21.5 El IGMP (Internet Group Management Protocol) 426

21.6.
21.6.1.
Redes de Computadoras, 2007/08

Protocolos de routing multicast


El DVMRP (Distance Vector Multicast Routing Protocol)

RFC 1075. Utiliza el algoritmo de ooding RPF con poda (pruning). Los mensajes de poda deshabilitan las transmisiones multicast durante 2 horas y sirven para que los routers que no quieren recibir el trco a multicast dejen de recibirlo [15].

21.6 Protocolos de routing multicast

427

21.6.2.

PIM (Protocol Independent Multicast)

RFCs 2362, 2201 y 2189. Posee dos modos de funcionamiento:


Redes de Computadoras, 2007/08

1. Modo de funcionamiento denso: Se emplea cuando la mayor de los routers multicast estn a a involucrados en la transmisin multicast. o Utiliza el algoritmo de ooding RPF con poda. 2. Modo de funcionamiento disperso: Se emplea cuando slo una minor de los routers multicast o a estn involucrados en la transmisin multicast. a o Utiliza el algoritmo spanning-tree broadcasting.

21.6 Protocolos de routing multicast

428

21.7.

Multicasting en las redes locales

Redes de Computadoras, 2007/08

Todas las tecnolog de red que actualmente existen (independienteas mente de la existencia de un router multicast) soportan que un host env un datagrama a todos de hosts de la sub-red (broadcasting). e Esto se puede hacer fcilmente si enviamos el datagrama a la dir de a broadcast de la sub-red (la ultima del rango de direcciones). Los routers (normalmente) ignoran los datagramas dirigidos a la dir de broadcast de la sub-red.

21.7 Multicasting en las redes locales

429

21.8.

Multicasting en Internet: el MBone (Multicast BackbONE)

Todos los routers de Internet no tienen que ser multicast!


Redes de Computadoras, 2007/08

Debido a los grandes requerimientos de ancho de banda que ser an necesarios, en general no est permitido que ningn datagrama mula u ticast acceda a Internet y alcance potencialmente a todos sus nodos, a no ser que sea transmitido a travs de redes virtuales especialmente e diseadas con ese propsito como el MBone [26, 1]. n o El MBone es una red virtual, formada por routers multicast conectados entre s mediante tunneling (para distribuir trco multicast sobre los a routers unicast de Internet).

21.8 Multicasting en Internet: el MBone (Multicast BackbONE)

430

Ejemplo:

Redes de Computadoras, 2007/08

El router A encapsula los datagramas multicast en datagramas IP unicast con origen A y con destino (B, ...). B los des-encapsula, ve el datagrama multicast con el destino original y realiza de nuevo tunneling si fuera necesario. Evidntemente, para que un host pueda enviar o recibir datos desde el e MBone, tiene que existir un router multicast perteneciente al MBone en su sub-red. 21.8 Multicasting en Internet: el MBone (Multicast BackbONE) 431

La distancia (en hops) que recorren los datagramas multicast en el MBone depende: 1. Del TTL asignado por el host emisor.
Redes de Computadoras, 2007/08

2. De que los routers permitan su retranmisin. o RedIRIS (la red de investigacin espaola) pertenece actualmente al o n MBone [13, 26]. The Roling Stones fueron los primeros en utilizar comercialmente el MBone en 1994. Emitieron 25 minutos de un concierto dado en Dallas, USA [20]. El MBone dejar de existir como red virtual cuando todos los routers a de Internet sean multicast.

432

Redes de Computadoras, 2007/08

Cap tulo 22

Mobility (Movilidad)

21.8 Multicasting en Internet: el MBone (Multicast BackbONE)

433

22.1.

Routing para hosts mviles o

RFC 3220 (Mobile IP).


Redes de Computadoras, 2007/08

El IP contempla la posibilidad de que uno o dos de los hosts que han establecido una conexin se puedan mover (cambiar de red f o sica) a lo largo del tiempo que dura la conexin [14]. Esto puede ocurrir si o se utilizan redes wireless. Siempre que el host mvil desee recibir datos (de una determinada o conexin) debe conservar su dir IP: o Usando UDP, si el host que es mvil env pero nunca recibe o a datos, entonces no es necesario aadir ninguna funcionalidad a n la capa de red. Sin embargo, si el host que es mvil recibe datos o entonces el routing esttico no funciona. a Usando TCP, como la conexin es siempre duplex (se env o an datos de alguna clase en ambos sentidos), la capa de red debe de permitir el routing para host mviles. o 22.1 Routing para hosts mviles o 434

El routing para host mviles puede ser utilizado para desviar paqueo tes hacia un host malicioso. Por este motivo todos los protocolos utilizados poseen sistemas de identicacin. o
Redes de Computadoras, 2007/08

22.1 Routing para hosts mviles o

435

22.2.

Nomenclatura

Mobile host: el host que se mueve entre redes durante una conexin. o
Redes de Computadoras, 2007/08

Correspondent host: el host (mvil o no) que mantiene la conexin o o con el host mvil. o Correspondent agent: el gateway del correspondent host. Home network: la red originaria del host mvil. o Foreing network: la red a la que se mueve el host mvil con una o conexin establecida. o Home agent: un router perteneciente a la home network que conoce la dir IP del host mvil y la red foreing network. o Foreing agent: un router perteneciente a la foreing network que conoce la dir IP (ja) del host mvil. o COA (Care-of Address): dir IP del foreing agent. 22.2 Nomenclatura 436

Redes de Computadoras, 2007/08

22.2 Nomenclatura 437

22.3.

Routing indirecto
1. El correspondent host env los paquetes ageno a la situacin a o geogrca del mobile host utilizando su dir IP permanente (la a que usa en su home network). 2. Los paquetes llegan hasta el home agent y ste los env al foree a ing agent usando la COA. Los paquetes originales se encapsulan (mediante tunneling, RFCs 2003 y 2004) en otros para conservar las dirs IP del correspondent host y del mobile host. Esto es necesario porque ningn router intermedio entre el home agent u y el foreing agent encaminar adecuadamente los paquetes ena capsulados. 3. Los paquetes encapsulados llegan hasta el foreing agent, los desencapsula y los env al mobile host. a 4. El mobile host puede contestar directamente al correspondent host porque ste no es mvil. e o

Consiste en los siguientes pasos:


Redes de Computadoras, 2007/08

22.3 Routing indirecto

438

Ejemplo
Encaminamiento:
Redes de Computadoras, 2007/08

22.3 Routing indirecto

439

Tunneling:

Redes de Computadoras, 2007/08

22.3 Routing indirecto

440

22.4.

Routing directo

Redes de Computadoras, 2007/08

Intenta reducir la distancia recorrida por los paquetes enviados al mobile host.1 En este caso el correspondent agent no es ageno a que el mobile host es realmente mvil. o El correspondent agent conoce que el mobile host est en la foreing a network (de hecho conoce la COA) porque se lo indica el home agent. Esto ocurre cuando el home agent ve que hay trco para el mobile a host que ya no puede entregar. El correspondent agent env los paquetes al mobile host usando tuna neling. Estos llegan encapsulados al foreing agent. El foreing agent desencapsula los paquetes y los entrega al mobile host.
1 Imag nese

que el host mvil est en la misma red que el correspondent host. o a

22.4 Routing directo

441

Ejemplo

Redes de Computadoras, 2007/08

22.4 Routing directo

442

Redes de Computadoras, 2007/08

Parte V

La capa de enlace de datos

443

Redes de Computadoras, 2007/08

Cap tulo 23

Servicios de la capa de enlace de datos


22.4 Routing directo 444

23.1.

El marco de trabajo

La capa de enlace de datos se sita entre la capa de red y la capa u f sica.


Redes de Computadoras, 2007/08

23.1 El marco de trabajo

445

La capa f sica est generalmente muy relacionada con la capa de enlace a de datos (se dice que ambas son muy dependientes). Sin embargo, en algunas tecnolog (como ATM) existe una diferenciacin clara. as o
Redes de Computadoras, 2007/08

La transmisin de un paquete desde el host emisor al receptor implica o generalmente el uso de diferentes tecnolog con distintas capas de as enlace de datos, cada una con un modelo de servicio espec co.

23.1 El marco de trabajo

446

23.2.

Nodos, frames y enlaces

Redes de Computadoras, 2007/08

La capa de enlace de datos transmite bloques de datos (a los que llamaremos frames [14]) entre dos nodos (hosts o routers) de la red adyacentes, a travs de un enlace de transmisin. e o En el contexto de Internet, cada frame puede transmitir un paquete (o una parte de ste) generado por la capa de red. e A nivel de enlace de datos no tiene sentido distinguir entre hosts y routers, y por eso en adelante emplearemos slo el trmino nodo. El o e problema de transmitir un frame es el mismo, independientemente del tipo de nodo.

23.2 Nodos, frames y enlaces

447

23.3.

Servicios generalmente proporcionados

Transporte de datos
Redes de Computadoras, 2007/08

El unico servicio que siempre se suministra independientemente de la tecnolog subyacente, es el de transporte de datos. Los dems son a a opcionales (para la capa de red y de transporte).

Direccionamiento
En el caso de que en un mismo enlace existan ms de un posible a nodo receptor, la capa de enlace de datos proporciona un mecanismo de direccionamiento basado en direcciones que permita al emisor diferenciarlos. LLamaremos a estas direcciones, direcciones f sicas.

23.3 Servicios generalmente proporcionados

448

Control de acceso al medio


Media Access Control (MAC).
Redes de Computadoras, 2007/08

En aquellos casos donde existan dos o ms nodos emisores potena ciales conectados a un mismo enlace de datos, la capa de enlace de datos proporciona un mecanismo de arbitraje del medio para evitar las colisiones. Por denicin, se produce una colisin cuando dos o ms emisores o o a acceden a un medio compartido para enviar datos y lo hacen al mismo tiempo (cuando esto el medio no lo permite).

23.3 Servicios generalmente proporcionados

449

Transferencia able
En algunas tecnolog la capa de enlace de datos garantiza que el as, transporte de un frame entre el emisor y el receptor se realiza sin errores. Para ello se implementan, a este nivel, algoritmos de control de ujo y de errores. Aunque puede pensarse que este servicio se solapa con el que se presta en la capa de transporte, debe tenerse en cuenta que a este nivel los errores slo se corrigen si se producen sobre el enlace (no en un router o por ejemplo). Adems, en aquellos casos donde la probabilidad de error del enlace a es bastante alta (como puede ocurrir en los enlaces de larga distancia o en los enlaces de radio), es mucho ms eciente controlar los errores a nodo-a-nodo que de extremo-a-extremo (como hace el TCP).

Redes de Computadoras, 2007/08

450

Redes de Computadoras, 2007/08

Cap tulo 24

Control de errores

23.3 Servicios generalmente proporcionados

451

24.1.

Fundamentos

Redes de Computadoras, 2007/08

Las tcnicas de deteccin de errores slo pueden detectar (con una e o o cierta probabilidad de acierto) si existen errores de transmisin y stos o e slo pueden corregirse usando retransmisin de datos. Las tcnicas de o o e correccin de errores adems permiten corregirlos sin retransmisin. o a o En ambos casos se introduce informacin redundante, especialo mente en el segundo (por eso su uso no es muy frecuente en redes de transmisin de datos a no ser que los errores de transmisin sean muy o o frecuentes, las latencias muy grandes o las comunicaciones simplex, donde el control de errores mediante ARQ no es posible). La informacin de control de errores es aadida por la capa de enlace o n de datos del emisor y eliminada por la capa de enlace de datos del receptor:

24.1 Fundamentos

452

Redes de Computadoras, 2007/08

EDC (Error Detecting Code). 24.1 Fundamentos 453

24.2.

Paridad

Redes de Computadoras, 2007/08

Consiste en aadir bits de paridad de forma que el nmero de bits n u iguales a 1 en el mensaje sea un nmero impar si usamos paridad u impar o un nmero par si usamos paridad par [14]. u Cuantos ms bits de paridad introducimos ms errores podemos dea a tectar. Si estos son sucientes, incluso corregirlos. Ejemplos: 1. Paridad simple. Consiste en aadir un unico bit de paridad. En n el siguiente ejemplo se utiliza paridad par:

La probabilidad de detectar (no de corregir) un error es del 50 %.

24.2 Paridad

454

2. Paridad bidimensional. Consiste en aadir bits de paridad por n las y por columnas. En el ejemplo se utiliza paridad par y como puede verse permite corregir un error.
Redes de Computadoras, 2007/08

24.2 Paridad

455

24.3.

Checksum

Redes de Computadoras, 2007/08

Consiste en sumar (usando una determinada precisin aritmtica) too e das las palabras del mensaje y transmitir como EDC dicha suma [22]. El receptor realiza la misma suma y si no concuerda con el EDC se sabe que se ha producido un error de transmisin. o Como ejemplo se muestra (en C) el algoritmo de la suma de comprobacin usado por el TCP/IP: o
unsigned short cksum (unsigned short *buf, int count) { /* 1 */ register unsigned long sum=0; /* 2 */ while (count--) { /* 3 */ sum += *buff++; /* 4 */ if (sum & 0xFFFF0000) { /* 5 */ sum &= 0xFFFF; /* 6 */ sum++; /* 7 */ } /* 8 */ } /* 9 */ return ~(sum & 0xFFFF); /* 10 */ } /* 11 */

24.3 Checksum

456

Tanto el emisor como el receptor ejecutan el mismo algoritmo. Lo unico que cambia es que el receptor incluye la suma de comprobacin o en el clculo (y el emisor no). Si el resultado es 0, entonces se supone a que no existen errores de transmisin. o
Redes de Computadoras, 2007/08

24.3 Checksum

457

24.4.

CRC (Cyclic Redundancy Check)

Redes de Computadoras, 2007/08

Un mensaje de n+1 bits puede ser considerado como un polinomio de grado n donde los coecientes son 0 o 1 [32]. Por ejemplo, el mensaje 00100011 equivaldr al polinomio x5 + x + 1. a Sea Mn (x) el mensaje (polinomio de grado n) de n + 1 bits que el emisor quiere enviar al receptor, y sea Gk (x) el polinomio generador usado para crear el CRC. El CRC se calcula realizando Rk1 (x) (Mn (x) xk ) mod Gk (x). El emisor concatena a Mn (x) los k bits del CRC y los env a. Matemticamente: a Tn+k (x) = (Mn (x) xk ) + Rk1 (x). Ntese que por la forma en que Tn+k (x) es constru Tn+k (x) debe o do, ser divisible, necesariamente, entre Gk (x). 24.4 CRC (Cyclic Redundancy Check) 458

Cuando receptor recibe Tn+k (x), comprueba si es divisible entre Gk (x). Si as es supone que no se han producido errores de trans misin. o
Redes de Computadoras, 2007/08

Ejemplo
Trama a transmitir: M5 (x) = x5 + x2 . Polinomio CRC: G3 (x) = x3 + x2 + 1. Residuo: R2 (x) = 1. Trama nalmente transmitida: 100100 001 (T8 (x) = x8 + x5 + 1).

M5 (x) x3 M5 (x) G3 (x) 1001000 0 0 110 1 1101 1 1 1101 1000 1101 1010 1101 1110 1101 01100 1101 001 Resto R2 (x) 459

24.4 CRC (Cyclic Redundancy Check)

Errores detectados
Una trama con errores ser Tn+k (x) + Ei (x), donde Ei (x) es el polia nomio formado por todos los bits de Tn+k (x) que han sido invertidos por el error. Para no detectar el error tendr que ocurrir que a Tn+k (x) + Ei (x) mod Gk (x) = 0 o lo que es lo mismo, que Ei (x) mod Gk (x) = 0 ya que por la forma en que Tn+k (x) es constru se cumple siempre do, que Tn+k (x) mod Gk (x) = 0.

Redes de Computadoras, 2007/08

24.4 CRC (Cyclic Redundancy Check)

460

Por tanto, los mejores polinomios generadores son aquellos que dif cimente son factor de otro posible polinomio error. Por ello, los polinomios de CRC deben: (1) tener un grado lo ms alto posible y (2) a no ser factorizables. Ejemplos:
Redes de Computadoras, 2007/08

Denominacin o CRC-8 CRC-10 CRC-12 CRC-16 CRC-CCITT CRC-32

G(x) x8 + x2 + x1 + 1 x10 + x9 + x5 + x4 + x1 + 1 x12 + x11 + x3 + x2 + 1 x16 + x15 + x2 + 1 x16 + x12 + x5 + 1 x32 + x26 + x23 + x16 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + 1

Ntese, por ejemplo, que el CRC-32 detectar todos aquellos errores o a tipo rfaga1 que afecte a menos de 32 bits ya que ningn polinomio a u error de grado menor que 32 ser divisible entre l. a e
1 Que

invierte un determinado nmero de bits consecutivos. u

461

Redes de Computadoras, 2007/08

Cap tulo 25

Protocolos de acceso mltiple u


24.4 CRC (Cyclic Redundancy Check) 462

25.1.

Protocolos de particionado del canal

Redes de Computadoras, 2007/08

Se utilizan cuando dos o ms emisores pueden acceder a un medio de a transmisin compartido que no admite a ms de un emisor simultneao a a mente [14]. Ejemplos:

25.1 Protocolos de particionado del canal

463

25.2.

Las colisiones

Cuando dos (o ms) emisores acceden simultneamente a un medio a a compartido se produce una colisin. o
Redes de Computadoras, 2007/08

La ocurrencia de la colisin implica en general que ninguno de los o emisores consigue comunicarse con xito y por tanto se desperdicia e ancho de banda y/o tiempo. El objetivo de los protocolos de acceso mltiple consiste en evitar las u colisiones.

25.2 Las colisiones

464

25.3.

Protocolos de particionado esttico del a canal

No existen colisiones.
Redes de Computadoras, 2007/08

T picamente, se disean realizando un particionado esttico del ancho n a de banda (FDM) o del tiempo (TDM). La mxima tasa de transmisin es R/N donde R es el la tasa de a o transmisin del enlace y N es el nmero de emisores. o u

25.3 Protocolos de particionado esttico del canal a

465

25.3.1.
Frecuencia
Redes de Computadoras, 2007/08

FDM y TDM
FDM Frecuencia w Canal 4 Canal 3 Canal 2 Canal 1 t Tiempo Tiempo TDM

25.3 Protocolos de particionado esttico del canal a

466

25.3.2.

CDMA (Code Division Multiple Access)

Redes de Computadoras, 2007/08

Es semejante a FDM en que los emisores nunca cesan de transmitir, pero se transmite en banda base (sin modulacin), utilizando todo el o rango de frecuencias. Cada emisor utiliza un cdigo espec o co que lo identica y transmite cada bit de datos modulado por dicho cdigo. o El receptor correlaciona la seal recibida con el cdigo usado por el n o emisor y obtiene el bit de datos.

25.3 Protocolos de particionado esttico del canal a

467

Redes de Computadoras, 2007/08

di = i-simo bit de datos. e cm = m-simo bit del cdigo CDMA. e o M = longitud del cdigo CDMA. o 25.3 Protocolos de particionado esttico del canal a 468

Redes de Computadoras, 2007/08

Las seales Zi,m n de los emisores se suman entre s cuando son emitidas simultneaa mente, generndose a Zi,m .

25.3 Protocolos de particionado esttico del canal a

469

Ventajas: 1. No hay colisiones.


Redes de Computadoras, 2007/08

2. Alta seguridad: slo si se conoce el cdigo CDMA se puede reo o cuperar la seal de datos. n Desventaja: 1. Muy alto consumo de ancho de banda (muchos baudios/bit de datos), para un emisor, dada una determinada tasa de bits. Sin embargo, como todos los emisores comparten el mismo ancho de banda, el consumo es equivalente a un TDM o un FDM. 2. Particionamiento esttico del ancho de banda.1 a

1 Si un emisor se queda solo transmitiendo, no puede aprovecharse de esta circunstancia, al menos fcilmente, por el cdigo CDMA depende del nmero potencial de emisores, a o u no de los emisores que realmente estn transmitiendo en ese momento. a

25.3 Protocolos de particionado esttico del canal a

470

25.4.

Protocolos de acceso aleatorio

Particionado dinmico del ancho de banda. a


Redes de Computadoras, 2007/08

Existen colisiones. Cuando estas ocurren, el nodo espera un tiempo aleatorio antes de retransmitir el frame. La tasa de transmisin es siempre igual a R donde R es la tasa de o transmisin del enlace.2 o

2 Ojo, la tasa de transmisin efectiva, la que se obtiene util, es t o picamente inferior a R debido a las colisiones.

25.4 Protocolos de acceso aleatorio

471

25.4.1.

ALOHA ranurado

Todos los frames poseen L bits.


Redes de Computadoras, 2007/08

Se transmite en slots de tiempo de L/R segundos (1 frame/slot). Todos los nodos estn sincronizados. a

25.4 Protocolos de acceso aleatorio

472

Cuando se produce una colisin, todos los nodos la detectan en o ese slot de tiempo. En ese momento todos los nodos involucrados retransmiten con una probabilidad distinta p.
Redes de Computadoras, 2007/08

Si slo existe un nodo (no existen colisiones), ste transmite durante o e todo el tiempo a R bps.3 Cuando existen varios nodos transmitiendo, la eciencia tiende a N p (1 p)N 1 donde N es el nmero de nodos y p es la probabilidad de emitir un u frame. De esta expresin se deduce que para un N sucientemente o grande, la eciencia es de 0,37. Esto signica que slo el 37 % de los o slots de tiempo son utilizados con xito. e La sincronizacin de los nodos es cr o tica para evitar las colisiones parciales.
3 Si

25.4 Protocolos de acceso aleatorio

tuviera datos que transmitir, claro.

473

25.4.2.

ALOHA (no ranurado)

Igual que ALOHA ranurado, pero ahora los nodos no estn sincronizaa dos.
Redes de Computadoras, 2007/08

Siempre se transmite durante un slot de tiempo, aunque se detecte una colisin. o

25.4 Protocolos de acceso aleatorio

474

La eciencia en funcin del nmero de emisores N tiende a o u N p (1 p)2(N 1)


Redes de Computadoras, 2007/08

lo que signica que la eciencia no es nunca superior a 0,37/2.

25.4 Protocolos de acceso aleatorio

475

25.4.3.

CSMA (Carrier Sense Multiple Access)

Incorpora la siguiente mejora (Carrier Sense):


Redes de Computadoras, 2007/08

1. Antes de (re)transmitir, los nodos miran si el medio est ocupaa do. Si lo est, esperan un tiempo aleatorio. a A pesar de esta mejora, pueden existir colisiones. Supongamos, por ejemplo, que existen 4 nodos A, B, C y D situados a lo largo de un cable como se muestra en la siguiente gura.

25.4 Protocolos de acceso aleatorio

476

Redes de Computadoras, 2007/08

En t0 emite B y en t1 emite D. Si se cumple que en t1 t0 la seal n portadora no ha llegado desde B hasta D, entonces se producir a una colisin. o

25.4 Protocolos de acceso aleatorio

477

25.4.4.

CSMA/CD (Collision Detect)

Incorpora la siguiente mejora (Collision Detect):


Redes de Computadoras, 2007/08

1. Mientras transmiten, si detectan una colisin entonces dejan ino mediatamente de transmitir. Usado en Ethernet. Las colisiones pueden seguir apareciendo, pero ahora el tiempo de colisin es menor. En el siguiente ejemplo (semejante al anterior) se o ha supuesto que el tiempo que se necesita para detectar la colisin no o es cero (lo que en la prctica siempre ocurre). a

25.4 Protocolos de acceso aleatorio

478

Redes de Computadoras, 2007/08

25.4 Protocolos de acceso aleatorio

479

25.5.

Protocolos basados en turnos

Se basan en establecer alguna pol tica de acceso al medio basada en turnos. Se han llevado a la prctica dos alternativas diferentes: a
Redes de Computadoras, 2007/08

1. Protocolos de sondeo. Un nodo maestro se encarga de ir chequeando (secuencialmente) qu nodos tienen datos que transe mitir. Cuando detecta uno le da permiso durante un tiempo limitado. 2. Protocolos de paso de token. Los nodos se intercambian (secuencialmente) un frame especial llamado token que permite al nodo que lo posee transmitir durante un tiempo limitado. Los protocolos basados con turnos poseen una eciencia mayor que los protocolos de acceso aleatorio cuando el nmero de nodos potencialu mente emisores es sucientemente alto (ya que no existen colisiones). Sin embargo, cuando hay pocos emisores, la eciencia es menor porque el sondeo o el paso del token no es instantneo. a 480

Redes de Computadoras, 2007/08

Cap tulo 26

Redes locales y el ARP

25.5 Protocolos basados en turnos

481

26.1.

LAN: denicin o

Una LAN (Local Area Network) es una red de computadoras concentradas en un rea geogrca [14]. a a
Redes de Computadoras, 2007/08

Una LAN est t a picamente conectada a Internet a travs de un router. e

26.1 LAN: denicin o

482

26.2.

Direcciones f sicas

Cada adaptador de red posee una direccin f o sica (tambin llamada e direccin MAC Medium Access Control ). o
Redes de Computadoras, 2007/08

En la mayor de las tecnolog de red, las direcciones f a as sicas poseen 6 bytes.

26.2 Direcciones f sicas

483

En todos los frames transmitidos gura la direccin f o sica del adaptador de red destino. La direccin f o sica FF-FF-FF-FF-FF-FF es la direccin de broadcast o de la sub-red y provoca que el frame alcance a todos los adaptadores conectados.

Redes de Computadoras, 2007/08

26.2 Direcciones f sicas

484

26.3.

El ARP (Address Resolution Protocol)

RFC 826.
Redes de Computadoras, 2007/08

Es utilizado por todos los nodos que poseen la capa de enlace de datos. Traduce la dirs IP a dirs f sicas.

26.3 El ARP (Address Resolution Protocol)

485

Cada nodo incorpora una tabla ARP: Dir IP


Redes de Computadoras, 2007/08

Dir F sica

Las tablas ARP son generalmente dinmicas. Los nodos estn siempre a a pendientes de los frames que les llegan y utilizan las parejas de dirs IP/dirs f sicas (que en ellos guran) para mantenerlas lo ms actua alizadas posible. Adems, sus entradas tienen un tiempo mximo de a a vida.

26.3 El ARP (Address Resolution Protocol)

486

Cuando la tabla ARP no contiene una resolucin se ejecuta el siguiente o protocolo (ARP): 1. Enviar un frame ARP a la dir de broadcast de la sub-red. Dicho frame contiene la dir f sica del nodo emisor y la dir IP del nodo receptor. 2. Cada nodo recibe el frame ARP y comprueba si su dir IP concuerda con la que gura en el frame. Si as es, contesta (usando otro frame ARP) a la dir f sica del nodo que quiere enviar el frame de datos. De paso actualiza su tabla ARP. 3. El nodo que quiere enviar el frame de datos recibe el segundo frame ARP con la resolucin (en l gura la dir f o e sica del nodo que lo genera), actualiza su tabla ARP y transmite los datos.

Redes de Computadoras, 2007/08

487

Redes de Computadoras, 2007/08

Cap tulo 27

Ethernet

26.3 El ARP (Address Resolution Protocol)

488

27.1.

Historia

La tecnolog Ethernet fue inventada por Metcalfe y Boggs a mediados a de los 70 [14].
Redes de Computadoras, 2007/08

Fue la primera en su gnero y actualmente es la tecnolog predomie a nante en redes de rea local (cableada). a

27.1 Historia

489

27.2.

Estructura del frame

Todas las tecnolog Ethernet utilizan la misma estructura de frame1 : as


Redes de Computadoras, 2007/08

1. Prembulo (8 bytes): consta de XXXX XXXY donde X = 1010 1010 a e Y = 1010 1011. Se utiliza para sincronizar los relojes del emisor y del receptor que miden la duracin de los bits del frame. o 2. Dir. f sica destino (6 bytes): dir del adaptador destino. 3. Dir. f sica fuente (6 bytes): dir del adaptador origen. 4. Tipo (2 bytes): identica el protocolo usado en la capa de red (IP, Novell IPX, AppleTalk, etc.).
1 Esto ha permitido que el software de la capa de red haya sido reutilizado durante ms de 20 aos. a n

27.2 Estructura del frame

490

5. Datos (entre 46 y 1.500 bytes): paquete de datos transportado. La capa de red se encarga de la segmentacin y del relleno con ceros (si o estos fueran necesarios).
Redes de Computadoras, 2007/08

6. CRC (4 bytes): CRC-32. Sirve para detectar errores de transmisin. o

27.2 Estructura del frame

491

27.3.

Tamao mximo y m n a nimo de frame

Redes de Computadoras, 2007/08

Ethernet es incapaz de encapsular un paquete proveniente de la capa de rez que ocupe ms de 1.500 bytes. Este valor es sucientemente a bajo como para que los tiempos de espera de los adaptadores que estn esperando a transmitir no sea excesivo y sucientemente alto a como para que el overhead de las cabeceras sea reducido. Ethernet tampoco puede transportar payloads de menos de 46 bytes por la siguiente razn. Si sumamos los 18 bits de cabecera que transo portan informacin (todos los campos excepto los bits de sicronismo) o resultan 64 bytes (512 bits). La Ethernet original pod extenderse a hasta 200 metros y presentaba un RTT de 50 micro-segundos, aproximadamente. En la Ethernet original la tasa de transmisin era 10 Mbps o y a esta tasa de bits, 512 bits tardan en inyectarse en el medio 51,2 micro-segundos. Por tanto, cualquier estacin estar transmitiendo o a an si ella hubiera provocado una colisin. As sabr que tiene que u o , a volver a retransmitir el frame. 27.3 Tamao mximo y m n a nimo de frame 492

27.4.

Servicio
1. Sin conexin: los frames Ethernet se transmiten sin previo aviso. o 2. No able: si un frame llega con errores, Ethernet unicamente los desecha.

Ethernet posee las siguientes caracter sticas:


Redes de Computadoras, 2007/08

Es responsabilidad de las capas superiores transformar este servicio en able y orientado a conexin (cuando sea preciso). o

27.4 Servicio

493

27.5.

Codicacin Manchester o

Se utiliza transmisin en banda base, utilizando codicacin Mancho o ester:


Redes de Computadoras, 2007/08

Una tasa de baudios igual al doble de la tasa de bits permite mantener los relojes del emisor y del receptor siempre sincronizados. Sin embargo, esto genera un mayor consumo de ancho de banda (el doble que si no se usa dicha sincronizacin). o 27.5 Codicacin Manchester o 494

27.6.

El protocolo CSMA/CD en Ethernet

Redes de Computadoras, 2007/08

El adaptador de red intenta transmitir cada frame lo antes posible, pero primero comprueba (durante 96 tiempos de bit) a que no exista seal portadora en el medio. n Si durante una transmisin no se detecta una colisin, se supone que o o el frame se ha transmitido con xito.2 Sin embargo, si se detecta una e colisin la transmisin se aborta inmediatamente y se transmite una o o seal de jam (atasco) de 48 bits iguales a 0.3 n Todos los adaptadores que han producido una colisin ejecutan el o algoritmo de retroceso exponencial binario. Este consiste en: 1. Sea n 1 el nmero de colisiones experimentadas en la transu misin del frame en cuestin. o o
2 Por esto los frames tienen que tener un tamao m n nimo de 512 bits, sin contar el prembulo (64 bits). a 3 Esta seal avisa al resto de emisores que se ha producido una colisin. n o

27.6 El protocolo CSMA/CD en Ethernet

495

2. Generar un nmero entero aleatorio uniforme u K {0, 1, , 2m 1}, donde m = m n(n, 10). 3. Esperar K 512 tiempos de bit antes de retransmitir.
Redes de Computadoras, 2007/08

4. n n + 1. 5. Ir a 2 si n < 16.

27.6 El protocolo CSMA/CD en Ethernet

496

27.6.1.

Eciencia

Cuando slo existe un nodo emisor, la eciencia mxima (terica) en o a o Ethernet es 1 (100 %).4
Redes de Computadoras, 2007/08

Sin embargo, cuando el nmero de nodos emisores es alto, esta tiende u a: 1 1 + 5tprop /ttrans donde tprop es igual al mximo tiempo de propagacin de una seal a o n entre los adaptadores ms distantes y ttrans es el tiempo de transa misin (inyeccin en o extraccin del enlace) del frame ms largo. o o o a Como ejemplo, vamos a calcular la eciencia mxima esperada de un a enlace Ethernet de 100BaseT de 500 m. Supondremos una velocidad de propagacin de 250000 Km/s. Finalmente, ntese que el tamao o o n mximo de frame en Ethernet es de 1526 B. Con estos datos resulta a una eciencia del 90 %, aproximadamente.
4 La

27.6 El protocolo CSMA/CD en Ethernet

eciencia real depende de una casu stica concreta y siempre va a ser menor.

497

27.7.

Tecnolog Ethernet as

Estandarizadas por el grupo de trabajo IEEE 802.3.


Redes de Computadoras, 2007/08

27.7.1.

10Base2 Ethernet

Creada a principios de los 90. Consigue 10 Mbps usando transmisin en banda base y permite eno laces de hasta 200 metros de longitud (de ah el 2 en su nombre). Los adaptadores se conectan entre s usando cable coaxial delgado y conectores en T.

27.7 Tecnolog Ethernet as

498

Redes de Computadoras, 2007/08

Se trata de una tecnolog donde slo existe un dominio de colisin. a o o Los frames se propagan en ambas direcciones, alcanzan a todos los adaptadores, van perdiendo energ en su viaje y nalmente mueren a (se atenan totalmente) en los terminadores (resistencias de 50 ). u

27.7 Tecnolog Ethernet as

499

27.7.2.

10BaseT Ethernet y 100BaseT Ethernet

Es la ms usada actualmente. a
Redes de Computadoras, 2007/08

Funcionan (respectivamente) a 10 Mbps y a 100 Mbps, transmiten en banda base y utilizan (t picamente) par trenzado (T). La topolog t a pica de interconexin es en estrella. Todos los adaptao dores se conectan a travs de un concentrador (un hub o un switch) e mediante enlaces punto a punto de dos pares (full-duplex) trenzados y terminados en conectores RJ-45.

27.7 Tecnolog Ethernet as

500

Redes de Computadoras, 2007/08

Dependiendo de si el concentrador es un hub o un switch, existen uno o muchos dominios de colisin. o Usando par trenzado de cobre no suele ser posible separar ms de a 100 metros el concentrador de ninguno de los nodos. Para mayores 27.7 Tecnolog Ethernet as 501

distancias se puede utilizar bra ptica que es mucho menos sensible o al ruido.

27.7.3.
Redes de Computadoras, 2007/08

Gigabit Ethernet y 10 Gigabit Ethernet

Son mejoras de (y compatibles con) las normas 10BaseT y 100BaseT que permiten alcanzar 1 Gbps y 10 Gbps, respectivamente.

27.7 Tecnolog Ethernet as

502

27.8.

Hubs

Los hubs son bsicamente repetidores (dispositivos de regeneracin de a o seales digitales que funcionan a nivel de la capa f n sica).
Redes de Computadoras, 2007/08

Suelen ser multipuerto: la seal que llega a travs de alguna de sus n e entradas es propagada (tras ser despojada del ruido) a todas las salidas [14].

27.8 Hubs

503

No entienden los protocolos de la capa de enlace de datos (ni por supuesto los superiores). No crean dominios de colisin, slo los extienden. En este sentido o o todos los nodos que se conectan mediante un hub acceden al medio usando CSMA/CD.

Redes de Computadoras, 2007/08

27.8 Hubs

504

27.9.

Switches

Redes de Computadoras, 2007/08

Los link-layer switches, conmutadores de nivel 2 o conmutadores Ethernet son dispositivos de conmutacin de frames que funcionan a nivel o de la capa de enlace de datos. A diferencia de los hubs, pueden interconectar diferentes tecnolog as Ethernet. Tambin a diferencia de los hubs, separan los dominios de colisin. Por e o ejemplo, en la siguiente red existen 3 dominios de colisin diferentes, o uno para cada departamento:

27.9 Switches

505

Redes de Computadoras, 2007/08

27.9 Switches 506

Redes de Computadoras, 2007/08

27.9 Switches Otro ejemplo: 507

Como se desprende de los anteriores ejemplos, los switches deben ejecutar el protocolo CSMA/CD slo cuando en enlace involucrado o no sea full-duplex.
Redes de Computadoras, 2007/08

27.9 Switches

508

27.9.1.

Encaminamiento

Cada switch posee una switch table con la estructura


Redes de Computadoras, 2007/08

donde la primera columna indica la direccin f o sica de los diferentes interfaces de red conectados al switch (directamente o a travs de e un hub), la segunda es la boca al que se conecta cada interface y la tercera, el ultimo instante en que se ha escuchado a ese interface.

27.9 Switches

509

La tabla de conmutacin es dinmica. El switch la mantiene de forma o a automtica anotando la dir f a sica origen de cada frame que le llega. Cuando una entrada se hace demasiado vieja, se elimina.
Redes de Computadoras, 2007/08

As el algoritmo de encaminamiento consiste en: , 1. Buscar en la switch table el interface de salida asociado a la dir f sica destino del frame. 2. Si existe una entrada para la dir f sica destino, entonces: a) Si el interface de salida es distinto del de entrada (pinse ese en que en un interface pueden conectarse ms de un a adaptador de red usando un hub), entonces: 1) Encaminar el frame por el interface de salida. 3. Si no existe ninguna coincidencia: a) Realizar un ooding. Los switches ejecutan el algoritmo del rbol de expansin para evitar un broadcast-storm. a o

27.9 Switches

510

27.9.2.

Store-and-forward versus cut-through

Redes de Computadoras, 2007/08

Cuando las tasas de transmisin de la boca de entrada de un frame o coincide con la tasa de transmisin de la boca de salida, el switch o puede usar una tcnica de transferencia conocida como cut-through e y que consiste en que los frames se transmiten mientras todav se a estn recibiendo. a Esto permite reducir sensiblemente la latencia, especialmente cuando los frames necesitan atravesar muchos switches.

511

Redes de Computadoras, 2007/08

Cap tulo 28

Wi-Fi

27.9 Switches

512

28.1.

Capacidades

Redes de Computadoras, 2007/08

Norma Banda de Frecuencias Mutiplexacin Tasa de Transmisin o o 802.11a 5,1 GHz - 5,8 GHz OFDM Hasta 54 Mbps 802.11b 2,4 GHz - 2,485 GHz DSSS Hasta 11 Mbps 802.11g 2,4 GHz - 2,485 GHz OFDM Hasta 54 Mbps OFDM = Orthogonal Frecuency-Division Multiplexing. DSSS = Direct Sequence Spread Spectrum.

Wireless LAN IEEE 802.11. Wi-Fi es simplemente una norma de calidad (como THX). Uso creciente porque permite una movilidad total en distancias medias (una casa, por ejemplo). Todas utilizan el mismo protocolo de acceso al medio, el CSMA/CA, y la misma estructura de frame.

28.1 Capacidades

513

28.2.
28.2.1.
Redes de Computadoras, 2007/08

Modes
Infrastructure

Es el modo ms frecuente. a El AP (Access Point) permite que los nodos mviles se comuniquen o entre s y con la red wired. Los nodos mviles junto con el AP correspondiente forman un BSS o (Basic Service Set).

28.2 Modes

514

Redes de Computadoras, 2007/08

28.2 Modes 515

28.2.2.

Modo Ad-Hoc

Las estaciones se comunican directamente entre porque estn lo sua cientemente prximas. o
Redes de Computadoras, 2007/08

28.2 Modes

516

28.3.

Canales

Con la idea de acomodar a ms de un AP en una misma regin gea o ogrca, el 802.11 dene un conjunto de canales de frecuencia. a
Redes de Computadoras, 2007/08

Existen un total de 11 canales que est parcialmente solapados entre a s . Slo los canales 1, 6 y 11 no se solapan entre s o .

28.3 Canales

517

28.4.

El proceso de asociacin o

Los APs generan peridicamente beacon frames con la idea de anuno ciar su presencia a los nodos mbiles. o
Redes de Computadoras, 2007/08

En un beacon frame gura la direccin f o sica y la SSID (Service Set Identier) del AP. La SSID es una cadena alfanumrica que asigna el e administrador de la red al AP. Los beacon frames slo se transmiten a travs del canal para el que o e se ha congurado la emisin del AP. o

28.4 El proceso de asociacin o

518

Cuando un nodo mvil se intenta asociar a un AP pueden ocurrir dos o cosas: 1. Que el AP no controle quin se asocia. e
Redes de Computadoras, 2007/08

2. Que el AP s lo haga. En este caso el control se realiza de dos formas distintas: a) Permitiendo slo la conexin desde las direcciones f o o sicas previamente especicadas. b) Permitiendo slo la conexin desde aquellos nodos que sean o o capaces de autenticarse.1

1 Usando protocolos como RADIUS o DIAMETER [15]. Esto no tiene nada que ver con el cifrado de datos de tipo WEP o WPA.

28.4 El proceso de asociacin o

519

28.5.

CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance)

Redes de Computadoras, 2007/08

Wi-Fi es semejante a una red Ethernet de medio compartido. Sin embargo, el protocolo CSMA/CD no es suciente debido al problema del terminal oculto debido al cual dos nodos pueden colisionar sin enterarse:

28.5 CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance)

520

Este problema provoca las siguientes diferencias: 1. Las estaciones transmiten siempre frames completos, y por tanto, nunca abortan la transmisin porque no hay forma de comprobar o si se ha producido una colisin testeando simplemente si lo que o se inyecta en el enlace es lo que se lee del mismo. 2. Para conocer si la transmisin de un frame de datos ha tenido o xito se espera la llegada de un frame ACK con un tiempo mxie a mo de espera. Si ste no llega a tiempo se retransmite el frame e de datos y el proceso se repite. 3. El tiempo mximo de espera es igual al tiempo que se tarda en a enviar un frame de tamao mximo y recibir el correspondiente n a ACK.

Redes de Computadoras, 2007/08

28.5 CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance)

521

Redes de Computadoras, 2007/08

DIFS = Distributed Inter-Frame Space (chequeo de portadora). SIFS = Short Inter-Frame Spacing.

28.5 CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance)

522

Las anteriores propuestas no evitan las colisiones porque los nodos pueden acceder al medio para transmitir al mismo tiempo. Cuando los frames son pequeos esto no es un gran problema. n
Redes de Computadoras, 2007/08

Sin embargo, cuando los frames son largos las colisiones desperdician mucho ancho de banda (recurdese que se transmiten siempre frames e completos). En este caso los nodos pueden usar un sistema de reserva de ancho de banda llamado RTS/CTS. Cuando un nodo genera un frame RTS (Request To Send) es que va a enviar un gran frame de datos y solicita al nodo receptor que genere un frame CTS. Un frame CTS (Clear To Send) indica a todos los nodos que lo reciben (excepto al que ha enviado el RTS) que deben esperar a que el medio quede libre (alrrededor del nodo receptor) antes de transmtir. Ntese o que como la pontencia de transmisin de todos los nodos debe ser o aproximadamente la misma, el frame CTS llegar potencialmente a a todos los nodos que podr colisionar en las inmadiaciones del nodo an receptor (el que env el CTS). a 28.5 CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance) 523

Redes de Computadoras, 2007/08

28.5 CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance)

524

28.6.

Estructura del frame IEEE 802.11

Redes de Computadoras, 2007/08

Frame control: Diversa informacin sobre la transmisin del frame. o o Duration: Usado en el frame RTS. Sirve para reservar ancho de banda durante un determinado intervalo de tiempo. Address 1: Direccin f o sica del interface de red Wi-Fi origen. Address 2: Direccin f o sica del interface de red Wi-Fi destino. 28.6 Estructura del frame IEEE 802.11 525

Redes de Computadoras, 2007/08

Address 3: Direccin f o sica del interface de red Ethernet del router (si el frame va dirigido hacia hacia el router de la subred). Sin este campo ser imposible enviar mensajes fuera de la BSS (ver Figura a 6.12 de [15]. Para enviar un frame desde un host mvil hacia Internet, o Address 1 tendr la MAC del host origen, Address 2 la MAC del a correspondiente AP y Address 3, la MAC del router). Seq control: Nmero de secuencia usado en el protocolo ARQ de u parada y espera para controlar las colisiones. Address 4: NPI. Payload: Los datos. CRC: Un CRC-16.

28.6 Estructura del frame IEEE 802.11

526

28.7.

Mobility

Los nodos mviles pueden cambiar con facilidad de BSS: o


Redes de Computadoras, 2007/08

28.7 Mobility

527

Cuando se usa un hub para conectar las BSS no existen problemas para entregar los frames al nodo mvil. Sin embargo, cuando hay un cono mutador ste debe actualizar su switch table lo ms frecuentemente e a posible (en cuanto la estacin se asocia al nuevo AP). o
Redes de Computadoras, 2007/08

528

Redes de Computadoras, 2007/08

Cap tulo 29

Bluetooth

28.7 Mobility

529

29.1.

IEEE 802.15

Tasa de trasmisim modesta (hasta 721 Kbps) [14]. o


Redes de Computadoras, 2007/08

Misma banda de frecuencias que 802.11 (2,45 GHz - 2,5 GHz). Tecnolog pensada para reemplazar los cables en distancias cortas a (impresoras, ratones, teclados, ...), hasta un mximo de 10 metros. a Incorpora control de ujo y de errores usando el protocolo parada y espera. El protocolo MAC est basado en un protocolo basado en turnos a mediante sondeo.

530

Redes de Computadoras, 2007/08

Cap tulo 30

Enlaces PPP

29.1 IEEE 802.15

531

30.1.

EL PPP (Point-to-Point Protocol)

RFCs 1661, 1547 y 2153.


Redes de Computadoras, 2007/08

El PPP se utiliza en enlaces punto-a-punto [14]. Ejemplo: las conexiones a travs de modem al ISP. e Principales caracter sticas: Packet framing. El comienzo y el n de cada frame es sealn izado. Independencia del protocolo usado en la capa de red. Permite usar los protocolos IP, DECnet, AppleTalk, etc. Independencia de la capa f sica utilizada. PPP se puede utilizar en enlaces serie o paralelos, conexiones telefnicas analgio o cas, ISDN, ADSL, SONET/SDH, X.25, etc. Deteccin de errores de transmisin. Slo los detecta, no los o o o corrige. Deteccin de fallo en el enlace de transmisin. o o 30.1 EL PPP (Point-to-Point Protocol) 532

30.2.

Data framing

Redes de Computadoras, 2007/08

Flag. El comienzo y el n del frame se indica con la secuencia 0111 1110. Address. Siempre igual a 1111 1111 (genial). Control. Siempre igual a 0000 0011 (tambin genial). e Protocol. Protocolo usado en la capa superior. Information. Datos transmitidos. Checksum. Se utiliza un CRC. 30.2 Data framing 533

30.2.1.

Byte stung

Redes de Computadoras, 2007/08

Evita que cuando el patrn 0111 1110 aparezca en el campo de inforo macin del frame no se produzca un error de nalizacin prematura o o del frame. Cuando este byte aparece en los datos, el PPP lo antecede del byte de control 0111 1101 para indicar que no se trata del n de frame. Si el byte 0111 1101 aparece en los datos, el PPP lo antecede de otro byte de control 0111 1101 para indicar este evento. Por este motivo a este byte se le llama tambin cdigo de escape. e o

30.2 Data framing

534

30.3.

Protocolo de control del enlace

Una conexin PPP siempre comienza y termina en el estado Dead. o


Redes de Computadoras, 2007/08

30.3 Protocolo de control del enlace

535

Antes de transmitir o recibir se entra en el estado Link establishment.

Redes de Computadoras, 2007/08

30.3 Protocolo de control del enlace

536

El lado que trata de establecer la conexin env al otro lado sus o a preferencias de conguracin del enlace (tamao mximo de frame, o n a protocolo de autenticacin, etc.). o
Redes de Computadoras, 2007/08

30.3 Protocolo de control del enlace

537

El lado servidor responde indicando qu prefrerencias son aceptables e (incluyento todas o ninguna, en cuyo caso no se establece la conexin o PPP). Opcionalmente solicita una identicacin. o
Redes de Computadoras, 2007/08

30.3 Protocolo de control del enlace

538

En ese instante intercambian mensajes las capas de red de ambos extremos. Por ejemplo, cuando se utiliza el IP se conguran las dirs IP, el formato de compresin de los datos, etc. o
Redes de Computadoras, 2007/08

30.3 Protocolo de control del enlace

539

En el estado Open se transmiten los datos, frame a frame. El tamao n de estos viene determinado por el IP.

Redes de Computadoras, 2007/08

30.3 Protocolo de control del enlace

540

La conexin PPP permanece abierta hasta que uno de los extremos o env un mensaje de solicitud de terminacin. Este debe ser conrmado a o por el otro extremo.
Redes de Computadoras, 2007/08

30.3 Protocolo de control del enlace

541

Cuando los dos extremos cierran la conexin y sitan, de nuevo, en el o u estado Dead.

Redes de Computadoras, 2007/08

542

Redes de Computadoras, 2007/08

Cap tulo 31

ATM

30.3 Protocolo de control del enlace

543

31.1.

Historia

Redes de Computadoras, 2007/08

ATM fue desarrollada por el foro ATM y la ITU a mediados de los 80 [7]. En aquella poca era impensable la transmisin en tiempo real de e o ujos multimedia (principalmente voz) usando redes de conmutacin o de paquetes [14]. ATM proporciona una solucin completa para las aplicaciones de red o (implementa todas las capas excepto la de aplicacin). o Por desgracia (para ATM) cuando estuvo realmente operativa la inmensa mayor de las aplicaciones de red (el WWW, telfono IP, el a e correo electrnico, etc.) ya estaban funcionando sobre TCP/IP. o En este sentido, y aunque ATM podr haber sustituido al TCP/IP, a actualmente se utiliza fundamentalmente para transmitir paquetes IP. Por este motivo en esta exposicin se ha considerado a ATM como o una tecnolog ms a nivel de enlace de datos. a a

31.1 Historia

544

31.2.

Principales caracter sticas

Redes de Computadoras, 2007/08

Altas tasas de transmisin. ATM funciona prcticamente sobre o a cualquier capa f sica. En los enlaces de larga distancia suele utilizarse bra ptica. Velocidades t o picas de transmisin (utilizando SONET) o son 155,52 Mbps y 622 Mbps. Enlaces de larga distancia. Los enlaces ATM son punto a punto y pueden recorrer mucha distancia (miles de Km). Routing a nivel de enlace de datos. Los conmutadores ATM incorporan mecanismos de routing a nivel de ATM muy semejantes a los utilizados por el IP. Calidad de servicio. ATM proporciona mecanismos de control de la congestin y de reserva de ancho de banda. Esto permite que el o usuario que paga puede obtener una calidad de servicio superior.

31.2 Principales caracter sticas

545

31.3.

Modelo de servicio

ATM proporciona varios modelos de servicio que se adaptan a diferentes necesidades [32]:
Redes de Computadoras, 2007/08

CBR (Constant Bit Rate). Pretende simular un enlace dedicado. Los bits se ponen en un extremo y un cierto tiempo despus, e siempre jo, salen por el otro (jitter igual a 0). No existe control de ujo entre el emisor y la red. Aplicacin t o pica: transportar conversaciones telefnicas. o VBR (Variable Bit Rate). La tasa de bits var con el tiempo a y las latencias tambin. Sin embargo, pueden negociarse latene cias mximas cuando usamos la modalidad RT-VBR (Real Time a VBR). La red no proporciona control de ujo. Aplicacin t o pica: v deo MPEG. ABR (Available Bit Rate). Es un caso intermedio entre CBR y VBR. La red proporciona una tasa de transmisin m o nima, aunque si la carga no es alta, entonces pueden alcanzarse tasas 31.3 Modelo de servicio 546

mayores. La red proporciona control de congestin. Ejemplo: cono trato para un nmero pico de llamadas telefnicas. u o UBR (Unspecied Bit Rate). Igual que la anterior, pero la red no proporciona control de congestin. Esto es util cuando o este proceso se realiza en una capa superior (TCP/IP). Ejemplo: transferencia de cheros, WWW, e-mail. En ningn caso los errores de transmisin tratan de corregirse mediu o ante retransmisin. Sin embargo se utiliza un cdigo de deteccin y o o o correccin de errores en la cabecera. Si esta se corrompe no se reo transmite la celda.

Redes de Computadoras, 2007/08

31.3 Modelo de servicio

547

31.4.

Las celdas ATM

Se utiliza TDM as ncrona (como los routers).


Redes de Computadoras, 2007/08

Los conmutadores ATM encaminan celdas de longitud ja (5 bytes de cabecera y 48 bytes de datos). 5 bytes 48 bytes +----------+----------------------------------+ | Cabecera | Datos | +----------+----------------------------------+

31.4 Las celdas ATM

548

El formato de la cabecera es:

Redes de Computadoras, 2007/08

VCI (Virtual Channel Indentier). Establece el VC que la celda debe seguir. PT (Payload Type). Indica el tipo de carga util que transporta la celda: (1) datos, (2) informacin de control o (3) celda de o relleno (cuando el medio no permite dejar de transmitir celdas). CLP (Cell-Loss Priority). Identica la prioridad de la celda a la hora de ser desechada (usada en el mecanismo de control de congestin de los conmutadores). o HEC (Header Error Control). Cdigo de Hamming que pero mite detectar y corregir errores (en la cabecera). 31.4 Las celdas ATM 549

31.5.

Morfolog de la red a

Idntica a la de una red TCP/IP donde los routers son conmutadores e ATM y los enlaces son siempre punto a punto (no pueden ser redes).
Redes de Computadoras, 2007/08

Los routers IP ven la red ATM como una tecnolog ms de intera a conexin (como Ethernet). Se conectan a la red ATM a travs de un o e adaptador ATM. Los nodos tambin pueden conectarse directamente a un conmutador e ATM aunque necesitan un adaptador ATM.

31.5 Morfolog de la red a

550

31.6.

Canales virtuales y routing

ATM utiliza circuitos (canales en la jerga ATM) virtuales (VCs). Estos pueden ser permanentes o temporales.
Redes de Computadoras, 2007/08

Las celdas nunca llegan desordenadas al receptor. Los VCs temporales implican un establecimiento previo de conexin o a la transmisin util de celdas. o En la mayor de los enlaces de larga distancia los canales son permaa nentes (routing esttico) y por lo tanto el establecimiento de conexin a o no existe en estos casos. El estndar ATM no dene ningn algoritmo de routing concreto. Se a u deja en manos del constructor del conmutador dicha eleccin [32]. o De todas formas, dado el uso que tiene actualmente ATM (enlaces de larga distancia), el routing en ATM en la mayor de los casos se a realiza de forma esttica. a 31.6 Canales virtuales y routing 551

31.7.

Arquitectura de ATM
Capa de Usuario Capa AAL Capa ATM Capa F sica

ATM se organiza en 4 capas:


Redes de Computadoras, 2007/08

31.7 Arquitectura de ATM

552

31.7.1.

La capa f sica

Controla los voltajes, relojes maestros, framing, ... es decir, se encarga de la transmisin f o sica de las celdas ATM.
Redes de Computadoras, 2007/08

Realiza en control de errores (descarta las celdas con cabeceras errneas).1 o La capa f sica se divide en 2 sub-capas: 1. PMD (Physical Medium Dependent) sub-layer. Diferente para tipo de medio f sico que es capaz de transmitir ATM. 2. TC (Transmission Convergence) sub-layer. Dependiente de la capa f sica. Se encarga fundamentalmente del mantenimiento del sincronismo de los relojes del emisor y del receptor y de chequear los errores en las cabeceras.

1 Se utiliza un cdigo de Hamming que es capaz de corregir un error y detectar errores o mltiples. u

31.7 Arquitectura de ATM

553

31.7.2.

La capa ATM

Establece las conexiones [7].


Redes de Computadoras, 2007/08

Realiza el framing (segmentacin de los datos generados por la capa o superior en celdas). Control de la congestin (slo en el modo ABR). o o

31.7 Arquitectura de ATM

554

31.7.3.

La capa AAL (ATM Adaptation Layer)

Permite que los protocolos de la capa de red (IP en la mayor de los a casos) puedan usar ATM.
Redes de Computadoras, 2007/08

AAL se implementa slo en los extremos (hosts y routers) de una red o ATM.

31.7 Arquitectura de ATM

555

La AAL puede ser considerada como la capa de transporte de ATM. Existen 3 AALs diferentes dependiendo del tipo de servicio que se va a prestar:
Redes de Computadoras, 2007/08

Protocolo AAL 1 AAL 2 AAL 5

Uso CBR (telefon a) VBR (audio y v deo comprimido) UBR (datagramas IP)

La capa AAL genera su propia informacin de control y puede robar o espacio a los datos utiles.

31.7 Arquitectura de ATM

556

En el caso de la AAL 5, la AAL no introduce ninguna informacin de o control. Sin embargo cuando hasta la AAL 5 llega un datagrama IP se transmite la siguiente informacin: o
Redes de Computadoras, 2007/08

donde CPCD-PDU payload. Seccin de un datagrama IP. o PAD. Relleno de bytes para que el nmero de bytes de datos u transmitidos sea un mltiplo de 48. u Length. Nmero de bytes de datos transmitidos. u CRC. Cdigo de redundancia c o clica (mismo que Ethernet).

31.7 Arquitectura de ATM

557

31.7.4.

La capa de usuario

En ella se ejecutan las aplicaciones de red. Realiza la correccin de errores y de ujo cuando es necesario. o
Redes de Computadoras, 2007/08

31.7 Arquitectura de ATM

558

31.8.

Control de la congestin o

Redes de Computadoras, 2007/08

ATM realiza un control de la congestin slo en su modo ABR. En este o o modo los conmutadores pueden desechar celdas cuando se congestionan con el objetivo de mantener las tasas y las latencias contratadas. En una transmisin ATM, entre las celdas de datos el emisor inserta o celdas de control llamadas celdas RM (Resource Management).2 Cuando las celdas de control atraviesan los conmutadores, estos modican unos determinados campos de ellas cuando comienzan a estar congestionados. Cuando las celdas alcanzan al receptor este las devuelve al emisor (posiblemente modicndolas si se encuentra congestionado). El rea ceptor tambin puede generar celdas RM si estas no le llegan. e El emisor regula su tasa de transmisin en funcin de la informacin o o o de las celdas RM retornadas. 31.8 Control de la congestin o
2 T picamente

1 de cada 32 es una celda de control.

559

31.9.

The Internet-over-ATM protocol stack

Redes de Computadoras, 2007/08

31.9 The Internet-over-ATM protocol stack

560

Redes de Computadoras, 2007/08

Apndices e

561

Redes de Computadoras, 2007/08

Apndice A e

Espectro de una seal n digital


31.9 The Internet-over-ATM protocol stack 562

A.1.

Dato e informacin o

Estos dos trminos pueden parecer sinnimos. Sin embargo, no es as e o : Los datos son la representacin f o sica de la informacin. o
Redes de Computadoras, 2007/08

Qu es la informacin? La informacin es todo aquello que una vez e o o conocido reduce la incertidumbre de algo. Por ejemplo, el resultado de la prxima quiniela de futbol es la informacin que transportar o o a un boleto de quiniela premiado para la prxima jornada futbol o stica.

A.1 Dato e informacin o

563

A.2.

Tipos de fuentes de informacin o

Redes de Computadoras, 2007/08

Desde el punto de vista discreto o continuo de la informacin que o generan, existen dos tipos de fuentes de informacin, las digitales y o las analgicas. La diferencia radica en que mientras las analgicas o o puede encontrarse en un instante determinado en cualquiera de un nmero innito de estados, las digitales slo son capaces de alcanzar u o un nmero nito de situaciones. u Por ejemplo, una fuente de informacin analgica es el nivel de abero o tura de una puerta. Un ejemplo de fuente de informacin digital es el o resultado de un partido de futbol (1, X o 2).

A.2 Tipos de fuentes de informacin o

564

A.3.

Seales digitales y analgicas n o

Redes de Computadoras, 2007/08

Las seales representan el estado de una fuente de informacin medin o ante alguna medida f sica, medible. Por tanto, las seales son datos y n transportan informacin. o Si usamos la diferencia de potencial entre dos conductores elctricos e como seal, el grado de abertura de una puerta puede representarse de n forma continua si asignamos, por ejemplo, 0 voltios a una puerta cerrada y 5 voltios a una puerta abierta, y el resto de valores intermedios indicando el grado de abertura. En el caso de representar el resultado quiniel stico de un partido de futbol slo tres posibles tensiones o o rangos de tensiones tendr signicado. an

A.3 Seales digitales y analgicas n o

565

A.4.

La ventaja de trabajar en digital

Redes de Computadoras, 2007/08

Todos los medios de transmisin distorsionan las seales que transo n miten. Esto provoca que el valor de la seal transmitida diera en una n cierta cantidad de su valor original (el que ten antes de iniciar la a propagacin). o En el caso de las seales analgicas, esta fuente de distorsin se tran o o duce en una fuente de error, o lo que es lo mismo, en una prdida e irreversible de informacin ya que el receptor no puede saber cul era o a el valor original de la seal (en general, cada valor posible de la seal n n es tan vlido como cualquier otro). a En el caso de las seales digitales, la aparicin de ruido durante la n o transmisin no implica necesariamente una prdida de informacin. o e o Si el error no es suciente como para hacer saltar a la seal desde n un rango vlido hasta otro, el receptor no se equivocar a la hora de a a interpretar la seal. n A.4 La ventaja de trabajar en digital 566

A.5.

Amplicadores y repetidores

Redes de Computadoras, 2007/08

Para mejorar la relacin entre la energ de la seal de datos y la o a n energ de la sel de ruido puede utililizarse un amplicador de la a na seal de datos. En la prctica dicho amplicador siempre incrementa n a ligeramente la energ de la seal de ruido por lo que el nmero de a n u veces que puede aplicarse este proceso es nito. En el caso de una seal digital, la seal puede interpretarse y regenern n arse (librarse totalmente del ruido) tantas veces como queramos. Este proceso es el que realiza un repetidor digital.

A.5 Amplicadores y repetidores

567

A.6.

Seales binarias y bits n

Redes de Computadoras, 2007/08

Por sencillez, la mayor de los sistemas de tratamiendo de informacin a o digital existenten manejan slo dos posibles estados. Un bit (Binary o digIP) es un dato digital y representa generalmente estos estados mediante los s mbolos 0 y 1. Cuando una secuencia de bits se representa mediante una seal obtenn emos una seal binaria. Por ejemplo, en la gura: n Voltaje 0 5 0 Tiempo A.6 Seales binarias y bits n 568 1 0 1 1 0 0 1 0

se muestra una seal de tensin binaria que representa a la secuencia n o de bits 010110010. En ella hemos dispuesto que el bit de informacin o 0 se codica mediante un potencial de 0 voltios y el bit 1 mediante 5 voltios.
Redes de Computadoras, 2007/08

A.6 Seales binarias y bits n

569

A.7.

Conversin analgica/digital o o

Redes de Computadoras, 2007/08

Una seal analgica puede convertirse en una seal digital y viceversa. n o n En en el primer caso el proceso de digitalizacin implica en general o una prdida irreversible de informacin. En el segundo caso slo existe e o o un cambio de representacin. o Una muestra (el valor de la seal en un instante de tiempo) de n una seal analgica representa el estado de la fuente de informacin n o o analgica que di lugar a esta seal. Puesto que una fuente de este o o n tipo puede encontrarse en un nmero innito de estados, una muestra u analgica puede tambin tener una innidad de valores. En estas ciro e cunstancias necesitar amos un nmero innito de bits de datos para u representar el valor excto de la muestra. a En la prctica esto es imposible (por requerimientos de memoria) y a adems, no tiene sentido porque si no podemos manipular una seal a n analgica sin deteriorarla, de nada nos vale dar un signicado diferente o a cada nivel de seal diferente. Desde el punto de vista de una fuente n de informacin, lo que estamos haciendo es contemplar dicha fuente o A.7 Conversin analgica/digital o o 570

suponiendo que slo puede alcanzar un nmero nito de estados. A o u este proceso de le llama cuanticacin. o

Redes de Computadoras, 2007/08

A.7 Conversin analgica/digital o o

571

A.8.

Espectro de una seal digital n

Redes de Computadoras, 2007/08

El precio que se paga por usar seales cuanticadas (digitales) es que n la tasa de transferencia de informacin por intervalo de tiempo nito o es una tasa nita. Esto signica que la seal digital debe conservar n su valor durante un cierto intervalo de tiempo m nimo que permita al receptor reconocer el bit de informacin transportado. o Desde el punto de vista del espectro de frecuencias de una seal digital, n que en general tiene este aspecto:

A.8 Espectro de una seal digital n

572

|S(f )|
4

Redes de Computadoras, 2007/08

4 3

4 5

4 7

f0

3f0

5f0

7f0

la reduccin de dicho intervalo temporal implica una expansin en el o o dominio de la frecuencia de las diferentes componetes de frecuencia. Por tanto, a mayor tasa de bits, ms ancho de banda es necesario para a tranportar la seal digital. n 573

Redes de Computadoras, 2007/08

A.8 Espectro de una seal digital n

574

Redes de Computadoras, 2007/08

Apndice B e

Perturbaciones en la transmisin de seales o n digitales


A.8 Espectro de una seal digital n 575

B.1.

Efectos de la limitacin del ancho de bano da

Las seales gastan energ en su propagacin (se atenan). n a o u


Redes de Computadoras, 2007/08

La atenuacin depende de la frecuencia porque los medios de transo misin transmiten con menor atenuacin un determinado rango de o o frecuencias. T picamente se comportan como un ltro paso bajo. Para ver de qu manera afecta esto a la transmisin de seales dige o n itales es necesario conocer cmo es el espectro de frecuencias o o funcin de densidad espectral [16] de una seal digital. Para encono n trarlo podemos hacer uso de una herramienta matemtica denominada a anlisis de Fourier, que permite representar cualquier seal peridica a n o mediante una sumatoria (a priori innita) de seales senoidales [19]. n Es evidente que las seales digitales generalmente no son peridicas. n o Sin embargo, y por suerte para nuestro anlisis inicial, la seal digital a n que mayores requerimientos de ancho de banda posee es aquella que representa a la secuencia de bits 010101 , que s genera una B.1 Efectos de la limitacin del ancho de banda o 576

Redes de Computadoras, 2007/08

seal peridica. A esta secuencia se la conoce por ello como la peor n o secuencia posible [10], porque genera la seal digital con periodo n ms corto y por tanto con la componente de frecuencia fundamental a 0 ms alta. Ntese que slo si la funcin es peridica se puede hablar a o o o o de frecuencia fundamental. Supongamos que nuestro sistema de representacin utiliza una amo plitud de seal 1 para codicar un 1 y 1 para un 0. Bajo estas n circunstancias, la gura: muestra grcamente cmo ser el proceso de aproximacin media o a o ante la serie de Fourier para la seal digital que representa a la peor n secuencia posible, que anal ticamente consiste en s(t) = 1 1 4 sin(0 t) + sin(30 t) + sin(50 t) + . 3 5 (B.1)

Como puede apreciarse, todas las componentes de frecuencia que son mltiplos pares de 0 (la frecuencia fundamental) son nulas, lo que u genera un espectro de frecuencias disperso (no denso) caracter stico de todas las seales peridicas. Grcamente: n o a B.1 Efectos de la limitacin del ancho de banda o 577

sin(0 t)

1 (a) 0 1
1 f0 4 3

Redes de Computadoras, 2007/08

sin(30 t) t

1 (b) 0 1

1 (c) 0 1
4

4 5

sin(50 t) t

sin(0 t) +

1 (d) 0 1 s(t) = 1 (e) 0 1

1 3

sin(30 t) +

1 5

sin(50 t) t

sin(0 t) +

1 3

sin(30 t) +

1 5

sin(50 t) +

B.1 Efectos de la limitacin del ancho de banda o

1 f0

578

|S(f )|
4

Redes de Computadoras, 2007/08

4 3

4 5

4 7

f0

3f0

5f0

7f0

donde n = 2fn es la n-sima componente de frecuencia de s(t) e expresada en radianes por segundo (fn se mide por tanto en Hercios o Hz)1 y donde S(f ) denota a la transformada de Fourier de s(t) [16,
1 En

honor al f sico alemn Heinrich Rudolf Hertz. a

B.1 Efectos de la limitacin del ancho de banda o

579

19]. En nuestro ejemplo ocurre que todos los an son cero, incluyendo a0 que coincide con la media de la seal. n Este espectro posee dos propiedades importantes de cara a su transmisin: o 1. El ancho de banda que consume una seal digital es innito, es n decir, que para que el receptor reciba una seal ideal es necesario n que el ancho de banda del enlace sea ilimitado (no ltre ninguna frecuencia). 2. La mayor parte de la energ se concentra en las bajas frecuena cias, especialmente en la componente f0 . De hecho, si slo se o transmite la componente de frecuencia fundamental todav es a posible la recepcin con xito. Por ejemplo, en la gura que o e muestra la aproximacin de Fourier a la peor secuencia posible o se aprecia que cuando la frecuencia fundamental es f0 Hz se pueden transmitir hasta 2f0 bps.

Redes de Computadoras, 2007/08

B.1 Efectos de la limitacin del ancho de banda o

580

B.1.1.

Estimacin de Nyquist para la capacidad de un o enlace

Redes de Computadoras, 2007/08

En ausencia de ruido, Nyquist estim que es posible transmitir una o seal digital usando unicamente su componente de frecuencia fundan mental. Si w es el ancho de banda del medio y m es el nmero de niveles de u sealizacin, la capacidad cNy mxima del medio (la mxima tasa de n o a a bits a la que es posible transmitir) medida en bits/segundo o bps es igual a: cNy = 2w log2 (M ) (B.2) Ejemplo B.12: El ancho de banda de un enlace telefnico o posee t picamente unos 3.000 Hz, dispuestos desde los 300 hasta los 3.300 Hz. Suponiendo que se estn utilizando 2 niveles de a sealizacin, estimar la mxima velocidad de transferencia que n o a es posible alcanzar (capacidad de Nyquist). CNy = 2 3.000 log2 (2) = 6.000 bps. B.1 Efectos de la limitacin del ancho de banda o

581

B.2.

Efectos del ruido y de la atenuacin o

La atenuacin de la amplitud de las seales es directamente proporo n cional a la distancia recorrida [8].2
Redes de Computadoras, 2007/08

Sin embargo, el ruido es inherente al medio y por tanto no es atenuado. Esto provoca que en algn punto de la distancia recorrida la relacin u o entre la potencia de la seal y la potencia del ruido no sea suciente n como para distinguir la seal de datos de la seal de ruido. n n Esta situacin puede solventarse utilizando repetidores. o

B.2.1.

Estimacin de Shannon-Hartley para la capacidad o de un enlace

Debido a ruido y a la atenuacin, la tasa mxima de transmisin o a o est limitada. a


2 Ntese que en trminos de potencia la atenuacin es exponencial (recurdese que o e o e V 2 = P R donde V denota nivel de tensin, P potencia y R resistencia). o

B.2 Efectos del ruido y de la atenuacin o

582

Shannon y Hartley estimaron que en presencia de ruido blanco gausiano [16], la capacidad cSH medida en bps de un medio con w Hz de ancho de banda depende de la relacin seal/ruido o SNR (Signal-too n Noise Ratio) segn la expresin: u o
Redes de Computadoras, 2007/08

cSH = w log2 (1 + SNR) Ejemplo B.13: Calclese la capacidad de un enlace telefnico u o (W = 3.000 Hz) que posee una SNR de 35 dB. SNR[dB] = 10 log10 (SNR), y por tanto, SNR = 3.162. As la capacidad del canal ser , a CSH = 3.000 log2 (1 + 3.162) = 34.860 bps. Si se quiere transmitir ms rpido es necesario incrementar el a a ancho de banda o disminuir el nivel de ruido. B.2 Efectos del ruido y de la atenuacin o

(B.3)

583

B.3.

Efectos de la distorsin de retardo o

Redes de Computadoras, 2007/08

La velocidad de propagacin de las seales electromagnticas depende o n e de su frecuencia [27]. T picamente el medio transmite con mayor velocidad aquellas frecuencias que estn prximas al intervalo de frea o cuencias que el medio menos atena: u
Retardo

Ancho de Banda

Frecuencia

B.3 Efectos de la distorsin de retardo o

584

Si los elementos de sealizacin estn sucientemente prximos en el n o a o tiempo, este efecto puede provocar que las componentes de frecuencia ms bajas y altas de un elemento se mezclen en el receptor con las a componentes de frecuencia intermedias del siguiente elemento:
Redes de Computadoras, 2007/08
Seal Transmitida n

Seal Recibida n

Retardo de Propagacin o

Seal Idealmente n Recibida

Tiempo

La distorsin de retardo (tambin llamada interferencia entre s o e mbolos) es directamente proporcional a la velocidad de transmisin y a la o B.3 Efectos de la distorsin de retardo o 585

Redes de Computadoras, 2007/08

distancia recorrida [10].

586

Redes de Computadoras, 2007/08

Apndice C e

Modulacin de seales o n digitales


B.3 Efectos de la distorsin de retardo o 587

C.1.

La modulacin de seales o n

Redes de Computadoras, 2007/08

La modulacin es el proceso mediante el cual una seal (que no tiene o n por qu ser digital) transere la informacin que transporta a otra, e o que inicialmente no aportaba informacin [19, 16]. o

Modulador

Seal n Moduladora

Seal Portadora n

Seal n Modulada

Desmodulador

C.1 La modulacin de seales o n

588

En la modulacin intervienen tres seales diferentes: o n 1. La seal moduladora (o seal de datos) que contiene la inforn n macin que se desea transmitir. o
Redes de Computadoras, 2007/08

2. La seal portadora que debe poseer una amplitud, frecuencia y n fase constantes o cambiantes de forma predecible. T picamente es una seal senoidal. n 3. La seal modulada que es la seal resultante de modicar la n n seal portadora en funcin de la seal moduladora. La seal modn o n n ulada contiene la misma informacin que la seal moduladora. o n

C.1 La modulacin de seales o n

589

C.2.

Utilidad de la modulacin de seales o n

Redes de Computadoras, 2007/08

1. Permite el diseo de sistemas de multiplexacin en frecuencia. n o La modulacin permite desplazar el rango de frecuencias de la seal o n a transmitir al canal designado.
Amplitud Portadora Modulacin o Desmodulacin o wx Frecuencia 0 x Amplitud Portadora

Datos 0

Datos x+w Frecuencia

2. Hace posible la radiacin efectiva de seales. Slo se upede radiar o n o al espacio una seal de forma efectiva si la antena radiadora es del n orden de un dcimo o ms de la longitud de onda ms larga en la e a a seal [16]. n C.2 Utilidad de la modulacin de seales o n 590

C.3.

Bits de datos, elementos de sealizacin n o y Baudios

Redes de Computadoras, 2007/08

Bit (Binary digIT) de dato: es el s mbolo asociado a uno de los estados de una fuente de informacin binaria. o Elemento de sealizacin: es el trozo de seal que representa a un n o n s mbolo (binario o n-ario). Baudio: es la medida de la tasa de sealizacin. n o Ejemplo C.14: Antiguamente se hablaba de que un modem pod transmitir a 1.200 Baudios, lo que signica que se transa mit 1.200 elementos de sealizacin en 1 s. Ntese que esto an n o o no implica necesariamente que se transmitieran 1.200 bps. Esto en realidad depend del nmero de elementos de sealizacin a u n o diferentes.

C.3 Bits de datos, elementos de sealizacin y Baudios n o

591

C.4.

Modulacin binaria en amplitud o ASK o

En ASK (Amplitude-Shift Keying) la seal de datos controla la amn plitud de la seal portadora. n
Redes de Computadoras, 2007/08

C.4.1.

Modulacin o

Si s(t) representa a una seal de datos binaria unipolar (que nunca se n hace negativa) en banda base1 (que su espectro de frecuencias ocupa el rango [0, ws ] donde ws es su mxima componente de frecuencia a angular) y c(t) es la portadora, la seal modulada sASK (t) puede n generarse mediante el producto de seales n sASK (t) = s(t)c(t). (C.1)

1 Una seal digital binaria unipolar en banda base puede ser descrita tambin en el n e dominio del tiempo como una modulacin por pulsos donde t o picamente el bit 1 se representa con una amplitud distinta de 0 y constante, y el bit 0 mediante una amplitud 0 [16].

C.4 Modulacin binaria en amplitud o ASK o

592

Como ya hemos indicado, la seal c(t) es normalmente una senide n o de la forma c(t) = Ac sin(wc t + ) (C.2)
Redes de Computadoras, 2007/08

donde por comodidad de exposicin supondremos que Ac = 1 (para o simplicar las expresiones y obtener espectros normalizados) y = 0 (porque en ASK la fase es irrelevante para el receptor). En la siguiente gura se muestran las tres seales: n

C.4 Modulacin binaria en amplitud o ASK o

593

Bits 1 s(t)
Redes de Computadoras, 2007/08

1 sin(wc t) t

1 sASK (t) t

Usando la expresin en serie de Fourier, , la seal digital que representa o n a la peor secuencia posible s(t) puede ser expresada como C.4 Modulacin binaria en amplitud o ASK o 594

s(t) = 1 +
Redes de Computadoras, 2007/08

sin (2n + 1)wo t 2n + 1 n=0

y por tanto, tras realizar el producto obtenemos sASK (t) = sin(wc t) + 4 sin (2n + 1)w0 t sin(wc t). 2n + 1 n=0

Si ahora aplicamos el cambio trigonomtrico e 2 sin() sin() = cos( ) cos( + ) obtenemos que sASK (t) = sin(wc t) +
4 2 cos (2n+1)w0 twc t cos (2n+1)w0 t+wc t n=0 2n+1

(C.3)

de donde se deduce que el espectro |SASK (f )| es el que se muestra en la Figura: C.4 Modulacin binaria en amplitud o ASK o 595

|SASK (f )| 1
Redes de Computadoras, 2007/08

2 2 3

2 2 3

2 5

2 5

0 fc 5f0

fc 3f0

fc f0 fc fc + f0

fc + 3f0

fc + 5f0

Banda Lateral Inferior

Banda Lateral Superior Frecuencia Portadora

C.4 Modulacin binaria en amplitud o ASK o

596

Redes de Computadoras, 2007/08

Si comparamos |SASK (f )| con |S(f )| comprobaremos que el ancho de banda se ha duplicado y que el espectro de s(t) ahora aparece desplazado fc Hz, aunque atenuado en un factor de 2. Ntese adems o a que ambas bandas laterales transportan la misma informacin porque o son simtricas respecto de fc (la frecuencia de la portadora). Esto e signica que podemos transmitir solo una de ellas y la desmodulacin o todav ser posible. Para este propsito se suele utilizar un ltro a a o paso-banda con frecuencias de corte ]fc , fc + fs ] (eliminando por tanto la banda lateral inferior) y a la seal ltrada se le conoce por seal n n modulada ASK en banda lateral unica, en adelante sASK BLU (t). Co mo el ltro elimina la mitad del espectro (que es simtrico) tambin e e elimina la mitad de la energ Por tanto, el ltro suele tener una a. ganancia de 2 para que al nal la SNR obtenida al transportar sASK (t) o sASK BLU (t) sea la misma.

C.4 Modulacin binaria en amplitud o ASK o

597

Para recuperar s(t) a partir de sASK (t) o de sASK BLU (t) (desmodular) basta con multiplicar de nuevo la seal modulada por la portadora. n Para demostrar esto ahora vamos a utilizar los espectros extendidos de las seales en lugar de su representacin en el dominio del tiempo. n o
Redes de Computadoras, 2007/08

|S(f )|

1
2 2 3 2 2 3

2 5

2 5

5f0

3f0

f0

f0

3f0

5f0 598

C.4 Modulacin binaria en amplitud o ASK o

Teniendo en cuenta dicha representacin, la multiplicacin en el doo o minio del tiempo de s(t) y c(t) equivale a desplazar el espectro de s(t) hasta centrarlo en la frecuencia de la portadora.
Redes de Computadoras, 2007/08

En la siguiente gura se resume todo el proceso de modulacin ASK o (que coincide con la modulacin en amplitud de seales analgicas o o n o AM Amplitude Modulation [16]).

C.4 Modulacin binaria en amplitud o ASK o

599

|S(f )| 1

Redes de Computadoras, 2007/08

fs

0 |C(f )|

fs

fc

fc

|SASK (f )| = |S(f ) C(f )| 1


1 2

1
1 2

fc fs

fc

fs fc

fc fs

fc

fc + fs

C.4 Modulacin binaria en amplitud o ASK o

600

C.4.2.

Desmodulacin o

Redes de Computadoras, 2007/08

Si volvemos a multiplicar la seal modulada de nuevo por la portan dora, crearemos dos rplicas desplazadas sobre fc y fc del espectro e |SASK (t)|. As creamos tres rplicas de |S(f )| en 2fc , 0 y 2fc Hz, e pero ntese que la segunda de ellas es la suma de dos espectros idntio e cos y por lo tanto tiene la misma forma aunque el doble de amplitud que sus lbulos hermanos. En la siguiente gura se muestra dicho o espectro.
|SASK (f ) C(f )| 1
1 4 1 2

1
1 4

2fc fs

2fc

fs 2fc fc

fs

fs

fc 2fc fs

2fc

2fc + fs

Aplicando a continuacin un ltro paso-bajo con frecuencia de corte o en fs y ganancia dos, recuperamos la seal de datos s(t). n C.4 Modulacin binaria en amplitud o ASK o 601

C.5.

Modulacin binaria en frecuencia o FSK o

En FSK (Frecuency-Shift Keying) la seal de datos modica la fren cuencia de la portadora.


Redes de Computadoras, 2007/08

C.5.1.

Modulacin o

Se basa en usar dos portadoras de frecuencias distintas y la misma amplitud. Esto se puede conseguir mediante la relacin o sFSK (t) = s(t) sin(w1 t) + 1 s(t) sin(w2 t), (C.4)

siendo s(t) una seal unipolar en banda base con amplitud mxima 1. n a Ejemplo:

C.5 Modulacin binaria en frecuencia o FSK o

602

Bits 1 s(t)
Redes de Computadoras, 2007/08

1 sin(w1 t) t

1 sin(w2 t) t

sFSK (t) C.5 Modulacin binaria en frecuencia o FSK o

t
603

Redes de Computadoras, 2007/08

Como puede apreciarse, la seal FSK generada por la Expresin C.4 n o es equivalente a sumar la salida de dos moduladores ASK con portadoras de frecuencia w1 y w2 [10], pero es importante darse cuenta de que estos moduladores nunca emiten seal al mismo tiempo. Cuando n modulamos un 0 es el modulador ASK con portadora w1 el que emite seal y cuando modulamos un 1 es el modulador ASK con portador n w2 . Desde el punto de vista de la frecuencia, lo que obtenemos son los espectros mostrados en la gura:

C.5 Modulacin binaria en frecuencia o FSK o

604

|SFSK (f )| 1
Redes de Computadoras, 2007/08
1 2

f1 fs f1 f1 + fs Canal para el 0 |SFSK (f )| 1


1 2

f2 fs

f2

f2 + fs

Canal para el 1 Cuando modulamos un 0 se utiliza la banda de frecuencias [f1 fs , f1 + fs ] y cuando modulamos un 1 la banda [f2 fs , f2 + fs ]. Al C.5 Modulacin binaria en frecuencia o FSK o 605

Redes de Computadoras, 2007/08

igual que ocurre con ASK-BLU, en FSK podemos ltrar la mitad de cada lbulo para reducir el ancho de banda consumido. Si observamos o la gura anterior podemos ver que para el lbulo que transmite un o 0 podemos seleccionar la banda lateral superior y para el lbulo que o transmite un 1 la inferior. Sin embargo, debe vericarse que f1 + fs < f2 , (C.5)

o de lo contrario el receptor no sabr cundo se est transmitiendo a a a un 0 o un 1. Esto signica que los requerimientos de ancho de banda para FSK son ligeramente superiores a los de ASK, aunque el incremento (normalmente pequeo) en la cantidad de ancho de banda requerido est en la n a prctica ms que justicado porque el ruido del canal tiende a afectar a a ms a la amplitud de la seal modulada que a su frecuencia, lo que a n provoca que FSK sea ms resistente al ruido que ASK. a

C.5 Modulacin binaria en frecuencia o FSK o

606

C.5.2.

Desmodulacin o

Redes de Computadoras, 2007/08

La desmodulacin de una seal FSK es la misma que para una ASK, o n aunque hacen falta dos desmoduladores diferentes, uno para cada portadora.

C.5 Modulacin binaria en frecuencia o FSK o

607

C.6.

Modulacin binaria en fase o PSK o

En PSK (Phase-Shift Keying) la seal de datos modica la fase de la n portadora.


Redes de Computadoras, 2007/08

C.6.1.

Modulacin o

Se puede conseguir si empleamos una modulacin ASK pero partieno do de una seal bipolar (en lugar de unipolar). Podemos conseguir n fcilmente la versin bipolar s (t) de una seal de datos a partir de su a o n versin unipolar s(t) utilizando la expresin o o s (t) = 2s(t) 1. (C.6)

C.6 Modulacin binaria en fase o PSK o

608

Ejemplo: Bits
Redes de Computadoras, 2007/08

1 s(t) t

1 sin(wc t) t

1 sPSK (t) t

C.6 Modulacin binaria en fase o PSK o

609

El espectro de una seal PSK de este tipo es idntico al de la modun e lacin ASK (vase la gura del espectro de una seal ASK), pero la o e n seal portadora no est presente ya que la media de la seal s (t) es n a n 0. Los anchos de banda requeridos por ASK y PSK son idnticos. e
Redes de Computadoras, 2007/08

C.6.2.

Desmodulacin o

Igual que en ASK.

C.6 Modulacin binaria en fase o PSK o

610

C.7.

Modulacin n-ria o a

Redes de Computadoras, 2007/08

En la prctica, los moduladores binarios son demasiado conservadores a respecto al nivel de ruido que presenta el canal de transmisin. Esto o signica que ser posible usar ms de dos niveles de sealizacin sin a a n o que aumentara signicativamente la tasa de errores de transmisin. o Con el objetivo de aumentar la capacidad del canal, se utilizan moduladores con ms de dos niveles de sealizacin que se basan en: a n o 1. Discretizar ms namente los cambios de estado de la pora tadora. Por ejemplo, se han diseado modems (nombre que n recibe el dispositivo que MOdula y DEsModula) PSK que funcionan con 4 cambios de fase distintos (0o , 90o , 180o y 270o ), lo que permite transmitir s mbolos de 2 bits con cada elemento de sealizacin: n o

C.7 Modulacin n-ria o a

611

Fase 00 01 10 11 10 180o 90o 01 00 0o 11 270o Constelacin 4-PSK o Estrella

Amplitud

Redes de Computadoras, 2007/08

0o

90o

180o 270o

En este caso la tasa de sealizacin (Baudios) es la mitad que n o la tasa de bits (bps). Este tipo de modulacin se conoce como modulacin de camo o bio de fase en cuadratura [10] o QPSK (Quadrature-PhaseShift Keying). Tambin se ha llamado 4-PSK. e Existe adems otra forma interesante de representar el funa cionamiento de un modem tipo PSK mediante su diagrama de fase o constelacin. Este grco enfrenta la amplitud de la o a portadora frente a la fase. El resultado para 4-PSK se muestra tambin en la gura anterior. e 2. Modicar simultneamente ms de un parmetro de la a a a C.7 Modulacin n-ria o a 612

Redes de Computadoras, 2007/08

portadora. Una de las conguraciones que mejor funcionan en la prctica consiste en mezclar las modulaciones PSK y ASK. a Dicha combinacin se denomina modulacin de amplitud en o o cuadratura o QAM (Quadrature Amplitude Modulation). La idea consiste en trabajar con 2x amplitudes y 2y fases para representar hasta (x + y) bits por cada elemento de sealizacin. n o En la siguiente gura se muestra la modulacin 8-QAM, donde o x = 1 e y = 2, siendo en este caso la tasa de bits 3 veces superior a la de Baudios.
000 001 010 011 100 101 110 111 001 101 110 100 111 011 Constelacin 8-QAM o

010

000

Cuando se disea un sistema de modulacin QAM (el ms utin o a C.7 Modulacin n-ria o a 613

Redes de Computadoras, 2007/08

lizado en la actualidad), lo que se intenta es que la seal de error n presente en el enlace provoque un movimiento m nimo de las estrellas dentro de la constelacin, para que el receptor no cometa o errores. Como es lgico, esto depende fundamentalmente de la o SNR empleada.

614

Redes de Computadoras, 2007/08

Apndice D e

Transmisin de datos serie o


A la hora de transmitir ms de un bit de datos existen dos posibilidades: a (1) enviar todos los bits a la vez utilizando tantos enlaces como bits o (2) enviar los bits uno detrs de otro. En el primer caso hablamos de transmisin a o paralela porque muchos bits llegan hasta el receptor a la vez, en paralelo, C.7 Modulacin n-ria o a 615

mientras que en el segundo caso utilizamos el trmino transmisin serie e o para indicar que los bits llegan al receptor formando una hilera. La transmisin paralela presenta la ventaja de que si existen hasta N o l neas de transmisin, el tiempo de transmisin serie se divide entre N , o o aunque necesita N enlaces. Por este motivo se utiliza en distancias cortas como son los buses de datos de las computadoras, impresoras, etc. La transmisin serie presenta la ventaja de que es N veces ms barata en o a trminos de enlace y por esto se emplea cuando las distancias que separan e el emisor y el receptor son grandes, o cuando simplemente slo existe un o medio de transmisin (por ejemplo, un enlace por radio). En redes de como putadoras, y en general, en cualquier red de transmisin de datos la forma o ms frecuente de transmisin es la serie. a o Cuando hablamos de transmisin serie es tambin comn emplear los o e u trminos de transmisin s e o ncrona y transmisin as o ncrona. Cuando se trata de enviar grandes cantidades de bits es normal agruparlos en bloques que faciliten su transmisin. Aparecen as los conceptos de carcter y trama o a de datos. Un carcter suele tener un tamao de 8 bits y una trama de a n datos suele estar formada por una secuencia de caracteres, aunque tambin e podemos encontrarnos casos donde los caracteres sean slo de 7 bits y las o C.7 Modulacin n-ria o a 616

Redes de Computadoras, 2007/08

Redes de Computadoras, 2007/08

tramas de una longitud arbitraria. Cuando los caracteres son transmitidos espordicamente y adems cada a a transmisin puede a priori realizarse en cualquier instante, se dice que la o transmisin es as o ncrona. Sin embargo, cuando los caracteres se transmiten sin pausa (formando una trama de datos) se habla de transmisin s o ncrona [8] de ese bloque de caracteres.

C.7 Modulacin n-ria o a

617

D.1.

Sincronizacin de bits o

Tanto para el caso de la transmisin serie como de la paralela, la detero minacin del instante de tiempo en que cada bit es recibido es una cuestin o o fundamental para su reconocimiento correcto. Observando la Figura B.1(a), que muestra cmo ser la recepcin de la componente de frecuencia o a o fundamental de una seal digital en banda base que transporta la peor sen cuencia de bits transmitida a travs de un enlace sin ruido, apreciaremos e que el mejor momento para medir el valor de la seal recibida es justo en la n mitad de la recepcin de cada bit. o Para encontrar dichos instantes el emisor y el receptor utilizan sendos relojes. El del emisor indica cundo enviar el siguiente bit y el del receptor a cundo medir el valor de la seal recibida. Ademas, para que la transmisin a n o sea posible dichos relojes deben poseer la misma frecuencia, es decir, han de estar sincronizados. En una transmisin paralela el problema de la sino cronizacin se resuelve enviando la seal producida por el reloj (la seal de o n n reloj) a travs de una l e nea diferente, dedicada. En el caso de la transmisin o serie esto no es posible, y se emplean dos tcnicas simultneamente: (1) el e a env previo de bits de sincronismo y (2) la utilizacin de seales que incoro o n D.1 Sincronizacin de bits o 618

Redes de Computadoras, 2007/08

Amplitud Bit de Inicio


Redes de Computadoras, 2007/08

Bit de Datos

Bit(s) de Parada 0 1 Tiempo

1 0 tReset

Figura D.1: Un ejemplo de transmisin serie de un carcter. o a poran sincron es decir, que transportan junto con lo datos la informacin a, o de sincronismo. Los bits de sincronismo (que pueden ser en realidad slo 1) anteceden a o los bits de datos y sirven para que el receptor sincronice inicialmente su reloj. Por ejemplo, en la Figura D.1 se muestra una seal digital que transporta n un pulso de sincronismo [3] y 7 bits de datos (un carcter). Se ha supuesto a que cuando la l nea est inactiva (no se transmite nada), el nivel de seal a n D.1 Sincronizacin de bits o 619

recibido es 0, y que este es el nivel que representa tambin al bit 0. En la e gura tambin aparece un bit de parada que representa el tiempo que la e l nea debe estar inactiva antes de transmitir un nuevo bit de inicio. El bit de inicio indica que en el instante de tiempo tReset el reloj debe reiniciarse, y se ha supuesto que la precisin de los relojes del emisor y del o receptor es suciente como para que la prdida de sincronismo no afecte a e la recepcin del sptimo y ultimo bit de datos. Ntese que la duracin del o e o o bit de inicio no puede utilizarse para ajustar el periodo del reloj porque el primer bit de datos no tiene por qu indicar cundo naliza el bit de inicio e a y comienza l (para comprender esto, basta con imaginar que en la Figura e D.1 el primer bit de datos sea un 0). El ejemplo de transmisin de un carcter que aparece en la Figura D.1 o a es tambin el ejemplo de una transmisin as e o ncrona. Seales de este tipo n son las que se env desde un teclado hasta la computadora cada vez que an pulsamos una tecla. En este caso la fuente de datos genera caracteres en cualquier instante de tiempo y la secuencia de sealizacin mostrada en la n o Figura D.1 resulta la adecuada para su transmisin inmediata. Sin embargo, o cuando el emisor genera secuencias de caracteres o en general secuencias de bits mucho ms largas, el uso de bits de inicio y de parada insertados entre a D.1 Sincronizacin de bits o 620

Redes de Computadoras, 2007/08

los distintos caracteres supone un overhead considerable. Para atajar este problema la mejor solucin es enviar cada carcter uno o a a continuacin del otro, sin insertar bits de parada y de sincronismo. Eso to es justamente lo que se realiza en la transmisin s o ncrona que permite as tasas de transferencia superiores. El problema que esto plantea es que las secuencias de caracteres pueden ser arbitrariamente largas y ser necesario a utilizar relojes extremadamente precisos para garantizar que la prdida de e sincronismo (que siempre existe,) no afecte a la recepcin de los bits. o Como se dijo al comienzo de esta seccin, para solventar la prdida o e de sincronismo se utilizan sealizaciones con informacin de sincron En n o a. principio cualquier seal digital aporta cierta cantidad de informacin de este n o tipo, pero en algunos casos puede ser insuciente. Por ejemplo, en la Figura D.1 la transmisin de bits contrarios indica dnde comienza y acaba cada o o bit, pero esto no ocurre as cuando se reciben bit iguales. Consecuentemente, los problemas de sincronizacin aparecen cuando recibimos largas cadenas o de unos o de ceros y por este motivo se dice que la sealizacin utilizada n o en la Figura D.1, que se conoce como sealizacin unipolar [8] porque la n o seal siempre tiene el mismo signo, no aporta informacin de sincron n o a. En el resto de esta seccin estudiaremos otras formas diferentes de sealo n D.1 Sincronizacin de bits o 621

Redes de Computadoras, 2007/08

Redes de Computadoras, 2007/08

izacin para datos digitales que poseen determinadas propiedades que las o hacen adecuadas para contextos concretos. La primera de estas formas, la sealizacin unipolar, es utilizada cuando el enlace es capaz de transmitir n o energ en un unico sentido1 y cuando la combinacin precisin del reloj a o o versus longitud de la trama de datos no da lugar a desincronizaciones. Para aquellas situaciones donde esto no ocurre as se han ideado otras sealiza n ciones ms ecientes. a

1 Ejemplos de enlaces que pueden hacer esto son los pares trenzados, las bras pticas o y todos los enlaces mediante seales electromagnticas. n e

D.1 Sincronizacin de bits o

622

D.2.

Sealizaciones bipolares n

Cuando se disean enlaces de transmisin de datos serie mediante cables n o elctricos, una de las principales mejoras que podemos realizar de cara a e reducir el coste consiste en utilizar un unico hilo conductor en lugar de dos, como ocurre por ejemplo en el Telgrafo [21]. Cuando slo tenemos como e o tensin de referencia la tierra local, la tcnica para averiguar qu pulso es o e e el que ha llegado (saber si se trata de un 0 o un 1) consiste en estimar la tensin de tierra que el emisor est utilizando, promediando el valor de o a la seal [22] que llega, ya que es bastante acertado suponer que durante la n transmisin de grandes cantidades de datos, el nmero de bits iguales a 1 o u va a ser aproximadamente igual al nmero de bits iguales a 0. Si usamos u una seal unipolar, la media de la seal recibida es siempre mayor que la n n seal que llegar al receptor en ausencia de datos (l n a nea inactiva o seal n de tierra) y esto es un problema porque no sabr amos con certeza el nivel de tierra. Este inconveniente queda al menos parcialmente resuelto cuando usamos una seal elctrica bipolar. n e En la Figura D.2 se presenta la sealizacin sin retorno a nivel cero n o o NRZL (Not Return to Zero Level) que es la versin bipolar de la o D.2 Sealizaciones bipolares n 623

Redes de Computadoras, 2007/08

Redes de Computadoras, 2007/08

Amplitud Bit de Inicio 0 1 0

Bit de Datos

Bit(s) de Parada 0 1 Tiempo

Figura D.2: Ejemplo de sealizacin NRZL. n o

D.2 Sealizaciones bipolares n

624

Amplitud Bit de Inicio


Redes de Computadoras, 2007/08

Bit de Datos

Bit(s) de Parada 0 1 Tiempo

Figura D.3: Ejemplo de sealizacin NRZI. n o seal mostrada en la Figura D.1. Como puede observarse, se trata de una n versin idntica a la sealizacin unipolar, excepto que la seal toma valores o e n o n negativos: un 1 genera un pulso positivo y un 0 un pulso negativo. Ntese o que NRZL posee los mismos problemas de sincronismo, la misma inmunidad frente al ruido y consume el mismo ancho de banda que la sealizacin n o unipolar. D.2 Sealizaciones bipolares n 625

D.3.

Sealizaciones auto-reloj n

En la Figura D.3 se muestra la sealizacin sin retorno a nivel cero n o invertida o NRZI (Not Return to Zero Inverted) que es la versin difero encial de la sealizacin NRZL. En este caso la seal slo cambia cuando n o n o enviamos un 1, lo que aumenta las posibilidades de sincronizacin durante o la transmisin de las secuencias de 1s. Esta sealizacin presenta la misma o n o inmunidad frente al ruido y consume el mismo ancho de banda que NRZL pero, adems, tiene la ventaja de que los terminales de pares trenzados se a pueden conectar en cualquier orden porque el receptor distingue los 1s mediante cambios en la seal, independientemente de su polaridad. Por este n motivo se dice que NRZI es una sealizacin diferencial. n o En determinadas situaciones donde el ancho de banda no supone un problema, podemos usar la sealizacin Manchester que permite una sinn o cron constante del emisor y del receptor a travs de la seal de datos. a e n Consiste en enviar una transicin +A A (donde A es el nivel de amplio tud de la seal) cada vez que transmitimos un 0 y una transicin A +A n o para un 1, tal y como se muestra en la Figura D.4. Ahora el ancho de banda requerido es exactamente el doble (en promedio) que para el caso de NRZI, D.3 Sealizaciones auto-reloj n 626

Redes de Computadoras, 2007/08

Redes de Computadoras, 2007/08

Amplitud Bit de Inicio 0 1 0

Bit de Datos

Bit(s) de Parada

Tiempo 1 1 0 0 1

Figura D.4: Ejemplo de sealizacin Manchester. n o

D.3 Sealizaciones auto-reloj n

627

Amplitud Bit de Inicio


Redes de Computadoras, 2007/08

Bit de Datos

Bit(s) de Parada

0 1 0 1 1 0 0 1

Tiempo

Figura D.5: Ejemplo de sealizacin Manchester diferencial. n o NRZL y unipolar, aunque la inmunidad frente al ruido sigue siendo la misma. Ntese que ahora la media de la seal es exactamente igual a cero, siempre. o n Tambin existe una versin diferencial de esta sealizacin que se llama e o n o sealizacin Manchester diferencial. Consiste en provocar una transicin n o o al principio del intervalo si se transmite un 0 y de provocarla slo en la mitad o del intervalo en el caso de un 1 (vase la Figura D.5). e D.3 Sealizaciones auto-reloj n 628

D.4.

Sealizaciones ms resistentes a errores n a

Todas las sealizaciones anteriores poseen una caracter n stica en comn: u son bi-nivel o bi-valuadas (sin contar con el nivel de l nea inactiva). Esto les conere una cierta capacidad para soportar el ruido de tipo blanco que est presente en el enlace, aunque su defensa es pobre cuando aparece ruido a de tipo impulsivo que puede cambiar totalmente la polaridad de la seal. n Frente a este tipo de seales, existe otro gran grupo de sealizaciones n n que utiliza tres niveles de energ para representar la informacin digital y a o que son ms resistente al ruido impulsivo. En concreto utilizan +V , V a y 0. Por este motivo tambin se dice que este tipo de seales sigue una e n sealizacin con retorno a zero o RZ (Return to Zero) [8]. n o Una de las ms simples se llama sealizacin con inversin de marca a n o o alternada o AMI (Alternate Mark Inversion) y consiste (vea la Figura D.6) en usar el nivel de ausencia de seal para sealizar un 0 y un nivel con n n polaridad alternante para sealizar un 1 [27]. Como puede verse, la media n de la seal es cero y adems cada 1 aporta informacin de sincronismo. El n a o problema sigue existiendo con los 0s. Por otra parte, su resistencia al ruido radica en que para que un 0 se convierta en un 1 debe crearse un nivel de D.4 Sealizaciones ms resistentes a errores n a 629

Redes de Computadoras, 2007/08

Redes de Computadoras, 2007/08

Amplitud Bit de Inicio 0 1 0

Bit de Datos

Bit(s) de Parada 0 1 Tiempo

Figura D.6: Ejemplo de sealizacin AMI. n o

D.4 Sealizaciones ms resistentes a errores n a

630

Amplitud 1 0 0 0 0 0 0 0 0 0 0 1 0 0 Tiempo

0
Redes de Computadoras, 2007/08

Figura D.7: Ejemplo de sealizacin B8ZS. n o tensin suciente y adems cambiar la polaridad respecto del 1 anterior. o a Con el n de incorporar sincronismo tambin con los 0s, se disearon a e n partir de la AMI dos sealizaciones muy usadas actualmente: la sealizacin n n o B8ZS y la sealizacin HDB3. Ambas se basan en la idea de romper la n o ausencia de transiciones que existe durante la transmisin de las secuencias o de 0s, violando la propiedad de polaridad alternante que se dene en AMI. En concreto, para el caso de B8ZS, cada secuencia 0000 0000 se sustituye por 000V B0VB donde una V signica violacin de la polaridad y una B o signica polaridad correcta respecto de la polaridad anterior [27, 8]. En D.4 Sealizaciones ms resistentes a errores n a 631

Amplitud 1 0 0 0 0 0 0 0 0 0 0 1 0 0 Tiempo

0
Redes de Computadoras, 2007/08

Figura D.8: Ejemplo de sealizacin HDB3. Se supone que el primer 1 es n o primero de la secuencia y por tanto hay un nmero impar de unos. u la Figura D.7 se muestra un ejemplo de aplicacin. En el caso de HDB3 se o sustituyen las secuencias de 4 ceros aplicando la siguiente regla: si el nmero u de unos desde la ultima sustitucin es par, entonces la secuencia 0000 se o sustituye por B00V y si el nmero de unos desde la ultima sustitucin es u o impar, la entonces la secuencia de 4 ceros se sustituye por 000V [8, 27]. Ntese que de nuevo, para calcular las polaridades de las sustituciones es o necesario jarse en la ultima polaridad utilizada. En la Figura D.8 hay un ejemplo. D.4 Sealizaciones ms resistentes a errores n a 632

D.5.

Delimitacin de tramas o

Como se desprende de la seccin anterior, la delimitacin de las tramas o o de datos es un proceso necesario de cara a sincronizar el emisor y el receptor. Sin embargo, existen otras razones de importancia para limitar la longitud de las tramas que son: (1) la resistencia frente al ruido de transmisin y (2) o la comparticin de los medios. Como veremos, muchas de las tcnicas de o e control de errores que se han desarrollado se basan en retransmitir aquellas tramas de datos que han llegado con errores. Si las tramas son muy largas, la probabilidad de que aparezcan errores aumenta de forma que no podr amos transmitir ninguna de ellas con xito. Por otra parte, cuando las e redes de transmisin utilizan medios compartidos y TDM (como ocurre por o ejemplo en las redes Ethernet) no queda ms remedio que limitar el tiempo a de transmisin para acotar as el tiempo mximo de espera por parte de un o a emisor.

Redes de Computadoras, 2007/08

D.5 Delimitacin de tramas o

633

D.6.

Transmisiones as ncronas

Redes de Computadoras, 2007/08

La manera en que las tramas son delimitadas y el tipo de sealizan ciones utilizadas cambian si estamos empleando una transmisin as o ncrona o s ncrona. En una transmisin as o ncrona la delimitacin est impl o a cita en la longitud nita (7 y 8 bits t picamente) y conocida tanto por el emisor como por el receptor de la trama de datos. Adems, como las tramas son cortas a no es necesario mantener sincronizados los relojes durante su transmisin, o por lo que las sealizaciones NRZL y NRZI son las ms utilizadas. n a

D.6 Transmisiones as ncronas

634

D.7.

Transmisiones s ncronas

Por el contrario, en el caso de la transmisin s o ncrona, donde un nmero u en general variable de caracteres o bytes son transmitidos en cada trama, las formas de delimitacin son mucho ms sosticadas y se utilizan o a sealizaciones con sincron El objetivo es evitar a toda costa un error de n a. delimitacin de trama de datos porque, para el caso concreto de una o transmisin s o ncrona, implica la prdida de grandes cantidades de bits como e consecuencia de la des-sincronizacin entre el emisor y el receptor. o Lo mismo que ocurre en una transmisin de un carcter, para transmitir o a una trama de datos primero se env una serie de pulsos de sincronismo que an sirven para sincronizar los relojes. El uso de una serie de bits de sincronismo (en lugar de un unico bit) no representa un overhead considerable ya que el ratio bits de datos / bits de sincronismo es muy alto. Por este motivo es corriente hablar de pulsos de sincronismo en plural (y en general al menos un carcter). Esto adems suele hacer innecesario el uso de bits de parada a a ya que los bits de sincronismo suelen tener una duracin suciente para que o el sistema pueda mantenerse sincronizado durante la transmisin de dos o tramas consecutivas. D.7 Transmisiones s ncronas 635

Redes de Computadoras, 2007/08

1 5

5 0 0 4

Trama de Datos
Redes de Computadoras, 2007/08

Trama de Datos

Figura D.9: Ejemplo de entramado usando recuento de caracteres. El primer carcter del marco indica su longitud en caracteres. a

D.7.1.

Recuento de caracteres

Como ya hemos dicho, la principal complicacin a las que debe eno frentarse el diseador de protocolos de transmisin serie s n o ncrona a la hora de delimitar las tramas es que suelen ser de longitud variable. Ante esta situacin, una de las tcnicas ms simples de entramado (framing en ino e a gls) es el recuento de caracteres. Consiste en incluir al comienzo de cada e trama un campo que indica cuntos caracteres contiene la trama. En la a Figura D.9 tenemos un ejemplo sencillo donde se muestra cmo se delimo itan dos tramas de datos. Aqu se puede apreciar adems que es posible a D.7 Transmisiones s ncronas 636

usar la propia tcnica de recuento de caracteres para mantener constantee mente sincronizados el emisor y el receptor: cuando no se transmiten datos se env constantemente tramas vac Este tipo de tcnicas se utilizan an as. e normalmente en enlaces punto-a-punto, donde la l nea de transmisin es o dedicada. En enlaces multipunto esta tcnica de sincronizacin continua es e o imposible debido a que existen mltiples emisores potenciales que no tienen u por qu estar sincronizados entre s Adems, esto supondr que el enlace e . a a est siempre ocupado lo que es inviable en enlaces multipunto. a El principal inconveniente del recuento de caracteres radica en que es bastante sensible al ruido de transmisin puesto que una alteracin en un o o bit del campo que indica la longitud de la trama afecta a su longitud, lo que genera inmediatamente un error de delimitacin de trama. Para salir de o esta situacin, el receptor debe buscar los bytes de sincronizacin inicial que o o precede a toda trama de datos y recuperar as la sincronizacin. Un ejemplo o de protocolo de transmisin s o ncrona que utiliza el recuento de caracteres es el DDCMP (Digital Data Communication Message Protocol) [22].

Redes de Computadoras, 2007/08

D.7 Transmisiones s ncronas

637

Redes de Computadoras, 2007/08

Datos ACB A STX B C A DLE B C DLE ETX

Datos transmitidos STX A B C ETX STX A DLE STX B C ETX STX A DLE DLE B C ETX STX DLE DLE DLE ETX ETX

Figura D.10: Ejemplos de entramado usando relleno de caracteres. En negrita aparecen los caracteres de relleno.

D.7.2.

Inserccin de delimitadores o

La alternativa al recuento de caracteres se llama insercin de delimo itadores. La idea consiste en colocar delante y detrs de cada trama de a datos un carcter especial (en general, una secuencia de bits especiales) que a permitan identicar el comienzo y el n de trama (recurdese que las tramas e no tienen por qu ir seguidas). As si se produce en error de delimitacin e , o de trama, la sincronizacin puede recuperarse buscando estos caracteres o especiales a lo largo de las secuencias recibidas. D.7 Transmisiones s ncronas 638

Una de las tcnicas ms simples (y ms usadas) para la delimitacin e a a o de tramas basada en la insercin de delimitadores es el relleno de caraco teres (character stung en ingls) que se emplea en los protocolos serie e s ncronos BISYNC (BInary SYNchronous Communication) y PPP (Point to Point Protocol) [22]. El carcter que indica el comienzo de trama se dea nomina STX (Start of TeXt) y el que especica el n, ETX (End of TeXt). Hasta aqu todo perfecto, pero qu ocurre si estos caracteres aparecen den e tro de la trama de datos? Para evitar un error de delimitacin de trama el o emisor inserta delante de cualquiera de estos caracteres otro carcter espea cial llamado DLE (Data Link Escape) para indicar que la trama no acaba o comienza ah Entonces, qu ocurre si el carcter DLE aparece dentro de . e a la trama de datos? Para evitar que el receptor lo tome como un carcter a especial el emisor lo precede de otro DLE. De esta forma, el receptor siempre que recibe un DLE lo ignora como dato y no atiende al signicado de delimitacin del siguiente carcter; sea lo que sea se trata de datos. En la o a Figura D.10 aparecen algunos ejemplos. La principal desventaja del relleno de caracteres es que los datos deben organizarse en caracteres. Para evitar esta limitacin existe una tcnica seo e mejante pero que delimita las tramas a nivel de bits. Por esto se llama D.7 Transmisiones s ncronas 639

Redes de Computadoras, 2007/08

Datos 0110 1010 0111 1110 0111 1101


Redes de Computadoras, 2007/08

Datos transmitidos 0111 1110 0110 1010 0111 1110 0111 1110 0111 11010 0111 1110 0111 1110 0111 11001 0111 1110

Figura D.11: Ejemplos de entramado usando relleno de bits. En negrita aparecen los bits de relleno. relleno de bits o bit stung. En concreto, la tcnica de relleno que vamos e a estudiar es la que se utiliza en el protocolo HDLC (High-level Data Link Control) [22]. En HDLC, el comienzo y el n de cada trama se delimita mediante la secuencia 0111 1110. Cuando esta aparece entre los datos, el emisor la rompe insertando un 0 antes del ultimo 1. En otras palabras, lo que el emisor hace es buscar y romper cualquier secuencia de ms de 5 unos consecutivos. a As el receptor no tiene problema para delimitar la trama porque slo tiene , o que encontrar 6 unos consecutivos. De nuevo, qu ocurre si la secuencia e D.7 Transmisiones s ncronas 640

Redes de Computadoras, 2007/08

0111 110 aparece en los datos? Como el receptor va a considerar el ultimo bit como un bit de relleno, el emisor lo precede de un bit a 0. As la recepcin o es correcta. En la Figura D.11 hay algunos ejemplos ms. a El relleno de bits tiene dos grandes ventajas. La primera de ellas es que el overhead introducido por el protocolo de transmisin para delimitar las o tramas es menor que para el caso del relleno de caracteres: el relleno genera slo un bit de redundancia frente a ocho. Sin embargo, la mayor ventaja o proviene de que existe la seguridad de que en ningn instante de la transu misin se emiten ms de 6 unos consecutivos. Si repasamos las tcnicas de o a e sealizacin anteriormente presentadas vemos que una sealizacin NRZI n o n o donde en lugar de bascular con los unos basculemos con los ceros, o una sealizacin AMI, son especialmente convenientes para ser utilizadas con el n o relleno de bits ya que los problemas de sincronizacin quedan automticao a mente resueltos.

641

Redes de Computadoras, 2007/08

D.7 Transmisiones s ncronas

642

Redes de Computadoras, 2007/08

Apndice E e

Cdigos de correccin de o o errores


Los cdigos de correccin de errores permiten localizar el error y correo o girlo sin necesidad de retransmitir. Como ya hemos indicado, la clave est en a D.7 Transmisiones s ncronas 643

la introduccin de la suciente cantidad de redundancia. La idea es crear un o cdigo donde las palabras se diferencien en una cantidad de bits suciente o (dependiendo de la cantidad de bits errneos que se desea corregir). A esta o diferencia se le llama distancia de Hamming1 [11]. Por ejemplo, en un cdigo o binario natural de n bits de longitud existen hasta 2n palabras distintas y la distancia de Hamming es 1. Como puede verse, cuando la distancia es 1 entonces el cdigo no permite detectar, ni an menos corregir, ningn o u u error, porque cualquier palabra con uno o ms errores genera otra palabra a del cdigo. o La capacidad de deteccin y de correccin de errores de un cdigo deo o o pende de su distancia de Hamming. En concreto, para detectar al menos d errores, se necesita una distancia igual a d + 1. Por ejemplo, el cdio go 0000, 0011, 1100, 1111 tiene una distancia de Hamming igual a 2. Si se recibiera la palabra 1110, sabr amos que hay al menos un error y que las palabras que con ms probabilidad fueron transmitidas son 1100 y 1111.2 a Ntese, sin embargo, que esta informacin es insuciente para corregir el o o
honor al matemtico estadounidense R.W. Hamming. a es as porque en general la probabilidad de que un unico bit sea errneo es mayor o que la probabilidad de que dos o ms bits sean errneos. a o
2 Esto 1 En

Redes de Computadoras, 2007/08

D.7 Transmisiones s ncronas

644

Redes de Computadoras, 2007/08

error porque ambas palabras son equiprobables. Sin embargo, para corregir d errores, se necesita una distancia de 2d + 1. Por ejemplo, el cdigo 00000 00000, 00000 11111, 11111 00000, o 11111 11111, tiene una distancia igual a 5, por lo que puede llegar a corregir hasta 2 bits errneos. Por ejemplo, si se recibe la palabra 00010 11011, lo o ms probable es que se tratara de la palabra 00000 11111. Obsrvese que a e nunca sabremos con certeza esto porque implicar que sabemos que slo a o dos bits iban a ser invertidos durante la transmisin. Este factor es el que o provoca que ningn cdigo de correccin de errores sea infalible. u o o Los cdigos de correccin de errores son usados en tres situaciones muy o o concretas: 1. Cuando la probabilidad de los errores de bit es alta. En este caso utilizaremos adems tramas muy cortas (1 o 2 caracteres a lo sumo). a Ejemplo E.15: Considere un enlace que comete errores de transmisin aislados con una tasa de 103 errores/bit. o Supngase que la longitud de la trama de datos es de o 1.000 bits. Esto signica que en promedio cada trama transmitida contendr un bit errneo y la transmisin utilizando a o o D.7 Transmisiones s ncronas 645

un cdigo de deteccin de errores no ser posible. o o a 2. Cuando no es posible solicitar la retransmisin de datos. Por o ejemplo, en enlaces de tipo simplex no pueden solicitarse retransmisiones porque los datos slo pueden ser enviados en un sentido. Por o lo tanto, tenemos que tratar de blindar lo mximo posible los datos a transmitidos. 3. Cuando las latencias son muy altas. Por ejemplo, en una transmisin desde una nave espacial hasta La Tierra es preferible utilizar o cdigos de correccin de errores a tener que indicar a la nave que o o repita una transmisin. o

Redes de Computadoras, 2007/08

D.7 Transmisiones s ncronas

646

E.1.

El cdigo de Hamming o

Redes de Computadoras, 2007/08

Hamming ide adems un sistema de codicacin que permite recuperar o a o un nmero de errores de transmisin por palabra transmitida arbitrariamente u o grande, aunque en esta seccin se presenta (por motivos de simplicidad) el o cdigo que permite recuperar slo un bit errneo. o o o Para hacer esto, entre los bits de datos se insertan bits de paridad, concretamente en las posiciones 2i siendo i 0. Como puede deducirse fcilmente, si la trama contiene n de datos, entonces un cdigo de Hamming a o introduce log2 (n + 2) bits (E.1) de redundancia. Supongamos que el tamao de los s n mbolos originales es de 7 bits. El cdigo de Hamming inserta en las posiciones que son potencias de dos un o bit de paridad (vase la Figura E.1). e Por ejemplo, el bit que est en la posicin 1 (que tiene un unico bit a o distinto de cero y que es el bit de menos peso) es el bit de paridad de los bits situados en las posiciones impares, porque todas ellas tienen el bit E.1 El cdigo de Hamming o 647

Redes de Computadoras, 2007/08

1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 d 11 d 10 d 9 r8 8 d 7 d 6 d 5 r4 4 d 3 r2 2 r1 1

Figura E.1: Insercin de los bits de paridad en el cdigo de Hamming. Los o o puntos seleccionados se corresponden con aquellos cuyo ndice slo tiene un o bit a 1 y por tanto son potencias de 2.

E.1 El cdigo de Hamming o

648

11 1

10 0

9 0

7 1

6 1

5 0

3 1

1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001

Redes de Computadoras, 2007/08

1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001

1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001

1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001

1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001

E.1 El cdigo de Hamming o

649

Redes de Computadoras, 2007/08

menos signicativo igual a 1. En la Figura E.2 se muestra un ejemplo de codicacin en el que se usa paridad par. o Para conocer si se ha producido un error de transmisin, el receptor o recalcula los bits de paridad. Si no se ha producido ningn error, los bits u de paridad deben coincidir con los que viajan con los datos. Si ha ocurrido un error, los bits de paridad que cambian indican dnde se ha producido o el error. Por ejemplo, si el bit sptimo en la Figura E.2 cambiara de 1 a e 0 durante una transmisin ruidosa, el receptor va a apreciar que los bits o de paridad r1 , r2 y r4 son diferentes a los que se reciben. Como es ms a probable que se produzca un error en un bit que en tres, supondr que el a bit 7 (donde 7 = 1 + 2 + 4) es el bit errneo y lo corregir. Este proceso se o a muestra tambin en la Figura E.3. e

650

1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 1 0 10 0 9 1 8 10 7 1 6 0 5 0 4 1 3 0 2 1 1

Redes de Computadoras, 2007/08

11

1=7

Figura E.3: Correccin de un error mediante el cdigo de Hamming. Tras o o recalcular las paridades el nmero binario resultante indica la posicin del u o bit errneo. Un 1 en dicho cdigo signica que la paridad es inorrecta, es o o decir, que el bit de paridad est bien calculado, y un 0 que es correcta. Por a ejemplo, el bit de paridad r1 est mal calculado (y por ese motivo colocalos a un 1 en el bit de menos peso del cdigo que indica dnde est el bit erroneo) o o a porque segn l, el nmero de 1s en las posiciones de u e u ndice impar es impar y sin embargo sale un nmero par. u 651

Redes de Computadoras, 2007/08

Apndice F e

Fibras pticas o
El cable de bra ptica es un medio guiado para la transmisin de luz o o (una forma de radiacin electromagntica). En general se utiliza para transo e mitir seales digitales mediante el mtodo de encender y apagar una fuente n e de luz [8]. En cierta medida este proceso es bsicamente una modulacin a o E.1 El cdigo de Hamming o 652

ASK cuando un nivel de tensin es el que dene la aparicin o desaparicin o o o de la seal portadora (la onda de luz), cuya frecuencia va a depender del n color de la luz. Si es luz monocromtica entonces la portadora utiliza una a unica frecuencia, lo que suele ser lo ms comn porque el uso de una porta a u dora monocromtica hace posible el uso de una multiplexacin en frecuencia a o en la bra ptica. Esta tcnica de multiplexacin se llama multiplexacin o e o o por divisin en longitudes de onda o WDM (Wavelength-Division Mulo tiplexing) [27] que consiste en la utilizacin de colores distintos. En 1997 o se alcanz un hito cuando en los Laboratorios Bell se demostr que una o o bra optica es capaz de transmitir 100 haces de 10 Gbps proporcionando una capacidad total de 1 Tbps. Esto puede darnos una idea de la alt sima capacidad que poseen los enlaces de bra ptica. o La luz es una onda electromagntica, es decir, se trata de la combinacin e o de un campo elctrico y otro magntico vibrando en direcciones perpendice e ulares, que a su vez son perpendiculares a la direccin de propagacin de la o o onda. La velocidad de propagacin de la luz, y ms en general de cualquier o a onda electromagntica, depende de parmetros que caracterizan electroe a magnticamente el medio (permeabilidad y susceptibilidad). En el vac la e o velocidad de propagacin es de casi 300.000 km/s y en las bras pticas es o o E.1 El cdigo de Hamming o 653

Redes de Computadoras, 2007/08

V=Visible UV=Ultravioleta 100 102 104 Ondas Largas de Radio

Ondas perjudiciales para la vida 10


6

10

10

10

Redes de Computadoras, 2007/08

Ondas Cortas de Radio

MicroOndas

11 00 11 00 11 00 11 00 1 0 1 0 1 0 1 0 1 0 11 00 11 00 11 00 11 00 1 0 1 0 1 0 1 0 1 0 11 00 11 00 11 00 11 00 1 0 1 0 1 0 1 0 1 0 11 11 00 11 00 11 00 1 0 1 0 1 0 1 1 0 Infrarrojo00 V0 UV 11 00 11 00 11 00 11 00 1 0 1 0 1 0 1 0 1 0 11 00 11 00 11 00 11 00 1 0 1 0 1 0 1 0 1 0

10

12

10

14

1016

1018

1020

1022

1024 Hz Rayos Gamma

Rayos X

104

105

106

107

108

109

1010

1011

1012

1013

1014

1015

1016

Cable Coaxial AM

Microondas Satlite e FM TV Microondas Terrestres

Fibra Optica

Figura F.1: El espectro electromagntico usado en telecomunicaciones [27, e 32]. Ntese que la escala es logar o tmica. E.1 El cdigo de Hamming o 654

de 200.000 km/s. En la Figura F.1 se muestra el espectro electromagntico, e donde se puede observar que la luz, como onda que es, ocupa la banda que va desde el infrarrojo hasta el ultravioleta. En un medio transparente y homogneo (cristal, plstico, agua, aire, etc.) e a la luz se propaga en l nea recta y a una velocidad constante. Sin embargo, si en su propagacin la luz pasa de un medio a otro (con diferentes niveles o de permeabilidad y susceptibilidad), su velocidad y direccin de propagacin o o cambian abruptamente. Este cambio en la direccin de propagacin provoo o cado por dicha modicacin de los o ndices de permeabilidad y susceptibilidad electromagntica de se le conoce como refraccin. e o Los valores de la permeabilidad y la susceptibilidad son caracter sticas del medio, a partir de los cuales se dene la densidad del medio (electromagnticamente hablando) y de los cuales depende el valor de la velocidad e de propagacin de una onda electromagntica en dicho medio. Cuando la o e luz pasa de un medio menos denso a un medio ms denso (electrmagnetia o camente hablando), por ejemplo, del aire al agua, el ngulo de incidencia a i es mayor que el ngulo de refraccin r. Sin embargo, cuando pasa de un a o medio ms denso a uno menos denso ocurre al contrario, es decir, el ngulo a a de incidencia i es menor que el ngulo de refraccin r (vase la Figura F.2). a o e E.1 El cdigo de Hamming o 655

Redes de Computadoras, 2007/08

Medio menos denso


Redes de Computadoras, 2007/08

Luz

r i Luz Medio ms denso a

Figura F.2: Fenmeno de refraccin de la luz producido al incidir sobre la o o supercie de separacin de dos medios con diferentes densidades. o

E.1 El cdigo de Hamming o

656

Redes de Computadoras, 2007/08

Medio menos denso

Angulo Cr tico Medio ms denso a

Figura F.3: Angulo de incidencia cr tico en la refraccin de la luz. o

E.1 El cdigo de Hamming o

657

Medio menos denso

Redes de Computadoras, 2007/08

Angulo de Angulo de Incidencia Reexin o Medio ms denso a

Figura F.4: Reexin de la luz al incidir sobre la supercie de separacin de o o dos medios con diferentes densidades. Cuando la luz pasa de un medio ms denso a otro menos denso, existe un a ngulo de incidencia i para el cual la luz no se refracta (r = 90o ), sino que a se propaga de forma paralela al plano de separacin de ambos medios (vase o e la Figura F.3). A este ngulo se le llama ngulo de incidencia cr a a tico. Cuando la luz atraviesa medios de diferentes densidades, no toda la E.1 El cdigo de Hamming o 658

Revestimiendo (menos denso) Cubiertas Protectoras


Redes de Computadoras, 2007/08

Fibra Optica

Ncleo u (ms denso) a

Figura F.5: Esquema de una bra ptica. El ncleo y el revestimiento son o u materiales transparentes aunque con diferente densidad. La cubierta protectora suele estar formada por varios materiales que protegen la bra de la luz externa y de los golpes. energ consigue pasar al otro medio, sino que una cierta cantidad se reeja a y continua transmitindose en el mismo medio de donde proviene. A este e fenmeno se le denomina reexin. En este caso, el ngulo de incidencia i o o a y el ngulo de reexin son idnticos (vase la Figura F.4). a o e e Las bras pticas aprovechan el fenmeno de la reexin de la luz para o o o guiar (transportar en l nea no recta) seales luminosas a grandes distancias. n E.1 El cdigo de Hamming o 659

Dependiendo de la forma en que se construye la bra y de la forma en la que se inyecta la luz dentro de la bra, existen diferentes modos de propagacin y capacidades de transmisin. La base de todas las bras pticas es o o o la construccin de un tubo o cilindro de material transparente (normalmente o cristal o plstico) muy delgado que posee al menos dos densidades diferentes a (vase la Figura F.5). En el centro o ncleo se encuentra el medio ms denso e u a (el que ms lentamente transmite la luz) y en el revestimiento se encuentra a el medio menos denso. Por tanto, la luz va a reejarse en el revestimiento y a quedar connada en el ncleo. Externamente, la bra se recubre de u cubiertas que impiden que la luz externa, la humedad o los aplastamientos alcancen la bra y que la luz interna alcance el exterior por refraccin. o Las bras pticas ms sencillas son las llamadas multimodo de o a ndice discreto y se construyen de forma que el ncleo y el revestimiento tienen u densidades diferentes aunque constantes. Si colocamos una fuente de luz en un extremo de la bra, cierta cantidad de los rayos penetran en el revestimiento y en el ncleo. Los haces que entran al revestimiento son absorbidos u por la capa externa opaca, sin embargo, otros consiguen entrar en el ncleo. u Dado que la haz incidente alcanza la bra ptica con diferentes ngulos de o a incidencia, en la bra ptica encontraremos que parte de dicha energ se reo a E.1 El cdigo de Hamming o 660

Redes de Computadoras, 2007/08

Revestimiento Ncleo u Foco de Luz


Redes de Computadoras, 2007/08

Figura F.6: Transmisin en una bra ptica multimodo de o o ndice discreto. fractar en el revestimiento y ser absorvida por la capa externa opaca; otra a a parte ser reejada con un ngulo de reexin igual al de incidencia y otra a a o parte se propagar de forma paralela al revestimiento (aquellos haces que a indicen con un ngulo de incidencia igual al ngulo cr a a tico). Vase la Figura e F.6. Por tanto, dentro del ncleo existen rayos que se propagan sin reejarse u (rayos axiales [27]) y otros que sufren un nmero de reexiones que depende u del ngulo de incidencia de entrada en el ncleo y de la longitud de la bra. a u Puesto que la densidad del ncleo es constante, la velocidad de propagacin u o de la luz a travs de l tambin lo es. Como consecuencia, los haces que ms e e e a E.1 El cdigo de Hamming o 661

distancia recorren alcanzan ms tarde el otro extremo de la bra. Debido a a que la seal recibida en el otro extremo de la bra es la suma de todas las n seales que han recorrido diferentes caminos a travs de la bra ptica, la n e o anchura de los pulsos de luz aumenta conforme se propagan, es decir, se ha producido una distorsin por retardo Esta perturbacin constituye el prino o cipal factor que limita la capacidad de la bra ptica, porque la separacin o o entre s mbolos se diculta conforme aumenta la tasa de transmisin. o Para resolver este problema hay que evitar que los diferentes haces de luz que consiguen entrar en el ncleo en el mismo instante de tiempo alcancen u el otro extremo en instantes diferentes. Para ello se han propuesto tres soluciones diferentes. La primera de ellas consiste en utilizar fuentes de luz que producen frentes de onda planos, es decir, haces de luz que se propaguen en una unica direccin, y esto es justamente lo que hace un laser (Light Amplication o by Stimulated Emission of Radiation)1 . En lugar de utilizar LEDs (Light Emitting Diodes) se usan ILDs (Injection Laser Diodes).
un laser todos los haces de luz se propagan en una unica direccin y la onda o generada es monocromtica, es decir, de una unica frecuencia (color) y fase. a
1 En

Redes de Computadoras, 2007/08

E.1 El cdigo de Hamming o

662

Revestimiento Foco de Luz


Redes de Computadoras, 2007/08

Ncleo u

Figura F.7: Transmisin en una bra ptica monomodo. o o La segunda solucin consiste en reducir el dimetro del ncleo hasta el o a u punto de forzar a que todo rayo que consiga entrar en l tenga un ngulo e a de incidencia tan grande que sea cr tico y por lo tanto slo el rayo axial o se propaga (vase la Figura F.7). A este tipo de bras se les llama bras e o pticas monomodo. Las bras monomodo son las ms ecientes, pero a tambin las ms caras. e a La tercera solucin se basa en construir una bra con un gradiente deo creciente de densidad desde el ncleo hasta el revestimiento (vase la Figura u e F.8). Ahora, aquellos rayos de luz que no son axiales aceleran proporcionalE.1 El cdigo de Hamming o 663

Revestimiento Ncleo u Foco de Luz


Redes de Computadoras, 2007/08

Figura F.8: Transmisin en una bra ptica multimodo de o o ndice gradual. mente a la desviacin de la direccin de propagacin del rayo axial. La idea o o o es permitir que los haces que ms distancia recorren sean tambin los que a e ms velozmente se propaguen. De esta forma se reduce la dispersin. A este a o tipo de bra se le llama bras pticas multimodo de o ndice gradual. Las principales ventajas de las bras pticas son: o 1. Una elevad sima capacidad. Un canal de bra tiene un ancho de banda t pico de 1015 1014 = 15 0, 910 Hz (vase la Figura F.1). Por tanto, simplemente codicane do 1 bit/elemento de sealizacin la capacidad estimada de Nyquist n o E.1 El cdigo de Hamming o 664

Cuadro F.1: Capacidades t picas de las bras pticas [22]. o Fibra Optica Multimodo Monomodo Capacidad 100 Mbps 100 2.400 Mbps Distancia 2 km 40 km

Redes de Computadoras, 2007/08

es de 1, 8 1015 bits/segundo o lo que es lo mismo, 1.800 Tbps. De hecho, la principal limitacin de los sistemas de transmisin basao o dos en bra ptica la constituyen los elementos de transduccin que o o transforman las seales luminosas en elctricas y viceversa. n e 2. Unas tasas de ruido muy bajas. La bra ptica es inmune a los campos electromagnticos externos o e porque stos no afectan a la luz (excepto la propia luz externa que e no es problema gracias a la capa externa opaca). Como las bras no irradian energ tampoco existen problemas de diafon y muchas a, a bras pueden colocarse en paralelo porque adems son muy ligeras. a E.1 El cdigo de Hamming o 665

3. Baja atenuacin de las seales. o n Esto permite instalar los repetidores mucho ms separados que en el a caso del par trenzado o el cable coaxial. En la Tabla F.1 se muestra la capacidad en funcin de la distancia de algunos tipos de bras pticas. o o
Redes de Computadoras, 2007/08

666

Redes de Computadoras, 2007/08

Apndice G e

Enlaces de radio
Las ondas de radio son emitidas mediante antenas, que simplemente son conductores por los que circula una corriente elctrica de una cierta e frecuencia, en general, no superior a 1 GHz para que sean consideradas como ondas de radio. Cuanto mayor es la frecuencia, ms pequea puede a n E.1 El cdigo de Hamming o 667

ser la antena. Las ondas de radio se transmiten en todas las direcciones del espacio (son omnidireccionales) lo que las hace ideales para transmisiones de tipo broadcast. Las ondas de radio, como ondas electromagnticas que son, se propagan e en el vac a una velocidad de casi 300.000 km/s y son capaces de atravo esar otros medios, como el agua o las paredes. En general, la absorcin (o o atenuacin) que sufren las ondas de radio en un determinado medio depeno der de las propiedades electromagnticas de dicho medio, as como de la a e frecuencia de las ondas. Es conocido que las ondas de radio de longitudes de onda mayores (frecuencias ms bajas) se utilizan para transmisiones a larga a distancia y para comunicarse, por ejemplo, con los submarinos sumergidos. De hecho, las ondas de radio de longitudes de onda ms largas (frecuencias a ms bajas) pueden transmitirse a cientos de kilmetros y no se propagan en a o l nea recta, sino que siguen la curvatura de La Tierra [27]. Al aumentar la frecuencia, este efecto desaparece pero las ondas se reejan en la ionosfera1 , por lo que las distancias recorridas son tambin enormes. De hecho, en d e as
1 La ionosfera es la capa de part culas cargadas que rodea La Tierra a una altura de 100 a 500 km.

Redes de Computadoras, 2007/08

E.1 El cdigo de Hamming o

668

Redes de Computadoras, 2007/08

propicios un radio-acionado es capaz de escuchar su propia voz como un eco cuando es su seal la que da la vuelta a La Tierra y le llega de nuevo al n emisor. Los enlaces de radio no son normalmente utilizados para disear redes n de computadoras de rea amplia fundamentalmente por dos motivos: a 1. Las ondas de radio son omnidireccionales, alcanzan largas distancias y atraviesan objetos (como las paredes de las casas). Bajo estas circunstancias, el medio de transmisin tiene una topolog lgica de bus, o a o donde mientras una estacin escribe sobre el medio, el resto deben o escuchar. La unica solucin a este problema es usar multiplexacin o o (en el tiempo o en la frecuencia). Por ejemplo, las emisoras de radio comerciales utilizan FM (Frequency Modulation) y AM (Amplitude Modulation) para transmitir. El espectro electromagntico (vase la e e Figura F.1) se divide en bandas iguales y a cada emisora se le asocia uno de ellos. 2. El ancho de banda del espectro de frecuencias usado para transmitir seales de radio es insuciente para acomodar grandes velocidades de n transmisin. Por ejemplo, cuando un submarino est sumergido slo o a o E.1 El cdigo de Hamming o 669

puede comunicarse con tierra a travs de ondas de radio de muy baja e frecuencia, por lo que las comunicaciones son muy lentas. Para aumentar la capacidad total del medio de transmisin hay que usar o frecuencias altas y bajas potencias de emisin. Esto es lo que ha permitido o la aparicin de la telefon mvil y de sistemas de redes de rea local para o a o a transmisin de datos entre computadoras. En el primer caso, la supercie o terrestre se divide en celdas (de ah el nombre tambin de telefon celular) e a de igual tamao, que pueden ser modeladas como hexgonos (aunque en n a realidad se parecen ms a circulos). En cada uno de ellos se usan frecuencias a que no se utilizan en ninguna de las celdas colindantes, lo que signica que pueden utilizarse de nuevo a dos celdas de distancia (vase la Figura G.1). e Un telfono mvil tiene cobertura slo si est en contacto con una de las e o o a estaciones receptoras situadas (normalmente) en el centro de cada celda. Cuando el usuario conversa, se usa una frecuencia para transmitir y otra para recibir, y si se mueve desde una celda a otra, ambas frecuencias son diferentes a las anteriores y diferentes a cualquiera de las que est usando a otro usuario en esa celda. En los ultimos aos los enlaces inalmbricos han sufrido un avance gigan n a E.1 El cdigo de Hamming o 670

Redes de Computadoras, 2007/08

B G
Redes de Computadoras, 2007/08

C A D E B G C A F E D

F B G A F E D C

Figura G.1: Utilizacin de las frecuencias en telefon mvil (celular) [32]. o a o Cada letra es un conjunto de bandas de frecuencia igual al nmero mximo u a de personas que pueden hablar en cada celda. E.1 El cdigo de Hamming o 671

tesco debido al desarrollo de la telefon mvil digital. En USA y Canad se a o a usa una norma llamada PCS (Personal Communication Services). En el resto del mundo, GMS (Global Mobile System) es el estndar de telefon digital a a sin cables. Como era de esperar, ambos son incompatibles [32].
Redes de Computadoras, 2007/08

672

Redes de Computadoras, 2007/08

Apndice H e

Enlaces de microondas
Aquellas ondas electromagnticas comprendidas aproximadamente entre e 1 GHz y 100 GHz son consideradas como microondas (vase la Figura F.1). e Las microondas son mucho ms direccionales que las ondas de radio aunque a siguen desvindose (por suerte) con la curvatura de La Tierra [27]. Esto pera E.1 El cdigo de Hamming o 673

Redes de Computadoras, 2007/08

mite distanciar las antenas a nivel terrestre algo ms que si esta desviacin a o no se produjera. Debido a su alta direccionalidad se pueden disear antenas (normalmente n parablicas) que generan haces muy focalizados, por lo que sobre una misma o localidad geogrca es posible establecer muchos enlaces punto a punto1 . a Adems, como la anchura del espectro de las microondas es muy superior a al de las ondas de radio, los enlaces de microondas son muy usados para disear enlaces con altas capacidades a larga distancia. El unico problema a n este respecto es que las microondas slo se propagan sin atenuarse cuando o lo hacen a travs del aire y del vac De hecho, la lluvia puede llegar a ser e o. un gran problema porque absorbe las microondas2 . Por tanto, para enlaces de muy larga distancia (ms de un centenar de kilmetros) son necesarias a o estaciones de repeticin. Si las distancias a recorrer son muy grandes, suele o
1 En las torres de los telfonos mviles es frecuente encontrar antenas parablicas que e o o emiten microondas. Estas constituyen los enlaces que ponen en contacto a los usuarios con el resto de la red telefnica. o 2 Como ya sabemos, los hornos de microondas calientan los alimentos porque estos tienen un cierto contenido de agua.

E.1 El cdigo de Hamming o

674

Redes de Computadoras, 2007/08

La Tierra

Figura H.1: Cobertura a nivel global utilizando tres satlites. e E.1 El cdigo de Hamming o

675

Redes de Computadoras, 2007/08

salir ms barato utilizar satlites de comunicaciones geoestacionarios3 . En a e un enlace de microondas por satlite, la estacin emisora transmite los datos e o a una frecuencia diferente a la que el satlite las devuelve a La Tierra, para e que ambas ondas no se intereran. Dependiendo del grado de concentracin o de la antena utilizada para el canal descendente, el satlite puede transmitir e una seal sobre un rea geogrca ms o menos amplia. Cuando la abertura n a a a es suciente, con 3 satlites se asegura la cobertura en todo el planeta [8] e (vase la Figura H.1). e La principal fuente de ruido en los enlaces de microondas son las interferencias provocadas por otros enlaces de microondas y por el mismo enlace. Las microondas se desv y se reejan con cierta facilidad en el terreno, an en los edicios y en algunas capas de la atmsfera. Cuando las microondas o que llegan hasta la antena receptora pertenecen a varias seales de datos, n se habla de interferencias. Sin embargo, cuando lo que llega a la vez son la
3 Un satlite geoestacionario permanece jo en el cielo, lo que permite apuntar sobre e l las antenas parablicas y seleccionar a uno de entre una constelacin de ellos. Todos e o o los satlites geoestacionarios estn a una distancia de 35.748 km de la supercie terrestre e a porque es el punto donde se anulan la fuerza gravitatoria y la fuerza centr fuga que actan u sobre el satlite [27, 32]. e

E.1 El cdigo de Hamming o

676

seal de datos y versiones retrasadas de esta, debido a reexiones, se habla n de desvanecimiento de trayectoria mltiple [32]. u

Redes de Computadoras, 2007/08

677

Redes de Computadoras, 2007/08

Apndice I e

Enlaces de rayos infrarrojos


Los rayos infrarrojos se comportan de una forma muy parecida a la luz: se reejan con facilidad y no atraviesan los cuerpos opacos. La capacidad potencial de un enlace de infrarrojos es muy grande (vase la Figura F.1), e pero no se pueden usar en exteriores a la luz del d porque el sol emite tanta a E.1 El cdigo de Hamming o 678

Redes de Computadoras, 2007/08

potencia en la banda visible como en la infrarroja [32]. Adems, cualquier a cuerpo caliente es tambin una fuente de rayos infrarrojos y constituye una e fuente de ruido. Sin embargo, dentro de los edicios, habitaciones, etc., los enlaces de infrarrojos se usan desde hace tiempo para controlar el televisor, el v deo, etc, y comienzan a ser una forma factible de evitar los cables del ratn, impresora, etc.1 o

1 Los

fabricantes de ordenadores llaman a esta tecnolog Bluetooth [22]. a

679

Redes de Computadoras, 2007/08

Apndice J e

Enlaces de luz
La sealizacin ptica no guiada se ha usado durante milenios (pinsese n o o e por ejemplo en la comunicacin de seales de humo o mediante espejos). o n Actualmente se utilizan lasers porque si no hay nada que lo impida, permiten transmitir una seal luminosa a una distancia enorme, ya que los rayos no n E.1 El cdigo de Hamming o 680

Redes de Computadoras, 2007/08

se dispersan en el espacio. Adems, el ancho de banda de un enlace de a luz es del mismo orden que el de la bra ptica, lo que puede hacer que o este tipo de comunicacin sea ideal para transmisiones interplanetarias. Por o desgracia, en la supercie terrestre los lasers son desviados con facilidad por las corrientes de conveccin provocadas cuando el aire se calienta. Por tanto, o adems de alinear perfectamente el emisor y el receptor, normalmente hay a que instalar en el emisor algn sistema de lentes que disperse algo la luz y u exista as un cierto margen de seguridad.

681

Redes de Computadoras, 2007/08

E.1 El cdigo de Hamming o 682

Redes de Computadoras, 2007/08

Apndice K e

Rayos X, rayos gamma y rayos csmicos o


Las posibilidades de transmisin de estas bandas de frecuencias son abruo madoras teniendo en cuenta los anchos de banda que disfrutan. Sin embargo E.1 El cdigo de Hamming o 683

no se utilizan por dos motivos bsicos: a 1. Son perjudiciales para la vida. Estas radiaciones son capaces de romper los enlaces qu micos que mantienen unidas las molculas de las clulas. Son, por tanto, capaces e e de daar el ADN, produciendo malformaciones en los fetos y cncer n a en las personas adultas. A frecuencias ms bajas (ondas de radio y a microondas), la energ es absorbida por los tejidos vivos en forma de a calor y de pequeas corrientes de induccin. n o 2. Son dif ciles de manejar. Los sistemas que manejen este tipo de radiaciones son muy complejos y costosos.

Redes de Computadoras, 2007/08

684

Redes de Computadoras, 2007/08

E.1 El cdigo de Hamming o 685

Redes de Computadoras, 2007/08

Apndice L e

La multiplexacin de los o enlaces


Existen numerosas ocasiones donde el medio de transmisin debe ser o compartido por muchos emisores, como por ejemplo en las transmisiones a E.1 El cdigo de Hamming o 686

travs de seales de radio que se propagan por el vac aire, agua, etc. en e n o, todas direcciones. En estas situaciones donde el medio es unico no queda ms remedio que compartirlo mediante la multiplexacin. En otros casos el a o medio es unico simplemente por abaratar costes, ya que instalar un enlace de alta capacidad es ms barato que instalar muchos de baja capacidad. a Por ejemplo, es ms barato multiplexar muchas seales de voz a travs de a n e una bra optica que instalar tantos pares trenzados como seales diferentes n deseamos transmitir de forma simultnea [32]. a Al dispositivo que permite multiplexar varias seales sobre un mismo n medio de transmisin se le llama multiplexor y al que realiza el proceso o inverso, desmultiplexor. Tras la desmultiplexacin vuelven a ser recuperadas o las seales originales. Un esquema simblico de estos elementos se muestra n o en la Figura L.1. Existen dos formas diferentes de multiplexacin: en frecuencia y en tiemo po, y ambas son equivalentes desde el punto de vista de su capacidad para transmitir datos. Sin embargo, al poseer diferentes caracter sticas, dependiendo de la situacin nos inclinaremos ms por una que por la otra. o a

Redes de Computadoras, 2007/08

E.1 El cdigo de Hamming o

687

Redes de Computadoras, 2007/08

n enlaces, 1 enlace, n seales/enlace n

1 seal/enlace n

n enlaces, 1 seal/enlace n

Multiplexor

Desmultiplexor

Figura L.1: Multiplexacin/desmultiplexacin de los enlaces f o o sicos [27].

E.1 El cdigo de Hamming o

688

Ca

Ca

Redes de Computadoras, 2007/08

Ca

Tiempo FDM

Frecuencia

Tiempo TDM

Ca

na

l1

Ca

nal

na

l3

Ca

nal

na

l2

Ca nal

na l

Frecuencia

Figura L.2: FDM (multiplexacin en frecuencia) versus TDM (multiplexacin o o en el tiempo) [27]. Multiplexando en frecuencia los 3 canales se transmiten constantemente. Multiplexando en el tiempo los 3 canales se transmiten de forma c clica, pudiendo en este caso utilizarse todo el ancho de banda del canal. E.1 El cdigo de Hamming o 689

L.1.

Multiplexacin en el dominio de la freo cuencia (FDM)

Cuando el ancho de banda W de un enlace es suciente, N emisores pueden transmitir simultneamente si cada uno de ellos utiliza una banda de a frecuencias diferente. Cada emisor disfruta de forma continua de un ancho de banda igual a W/N . Por este motivo a la multiplexacin en frecuencia se le o llama tambin multiplexacin por divisin de frecuencias o FDM (Frequency e o o Division Multiplexing). A cada banda de frecuencias se le denomina canal (vase la Figura L.2). e La multiplexacin en frecuencia se lleva a cabo desplazando adecuadao mente los espectros de las seales a multiplexar mediante, por ejemplo, una n modulacin en amplitud, de forma que las bandas de frecuencias ocupadas o sean diferentes. El multiplexor a continuacin suma todas las seales. En la o n Figura L.3 se muestra un ejemplo donde se multiplexan en frecuencia tres seales. n La FDM es muy usada en telecomunicaciones analgicas y para llevarla o a cabo se emplean, normalmente, las versiones para seales analgicas de n o L.1 Multiplexacin en el dominio de la frecuencia (FDM) o 690

Redes de Computadoras, 2007/08

a Hz b Hz 0 c Hz w2 Hz w1 Hz w1 w2

Redes de Computadoras, 2007/08

c Hz

Figura L.3: Multiplexacin en frecuencia de tres seales con anchos de banda o n a, b y c. w1 y w2 son las frecuencias de las portadoras usadas para desplazar los espectros de las seales con anchos de banda b y c usando modulacin n o (). Ntese que w1 > a y que w2 > a + b (la igualdad no se suele dar en la o prctica porque siempre se dejan unas frecuencias de margen para evitar que a las seales se solapen en el dominio de la frecuencia aliasing ). Las tres n seales pueden nalmente mezclarse (simplemente sumndose) para generar n a una seal multiplexada de tres canales. n L.1 Multiplexacin en el dominio de la frecuencia (FDM) o 691

Redes de Computadoras, 2007/08

ASK y FSK que se llaman AM (Amplitude Modulation) y FM (Frecuency Modulation) respectivamente. La diferencia entre AM y ASK, y FM y FSK es m nima: simplemente que las seales s(t) son analgicas. Ejemplos t n o picos son la radio-difusin de TV (analgica), las seales de FM, etc., aunque o o n tambin se aplica a seales digitales como ocurre en los modems full-duplex e n donde los emisores son tambin receptores (al mismo tiempo) y viceversa. e

L.1 Multiplexacin en el dominio de la frecuencia (FDM) o

692

L.2.

Multiplexacin en el dominio del tiempo o (TDM)

La idea de la multiplexacin en tiempo o TDM (Time Division Multio plexing) consiste en que cada emisor puede hacer un uso exclusivo del enlace (disfrutando de todo el ancho de banda disponible) durante intervalos de tiempo sucientemente cortos. La duracin de dichos intervalos depende de o factores como: (1) el tiempo mximo de espera a la hora de emitir, (2) a el nmero de emisores (que es en general variable), y (3) la prioridad de u cada emisor (vase la Figura L.2). Adems, los intervalos pueden ser todos e a iguales o variables. En este sentido, existen dos modalidades diferentes de TDM denominadas s ncrona y as ncrona. Aunque TDM se utiliza fundamentalmente para transmitir seales dign itales, tambin puede usarse en el mundo analgico sin necesidad de digie o talizar las seales. Esto se debe a que cualquier seal que est limitada en n n e banda puede ser representada sin prdida de informacin por un nmero e o u nito de muestras analgicas. En concreto, si fm es la mxima componente o a en frecuencia, la seal queda especicada de forma unica por sus valores a n L.2 Multiplexacin en el dominio del tiempo (TDM) o 693

Redes de Computadoras, 2007/08

Redes de Computadoras, 2007/08

s1 (t) s2 (t) t

1 2fm

1 2fm

Figura L.4: Multiplexacin en el tiempo de dos seales analgicas. fm es la o n o mxima componente de frecuencia de cada una de ellas. a

L.2 Multiplexacin en el dominio del tiempo (TDM) o

694

Redes de Computadoras, 2007/08

1 intervalos de 2fm segundos, segn indica el teorema del muestreo uniu forme [16]. As por ejemplo, si el ancho de banda del medio de transmisin , o es de 2fm Hz, se pueden transmitir 2 seales con ancho de banda fm inn tercalando las muestras de las 2 seales tal y como se muestra en la Figura n L.4.

L.2.1.

TDM s ncrona

Cuando el multiplexor muestrea (asigna tiempo de transmisin) a todos o los posibles emisores sin excepcin, o lo que es lo mismo, cuando indepeno dientemente de que un emisor tenga o no que transmitir se le asigna un slot de tiempo, se habla de TDM s ncrona. De esta forma, cada emisor potencial tiene garantizado su ancho de banda (peridicamente) y por lo tanto, esta o modalidad de transmisin es equivalente a FDM con canales jos. La TDM o s ncrona se utiliza especialmente en la transmisin de seales telefnicas, o n o donde los interlocutores tienen reservado el canal, hablen o no hablen. Por desgracia, esta forma de asignar los recursos del enlace puede llegar a ser bastante ineciente cuando los emisores no tienen datos que transmitir. Lo que se hace para no perder la sincron entre el multiplexor y el a L.2 Multiplexacin en el dominio del tiempo (TDM) o 695

Redes de Computadoras, 2007/08

AAA EA BB EB C EC

-----A-BACBA ....87654321 Tiempo

AAA RA BB RB C RC

Figura L.5: Un ejemplo de multiplexacin en el tiempo (TDM) s o ncrona (el tiempo corre de derecha a izquierda). EA genera durante el intervalo de tiempo 1 una celda de bits A, otra durante el segundo intervalo y nalmente otra durante el tercer intervalo. EB slo genera dos celdas durante o los dos primeros intervalos y EC slo genera una celda en el primer intervalo. o Durante el sexto intervalo de tiempo no se transmite nada. Los receptores Ri reciben sus respectivas celdas porque el multiplexor y el desmultiplexor conocen la duracin de cada celda. o L.2 Multiplexacin en el dominio del tiempo (TDM) o 696

Redes de Computadoras, 2007/08

desmultiplexor es enviar celdas de datos vac Tambin puede ocurrir que as. e el emisor termina de transmitir en medio de un intervalo de tiempo, con lo que slo una parte de la celda estar ocupada. En la Figura L.5 se mueso a tra un ejemplo de transmisin donde se utiliza multiplexacin en el tiempo o o s ncrona. Un ejemplo t pico donde se utiliza TDM s ncrona es en los sistemas de multiplexacin SONET/SDH (Synchronous Optical NETwork/Synchronous o Digital Hierarchy), que se emplea en los enlaces troncales (enlaces con una gran capacidad, en general fuertemente multiplexados) para la transmisin o de conversaciones telefnicas en formato digital, donde cada canal telefnico o o posee una tasa de 64 kbps, 8.000 muestras/segundo, 8 bits/muestra y 4 kHz de ancho de banda).

L.2.2.

TDM as ncrona

Esta forma de multiplexacin temporal resuelve el problema del env de o o celdas totalmente vac existiendo en ese momento emisores que s tienen as datos que transmitir. La TDM as ncrona (tambin llamada multiplexacin e o temporal estad stica [27]) asigna un intervalo de tiempo (normalmente L.2 Multiplexacin en el dominio del tiempo (TDM) o 697

Redes de Computadoras, 2007/08

AAA EA 1 BB EB 2 C EC 3

A1B2A1C3B2A1 6 5 4 3 2 1 Tiempo

AAA RA 1 BB RB 2 C RC 3

Figura L.6: Un ejemplo de multiplexacin en el tiempo (TDM) as o ncrona. La generacin de datos es idntica a la descrita en la Figura L.5. Sin emo e bargo, ahora en cada celda viaja adems una direccin que indica el origen a o o el destino de los datos de esa celda. Las direcciones son utilizadas por el desmultiplexor para saber la salida a la que enviar los datos de esa celda. Ntese que no existen celdas vac o as.

L.2 Multiplexacin en el dominio del tiempo (TDM) o

698

Redes de Computadoras, 2007/08

jo) cuando el emisor tiene algo que transmitir (vase la Figura L.6). El e inconveniente de esta forma de multiplexacin radica en que ahora debe o transmitirse, junto con cada celda de datos, una cabecera de contiene la direccin del receptor destino de la celda. Esto supone un desperdicio de o ancho de banda, al que llamaremos, en general, overhead del sistema de transmisin. De hecho, la TDM as o ncrona slo resulta eciente si es poco o probable que la mayor de los emisores estn constantemente transmitiendo. a e Como veremos con posterioridad, en las redes de computadoras los emisores pasan largos periodos de tiempo sin transmitir. Por tanto, TDM as ncrona es la forma de multiplexacin ms utilizada en redes de computadoras. o a

L.2 Multiplexacin en el dominio del tiempo (TDM) o

699

Redes de Computadoras, 2007/08

Bibliograf a
[1] How to connect to the MBone. http://www.live.com/mbone. [2] GSM Association. GSM World. http://www.gsmworld.com. [3] Joe Campbell. Comunicaciones Serie. Gu de Referencia del Prograa mador en C. Anaya Multimedia, 1987. [4] Douglas E. Comer. Internetworking with TCP/IP. Principles, Protocols, and Architectures (4th Edition), volume 1. Prentice Hall, 2000. L.2 Multiplexacin en el dominio del tiempo (TDM) o 700

[5] Defense Advanced Research Projects Agency (DARPA), http://www.rfc-editor.org/rfc/rfc793.txt. RFC 793. The Transmission Control Protocol (TCP), 1981.
Redes de Computadoras, 2007/08

[6] R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, and T. Berners-Lee. Hypertext Transfer Protocol HTTP/1.1. http://www.ietf.org/rfc/rfc2616.txt, June 1999. [7] M. Ford, H.K. Lew, S. Spanier, and T. Stevenson. Tecnolog de as Interconectividad de Redes. Prentice Hall, 1998. [8] Behrouz Forouzan. Introduction to Data Communications and Networking. WCB/McGraw-Hill, 1998. [9] Graham Glass. Unix for Programmers and Users. Prentice Hall, 1993. [10] Fred Halsall. Comunicaciones de Datos, Redes de Computadores y Sistemas Abiertos (4a Edicin). Pearson Educacin, 1998. o o [11] Richard Wesley Hamming. Error Detecting and Error Correcting Codes. The Bell System Technical Journal, XXVI(2):147 160, April 1950. http://www.engelschall.com//sb/hamming. L.2 Multiplexacin en el dominio del tiempo (TDM) o 701

[12] Mark Handley. A MBone Scheduler. http://wwwmice.cs.ucl.ac.uk/multimedia/projects/mice/mbone review.html. [13] IRIS-MBONE. Rediris software http://www.rediris.es/mmedia/MboneSoft.es.html. mbone.

Redes de Computadoras, 2007/08

[14] James F. Kurose and Keith W. Ross. Computer Networking: A TopDown Approach Featuring the Internet (2nd Edition). Addison Wesley, 2003. [15] James F. Kurose and Keith W. Ross. Computer Networking: A TopDown Approach Featuring the Internet (3rd Edition). Addison Wesley, 2005. [16] Bhagwandas Pannalal Lathi. Introduccin a la Teor y Sistemas de o a Comunicacin. Limusa Noriega Editores, 1994. o [17] Alberto Len-Garc and Indra Widjaja. o a McGraw-Hill, 2002. Redes de Comunicacin. o

L.2 Multiplexacin en el dominio del tiempo (TDM) o

702

[18] Network Working Group, AT&T Research, http://www.rfceditor.org/rfc/rfc793.txt. Defending Against Sequence Number Attacks, 1996.
Redes de Computadoras, 2007/08

[19] Alan V. Oppenheim, Alan S. Willsky, and S. Hamid Nawab. Seales y n Sistemas (2a edicin). Prentice Hall, 1997. o [20] Soon J. Park. Mbone info. jp/mbone.html. http://myhome.hanafos.com/soon-

[21] Tom Perera. HISTORY, THEORY, & CONSTRUCTION OF THE ELECTRIC TELEGRAPH W1TP TELEGRAPH & SCIENTIFIC INSTRUMENT MUSEUMS. http://www.chss.montclair.edu/pererat/pertel.htm, 2002. [22] Larry L. Petterson and Bruce S. Davie. Computer Networks: A System Approach (2nd Edition). Morgan Kaufmann, 2000. [23] J. Postel. RFC 768. The User Datagram Protocol (UDP). USC/Information Sciences Institute, http://www.rfceditor.org/rfc/rfc768.txt, 1980. L.2 Multiplexacin en el dominio del tiempo (TDM) o 703

[24] Gary R. Wright and W. Richard Stevens. TCP/IP Illustrated. AddisonWesley, 1995. [25] R. Sandberg, D. Goldberg, S. Kleiman, D. Walsh, and B. Lyon. Design and implementation of the sun network le system. In Proceedings of the Summer 1985 Usenix Conference, pages 119 131, June 1985. http://web.mit.edu/6.033/2002/wwwdocs/papers/nfs.pdf. [26] K. Savetz, N. Randall, and Y. Lepage. MBONE: Multicasting Tomorrows Internet. http://www.savetz.com/mbone. [27] William Stallings. Comunicaciones y Redes de Computadores (6a Edicin). Prentice Hall, 2000. o [28] Sun Microsystems, Inc., http://www.rfc-editor.org/rfc/rfc1094.txt. RFC 1094. NFS: Network File System Protocol Specication Version 2, 1989. [29] Sun Microsystems, Inc., http://www.rfc-editor.org/rfc/rfc1813.txt. RFC 1813. NFS Version 3 Protocol Specication, 1995. L.2 Multiplexacin en el dominio del tiempo (TDM) o 704

Redes de Computadoras, 2007/08

[30] Sun Microsystems, Inc., http://www.rfc-editor.org/rfc/rfc1832.html. RFC1832. XDR: External Data Representation Standard, 1995. [31] Sun Microsystems, Inc., http://www.rfc-editor.org/rfc/rfc3010.txt. RFC 3010. Network File System (NFS) version 4 Protocol, 2003. [32] Andrew S. Tanenbaum. Redes de Computadoras (3a Edicin). Prentice o Hall, 1997. [33] Lloyd Wood. Lloyds satellite constellations. http://www.ee.surrey.ac.uk/Personal/L.Wood/constellations.

Redes de Computadoras, 2007/08

L.2 Multiplexacin en el dominio del tiempo (TDM) o

705

Você também pode gostar