Próximo Material Seguiremos la siguiente estrategia para presentar el restante

Anuncio
Parte 3
61
Próximo Material
Seguiremos la siguiente estrategia para presentar el restante
material del curso:
En toda red de comunicación de data se requiere conectar
dos o más nodos o estaciones utilizando algún medio de
comunicación. Además, se requiere la solución a los
siguientes 5 problemas:
1. Encoding
2. Framing
3. Error Detection
4. Reliable Delivery
5. Access Mediation
Luego discutiremos los LAN’s (local area networks) típicos
y sus correspondientes media access control mechanisms.
Finalmente discutiremos los WAN’s (wide area networks).
Como parte de la discusión de los WAN's presentaremos
circuit switching y packet switching.
Parte 3
62
Network Interface Card (NIC)
La solución a los 5 problemas (encoding, framing,
error detection, reliable delivery, access mediation)
generalmente es implementada en el NIC (network
interface card).
El NIC es una tarjeta que por un lado se conecta al I/O
bus de la computadora o workstation y por el otro lado
se conecta al medio físico de transmisión.
CPU
cache
NIC
hacia la
red
memoria
I/O bus
Cuando dos computadoras se comunican entre sí, los
NIC’s intercambian bits, pero las computadoras
intercambian frames de data.
El NIC es controlado por un software o driver que
corre en la computadora o workstation.
Parte 3
63
Network Interface Card (NIC)
La cantidad de memoria en toda computadora es
finita. Aún si fuera de múltiples GB, sigue siento
finita.
La cantidad de memoria así como el ancho de banda
disponible para transmitir son los dos recursos más
importantes en una red.
En una computadora que esté actuando como un
switch o un router los paquetes de data tienen que ser
almacenados en memoria hasta que que les toque el
turno de ser transmitidos utilizando el ancho de banda
disponible.
Un software que corre en la computadora o
workstation, un driver, controla el NIC. Por ejemplo,
el driver le da instrucciones al NIC. El driver le indica
al NIC desde cuál localización de memoria es que va a
salir la data a ser transmitida. De forma similar, el
driver también le indica al NIC en cuál localización de
memoria es que se va a escribir la data que se recibe.
¿Qué determina la velocidad de un nodo en la red, el
clock speed del CPU o el tiempo de acceso a la
memoria?
La velocidad de un nodo en la red es determinada por
el más lento de los dos parámetros. La memoria
siempre es más lenta que el CPU.
Parte 3
64
Encoding
El NIC realiza, entre otras funciones, la labor de encoding.
El workstation, computadora o nodo que envía la data
codifica los bits a transmitirse en señales que los medios de
transmisión pueden transportar.
El workstation, computadora o nodo que recibe las señales
decodifica éstas para recuperar los bits originales.
Computadora
Computadora
NIC
bits
encoder
NIC
señal
señal
medio de
comunicación
Veremos los siguientes tipos de encoding:
a. Bipolar (return to zero o RZ)
b. Non-return to zero
c. Manchester
d. 4B/5B
decoder
bits
Parte 3
65
Bipolar or Return to Zero (RZ) Encoding
Reglas para el Bipolar Encoding:
Un “1” se representa con un pulso positivo
Un “0” se representa con un pulso negativo
La señal siempre regresa a 0 antes de que llegue el
próximo pulso. Esto es, es una señal RZ (return-tozero).
Hay 3 niveles de señal: +, 0, -
Parte 3
66
Ejemplo de Bipolar Encoding (RZ)
1
0
0
1
1
1
0
1
bit stream a ser
transmitido
clock del
transmisor
+V
señal bipolar
return to zero
señal transmitida
0
-V
extracted clock
en el receiver
1
0
0
1
1
1
0
1
data recibida
Parte 3
67
Limitaciones del Bipolar Encoding
Si asumimimos 0’s y 1’s equiprobables, esto es, que la
probabilidad de que ocurran 0’s es igual a la
probabilidad de que ocurran 1’s, el valor promedio o
valor DC de la onda, promediado en un largo intérvalo
de tiempo es 0. Aún si el promedio calculado en un
largo intérvalo de tiempo es 0, puede darse el caso de
“varios” 1’s consecutivos o varios 0’s consecutivos, en
cuyo caso el nivel DC será distinto de 0. Ejemplo:
En este ejemplo podemos observar cómo según
aumenta el número de 1’s consecutivos aumenta el
nivel DC.
Parte 3
68
Limitaciones del Bipolar Encoding
¿Cómo calculamos el nivel DC de una onda?
El nivel DC es lo mismo que el valor promedio de la onda.
El valor promedio de cualquier onda calculado en un
intérvalo de tiempo T está dado por la siguiente fórmula:
T
1
Average ( f(t) ) = T
 f (t )dt
0
¿Qué problema causaría un nivel DC distinto de 0?
La señal recibida se acopla al circuito local vía un
transformador. En un transformador, el DC no induce
voltaje. Tan sólo calienta los alambres. Esto es, con un
nivel DC disinto de 0, se nos cae la señal, disminuye el
SNR (signal to noise ratio) y aumenta el BER (bit error
rate).
Otra ventaja de utilizar el transformador: El receiver puede
utilizar su propio power supply. La señal le llega vía el
acople con el transformador. De lo contrario, el transmisor
tendría que suplirle power al receiver.
Parte 3
69
Non-Return to Zero (NRZ) Encoding
Posiblemente la forma más sencilla de codificar los bits a
transmitirse es utilizando codificación NRZ o non-return to
zero.
Bajo codificación NRZ un “1” lógico es codificado como
un voltaje alto, y un “0” lógico es codificado como un
voltaje bajo.
Bajo NRZ si no hay transición en la data, esto es,
permanece constante, entonces el nivel de voltaje, ya sea
alto o bajo, permanece constante.
Parte 3
70
Non-Return to Zero (NRZ) Encoding
Ejemplo:
La siguiente figura muestra un patrón de 0’s y 1’s
codificados bajo NRZ y una función de moving average
que calcula el promedio de los últimos 4 bits de data.
Podemos observar que el promedio de la onda o su
componente DC varía con el tiempo. Este componente DC
fue calculado mediante la implementación de un moving
average de los últimos 4 bits de data.
Parte 3
71
Non-Return to Zero (NRZ) Encoding
Si fueramos a utilizar codificación NRZ crearíamos los
siguientes problemas:
1. Si la onda tiene un componente DC, entonces al utilizar
acople por transformador, el cual de todas formas vamos
a tener que utilizar en los repetidores y en el receiver, la
señal se nos cae.
2. El receiver tiene un circuito de clock recovery para
derivar señal de clock o timing que le permita
permanecer sincronizado al transmisor. El circuito de
clock recovery o es un PLL (phase locked loop) o un
circuito sintonizado. El receiver necesita transiciones de
0 a 1 y viceversa para mantenerse sincronizado al
transmisor. Una larga secuencia de 1’s consecutivos o de
0’s consecutivos hará que el receiver pierda la
sincronización con el transmisor.
Por lo tanto, NO podemos utilizar codificación NRZ para
transmitir los bits.
Parte 3
72
Non-Return to Zero (NRZ) Encoding
La siguiente figura muestra el programa en LabVIEW que
generó las dos anteriores gráficas.
Parte 3
73
Manchester Encoding
Otra alternativa para transmitir data es formar una señal
NRZ (non-return-to-zero) con Manchester Encoding.
Manchester encoding se utiliza en redes Ethernet.
NRZ implica que la señal no regresa al nivel de 0.
En este caso usamos codificación Manchester.
Reglas para la codificación Manchester:
Un “1” se codifica como una transición low to high.
Un “0” se codifica como una transición high to low.
Siempre habrá una transición de high a low o de low a high
en el centro de cada celda. Esta transición es utilizada por
el clock recovery circuit del receiver para generar un pulso
de clock en el centro de la segunda mitad de la celda de
cada bit.
Para poder identificar el centro de cada celda y por lo tanto
los instantes en que las transiciones representan la data, es
necesario que el receiver se sincronice al transmisor. Para
lograr dicha sincronización el transmisor envía al comienzo
de cada frame o paquete de data un preamble el cual
consiste de 64 1’s y 0’s que alternan.
Parte 3
74
Manchester Encoding
Dada la presencia de ruido, para el hardware es más fácil
detectar una transición en voltaje (e.g. de bajo a alto o de
alto a bajo) que un nivel de voltaje en específico.
Con codificación Manchester el hardware está edge
trigerred, y los cambios son conocidos como rising edge o
falling edge.
Parte 3
75
Ejemplo de Manchester Encoding
1
0
0
1
1
1
0
bit stream a ser
transmitido
1
clock del
transmisor
+V
Manchester encoded
NRZ
señal transmitida
-V
extracted clock
en el receiver
1
0
0
1
1
1
0
1
data recibida
Parte 3
76
Manchester Encoding
Al utilizar Manchester encoding nos garantizamos que si
asumimos 1’s y 0’s equiprobables, esto es, que la
probabilidad de que ocurra un 1 en la data es igual a la
probabilidad de que ocurra un 0, entonces no habrá
componente DC. En este caso, aún si ocurrieran varios 1’s
o varios 0’s consecutivos, el nivel DC siempre va a
permanecer cerca de 0.
El problema que tiene el NRZ con Manchester encoding es
que duplica la velocidad con que se hace necesario
transmitir las transiciones en la data. Esto es, el receiver
ahora tan sólo tiene la mitad del tiempo para detectar cada
pulso de la señal.
La velocidad a la que cambia la señal es el baud rate.
En el caso del NRZ con Manchester encoding el bit rate es
la mitad del baud rate. Por lo tanto, la codificación tan sólo
es 50 % eficiente.
Parte 3
77
4B/5B Encoding
La codificación 4B/5B reduce las ineficiencias del
Manchester encoding sin tener que sufrir el problema de
largas secuencias de 1’s o 0’s consecutivos.
La idea o concepto del 4B/5B es insertar bits adicionales de
forma que sea posible romper patrones de muchos 0’s o
muchos 1’s consecutivos.
Específicamente, cada 4 bits de data son codificados en una
secuencia de 5 bits que es transmitida al receiver. De ahí el
nombre de 4B/5B.
Estos códigos de 5 bits que son generados por el 4B/5B
encoding tienen las siguientes propiedades:
a. Cuenta con no más de un cero al principio de cada
código.
b. Cuenta con no más de dos ceros al final de cada
código.
c. Al transmitir la secuencia total de bits nunca habrá
más de 3 ceros consecutivos. Veamos una tabla
para el 4B/5B encoding:
Parte 3
78
4B/5B Encoding
Redes FDDI utilizan el 4B/5B encoding.
Parte 3
79
4B/5B Encoding
d. Los códigos de 5 bits generados son transmitidos
utilizando codificación NRZI (non-return to zero
inverted).
Bajo NRZI:
a) Una transición de “0” a “1” o de “1” a “0”
representa un “1” lógico. Esto resuelve el
problema de las largas secuencias de 1’s.
b) La ausencia de transición representa un “0” lógico.
Parte 3
80
Differential Manchester Encoding
Differential Manchester encoding es similar al Manchester
encoding en el sentido de que siempre hay una transición
en el centro de cada celda. Esta transición en el centro de
cada celda es para facilitar el clock recovery en el receiver.
Sin embargo, tan sólo ocurre una transición al principio de
cada celda si el próximo bit a ser codificado es un 0. Si es
un 1, entonces no ocurre dicha transición.
Esto tiene el efecto de que la señal de salida puede asumir
dos posibles formas, dependiendo de cuáles fueron las
condiciones iniciales. Estas dos posibles formas tienen la
propiedad de que una es la versión invertida de la otra. Esta
propiedad es muy útil para la transmisión vía twisted pair
pues en realidad no va a importar la polaridad de los cables
que van a ser conectados al receiver.
Differential Manchester encoding se utiliza en redes token
ring.
Parte 3
81
Differential Manchester Encoding
1
0
0
1
1
1
0
bit stream a ser
transmitido
1
clock del
transmisor
Manchester encoded
NRZ
señal transmitida
+V
-V
o
Manchester encoded
NRZ
señal transmitida
+V
-V
extracted clock
en el receiver
1
0
0
1
1
1
0
1
data recibida
Descargar