Está en la 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
Redes de Computadoras, 2007/08

Introduccin a las redes de computadoras


o

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

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

1
.
.
.
.
.
.
.
.
.
.
.
.

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

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

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

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

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

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

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

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

18
19
20
21
23
25
26
27
28

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) . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

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 . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.

46
48
50
52
54
55
57
58
60

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 . . . . . . . . .

.
.
.
.
.
.

70
71
72
73
74
75
77

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

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

Redes de Computadoras, 2007/08

II

La capa de aplicacin
o

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

81
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

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

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

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

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

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

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

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

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

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

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

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

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

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

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 . . . . . . . . . . . . . . . . . . . . .

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

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

114
115
116
117
118
119
121
122
124
126
132
133
136

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

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

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

164
165
167
170
172
175

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

Redes de Computadoras, 2007/08

9.3. Acerca de la tasa de descarga


9.4. Network File System . . . . .
9.4.1. Caracter
sticas . . . .
9.4.2. El NFSP . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

178
180
180
182

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
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .

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

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

Redes de Computadoras, 2007/08

III

La capa de transporte de datos

208

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 . . . . . . . . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

209
210
212
213
215

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

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

216
217
218
220
223
226

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 . . . . . . . . . . . . . . . . . . . . . . . .

227
228
229
230

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

Redes de Computadoras, 2007/08

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

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

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

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

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

253
254
255
256
257

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

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

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

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

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

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

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

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

258
259
260
261
261
266
267
270
271
272
275
277
280

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

Redes de Computadoras, 2007/08

IV

La capa de red

324

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)

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

325
326
328
329
333
335
337
342

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

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

344
345
348
350
354
355
358

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

Redes de Computadoras, 2007/08

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
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

Redes de Computadoras, 2007/08

La capa de enlace de datos

443

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 . . . . . . . . . . . .

444
445
447
448

24.Control de errores
24.1. Fundamentos . . . . . . . . . .
24.2. Paridad . . . . . . . . . . . . . .
24.3. Checksum . . . . . . . . . . . .
24.4. CRC (Cyclic Redundancy Check)

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

451
452
454
456
458

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)

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

462
463
464
465
466
467

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

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

26.Redes locales y el ARP


26.1. LAN: denicin . . . . . . . . . . . . . . . . . . . . . . . .
o
26.2. Direcciones f
sicas . . . . . . . . . . . . . . . . . . . . . . .
26.3. El ARP (Address Resolution Protocol) . . . . . . . . . . . .

481
482
483
485

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

488
489
490
492
493
494
495

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

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) . . . . . . . . . . .

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

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

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

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

Redes de Computadoras, 2007/08

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

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

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

531
532
533
534
535

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

543
544
545
546
548
550
551

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 . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

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

552
553
554
555
558
559
560

560
.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

562
563
564
565
566
567
568
570

Redes de Computadoras, 2007/08

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

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

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

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

615
618
623
626
629
633
634
635
636
638

E. Cdigos de correccin de errores


o
o
642
E.1. El cdigo de Hamming . . . . . . . . . . . . . . . . . . . . 647
o

652

G. Enlaces de radio
Redes de Computadoras, 2007/08

F. Fibras pticas
o

667

H. Enlaces de microondas

673

I. Enlaces de rayos infrarrojos

678

J. Enlaces de luz

680

K. Rayos X, rayos gamma y rayos csmicos


o

682

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 . . . . . . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

685
690
693
695
697

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

Redes de Computadoras, 2007/08

Existen muchas deniciones de Internet. Algunas de ellas:


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

Redes de Computadoras, 2007/08

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).

1.2 Qu es una internet?


e

1.3.

Que es un host?

Redes de Computadoras, 2007/08

En Internet, un host es una computadora que ejecuta aplicaciones de


red (que se comunica con otras aplicaciones en otros hosts).
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

1.4.

Qu es un router?
e

Redes de Computadoras, 2007/08

En Internet, un router es un sistema espec


camente diseado para
n
intercambiar paquetes de datos con otros routers y hosts.
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

1.5.

Cul es la morfolog de Internet?


a
a

Redes de Computadoras, 2007/08

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

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

Redes de Computadoras, 2007/08

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.

1.6 Qu es un ISP?
e

1.7.

Qu servicios proporciona la red?


e

Redes de Computadoras, 2007/08

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.
1.7 Qu servicios proporciona la red?
e

10

1.8.

Cmo usan los servicios las aplicaciones?


o

Redes de Computadoras, 2007/08

Cualquier aplicacin, que hace uso de Internet, debe usar estos tipos
o
de servicios (uno o ambos a la vez):
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

Redes de Computadoras, 2007/08

En Internet, los servicios de los que hemos hablado se presentan a las


aplicaciones en forma de protocolos de red.
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

Redes de Computadoras, 2007/08

1.10.

Qu son los clientes y los servidores?


e

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

Servidor
Solicit
ud

de con
ex

in T
o
CP

Redes de Computadoras, 2007/08

CP
o
in T

esta
Respu
GET

ex
de con

http:/

/www
.awl.c
om/k
urose

-ross

tml

index.h

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

Redes de Computadoras, 2007/08

1.11.

Qu es
e
conexin?
o

un

servicio

orientado

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

Redes de Computadoras, 2007/08

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.
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

Redes de Computadoras, 2007/08

1.12.

Qu es un servicio no conable y sin


e
conexin?
o

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

Redes de Computadoras, 2007/08

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.

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

Redes de Computadoras, 2007/08

La red no reserva recursos de transmisin en concreto, a lo sumo


o
establece prioridades.
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

Redes de Computadoras, 2007/08

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

2.3 Multiplexacin en redes de conmutacin de circuitos


o
o

21

Frecuencia

FDM

Frecuencia

TDM

Redes de Computadoras, 2007/08

Canal 4
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

Redes de Computadoras, 2007/08

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.

2.4 Multiplexacin en redes de conmutacin de paquetes


o
o

23

Redes de Computadoras, 2007/08

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

2.4 Multiplexacin en redes de conmutacin de paquetes


o
o

24

Redes de Computadoras, 2007/08

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.

2.5 Por qu Internet utiliza conmutacin de paquetes?


e
o

25

2.6.

Qu inconvenientes genera
e
mutacin de paquetes?
o

la

con-

Redes de Computadoras, 2007/08

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


o
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

Redes de Computadoras, 2007/08

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).

2.7 Almacenamiento y reenv


o

27

Redes de Computadoras, 2007/08

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:

2.8 Segmentacin de los mensajes


o

28

Redes de Computadoras, 2007/08

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,
Sin Segmentacin
o
Emisor

Conmutador

Receptor

Con Segmentacin
o
Emisor

Conmutador

Receptor

Tiempo

2.8 Segmentacin de los mensajes


o

29

Redes de Computadoras, 2007/08

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
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

Redes de Computadoras, 2007/08

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].

Casa
H

3.1 Telfono de voz


e

Modem

ISP
Par
Trenzado

Modem

32

Redes de Computadoras, 2007/08

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
Ruido

Radiacin
o
Electromagntica
e

an + bn
an + bn

Conductores
Elctricos
e
a>b

n trenzas

Aislantes
Elctricos
e

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)

Redes de Computadoras, 2007/08

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).

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

Redes de Computadoras, 2007/08

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
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

Redes de Computadoras, 2007/08

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

Aislante
Elctrico
e

3.3 Cable coaxial de TV

Conductor
Elctrico
e
Interno
Conductor
Elctrico
e
Externo

Aislante
Elctrico
e

36

Redes de Computadoras, 2007/08

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.
Cable
Coaxial

Casa
H

Casa

Modem

Modem

Modem
ISP
R

3.3 Cable coaxial de TV

37

3.4.

Ethernet conmutada

Redes de Computadoras, 2007/08

Es la tecnolog LAN (Local Area Network) ms implantada en ema


a
presas, universidades, etc.
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
H
38

Redes de Computadoras, 2007/08

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.

3.4 Ethernet conmutada

39

3.5.

Wireless LAN o Wi-Fi

Redes de Computadoras, 2007/08

Est reemplazando a la Ethernet conmutada cuando es necesaria cierta


a
movilidad de los hosts (bibliotecas, cafeter universidades, casas).
as,
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

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

Redes de Computadoras, 2007/08

La distancia entre los nodos y los switches no sobrepasa normalmente


las decenas de metros (dependiendo de las paredes, etc.). Un caso
t
pico:

3.5 Wireless LAN o Wi-Fi

41

3.6.

Telefon mvil digital celular


a o

Redes de Computadoras, 2007/08

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

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

Redes de Computadoras, 2007/08

Permiten conectarnos desde cualquier punto del planeta gracias a una


constelacin de satlites [33].
o
e
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

Redes de Computadoras, 2007/08

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.

7 Principalmente

geo-estacionarios.

3.8 ATM (Asynchronous Transfer Mode)

44

Redes de Computadoras, 2007/08

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

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

Redes de Computadoras, 2007/08

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.

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 )

Redes de Computadoras, 2007/08

Tiempo necesario para que un router examine la cabecera de un paquete y determine hacia qu enlace de salida debe encaminarse.
e
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 )

Redes de Computadoras, 2007/08

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


retransmitido.

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

Redes de Computadoras, 2007/08

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

4.3 Tiempo de cola (tcola )

53

4.4.

Tiempo de transmisin (ttran )


o

Redes de Computadoras, 2007/08

Tiempo que tardan todos los bits de un paquete (cabecera y datos)


en ser introducidos en y extra
dos de un enlace.
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

Redes de Computadoras, 2007/08

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.
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

Redes de Computadoras, 2007/08

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

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 )

Redes de Computadoras, 2007/08

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


siguiente router.
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

Redes de Computadoras, 2007/08

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

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

Redes de Computadoras, 2007/08

La intensidad de trco y el retardo medio en las colas de salida se


a
relacionan de la siguiente manera
Retardo
Medio en
Cola

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

Redes de Computadoras, 2007/08

4.8.

Ejemplos

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)

4.8 Ejemplos

L
.
R

61

Redes de Computadoras, 2007/08

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 .)

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 =

4.8 Ejemplos

m(metros)
m
= (segundos).
metros
s( segundo )
s

63

Determine el tiempo de transmisin de un paquete, ttrans en


o
trminos de L y R.
e

Redes de Computadoras, 2007/08

Solucin:
o
ttrans =

4.8 Ejemplos

bits
L( paquete )
bits
R( segundo )

L segundos
(
).
R paquete

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 = (

4.8 Ejemplos

m L segundos
+ )(
).
s
L paquete

65

Redes de Computadoras, 2007/08

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
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

Redes de Computadoras, 2007/08

Solucin: Viajando por el enlace de transmisin.


o
o

4.8 Ejemplos

67

Suponga que tprop < ttrans . En el instante de tiempo t =


ttrans , dnde est el primer bit del paquete?
o
a

Redes de Computadoras, 2007/08

Solucin: En el host B.
o

4.8 Ejemplos

68

Redes de Computadoras, 2007/08

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 .
Solucin: Si
o
ttrans = tprop
entonces

L
m
= .
s
R

Sustituyendo
m
100 bits
=
.
bits
8 metros
2,5 10 segundo
28 103 segundo
Despejando
m = 893 103 metros.

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

Redes de Computadoras, 2007/08

Es una forma de organizacin de sistemas complejos que permite imo


plementarlos mediante subsistemas (capas) ms simples [4, 8, 14].
a
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

Redes de Computadoras, 2007/08

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.

5.2 Funciones de las capas en el modelo de red

72

5.3.

Las capas de Internet

Redes de Computadoras, 2007/08

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.
5.3 Las capas de Internet

73

5.4.

Capas y protocolos

Redes de Computadoras, 2007/08

La funcionalidad de cada capa est denida nalmente por el conjunto


a
de protocolos que implementa.
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

Redes de Computadoras, 2007/08

El nmero de capas que un nodo debe implementar depende de su


u
funcionalidad.
Nivel 5

Aplicacin
o

Datos

Hosts

Nivel 4

Transporte

T Datos

Hosts

Nivel 3

Red

Nivel 2

Enlace

Nivel 1

F
sica

R T Datos
E R T Datos
F E R T Datos

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

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

5.5 Capas y nodos


76

Redes de Computadoras, 2007/08

Redes de Computadoras, 2007/08

5.6.

Ejemplos

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

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

Redes de Computadoras, 2007/08

S1

S2

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

1 ms

S1

S2

2 ms

5s
5,002 s
5s

5.6 Ejemplos

79

Redes de Computadoras, 2007/08

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

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

Redes de Computadoras, 2007/08

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

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

Cliente
Web

Cliente
Web

Servidor
Web
Cliente
Web
Cliente
Web

La Web utiliza el TCP como protocolo de transporte [14].


6.1 Qu es la Web?
e

83

Redes de Computadoras, 2007/08

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

Servidor

Cliente
Peticiones HTTP

Servidor
Web

Navegador
Web
Respuestas HTTP

Objetos
Web

6.2 La comunicacin Web


o

84

Redes de Computadoras, 2007/08

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).

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

1 HyperText

Markup Language.

6.2 La comunicacin Web


o

86

Redes de Computadoras, 2007/08

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.

6.3 Las conexiones Web

87

6.3.1.

Conexiones no persistentes
Conex. secuenciales

Redes de Computadoras, 2007/08

Cliente

Servidor

Conex. paralelas
Cliente

Servidor

RTT1
RTT2
tobj

GET obj1
obj1

GET obj1
GET obj2
obj1
obj2

GET obj2
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

Redes de Computadoras, 2007/08

Cliente

Servidor

Conex. paralelas
Cliente

Servidor

RTT1
RTT2
tobj

GET obj1
obj1
GET obj2

GET obj1
GET obj2
obj1
obj2

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

Redes de Computadoras, 2007/08

En una comunicacin HTTP slo existen dos tipos de mensajes, los


o
o
de peticin (request) y los de respuesta (reply).
o

6.4 Los mensajes HTTP

90

6.4 Los mensajes HTTP


91

Redes de Computadoras, 2007/08

6.4.1.

Un mensaje de peticin
o

Redes de Computadoras, 2007/08

Capturado usando ethereal conectndose a www.google.es mediante


a
mozilla.

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

Redes de Computadoras, 2007/08

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

se pueden enviar pginas HTML diferentes (con idntica URL).


a
e

Redes de Computadoras, 2007/08

La l
nea Accept-Language: indica que el usuario preere recibir
una versin en ingls del objeto.
o
e
<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

Redes de Computadoras, 2007/08

6.4.2.

Un mensaje de respuesta

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

Redes de Computadoras, 2007/08

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

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

Redes de Computadoras, 2007/08

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

6.4 Los mensajes HTTP

97

Redes de Computadoras, 2007/08

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

6.5 Paso de parmetros en las URLs


a

98

Redes de Computadoras, 2007/08

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).

6.6 Identicacin de usuarios


o

99

6.6.1.

Autorizacin login/password
o

Redes de Computadoras, 2007/08

El usuario se identica mediante un nombre de usuario (login) y una


palabra clave (password). Pasos:
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

Redes de Computadoras, 2007/08

Las cookies sirven para que los navegadores identiquen a los usuarios
que anteriormente se han conectado.
Servidor

Cookie: cookie#
(en cada peticin)
o

Servidor
Web

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

Redes de Computadoras, 2007/08

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.

6.6 Identicacin de usuarios


o

102

6.7.

El GET condicional

Redes de Computadoras, 2007/08

Los navegadores Web poseen una cach donde almacenan los objetos
e
ms recientes.
a
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

Redes de Computadoras, 2007/08

6.7.1.

GET (normal)

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

Redes de Computadoras, 2007/08

En la cach del cliente existe el objeto reclamado.


e
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

Redes de Computadoras, 2007/08

Funcionamiento
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
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

Redes de Computadoras, 2007/08

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).

6.8 Las cachs Web (proxies Web)


e

107

Arquitecturas Web

6.9.1.
Redes de Computadoras, 2007/08

6.9.

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

Redes de Computadoras, 2007/08

El cliente solicita un objeto a su proxy local y si este no lo encuentra,


lo solicita al servidor Web pertinente.
Peticin
o
Cliente
Web

Cliente
Web

Cliente
Web

Proxy
Web

Respuesta

Internet
Servidor
Web

6.9 Arquitecturas Web

109

Redes de Computadoras, 2007/08

6.9.3.

Sistemas proxy multinivel

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

UAL

Clientes
Web

Clientes
Web

Internet

Redes de Computadoras, 2007/08

Servidor
Web

CICA
Proxy
Web

Proxy
Web

Algebra

Clientes
Web

UGR

Clientes
Web

Clientes
Web

Respuesta
R

R
RedIRIS

Proxy
Web

Clientes
Web

Peticin
o

Proxy
Web

Proxy
Web

.
.
.

.
.
.

Resto de
Departamentos
de la UAL

Proxy
Web

Resto de
Universidades
Andaluzas

6.9 Arquitecturas Web

111

6.9.4.

Sistemas proxy distribuidos

Redes de Computadoras, 2007/08

Los proxies pueden soportar cargas muy altas cuando representan a


una gran cantidad de servidores Web.
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

Redes de Computadoras, 2007/08

Cliente
Web

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

Redes de Computadoras, 2007/08

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).

7.1 El correo electrnico


o

115

7.2.

Conguraciones

Redes de Computadoras, 2007/08

Supongamos que Alicia le env un e-mail a Roberto. Podr darse (entre


a
an
otras) estas conguraciones:

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

Redes de Computadoras, 2007/08

Alicia

Mail
Writer

Host

Roberto

SMTP

Mail
Server

Mail
Reader

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

Redes de Computadoras, 2007/08

Alicia

Roberto

Mail
Writer
SMTP

Mail
Reader

Mail
Server

Host

Mail
Queue

SMTP

Mail
Server

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

Redes de Computadoras, 2007/08

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

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

3 Que

7.2 Conguraciones

120

7.2.4.

Correo remoto usando un servidor remoto

Redes de Computadoras, 2007/08

Alicia

Mail
Writer

Roberto

SMTP

Host

Mail
Server

Mail
Box

POP3
Server

Host

POP3

Mail
Reader

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

Redes de Computadoras, 2007/08

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

4 1982,

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


o

7.3 El SMTP

122

Redes de Computadoras, 2007/08

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

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

Redes de Computadoras, 2007/08

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

Estas cabeceras son creadas por los escritores de correo.

7.5 Las extensiones MIME

126

Redes de Computadoras, 2007/08

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

7.5 Las extensiones MIME

127

Los tipos de mensajes MIME ms usuales son:


a

Redes de Computadoras, 2007/08

1. text: se utiliza para indicar que el contenido es texto, aunque en


algn juego de caracteres especial. Ejemplo:
u
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

Redes de Computadoras, 2007/08

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

7.5 Las extensiones MIME

129

Redes de Computadoras, 2007/08

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

7.5 Las extensiones MIME

130

Redes de Computadoras, 2007/08

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.

7.5 Las extensiones MIME

131

Redes de Computadoras, 2007/08

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).

7.6 Los lectores/escritores de correo

132

Redes de Computadoras, 2007/08

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

Mail
Writer

Host

Roberto

SMTP

Mail
Server

Mail
Box

POP3
Server

Host

7.7 Protocolos de acceso a correo (POP3 e IMAP)

POP3

Mail
Reader

Host

133

Redes de Computadoras, 2007/08

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:
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

Redes de Computadoras, 2007/08

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

7.8 Web-Based E-mail

136

HTTP

Alicia

Redes de Computadoras, 2007/08

Host
Web-Mail
Writer

Host
HTTP

Web-Mail SMTP
Server

Roberto

IMAP
Mail
Server

Host
IMAP
Server

Web-Mail
Reader

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

Redes de Computadoras, 2007/08

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].

8.1 Funcin del DNS


o

139

8.2.

Descripcin del DNS


o

Redes de Computadoras, 2007/08

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.

8.2 Descripcin del DNS


o

140

8.3.

Alias y nombres cannicos


o

Redes de Computadoras, 2007/08

Un host puede tener ms de un nombre, uno cannico y el resto alias.


a
o
Esto se hace normalmente para concentrar sevicios.
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

Redes de Computadoras, 2007/08

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

8.3 Alias y nombres cannicos


o

142

Redes de Computadoras, 2007/08

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:
$ /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

Redes de Computadoras, 2007/08

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 :

$ /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

1 Ntese
o

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


a

8.3 Alias y nombres cannicos


o

144

8.4.

Arquitectura del DNS

Redes de Computadoras, 2007/08

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
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

Redes de Computadoras, 2007/08

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

Para aumentar la resistencia a errores, en cada dominio suelen existir


varios servidores de nombres.
8.4 Arquitectura del DNS

146

Redes de Computadoras, 2007/08

8.4.1.

Servidores de nombres ra
z

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

Redes de Computadoras, 2007/08

Son responsables de los dominios de alto nivel: com, org, edu, gov,
es, ...
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

Redes de Computadoras, 2007/08

Cada organizacin con hosts pblicos (universidades, empresas, etc.)


o
u
debe poseer al menos un servidor de nombres autorizado.
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

Redes de Computadoras, 2007/08

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:

8.5 Las consultas

150

Redes de Computadoras, 2007/08

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
;; QUESTION SECTION:
;gogh.ace.ual.es.

IN

;; ANSWER SECTION:
gogh.ace.ual.es.

172800

IN

193.147.118.57

;; AUTHORITY SECTION:
ace.ual.es.
ace.ual.es.

172800
172800

IN
IN

NS
NS

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

;; ADDITIONAL SECTION:
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

Redes de Computadoras, 2007/08

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
;; QUESTION SECTION:
;miro.ace.ual.es.

IN

;; ANSWER SECTION:
miro.ace.ual.es.

172800

IN

193.147.118.63

;; AUTHORITY SECTION:
ace.ual.es.
ace.ual.es.

172800
172800

IN
IN

NS
NS

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

;; ADDITIONAL SECTION:
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

Redes de Computadoras, 2007/08

$ /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.

IN

;; ANSWER SECTION:
filabres.ual.es.

172800

IN

150.214.156.2

;; AUTHORITY SECTION:
ual.es.
ual.es.
ual.es.
ual.es.
ual.es.
ual.es.
ual.es.

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.

;; ADDITIONAL SECTION:
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

Redes de Computadoras, 2007/08

Ejemplo 8.5: Consultas recursivas. cis.poly.edu necesita


obtener la dir IP de gaia.cs.umass.edu.

8.5 Las consultas

155

Redes de Computadoras, 2007/08

Ejemplo 8.6: Consultas iterativas. cis.poly.edu necesita


obtener la dir IP de gaia.cs.umass.edu.

8.5 Las consultas

156

Redes de Computadoras, 2007/08

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).

8.6 Caching

157

8.7.

Los registros DNS

Redes de Computadoras, 2007/08

Los registros DNS son intercambiados por los servidores de nombres


para proporcionar el servicio de resolucin.
o
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

Redes de Computadoras, 2007/08

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
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

Redes de Computadoras, 2007/08

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
(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

Redes de Computadoras, 2007/08

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:
(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

Redes de Computadoras, 2007/08

Controlan la asignacin de direcciones IP y los nombres de dominio


o
de alto nivel.
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

Redes de Computadoras, 2007/08

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

Centre

(AfriNIC)

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)

Redes de Computadoras, 2007/08

La aplicacin FTP permite la transmisin de archivos entre hosts reo


o
motos.
Servidor

Cliente
Conexin de Control
o

Servidor
FTP

Cliente
FTP
Conexin de Datos
o

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)

Redes de Computadoras, 2007/08

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.

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

Redes de Computadoras, 2007/08

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.

9.2 Aplicaciones P2P (Peer-to-peer)

169

9.2.1.

Bsqueda usando un directorio centralizado


u

Redes de Computadoras, 2007/08

Ejemplos: Napster, eMule y BitTorrent.


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

Redes de Computadoras, 2007/08

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


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

Redes de Computadoras, 2007/08

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 .

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

Redes de Computadoras, 2007/08

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.

9.2 Aplicaciones P2P (Peer-to-peer)

174

9.2.3.

Bsqueda mediante inundacin


u
o

Redes de Computadoras, 2007/08

Ejemplo: Gnutella.
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

Redes de Computadoras, 2007/08

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
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

Redes de Computadoras, 2007/08

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
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

Redes de Computadoras, 2007/08

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

9.3 Acerca de la tasa de descarga

179

Network File System

9.4.1.
Redes de Computadoras, 2007/08

9.4.

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

Redes de Computadoras, 2007/08

Las aplicaciones locales acceden al sistema de cheros remoto como si


fuera local. En otras palabras, el NFS es completamente transparente
al usuario.
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

Redes de Computadoras, 2007/08

9.4.2.

El NFSP

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

Redes de Computadoras, 2007/08

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
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

Redes de Computadoras, 2007/08

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

185

Redes de Computadoras, 2007/08

Cap
tulo 10

Transmisin de audio y
o
v
deo
9.4 Network File System

186

Redes de Computadoras, 2007/08

10.1.

Caracter
sticas de la transmisin de auo
dio y v
deo

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

Redes de Computadoras, 2007/08

10.2.

Ejemplos de aplicaciones

Example(s):
Data-ow control:

Pre-fetching:

Buering:
Internet transport
protocol(s):

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

10.2 Ejemplos de aplicaciones

Live Media
Transmission
Internet TV,
Internet Radio
None

Real-time Media
Transmission
Video-conferencing,
IP telephony
None

No way

No way

Jitter hiding
(few seconds)
UDP

< 500 ms
UDP

188

Redes de Computadoras, 2007/08

10.3.

Obstculos de la Internet actual


a

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

Redes de Computadoras, 2007/08

A la hora de acomodar el trco sensible al tiempo, actualmente exa


isten dos pol
ticas radicalmente opuestas:
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

Redes de Computadoras, 2007/08

10.5.

Problemas y soluciones en la transmisin


o
de audio y v
deo

10.5.1.

Eliminacin del jitter


o

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

Redes de Computadoras, 2007/08

Por qu se pierden los paquetes?


e
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

Redes de Computadoras, 2007/08

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

10.5 Problemas y soluciones en la transmisin de audio y v


o
deo

194

Redes de Computadoras, 2007/08

Stream
Original

Stream
Redundante

Stream
Recibido

Internet

Stream
Reconstruido

10.5 Problemas y soluciones en la transmisin de audio y v


o
deo

195

Redes de Computadoras, 2007/08

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:
1

10

11

12

13

14

15

16

13

10

14

11

15

12

16

12

16

13

14

Internet
1

13

10

14

10

12

10.5 Problemas y soluciones en la transmisin de audio y v


o
deo

16

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

2O

una estampa de tiempo.

10.5 Problemas y soluciones en la transmisin de audio y v


o
deo

197

Redes de Computadoras, 2007/08

10.6.

Protocolos para la transmisin de audio


o
y v
deo

10.6.1.

Real-Time Protocol (RTP)

RFC 3550.
Usa UDP.

10.6 Protocolos para la transmisin de audio y v


o
deo

198

Redes de Computadoras, 2007/08

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:
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.

Redes de Computadoras, 2007/08

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.
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)

Redes de Computadoras, 2007/08

RFC 1889. Se utiliza junto con el RTP, normalmente sobre el siguiente


puerto.
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

Redes de Computadoras, 2007/08

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, ....
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)

Redes de Computadoras, 2007/08

RFC 2326. Normalmente usa TCP.


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)

Redes de Computadoras, 2007/08

RFC 2205.
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

Redes de Computadoras, 2007/08

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):
H2

20 Kbps

H3

100 Kbps

C
H1
A
B

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

H5

3 Mbps

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

Redes de Computadoras, 2007/08

La capa de transporte se ejecuta slo en los sistemas nales (hosts).


o
Por qu?
e
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

Redes de Computadoras, 2007/08

Se sita a nivel 4, entre la capa de aplicacin (nivel 5) y la capa de


u
o
red (nivel 3).

11.1 Dnde corre la capa de transporte?


o

211

Redes de Computadoras, 2007/08

11.2.

Servicios proporcionados por la capa de


transporte

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

pueden ejecutarse en una misma mquina o sobre mquinas diferentes.


a
a

11.2 Servicios proporcionados por la capa de transporte

212

Redes de Computadoras, 2007/08

11.3.

El servicio de multiplexacin
o

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

Puerto
Mux

Puerto

Puerto
Demux

Nivel de Red
Nivel de
Enlace
Nivel F
sico
11.3 El servicio de multiplexacin
o

213

Redes de Computadoras, 2007/08

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.
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

Redes de Computadoras, 2007/08

Permiten que ms de una aplicacin utilice la red en un determinado


a
o
intervalo de tiempo.
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

Redes de Computadoras, 2007/08

RFC 768.
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

Redes de Computadoras, 2007/08

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).

12.2 Formato del datagrama UDP

218

El checksum es opcional.

Redes de Computadoras, 2007/08

1. Si checksum = 0 signica que no se calcula.


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

Redes de Computadoras, 2007/08

RFC 1071.
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

Redes de Computadoras, 2007/08

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:
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

Redes de Computadoras, 2007/08

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

12.3 La suma de comprobacin (checksum)


o

222

12.4.

Cundo usar el UDP?


a

Redes de Computadoras, 2007/08

Cuando queremos minimizar la latencia


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

Redes de Computadoras, 2007/08

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.

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

12.4 Cundo usar el UDP?


a
225

Redes de Computadoras, 2007/08

12.5.

Sobre el control de la congestin


o

Redes de Computadoras, 2007/08

El UDP no realiza control de la congestin.


o
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

Redes de Computadoras, 2007/08

Se utiliza para transmitir datos sin errores de transmisin y para cono


trolar el ujo1 .
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.

1 otra

forma de evitar errores.

13.1 La transferencia able de datos

228

13.2.

Deteccin y correccin de errores


o
o

Redes de Computadoras, 2007/08

Los cdigos de deteccin de errores introducen redundancia y los de


o
o
correccin de errores ms an.
o
a u
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

Redes de Computadoras, 2007/08

13.3.

Protocolos ARQ

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].

2 Mtodo
e

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.

13.3 Protocolos ARQ

230

Redes de Computadoras, 2007/08

13.4.

El protocolo ARQ con parada y espera


(stop and wait)

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

similar a un acuse de recibo en el correo ordinario.


embargo, su uso mejora el rendimiento [8].

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

231

13.4.1.

NAK vs slo-ACK
o

Redes de Computadoras, 2007/08

Lanzamos
Temporizador
Paramos y
Lanzamos
Temporizador

Emisor

Receptor
Datos
ACK

Trama
Aceptada

Emisor

Receptor
Datos
ACK

Trama
Aceptada

Ruido
Datos
NAK
Datos
ACK

Trama
Rechazada

Trama Time-out
Aceptada

Datos

Datos
ACK

Tiempo
Con NAKs

Trama
Rechazada

Trama
Aceptada

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

Redes de Computadoras, 2007/08

Todos los paquetes deben ser enumerados para evitar duplicados.

Emisor

Receptor
Datos
ACK
Datos
ACK

Trama
Aceptada

Trama
Duplicada
Aceptada

Emisor

Receptor
Datos 0
ACK
Datos 0
ACK

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

Trama
Aceptada

Trama
Rechazada

233

13.4.3.

Conrmacin de los paquetes duplicados


o

Redes de Computadoras, 2007/08

Los paquetes duplicados deben conrmarse positivamente para evitar


interbloqueos.
Emisor

Receptor
Datos 0
ACK
Datos 0

Datos 0

Trama
Aceptada
Trama
Rechazada

Emisor

Receptor
Datos 0
ACK
Datos 0
ACK
Datos 1

Trama
Rechazada

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

Trama
Aceptada
Trama
Rechazada

Trama
Aceptada

234

13.4.4.

Numeracin de los paquetes de conrmacin


o
o

Redes de Computadoras, 2007/08

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
Emisor

Receptor
Datos 0

Emisor

Trama
Aceptada

Receptor
Datos 0

ACK

ACK 0

Datos 0

Trama
Aceptada

Datos 0

Datos 1

Trama
Rechazada

ACK
Datos 0
ACK
Datos 1

Datos 1

Trama
Rechazada

ACK 0

Conrmacin
o
Inesperada
Trama
Rechazada

Datos 1

Trama
Aceptada

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

Redes de Computadoras, 2007/08

El enlace de transmisin debe ser punto a punto, es decir, los paquetes


o
no pueden desordenarse [32].
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

Redes de Computadoras, 2007/08

13.4.6.

Rendimiento pobre

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

Receptor
tprop
ttran

Emisor

Receptor

tprop

Parada y Espera

Protocolo Ideal

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

237

Redes de Computadoras, 2007/08

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
Emisor

Receptor

1 ms
10 ms

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

Redes de Computadoras, 2007/08

13.5.

ARQ con retroceso a n (go back n)

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

Redes de Computadoras, 2007/08

La longitud l de la secuencia de conteo debe ser mayor que el nmero


u
de paquetes n sin conrmar (l > n):
Emisor

Emisor

Receptor

A0
B1
C2

ACK0, Aceptar
ACK1, Aceptar
ACK2, Aceptar

A0
B1
C2

ACK0, Aceptar
ACK1, Aceptar
ACK2, Aceptar

n=l=3

13.5 ARQ con retroceso a n (go back n)

Receptor

A0
B1
C2

ACK0, Aceptar
ACK1, Aceptar
ACK2, Aceptar

A0
B1
C2

ACK0, Rechazar
ACK1, Rechazar
ACK2, Rechazar

n = 3, l = 4

240

13.5.2.

Tratamiento de los errores

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


Redes de Computadoras, 2007/08

Ejemplo:

Emisor

Receptor

A0
B1

C2
B1
C2

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

ACK0, Aceptar
NAK1, Rechazar
Ignorar

ACK1, Aceptar
ACK2, Aceptar

241

Redes de Computadoras, 2007/08

Ejemplo:

Emisor

Receptor

A0
B1
C2
D3
E4
F5
C2
D3

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

Redes de Computadoras, 2007/08

Minimiza el nmero de conrmaciones:


u
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

Redes de Computadoras, 2007/08

13.6.

ARQ con repeticin selectiva (selective


o
repeat o SR)

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

Redes de Computadoras, 2007/08

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:
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

Redes de Computadoras, 2007/08

13.6.1.

Longitud de la secuencia de conteo

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

Receptor

A0
B1
C2

Aceptar
Aceptar
ACK2, Aceptar
Esperando
3, 0 o 1

A0
B1
C2

Aceptar
Aceptar
Rechazar
n = 3, l = 4

Emisor

Receptor

A0
B1
C2

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

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
Redes de Computadoras, 2007/08

Emisor

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

Redes de Computadoras, 2007/08

Emisor

Receptor

A0
B1
C2
D3
E4
B1
F5

Aceptar
NAK1
Aceptar
Aceptar
Aceptar
ACK4, Aceptar

n = 6, l = 12

13.6 ARQ con repeticin selectiva (selective repeat o SR)


o

248

Consideraciones sobre la eciencia

13.7.1.
Redes de Computadoras, 2007/08

13.7.

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

Tasa de Errores
0

13.7 Consideraciones sobre la eciencia

249

13.7.2.

Latencia media versus tasa de errores

Redes de Computadoras, 2007/08

La latencia media aumenta al aumentar la tasa de errores:


Latencia Media

tprop + ttran

No Existe
Retransmisin
o
0

Tasa de Errores
0

13.7 Consideraciones sobre la eciencia

250

13.7.3.

Tasa de transmisin versus tamao del paquete


o
n

Redes de Computadoras, 2007/08

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


o
n
Tasa de Transmisin
o
Capacidad
del Enlace
Tamao Optimo
n

0
0
Overhead del
Sistema de
Transmisin
o

Tamao de Trama
n
Volumen de Datos
Retransmitidos
Excesivo

13.7 Consideraciones sobre la eciencia

251

Redes de Computadoras, 2007/08

13.8.

Solucin al desorden de los paquetes


o

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

0
ACK0
1
ACK1
2
ACK0

Aceptada
Aceptada
Aceptada

Aceptada
Aceptada
Ignorada

Conrmacin
o
Inesperada
Aceptada

13.8 Solucin al desorden de los paquetes


o

Aceptada

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

Redes de Computadoras, 2007/08

El control de ujo adeca la velocidad de transferencia del emisor a


u
la velocidad de procesamiento del receptor [14].
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

Redes de Computadoras, 2007/08

La congestin es un trmino que dene la carga excesiva de la red de


o
e
comunicacin [14].
o
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

14.2 Control de la congestin


o

Tasa de Entrada

255

Redes de Computadoras, 2007/08

14.3.

Causas y costes de la congestin


o
El nivel de
congestion
aumenta

Aumentan las
retransmisiones
innecesarias
Aumentan las
retransmisiones
necesarias

14.3 Causas y costes de la congestin


o

Aumentan las
latencias de
los paquetes
Los routers
desechan
paquetes

256

14.4.

Dnde se realiza el control de la cono


gestin?
o

Redes de Computadoras, 2007/08

Existen dos posibilidades:


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

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

Redes de Computadoras, 2007/08

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


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

Redes de Computadoras, 2007/08

Corre encima del IP (capa de red) lo que signica que los paquetes
de datos se pueden perder, desordenar, duplicar y llegar con errores.
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

Transmisin de datos
o

15.3.1.
Redes de Computadoras, 2007/08

15.3.

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

Redes de Computadoras, 2007/08

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

1 Tamao
n

mximo de la trama de datos que el medio f


a
sico soporta.

15.3 Transmisin de datos


o

262

Redes de Computadoras, 2007/08

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

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

Redes de Computadoras, 2007/08

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.

15.3 Transmisin de datos


o

265

15.3.2.

EL proceso de desmultiplexacin
o

Redes de Computadoras, 2007/08

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


a
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

Redes de Computadoras, 2007/08

Se utiliza el Algoritmo Three-Way Handshake:

Cliente

Servidor

Peticin de
o
conexin
o
SYN, Seq = x
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:

Redes de Computadoras, 2007/08

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

2 Lo

que seguro es ms sencillo si los nmeros de secuencia iniciales estuvieran predea


u
terminados.

15.3 Transmisin de datos


o

268

Redes de Computadoras, 2007/08

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

15.3 Transmisin de datos


o

269

Redes de Computadoras, 2007/08

15.3.4.

El tamao mximo de los segmentos


n
a

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

Redes de Computadoras, 2007/08

15.3.5.

Transmisin de datos urgentes


o

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

Redes de Computadoras, 2007/08

Generalmente es el cliente el que cierra la conexin. Esto se hace con


o
el Algoritmo Four-Way Handshake:

15.3 Transmisin de datos


o

272

Cliente

Servidor

Redes de Computadoras, 2007/08

FIN, Seq = x
ACK, Ack = x + 1

La aplicacin servidora
o
reconoce el cierre.

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

Conexin
o
cerrada

Conexin
o
cerrada

15.3 Transmisin de datos


o

273

Redes de Computadoras, 2007/08

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.
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

Redes de Computadoras, 2007/08

15.3.7.

El diagrama de estados

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

Redes de Computadoras, 2007/08

SY

RES

Cierre

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

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

SYN
Recibido

e
Ap

Cerrado

Comienzo

Env
o /S

ET

YN

SYN/SYN+ACK
AC
K/

CK
/A
CK
+A

SYN
Enviado

SY

Cierre/SYN
Cierre/FIN

rre

Cie

FIN
Espera 1

Establecido
(Transmitir)
IN
/F

FIN/ACK
Cerrando
FIN
+

ACK/

AC
K/
AC
K

FIN
/A
CK

Espera
de Cierre
ACK/

ACK/

Cierre/FIN+ACK

Tras 2 MSL

(RTT mx)
a

FIN
Espera 2

FIN+ACK/ACK

Espera
Cronometrada

Ultimo
ACK

Desconexin
o

15.3 Transmisin de datos


o

276

15.4.

Control de ujo y de errores

Redes de Computadoras, 2007/08

El TCP utiliza 2 colas circulares (ventanas deslizantes organizadas en


bytes) en cada host, una para transmitir y otra para recibir.
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

Ultimo
Byte
Conrmado

15.4 Control de ujo y de errores

Datos
a Enviar
sin Retardo

Ultimo
Byte
Enviado

Datos
no
Generados

Ultimo
Byte
Generado

277

Redes de Computadoras, 2007/08

La estructura de la cola de recepcin es:


o

Proceso
Receptor
Capa de Aplicacin
o
TCP
Ventana Deslizante Receptora
Datos
ya
Consumidos

Datos Conrmados
pero an
u
no Consumidos

Ultimo
Byte
Consumido

Datos
en
Trnsito
a

Datos
Recibidos pero
no Conrmados

Datos
por
Recibir

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.

4 Excepto

si llega un segmento con su URG activo.

15.4 Control de ujo y de errores

279

Redes de Computadoras, 2007/08

15.4.1.

El tamao de las ventanas


n

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
5 Expresado

siempre como una potencia de 2.

15.4 Control de ujo y de errores

280

Redes de Computadoras, 2007/08

15.4.2.

El tamao de los nmeros de secuencia


n
u

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

Redes de Computadoras, 2007/08

15.4.3.

Retransmisin rpida
o a

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

Redes de Computadoras, 2007/08

Se genera con frecuencia cuando conectamos un emisor rpido a un


a
receptor lento.
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

Redes de Computadoras, 2007/08

Si el TCP percibe que la red se est congestionando disminuye la tasa


a
de transmisin y viceversa.
o
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

Redes de Computadoras, 2007/08

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,
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

Redes de Computadoras, 2007/08

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
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

Redes de Computadoras, 2007/08

15.5.1.

El tamao de los time-outs


n

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


Redes de Computadoras, 2007/08

EstimatedRT T EstimatedRT T + (1 ) SampleRT T ,


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

Redes de Computadoras, 2007/08

15.5.1.2.

El Algoritmo de Karn/Partridge

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

Emisor
Receptor
Transm
isin
o
ACK
Retran
smisin
sampleRTT
o

ACK

15.5 Control de la congestin


o

292

Redes de Computadoras, 2007/08

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

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

Redes de Computadoras, 2007/08

15.5.1.3.

El Algoritmo de Jacobson/Karels

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

SampleRT T EstimatedRT T,
EstimatedRT T + Dif f,
DevRT T + (|Dif f | DevRT T ),
EstimatedRT T + 4 DevRT T,

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

del RTT y

Redes de Computadoras, 2007/08

0 1 es otro factor que hace lo mismo con la desviacin eso


tad
stica del RTT.
Un ejemplo real [14]:

15.5 Control de la congestin


o

296

Redes de Computadoras, 2007/08

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

15.6 Ejemplos

297

Redes de Computadoras, 2007/08

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

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

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

Seq = 2.001, 50 bytes, Ack = 1.001


Ack = 1.151
Seq= 2.051, 50 bytes, Ack = 1.151
Ack = 1.201

Ack = 2.102

15.6 Ejemplos

Ack = 1.001
Ack = 1.001

Ack = 1.202
Seq = 2.101, 00 bytes, Ack = 1.202
FIN

298

Receptora
2001 2050 1001

Redes de Computadoras, 2007/08

Emisora
1150

Receptora
1001

Emisora
1150 2001 2050

1001 1051 1100 1150


1001 1051

1151

2051 2100
1151
2101 2150 1151

15.6 Ejemplos

1150

1300

1151 1201

1300

1300
1201

1300

2051 2100

299

Redes de Computadoras, 2007/08

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).
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

Redes de Computadoras, 2007/08

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.
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

Redes de Computadoras, 2007/08

Basado en el paradigma de comunicacin cliente/servidor.


o
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

Redes de Computadoras, 2007/08

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.
Emisor

Receptor

Computacin
o
Bloqueo
Peticin
o

Computacin
o

Bloqueo
Respuesta
Computacin
o

Bloqueo

Tiempo
16.1 Caracter
sticas

305

Para que las aplicaciones usen el RPC, ste debe estar soportado por
e
el compilador.

Redes de Computadoras, 2007/08

Utilizado por aplicaciones como el NFS.

16.1 Caracter
sticas

306

16.2.

Microprotocolos del mecanismo RPC

Redes de Computadoras, 2007/08

RPC utiliza tres microprotocolos:


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

16.2 Microprotocolos del mecanismo RPC

307

Redes de Computadoras, 2007/08

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

16.2.1.

BLAST

Redes de Computadoras, 2007/08

Acomoda la longitud de los mensajes al MTU (Maximun Transfer


Unit) de la red.1
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

Redes de Computadoras, 2007/08

Fragmento 1
Fragmento 2
Fragmento 3
Fragmento 4
Fragmento 5
SRR
Fragmento 2
Fragmento 4
SRR

El receptor sabe que el quinto


fragmento es el ultimo!

Tiempo
16.2 Microprotocolos del mecanismo RPC

310

Redes de Computadoras, 2007/08

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

16.2 Microprotocolos del mecanismo RPC

311

Redes de Computadoras, 2007/08

Cabecera de un paquete BLAST:


0
16
31
+-------------------------+-------------------------+
|
ProtNum
|
+-------------------------+-------------------------+
|
MID
|
+-------------------------+-------------------------+
|
Length
|
+-------------------------+-------------------------+
|
NumFrags
|
Type
|
+-------------------------+-------------------------+
|
FragMask
|
+-------------------------+-------------------------+
|
|
|
Data
|
|
|
+-------------------------+-------------------------+
16.2 Microprotocolos del mecanismo RPC

312

ProtNum: protocolo que utiliza BLAST.


MID: nmero de secuencia que identica de forma unica el mensaje.
u

Redes de Computadoras, 2007/08

Length: longitud del fragmento.


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
Redes de Computadoras, 2007/08

Convierte al RPC en able.


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

Servidor

Cliente

Servidor

Redes de Computadoras, 2007/08

Peticin
o

Peticin
o

ACK

Respuesta
Peticin
o

Respuesta

Respuesta

ACK

Tiempo

Tiempo

Funcionamiento bsico
a

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

Redes de Computadoras, 2007/08

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).

16.2 Microprotocolos del mecanismo RPC

316

Redes de Computadoras, 2007/08

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

alive?).

Redes de Computadoras, 2007/08

CID (Channel ID): nmero de secuencia que identica de forma


u
unica el canal (216 canales simultaneos).

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

Redes de Computadoras, 2007/08

16.2.3.

SELECT

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

Redes de Computadoras, 2007/08

16.3.

El caso particular de SunRPC

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

Redes de Computadoras, 2007/08

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.

16.3 El caso particular de SunRPC

322

16.4.

Otras implementaciones

Redes de Computadoras, 2007/08

Las versiones actuales de RPC tienden a usar el TCP en lugar del


UDP por diversas razones:
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

Redes de Computadoras, 2007/08

Comunicacin de paquetes (datagramas) entre hosts.


o
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

Redes de Computadoras, 2007/08

No existen conexiones (este concepto slo se maneja a nivel del TCP).


o
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)

Redes de Computadoras, 2007/08

Se encarga del encaminamiento de los datagramas en Internet.


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

Redes de Computadoras, 2007/08

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
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

17.2 El IP (Internet Protocol)

329

Version: Versin del protocolo IP (4).


o

Redes de Computadoras, 2007/08

IHL (Internet Header Length): Tamao de la cabecera del paquete IP


n
en palabras de 32 bits.
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.

Redes de Computadoras, 2007/08

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
1Y

se genera un paquete ICMP para el emisor.

17.2 El IP (Internet Protocol)

331

Redes de Computadoras, 2007/08

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.

17.2 El IP (Internet Protocol)

332

Redes de Computadoras, 2007/08

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
|
|
|
|
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

17.2 El IP (Internet Protocol)

333

Version: Versin del protocolo (6).


o

Redes de Computadoras, 2007/08

Traffic Class: Identica el tipo de trco. Por ejemplo, sirve para


a
diferenciar el trco multimedia del que no es sensible al tiempo.
a
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

Redes de Computadoras, 2007/08

17.2.3.

Fragmentacin y ensamblaje
o

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

Desp. =

0
8

Redes de Computadoras, 2007/08

Resto de la Cabecera
512 bytes de datos
Comienzo de la Cabecera
Ident. = X

Desp. = 0

Resto de la Cabecera

Comienzo de la Cabecera
Ident. = X

1 Desp. =

512
8

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

Redes de Computadoras, 2007/08

17.3.

El ICMP (Internet Control Message Protocol)

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

Redes de Computadoras, 2007/08

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

17.3 El ICMP (Internet Control Message Protocol)

338

Redes de Computadoras, 2007/08

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.

17.3 El ICMP (Internet Control Message Protocol)

339

Redes de Computadoras, 2007/08

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.
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

Redes de Computadoras, 2007/08

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.

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

Redes de Computadoras, 2007/08

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
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.
1 La

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)).

18.1 Direccionamiento en IPv4

345

Redes de Computadoras, 2007/08

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

18.1 Direccionamiento en IPv4

347

18.2.

Clases de dirs IP

Redes de Computadoras, 2007/08

Las redes IP se consideran de diferentes clases dependiendo de los bits


ms signicativos [14]:
a
En IPv4:

18.2 Clases de dirs IP

348

Redes de Computadoras, 2007/08

En IPv6:

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

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

349

18.3.

Sub-netting y dirs CIDR en IPv4

Redes de Computadoras, 2007/08

Sub-netting en RFC 950.


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

18.3 Sub-netting y dirs CIDR en IPv4

Nmero de Interfaces
u
224
216
28

350

Redes de Computadoras, 2007/08

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
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

Redes de Computadoras, 2007/08

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):
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

Redes de Computadoras, 2007/08

H1

H2
.4

Red 150.214.0.0/24

.1

.3

.2

R1

R2
.2

.1

.1

Red 150.214.2.0/24
.2 R3 .1

Red 150.214.1.0/24

.2

H3

Red 150.214.3.0/24

H4

.3

18.3 Sub-netting y dirs CIDR en IPv4

.4 H5

353

18.4.

Redes privadas

Redes de Computadoras, 2007/08

RFC 1918.
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

18.4 Redes privadas

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

354

18.5.

NAT (Network Address Translation)

Redes de Computadoras, 2007/08

Se dene en los RFCs 2663 y 3022.


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:

Redes de Computadoras, 2007/08

Puerto pblico
u

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

Redes de Computadoras, 2007/08

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

18.5 NAT (Network Address Translation)

357

18.6.

La transicin de IPv4 a IPv6


o

Redes de Computadoras, 2007/08

RFC 2893.
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

359

Redes de Computadoras, 2007/08

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

Redes de Computadoras, 2007/08

Realizado por los routers y en ocasiones los hosts (cuando tienen ms


a
de un interface).
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:


Redes de Computadoras, 2007/08

Red destino

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
1 Recurdese
e

que por denicin, unas redes contienen a otras.


o

19.1 El proceso de encaminamiento

362

Redes de Computadoras, 2007/08

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

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

Redes de Computadoras, 2007/08

200.23.24.0/24

200.23.24.0/21

19.1 El proceso de encaminamiento

364

Ejemplo

Redes de Computadoras, 2007/08

En Unix, la tabla de encaminamiento del host se puede consultar con el


comando:
$ /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

Redes de Computadoras, 2007/08

Finalmente, cualquier paquete que no vaya dirigido ni a la red local ni


al loopback, ser entregado al interface de red eth0.
a

19.1 El proceso de encaminamiento

366

Ejemplo

Redes de Computadoras, 2007/08

El router R2 de la red
H1

H2
.4

Red 150.214.0.0/24

.1

.3

.2

R1

R2
.2

.1

.1

Red 150.214.2.0/24
.2 R3 .1

Red 150.214.1.0/24

.2

H3

Red 150.214.3.0/24

H4

.3

19.1 El proceso de encaminamiento

.4 H5

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

Iface
eth0
ppp0
fddi0
lo
ppp0

H2
.4

Red 150.214.0.0/24

.1

.2

R1

R2
.2

.1

.1

Red 150.214.2.0/24
.2 R3 .1

Red 150.214.1.0/24

.2

H3

Red 150.214.3.0/24

H4

.3

19.1 El proceso de encaminamiento

.4 H5

368

Redes de Computadoras, 2007/08

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.

19.1 El proceso de encaminamiento

369

.2

Internet

Redes de Computadoras, 2007/08

.1
R1

149.76.2.0/24

R2

.1

.2
149.76.172.0/24

149.76.64.0/24

.2
.1

R172
.172

149.76.0.0/24

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

19.1 El proceso de encaminamiento

R64
.64

.1
.2

.128
R128
.1

149.76.128.0/24

.2

370

Redes de Computadoras, 2007/08

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
.
.
.

Router
149.76.0.2
149.76.0.3
*
149.76.0.5
.
.
.

Mscara
a
255.255.255.0
255.255.255.0
255.255.255.0
255.255.255.0
.
.
.

Interface
fddi0
fddi0
eth0
fddi0
.
.
.

149.76.254.0
127.0.0.0
default

149.76.0.254
*
149.76.0.1

255.255.255.0
255.0.0.0
0.0.0.0

fddi0
lo
fddi0

.2

Internet
.1
R1

.1

149.76.2.0/24

R2
.2

149.76.172.0/24

149.76.64.0/24

.2
.1

R172
.172

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

19.1 El proceso de encaminamiento

149.76.0.0/24

R64
.64

.1
.2

.128
R128
.1

149.76.128.0/24

.2

371

19.2.

Agregacin de direcciones
o

Redes de Computadoras, 2007/08

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
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

Redes de Computadoras, 2007/08

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.

19.2 Agregacin de direcciones


o

373

Redes de Computadoras, 2007/08

19.2 Agregacin de direcciones


o

374

Redes de Computadoras, 2007/08

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
.
.
.

Interface de salida
.
.
.

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

El que lleva a ISPs-R-Us


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

19.2 Agregacin de direcciones


o

376

377

Redes de Computadoras, 2007/08

Redes de Computadoras, 2007/08

Cap
tulo 20

Routing (Rutado)

19.2 Agregacin de direcciones


o

378

Redes de Computadoras, 2007/08

20.1.

Qu es el routing?
e

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

Redes de Computadoras, 2007/08

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.

20.1 Qu es el routing?
e

381

20.2.

La red como un grafo


H1

.4

Red 150.214.0.0/24

.1

.3
Redes de Computadoras, 2007/08

H2

.2

R1

R2
.2

.1

.1

Red 150.214.2.0/24
.2 R3 .1

Red 150.214.1.0/24

.2

H3

Red 150.214.3.0/24

H4

.4 H5

.3

c1
R1

20.2 La red como un grafo

c2

R2

c3

R3

382

20.3.

Sobre los costes de los caminos

Redes de Computadoras, 2007/08

Se utilizan para determinar las rutas ptimas.


o
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

Redes de Computadoras, 2007/08

20.4.

Routing jerrquico y sistemas autmoa


o
mos

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

Redes de Computadoras, 2007/08

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.).

20.4 Routing jerrquico y sistemas autmomos


a
o

386

20.5.

El RIP (Routing Information Protocol)

Redes de Computadoras, 2007/08

RFCs 1058 y 2453.


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

Redes de Computadoras, 2007/08

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.
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

Redes de Computadoras, 2007/08

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.

20.5 El RIP (Routing Information Protocol)

389

Ejemplo

Redes de Computadoras, 2007/08

Sea el SA de la gura:

20.5 El RIP (Routing Information Protocol)

390

Redes de Computadoras, 2007/08

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
.
.
.

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

Redes de Computadoras, 2007/08

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
.
.
.

20.5 El RIP (Routing Information Protocol)

392

Redes de Computadoras, 2007/08

20.6.

El protocolo OSPF (Open Shortest Path


First)

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

Redes de Computadoras, 2007/08

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


a

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.


1A

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

20.7 El BGP (Border Gateway Protocol)

396

BGP usa intensivamente el routing jerrquico.


a

Redes de Computadoras, 2007/08

A la hora de calcular las rutas se tienen en cuenta factores econmicos,


o
pol
ticos, de seguridad, etc.
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

Algoritmos de routing

20.8.1.
Redes de Computadoras, 2007/08

20.8.

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].

2 Ntese
o

que el origen est determinado por quien env en mensaje.


a
a

20.8 Algoritmos de routing

399

Flooding de los estados de los enlaces

Redes de Computadoras, 2007/08

Cada router env el estado de sus enlaces a todos los routers direca
tamente conectados.
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

Redes de Computadoras, 2007/08

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.

20.8 Algoritmos de routing

401

Ejemplo

Redes de Computadoras, 2007/08

Dada la red de la gura

A
5
3

D
1

F
3

4
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

Redes de Computadoras, 2007/08

A
5
3

D
1

C
2

F
3

4
E

20.8 Algoritmos de routing

(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)

Comentarios
Inicio

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

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

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

Actualizamos
desde
(C,3,F)

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

403

A
5
3

Redes de Computadoras, 2007/08

D
1

F
3

4
E

20.8 Algoritmos de routing

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

404

20.8.2.

Algoritmo de routing Distance-Vector

Redes de Computadoras, 2007/08

Tambin llamado algoritmo de Bellman-Ford [22].


e
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

Redes de Computadoras, 2007/08

Dada la red de la gura

A
5
3

D
1

F
3

4
E

obtener las tablas de encaminamiento segn el algoritmo Distanceu


Vector.
20.8 Algoritmos de routing

406

A
5
3

Redes de Computadoras, 2007/08

D
1

C
2

F
3

4
E

A
B
C
D
E
F

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

20.8 Algoritmos de routing

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

407

A
5
3

Redes de Computadoras, 2007/08

D
1

C
2

F
3

4
E

A
B
C
D
E
F

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

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

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

20.8 Algoritmos de routing

408

A
5
3

Redes de Computadoras, 2007/08

D
1

C
2

F
3

4
E

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

Redes de Computadoras, 2007/08

1. El modelo unicast donde un emisor realiza un env y los datos llegan


o
a un unico receptor. Ejemplo: las transmisiones TCP.

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

Redes de Computadoras, 2007/08

El multicasting puede realizarse fundamentalmente de dos maneras:


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.

21.2 El multicasting a nivel de aplicacin y de red


o

412

Las dos ultimas alternativas tienen dos grandes ventajas:

Redes de Computadoras, 2007/08

1. La redundancia de la emisin es mucho menor.


o
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

Algoritmos de broadcasting

21.3.1.
Redes de Computadoras, 2007/08

21.3.

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):

Redes de Computadoras, 2007/08

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

21.3 Algoritmos de broadcasting

415

Redes de Computadoras, 2007/08

21.3 Algoritmos de broadcasting

416

21.3.2.

Spanning-tree broadcast

Redes de Computadoras, 2007/08

Es ms ptimo que el fooding (cada router recibe slo una copia de


a o
o
los datos).
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

Redes de Computadoras, 2007/08

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):
2 En

ocasiones llamado tambin aproximacin basada en el centro para el clculo del


e
o
a
spanning tree.

21.3 Algoritmos de broadcasting

419

Redes de Computadoras, 2007/08

21.3 Algoritmos de broadcasting

420

21.4.

Los grupos multicast

Redes de Computadoras, 2007/08

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
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

Redes de Computadoras, 2007/08

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.
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

21.4 Los grupos multicast


423

Redes de Computadoras, 2007/08

Redes de Computadoras, 2007/08

21.5.

El IGMP (Internet Group Management


Protocol)

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

Redes de Computadoras, 2007/08

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.
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

Protocolos de routing multicast

21.6.1.
Redes de Computadoras, 2007/08

21.6.

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.


Redes de Computadoras, 2007/08

Posee dos modos de funcionamiento:


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

Redes de Computadoras, 2007/08

21.7.

Multicasting en las redes locales

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)

Redes de Computadoras, 2007/08

Todos los routers de Internet no tienen que ser multicast!


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

Redes de Computadoras, 2007/08

Ejemplo:

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:

Redes de Computadoras, 2007/08

1. Del TTL asignado por el host emisor.


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

Redes de Computadoras, 2007/08

RFC 3220 (Mobile IP).


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

Redes de Computadoras, 2007/08

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

22.1 Routing para hosts mviles


o

435

22.2.

Nomenclatura

Redes de Computadoras, 2007/08

Mobile host: el host que se mueve entre redes durante una conexin.
o
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

22.2 Nomenclatura
437

Redes de Computadoras, 2007/08

22.3.

Routing indirecto

Redes de Computadoras, 2007/08

Consiste en los siguientes pasos:


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
22.3 Routing indirecto

438

Ejemplo

Redes de Computadoras, 2007/08

Encaminamiento:

22.3 Routing indirecto

439

Redes de Computadoras, 2007/08

Tunneling:

22.3 Routing indirecto

440

Redes de Computadoras, 2007/08

22.4.

Routing directo

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

Redes de Computadoras, 2007/08

Ejemplo

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

Redes de Computadoras, 2007/08

La capa de enlace de datos se sita entre la capa de red y la capa


u
f
sica.

23.1 El marco de trabajo

445

Redes de Computadoras, 2007/08

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
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

Redes de Computadoras, 2007/08

23.2.

Nodos, frames y enlaces

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

Redes de Computadoras, 2007/08

Transporte de datos
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

Redes de Computadoras, 2007/08

Media Access Control (MAC).


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

Redes de Computadoras, 2007/08

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).

450

Redes de Computadoras, 2007/08

Cap
tulo 24

Control de errores

23.3 Servicios generalmente proporcionados

451

Redes de Computadoras, 2007/08

24.1.

Fundamentos

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

Redes de Computadoras, 2007/08

24.2.

Paridad

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

Redes de Computadoras, 2007/08

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.

24.2 Paridad

455

Redes de Computadoras, 2007/08

24.3.

Checksum

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

Redes de Computadoras, 2007/08

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

24.3 Checksum

457

Redes de Computadoras, 2007/08

24.4.

CRC (Cyclic Redundancy Check)

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

Redes de Computadoras, 2007/08

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

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).

24.4 CRC (Cyclic Redundancy Check)

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

Redes de Computadoras, 2007/08

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.

24.4 CRC (Cyclic Redundancy Check)

460

Redes de Computadoras, 2007/08

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:
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

Redes de Computadoras, 2007/08

25.1.

Protocolos de particionado del canal

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

Redes de Computadoras, 2007/08

Cuando dos (o ms) emisores acceden simultneamente a un medio


a
a
compartido se produce una colisin.
o
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

Redes de Computadoras, 2007/08

No existen colisiones.
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.

Redes de Computadoras, 2007/08

Frecuencia

FDM y TDM
FDM

Frecuencia

TDM

w
Canal 4
Canal 3
Canal 2
Canal 1
t

Tiempo

25.3 Protocolos de particionado esttico del canal


a

Tiempo

466

Redes de Computadoras, 2007/08

25.3.2.

CDMA (Code Division Multiple Access)

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:

Redes de Computadoras, 2007/08

1. No hay colisiones.
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

Redes de Computadoras, 2007/08

Particionado dinmico del ancho de banda.


a
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

Redes de Computadoras, 2007/08

Todos los frames poseen L bits.


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

tuviera datos que transmitir, claro.

25.4 Protocolos de acceso aleatorio

473

25.4.2.

ALOHA (no ranurado)

Redes de Computadoras, 2007/08

Igual que ALOHA ranurado, pero ahora los nodos no estn sincronizaa
dos.
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

Redes de Computadoras, 2007/08

N p (1 p)2(N 1)
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)

Redes de Computadoras, 2007/08

Incorpora la siguiente mejora (Carrier Sense):


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)

Redes de Computadoras, 2007/08

Incorpora la siguiente mejora (Collision Detect):


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

Redes de Computadoras, 2007/08

Se basan en establecer alguna pol


tica de acceso al medio basada en
turnos. Se han llevado a la prctica dos alternativas diferentes:
a
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

Redes de Computadoras, 2007/08

Una LAN (Local Area Network) es una red de computadoras concentradas en un rea geogrca [14].
a
a
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

Redes de Computadoras, 2007/08

Cada adaptador de red posee una direccin f


o sica (tambin llamada
e
direccin MAC Medium Access Control ).
o
En la mayor de las tecnolog de red, las direcciones f
a
as
sicas poseen
6 bytes.

26.2 Direcciones f
sicas

483

Redes de Computadoras, 2007/08

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.

26.2 Direcciones f
sicas

484

26.3.

El ARP (Address Resolution Protocol)

Redes de Computadoras, 2007/08

RFC 826.
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:

Redes de Computadoras, 2007/08

Dir IP

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

Redes de Computadoras, 2007/08

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.

487

Redes de Computadoras, 2007/08

Cap
tulo 27

Ethernet

26.3 El ARP (Address Resolution Protocol)

488

27.1.

Historia

Redes de Computadoras, 2007/08

La tecnolog Ethernet fue inventada por Metcalfe y Boggs a mediados


a
de los 70 [14].
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

Redes de Computadoras, 2007/08

Todas las tecnolog Ethernet utilizan la misma estructura de frame1 :


as

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

Redes de Computadoras, 2007/08

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).
6. CRC (4 bytes): CRC-32. Sirve para detectar errores de transmisin.
o

27.2 Estructura del frame

491

Redes de Computadoras, 2007/08

27.3.

Tamao mximo y m
n
a
nimo de frame

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

Redes de Computadoras, 2007/08

Ethernet posee las siguientes caracter


sticas:
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.
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

Redes de Computadoras, 2007/08

Se utiliza transmisin en banda base, utilizando codicacin Mancho


o
ester:

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

Redes de Computadoras, 2007/08

27.6.

El protocolo CSMA/CD en Ethernet

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).

Redes de Computadoras, 2007/08

3. Esperar K 512 tiempos de bit antes de retransmitir.


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

27.6 El protocolo CSMA/CD en Ethernet

496

27.6.1.

Eciencia

Redes de Computadoras, 2007/08

Cuando slo existe un nodo emisor, la eciencia mxima (terica) en


o
a
o
Ethernet es 1 (100 %).4
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

eciencia real depende de una casu


stica concreta y siempre va a ser menor.

27.6 El protocolo CSMA/CD en Ethernet

497

27.7.

Tecnolog Ethernet
as

Redes de Computadoras, 2007/08

Estandarizadas por el grupo de trabajo IEEE 802.3.

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

Redes de Computadoras, 2007/08

Es la ms usada actualmente.
a
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.

Redes de Computadoras, 2007/08

27.7.3.

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

Redes de Computadoras, 2007/08

Los hubs son bsicamente repetidores (dispositivos de regeneracin de


a
o
seales digitales que funcionan a nivel de la capa f
n
sica).
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

Redes de Computadoras, 2007/08

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.

27.8 Hubs

504

Redes de Computadoras, 2007/08

27.9.

Switches

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

27.9 Switches
506

Redes de Computadoras, 2007/08

Redes de Computadoras, 2007/08

Otro ejemplo:

27.9 Switches
507

Redes de Computadoras, 2007/08

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.

27.9 Switches

508

27.9.1.

Encaminamiento

Redes de Computadoras, 2007/08

Cada switch posee una switch table con la estructura

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

Redes de Computadoras, 2007/08

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.
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

Redes de Computadoras, 2007/08

27.9.2.

Store-and-forward versus cut-through

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

Redes de Computadoras, 2007/08

28.1.

Capacidades

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

Modes

28.2.1.
Redes de Computadoras, 2007/08

28.2.

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

28.2 Modes
515

Redes de Computadoras, 2007/08

28.2.2.

Modo Ad-Hoc

Redes de Computadoras, 2007/08

Las estaciones se comunican directamente entre porque estn lo sua


cientemente prximas.
o

28.2 Modes

516

28.3.

Canales

Redes de Computadoras, 2007/08

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
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

Redes de Computadoras, 2007/08

Los APs generan peridicamente beacon frames con la idea de anuno


ciar su presencia a los nodos mbiles.
o
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:

Redes de Computadoras, 2007/08

1. Que el AP no controle quin se asocia.


e
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

Redes de Computadoras, 2007/08

28.5.

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

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

Redes de Computadoras, 2007/08

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.

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

Redes de Computadoras, 2007/08

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
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

Redes de Computadoras, 2007/08

28.6.

Estructura del frame IEEE 802.11

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

Redes de Computadoras, 2007/08

Los nodos mviles pueden cambiar con facilidad de BSS:


o

28.7 Mobility

527

Redes de Computadoras, 2007/08

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

528

Redes de Computadoras, 2007/08

Cap
tulo 29

Bluetooth

28.7 Mobility

529

29.1.

IEEE 802.15

Redes de Computadoras, 2007/08

Tasa de trasmisim modesta (hasta 721 Kbps) [14].


o
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)

Redes de Computadoras, 2007/08

RFCs 1661, 1547 y 2153.


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

Redes de Computadoras, 2007/08

30.2.

Data framing

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

Redes de Computadoras, 2007/08

30.2.1.

Byte stung

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

Redes de Computadoras, 2007/08

Una conexin PPP siempre comienza y termina en el estado Dead.


o

30.3 Protocolo de control del enlace

535

Redes de Computadoras, 2007/08

Antes de transmitir o recibir se entra en el estado Link establishment.

30.3 Protocolo de control del enlace

536

Redes de Computadoras, 2007/08

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

30.3 Protocolo de control del enlace

537

Redes de Computadoras, 2007/08

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

30.3 Protocolo de control del enlace

538

Redes de Computadoras, 2007/08

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

30.3 Protocolo de control del enlace

539

Redes de Computadoras, 2007/08

En el estado Open se transmiten los datos, frame a frame. El tamao


n
de estos viene determinado por el IP.

30.3 Protocolo de control del enlace

540

Redes de Computadoras, 2007/08

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.

30.3 Protocolo de control del enlace

541

Redes de Computadoras, 2007/08

Cuando los dos extremos cierran la conexin y sitan, de nuevo, en el


o
u
estado Dead.

542

Redes de Computadoras, 2007/08

Cap
tulo 31

ATM

30.3 Protocolo de control del enlace

543

Redes de Computadoras, 2007/08

31.1.

Historia

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

Redes de Computadoras, 2007/08

31.2.

Principales caracter
sticas

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

Redes de Computadoras, 2007/08

ATM proporciona varios modelos de servicio que se adaptan a diferentes necesidades [32]:
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

Redes de Computadoras, 2007/08

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.

31.3 Modelo de servicio

547

31.4.

Las celdas ATM

Redes de Computadoras, 2007/08

Se utiliza TDM as
ncrona (como los routers).
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

Redes de Computadoras, 2007/08

El formato de la cabecera es:

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

Redes de Computadoras, 2007/08

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).
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

Redes de Computadoras, 2007/08

ATM utiliza circuitos (canales en la jerga ATM) virtuales (VCs). Estos


pueden ser permanentes o temporales.
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

ATM se organiza en 4 capas:


Redes de Computadoras, 2007/08

Capa de Usuario
Capa AAL
Capa ATM
Capa F
sica

31.7 Arquitectura de ATM

552

31.7.1.

La capa f
sica

Redes de Computadoras, 2007/08

Controla los voltajes, relojes maestros, framing, ... es decir, se encarga


de la transmisin f
o sica de las celdas ATM.
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

Redes de Computadoras, 2007/08

Establece las conexiones [7].


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)

Redes de Computadoras, 2007/08

Permite que los protocolos de la capa de red (IP en la mayor de los


a
casos) puedan usar ATM.
AAL se implementa slo en los extremos (hosts y routers) de una red
o
ATM.

31.7 Arquitectura de ATM

555

Redes de Computadoras, 2007/08

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:
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

Redes de Computadoras, 2007/08

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

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.


Redes de Computadoras, 2007/08

Realiza la correccin de errores y de ujo cuando es necesario.


o

31.7 Arquitectura de ATM

558

Redes de Computadoras, 2007/08

31.8.

Control de la congestin
o

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.
2 T
picamente

1 de cada 32 es una celda de control.

31.8 Control de la congestin


o

559

The Internet-over-ATM protocol stack

Redes de Computadoras, 2007/08

31.9.

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

Redes de Computadoras, 2007/08

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
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

Redes de Computadoras, 2007/08

A.2.

Tipos de fuentes de informacin


o

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

Redes de Computadoras, 2007/08

A.3.

Seales digitales y analgicas


n
o

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

Redes de Computadoras, 2007/08

A.4.

La ventaja de trabajar en digital

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

Redes de Computadoras, 2007/08

A.5.

Amplicadores y repetidores

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

Redes de Computadoras, 2007/08

A.6.

Seales binarias y bits


n

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

Redes de Computadoras, 2007/08

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.

A.6 Seales binarias y bits


n

569

Redes de Computadoras, 2007/08

A.7.

Conversin analgica/digital
o
o

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

Redes de Computadoras, 2007/08

suponiendo que slo puede alcanzar un nmero nito de estados. A


o
u
este proceso de le llama cuanticacin.
o

A.7 Conversin analgica/digital


o
o

571

Redes de Computadoras, 2007/08

A.8.

Espectro de una seal digital


n

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 )|

Redes de Computadoras, 2007/08

4
3

f0

3f0

4
5

5f0

4
7

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

Redes de Computadoras, 2007/08

Las seales gastan energ en su propagacin (se atenan).


n
a
o
u
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)

Redes de Computadoras, 2007/08

1
f0

1
(b)

4
3

sin(30 t)

1
4
5

1
(c)

sin(50 t)

1
4

1
(d)

sin(0 t) +

1
3

sin(30 t) +

1
5

sin(50 t)

1
s(t) =

sin(0 t) +

1
3

sin(30 t) +

1
5

sin(50 t) +

1
(e)

1
1
f0

B.1 Efectos de la limitacin del ancho de banda


o

578

|S(f )|

Redes de Computadoras, 2007/08

4
3

f0

3f0

4
5

5f0

4
7

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

Redes de Computadoras, 2007/08

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.

B.1 Efectos de la limitacin del ancho de banda


o

580

Redes de Computadoras, 2007/08

B.1.1.

Estimacin de Nyquist para la capacidad de un


o
enlace

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

Redes de Computadoras, 2007/08

La atenuacin de la amplitud de las seales es directamente proporo


n
cional a la distancia recorrida [8].2
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

Redes de Computadoras, 2007/08

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
cSH = w log2 (1 + SNR)

(B.3)

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

583

Redes de Computadoras, 2007/08

B.3.

Efectos de la distorsin de retardo


o

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

B.3 Efectos de la distorsin de retardo


o

Frecuencia

584

Redes de Computadoras, 2007/08

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:
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

Redes de Computadoras, 2007/08

C.1.

La modulacin de seales
o
n

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

Redes de Computadoras, 2007/08

1. La seal moduladora (o seal de datos) que contiene la inforn


n
macin que se desea transmitir.
o
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

Redes de Computadoras, 2007/08

C.2.

Utilidad de la modulacin de seales


o
n

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

Amplitud
Portadora

Portadora
Modulacin
o
Desmodulacin
o

Datos
0

wx

Frecuencia

Datos
0

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

Redes de Computadoras, 2007/08

C.3.

Bits de datos, elementos de sealizacin


n
o
y Baudios

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

Redes de Computadoras, 2007/08

En ASK (Amplitude-Shift Keying) la seal de datos controla la amn


plitud de la seal portadora.
n

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

Redes de Computadoras, 2007/08

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)
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
Redes de Computadoras, 2007/08

s(t)

1
sin(wc t)

1
sASK (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

Redes de Computadoras, 2007/08

s(t) = 1 +

sin (2n + 1)wo t


2n + 1
n=0

y por tanto, tras realizar el producto obtenemos


sASK (t) = sin(wc t) +

sin (2n + 1)w0 t


sin(wc t).
2n + 1
n=0

Si ahora aplicamos el cambio trigonomtrico


e
2 sin() sin() = cos( ) cos( + )

(C.3)

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

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 )|

Redes de Computadoras, 2007/08

2
5

0 fc 5f0

2
3

2
3

fc 3f0

fc f0 fc fc + f0

Banda Lateral Inferior

fc + 3f0

2
5

fc + 5f0

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

Redes de Computadoras, 2007/08

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
|S(f )|

1
2

2
5

5f0

2
3

3f0

2
3

f0

C.4 Modulacin binaria en amplitud o ASK


o

f0

3f0

2
5

5f0
598

Redes de Computadoras, 2007/08

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.
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 )|

Redes de Computadoras, 2007/08

fs

fs

|C(f )|
1

fc

fc

|SASK (f )| = |S(f ) C(f )|


1

1
1
2

1
2

fc fs

fc

fs fc

fc fs

C.4 Modulacin binaria en amplitud o ASK


o

fc

fc + fs

600

Redes de Computadoras, 2007/08

C.4.2.

Desmodulacin
o

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
1
2

1
4

2fc fs

2fc

fs 2fc fc

fs

1
4

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

Redes de Computadoras, 2007/08

En FSK (Frecuency-Shift Keying) la seal de datos modica la fren


cuencia de la portadora.

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
Redes de Computadoras, 2007/08

s(t)

1
sin(w1 t)

1
sin(w2 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 )|

Redes de Computadoras, 2007/08

1
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

Redes de Computadoras, 2007/08

C.5.2.

Desmodulacin
o

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

Redes de Computadoras, 2007/08

En PSK (Phase-Shift Keying) la seal de datos modica la fase de la


n
portadora.

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 Modulacin binaria en fase o PSK


o

(C.6)

608

Ejemplo:

Redes de Computadoras, 2007/08

Bits

1
s(t)

1
sin(wc t)

1
sPSK (t)

C.6 Modulacin binaria en fase o PSK


o

609

Redes de Computadoras, 2007/08

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

C.6.2.

Desmodulacin
o

Igual que en ASK.

C.6 Modulacin binaria en fase o PSK


o

610

Redes de Computadoras, 2007/08

C.7.

Modulacin n-ria
o
a

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

90o 01

Redes de Computadoras, 2007/08

10
180o
0o

90o

180o 270o

00

Amplitud

0o
11 270o

Estrella

Constelacin 4-PSK
o

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

010

110
100

000

111
011
Constelacin 8-QAM
o

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

Redes de Computadoras, 2007/08

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

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

Redes de Computadoras, 2007/08

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
1
0

tReset

Bit(s) de
Parada

Bit de Datos

1
Tiempo

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

Redes de Computadoras, 2007/08

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

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

Redes de Computadoras, 2007/08

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

Amplitud
Bit de
Inicio
0

Bit(s) de
Parada

Bit de Datos

1
Tiempo

Figura D.2: Ejemplo de sealizacin NRZL.


n
o

D.2 Sealizaciones bipolares


n

624

Redes de Computadoras, 2007/08

Amplitud
Bit de
Inicio
0

Bit(s) de
Parada

Bit de Datos

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

Redes de Computadoras, 2007/08

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

Amplitud
Bit de
Inicio

Bit(s) de
Parada

Bit de Datos

Tiempo
1

Figura D.4: Ejemplo de sealizacin Manchester.


n
o

D.3 Sealizaciones auto-reloj


n

627

Redes de Computadoras, 2007/08

Amplitud
Bit de
Inicio

Bit(s) de
Parada

Bit de Datos

Tiempo
1

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

Redes de Computadoras, 2007/08

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

Amplitud
Bit de
Inicio
0

Bit(s) de
Parada

Bit de Datos

1
Tiempo

Figura D.6: Ejemplo de sealizacin AMI.


n
o

D.4 Sealizaciones ms resistentes a errores


n
a

630

Amplitud

Redes de Computadoras, 2007/08

0
Tiempo

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

Redes de Computadoras, 2007/08

0
Tiempo

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

Redes de Computadoras, 2007/08

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.

D.5 Delimitacin de tramas


o

633

Redes de Computadoras, 2007/08

D.6.

Transmisiones as
ncronas

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

Redes de Computadoras, 2007/08

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

1
0

Redes de Computadoras, 2007/08

Trama de Datos

4
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

Redes de Computadoras, 2007/08

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].

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

Redes de Computadoras, 2007/08

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

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

Redes de Computadoras, 2007/08

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
1 En

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

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

Redes de Computadoras, 2007/08

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

D.7 Transmisiones s
ncronas

646

Redes de Computadoras, 2007/08

E.1.

El cdigo de Hamming
o

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

r8

r4

r2

r1

11

10

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

10

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

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

Redes de Computadoras, 2007/08

10

11

10

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

Redes de Computadoras, 2007/08

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

10

Ondas
Largas
de Radio

Ondas
Cortas
de Radio

104

105

106

Ondas perjudiciales para la vida


6

107

Cable Coaxial
AM

10

10

10

MicroOndas

108

109

10

12

10

14

1010

1011

Microondas Satlite
e
FM

1016

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

1012

1018

1020

1022

Rayos
Gamma

Rayos X

1013

1014

1024 Hz

1015

1016

Fibra Optica

Microondas Terrestres

TV

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

Redes de Computadoras, 2007/08

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


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

Redes de Computadoras, 2007/08

Medio menos denso

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)

Redes de Computadoras, 2007/08

Cubiertas
Protectoras

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

Redes de Computadoras, 2007/08

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

Revestimiento
Ncleo
u

Redes de Computadoras, 2007/08

Foco de
Luz

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

Redes de Computadoras, 2007/08

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).
1 En

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

E.1 El cdigo de Hamming


o

662

Revestimiento

Redes de Computadoras, 2007/08

Foco de
Luz

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

Redes de Computadoras, 2007/08

Foco de
Luz

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

Redes de Computadoras, 2007/08

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

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

Redes de Computadoras, 2007/08

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

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

Redes de Computadoras, 2007/08

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.

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

Redes de Computadoras, 2007/08

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

B
C

Redes de Computadoras, 2007/08

G
A
F
B
G

D
E
B

C
A

G
A

D
E

D
E

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

Redes de Computadoras, 2007/08

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].

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

Redes de Computadoras, 2007/08

seal de datos y versiones retrasadas de esta, debido a reexiones, se habla


n
de desvanecimiento de trayectoria mltiple [32].
u

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

E.1 El cdigo de Hamming


o
682

Redes de Computadoras, 2007/08

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

Redes de Computadoras, 2007/08

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.

684

E.1 El cdigo de Hamming


o
685

Redes de Computadoras, 2007/08

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

Redes de Computadoras, 2007/08

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

E.1 El cdigo de Hamming


o

687

Redes de Computadoras, 2007/08

n enlaces,

1 seal/enlace
n

1 enlace, n seales/enlace
n

Multiplexor

n enlaces,
1 seal/enlace
n

Desmultiplexor

Figura L.1: Multiplexacin/desmultiplexacin de los enlaces f


o
o
sicos [27].

E.1 El cdigo de Hamming


o

688

1
na
l
l2
na
na

l3

Ca

l1
na

Ca

nal

Ca

Redes de Computadoras, 2007/08

Ca

nal

Ca

Ca
nal

Ca

Tiempo

Frecuencia
FDM

Tiempo

Frecuencia
TDM

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

Redes de Computadoras, 2007/08

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

a
w1

Hz

Hz
w1

w2

c Hz

w2

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

Redes de Computadoras, 2007/08

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

s1 (t)
t

s2 (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

AAA
RA
BB
RB
C
RC

Tiempo

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

AAA
RA
1
BB
RB
2
C
RC
3

Tiempo

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

Redes de Computadoras, 2007/08

[5] Defense
Advanced
Research
Projects
Agency
(DARPA),
http://www.rfc-editor.org/rfc/rfc793.txt.
RFC 793. The Transmission Control Protocol (TCP), 1981.
[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

Redes de Computadoras, 2007/08

[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.

[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

Redes de Computadoras, 2007/08

[18] Network Working Group, AT&T Research, http://www.rfceditor.org/rfc/rfc793.txt.


Defending Against Sequence Number
Attacks, 1996.
[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

Redes de Computadoras, 2007/08

[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.

L.2 Multiplexacin en el dominio del tiempo (TDM)


o

705

También podría gustarte