introducción a las redesprof. javier cañas r. 13 lan, man y wam una manera de caracterizar las...

56
Redes de Computadores 1 Introducción a las Redes Prof. Javier Cañas R. Universidad Técnica Federico Santa María Departamento de Informática

Upload: others

Post on 05-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Redes de Computadores 1 Introducción a las Redes

Prof. Javier Cañas R.Universidad Técnica Federico Santa María

Departamento de Informática

Page 2: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 2

Temario

1 Introducción2 Requerimientos de una

Red

3 Conectividad4 Canales Abstractos

5 Arquitectura de Redes

6 Arquitectura OSI7 Arquitectura Internet

Page 3: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 3

1 Introducción

• ¿Qué es una Red de Computadores ?– Conjunto de Computadores autónomos conectados por

enlaces de comunicación

– Una R. de C. Se caracteriza por su generalidad. No está optimizada para ninguna aplicación en particular.

• Crecimiento– 1988 100.000 computadores

– 1992 1000.000 computadores (ver curva de crecimiento)

• Aplicaciones Relevantes– FTP

– WWW

– NV: Network video (video conferencia sobre Internet)

Page 4: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 4

Growth of Internet Hosts *Sept. 1969 - Sept. 2002

0

50,000,000

100,000,000

150,000,000

200,000,000

250,000,000

9/ 69

01/ 71

01/ 73

01/ 74

01/ 76

01/ 79

08/ 81

08/ 83

10/ 85

11/ 86

07/ 88

01/ 89

10/ 89

01/ 91

10/ 91

04/ 92

10/ 92

04/ 93

10/ 93

07/ 94

01/ 95

01/ 96

01/ 97

01/ 98

01/ 99

01/ 01

08/ 02

Time Period

No

. of

Ho

sts

Page 5: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 5

2 Requerimientos de una Red

¿Qué esperamos de una Red?Hay 3 actores:

- Usuario: Requiere servicios con diferentes calidades

- Diseñador de la red: Requiere realizar un diseño costo/efectivo

- Proveedor de red: Requiere facilidad de administración y aislamiento de fallas.

Page 6: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 6

Requerimiento de Conectividad

• Una Red de Computadores debe proveer conectividades entre computadores. Esto puede ir de unos pocos computadores (razones de privacidad y seguridad) hasta todos los Computadores del mundo.

• Escalabilidad: Es la propiedad de una red de crecer hasta un tamaño arbitrario.

• Un ejemplo de escalabilidad es Internet

Page 7: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 7

3 Conectividad

La conect ividad se produce en varios niveles:

Nodo o host

link

Los links pueden ser:Punto a puntoDe Acceso Múlt iple (presentan limitaciones de

escalabilidad)

Page 8: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 8

Redes de conexión indirectaLa conexión puede ser indirecta. Se produce en las llamadasRedes de Packet Switching

Switched Network

Switched Network Circuit Switched Packet Switched

Las unidades de información que se transmiten porestas Redes se denominan Paquetes o Mensajes

Page 9: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 9

Store & Forward

Las Redes Packet switched utilizan técnica de Store & Forward

Switch: su función esalmacenar paquetes ydespacharlos

host

Cada Switch o nodo interno de la RED, almacena los paquetes y posteriormente los transmite

Page 10: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 10

Internetwork: Conjunto de Redes distintas interconectadas

Router o gateway (la misma funciónde un switch a nivelde red)

Cada nodo tiene una dirección

Page 11: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 11

Unicast, Multicast y Broadcast

Otro requerimiento de las redes es el soporte para:

• Unicast: Envío de un mensaje de un host a otro host de la red

• Multicast: Envío de un mensaje de un host a un grupo de host de la red

• Broadcast: Envío de un mensaje de un host a todos los host de la red

Page 12: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 12

Definición de RED (recursiva)

Una Red de Computadores es un conjunto de dos o más nodos autónomos, conectados por un link físico o dos o más Redes conectadas por uno o más nodos.

Page 13: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 13

LAN, MAN y WAM

Una manera de caracterizar las redes es por su tamaño

• LAN (Local Area Network): Redes con menos de 1 Km de extensión

• WAN (Wide Area Network): Redes con cobertura planetaria

• MAN (Metrop olitan Area Network): Redes que cubren distancias de ≈10 Km. Por ejemplo Redes de grande Campus universitarios o de Corporaciones

Esta definición es sólo referencial. Con el avance tecnológico existen LAN que son MAN y MAN que son WAN

Page 14: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 14

SAN y DAN

• Otras opciones a las LAN, MAN y WAN son las:– SAN (System Area Networks)

– DAN (Desk Area Network)

Page 15: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 15

DAN

• ¿Cuál es la idea? – Es abrir el computador y poner sus distintas

unidades accesibles por una red rápida: discos, CPU, Display, Printers, Cámaras de video etc..

• En un DAN, el bus de E/S se reemplaza por una red estableciendo un acceso uniforme a todos los recursos que sean requeridos por una aplicación de red.

Page 16: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 16

SAN• Las SAN toman su nombre de System

Area Networks. Su área geográfica se reduce a una habitación donde se conectan varios componentes de un gran sistema computacional.

• Las tecnologías que se usan son: HiPPI (High Performance Parallel Interface) y Fiber Channel. Se usan para conectar procesadores con paralelismo masivo con servidores de almacenamiento. Estos sistemas se conectan a LAN y WAN

Page 17: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 17

Recursos Compartidos: MUX y DEMUX

El mayor interés está en las redes packet switching

STDM: Synchronous TimeDivision Mult iplex ing

En las Redes se ut ilizan economías de escala. Una idea importante de packet switching es la mult iplex ionde muchos f lujos de datos sobre un link simple.

Page 18: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 18

Comunicación de Procesos sobre canales Abstractos

Es mejor ver la red como proveedora de canales entre aplicaciones

aplicación

Host1

Host

aplicación

Host2

Red

Host

Host

Page 19: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 19

4 Canales Abstractos

• Existen distintos tipos de aplicaciones sobre las redes. Cada tipo de aplicación, define un determinado canal abstracto en la red.Estos canales están manejados por dos tipos de protocolos

• Los protocolos de canales abstractos son:– Request/Reply

– Message Stream

Page 20: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 20

Protocolo Request/Reply (RRP)

• Se caracterizan por mensajes de consultas cortos y respuestas grandes.

• Cada mensaje despachado debe ser recibido, es decir, no se aceptan pérdidas de paquetes.

• El protocolo busca proteger privacidad e integridad

• Ejemplos de Aplicaciones: ftp, Bibliotecas Digitales, www

Page 21: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 21

Interacción de transferencia de archivos (ftp)

Request

Reply

Cliente Servidor

SC

Page 22: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 22

Protocolo Message Stream (MSP)

• Corresponde a tráfico HDX o FDX con retardos controlados.

• En las aplicaciones Message Stream, no es necesario que todos los mensajes sean recibidos

• Se debe garantizar el orden de los mensajes

• Ejemplo de aplicaciones:Video bajo demanda, NV (Network Video), teleconferencias

Page 23: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 23

Interacción Message Stream

Ejemplo: video en demanda

Client Server

Video (Son datos)

El ojo es sensibleal retardo

Page 24: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 24

5 Arquitectura de Redes

• ¿Qué es una arquitectura de Red?

• Existen varias respuestas

• Una respuesta simple:– Arquitectura de red: documentos que guían

el diseño redes

• Necesidad de definir una Arquitectura– Sistemas complejos---------->abstracción

Page 25: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 25

Capas

• Entender, diseñar y construir una red de computadores es una tarea compleja que requiere devidir el problema en tareas más pequeñas.

• Tradicionalmente se divide el problema en varias capas. Cada capa es responsible de proveer un servicio a la capa superior utilizando algún servicio de la capa inferior

• Cada capa se comunica con su capa “par” en otro nodo utilizando un protocolo.

Page 26: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 26

Niveles en una Arquitectura de Redes

Programas de Aplicación

Conexión Proceso - Proceso

Conexión Host- Host

HW

Niveles más abstractos deservicios

Page 27: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 27

Arquitectura de Redes

Aplicaciones

Request/Replychannel

Message streamChannel

Host-host

HW

En la realidad las arquitecturas son más complejas que una secuencia lineal de niveles. A veces un nivel provee múlt iples abstracciones

Page 28: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 28

Protocolos

• Los objetos abstractos a través de las cuales se construyen los distintos niveles se denominan protocolos.

• Un protocolo provee un servicio de comunicación que los niveles superiores utilizan para intercambiar mensajes.

Page 29: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 29

Interfaces de Protocolos

Un protocolo define 2 interfaces diferentes:

• Service Interface: en el mismo computador que desea usar los servicios de comunicación. Define las operaciones que los objetos locales pueden hacer sobre el protocolo.

• Peer interface: define la forma y el sentido de los mensajes que se intercambian entre las máquinas.

Page 30: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 30

Interfaces de Protocolo

Service Interfaz

Objetos dealto nivel

Protocolo

Host 1

Objetos dealto nivel

Protocolo

Host 2

InterfazPeer- to- Peer

Page 31: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 31

Grafo de Protocolos

File

Aplication

Digitallibrary

aplication

Video

Aplication

RRP MSP

HHP

Igual

H1 H2

RED

Page 32: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 32

Grafo de Protocolos: Descripción del ejemplo

• RRP: Request Reply Protocol

• HHP: Host to Host Protocol

• Un programa de aplicación de H1 desea comunicar con su correspondiente en H2 usando el servicio de comunicación ofrecido por RRP. RRP invoca el servicio ofrecido por HHP.

• En este caso se dice que la aplicación utiliza el servicio ofrecido por el stack de protocolo RRP/HHP

Page 33: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 33

Encapsulación

Datos

RRP Datos

RRP DatosHHP

Data Link

Red

Transporte

RRP DatosHHPDLP

Programa de aplicación

RRP

HHP

DLP

Page 34: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 34

...Encapsulación

Programa de aplicación

RRP

HHP

DLP

Programa de aplicación

RRP

HHP

DLP

RRP DatosHHPDLP

aplicación

Host1

Host

aplicación

Host2

Red

Host

Host

Page 35: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

35

Estándares de Arquitecturas

• Existen estandarizaciones que fijan marcas para las arquitecturas: – ISO (International Standards Organization)

– IETF (Internet Engineering Task Force)

Prof. Javier Cañas R.

Page 36: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

36

6 Arquitectura OSI

No es grafo de protocolos, sino una guía para diseñarlos

321

321

7654321

Sólo en end host

1

765432

Prof. Javier Cañas R.

Page 37: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

37

Responsabilidades de las Capa Física

• Capa Física: transmitir bits sin estructura sobre un enlace de comunicaciones– Problemas que resuelve: tamaño y forma de

conectores, convertir bits en señales eléctricas.

– En una red pueden existir diversos tipos de capas físicas.

Prof. Javier Cañas R.

Page 38: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 38

Responsabilidades de la Capa de Enlace de Datos

• Enlace de Datos: transmitir pedazos de información a través de un enlace– Problemas que resuelve: Detección de

corrupción de datos

– Coordinación de uso de medios físicos compartidos.

– Es común que diferentes enlaces de datos implementan diferentes capas de enlace de datos

Page 39: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 39

Capa de Red

• Red: Permitir que cualquier par de Host en la red se puedan comunicar entre si.(Servicio Host a Host).

• La capa de red es responsable de encontrar un camino entre dos host a través de un conjunto de nodos

• Problemas que resuelve: – Cálculo de ruta

– fragmentación y reensamblado de paquetes

Page 40: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 40

Capa de Transporte

• Transporte: establece un canal abstracto Proceso a proceso.– Problemas que resuelve: Errores que se

cometen en la capa de red tales como:

• Pérdida de paquetes

• Paquetes duplicados

• Reordenamiento de paquetes

– Los protocolos de esta capa y de las capas superiores corren en los host y no en los nodos intermedios

Page 41: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 41

Capa de Sesión

• Sesión: Ofrecer servicios sobre un flujo full-duplex confiable proporcionado por el nivel de transporte. Permite el manejo de potencialmente diferentes flujos de transporte que son parte de una misma aplicación.

• Ej:– stream de audio y video que se combinan

para una video conferencia

– control de diálogo, chaining (combinar grupos de paquetes o todos o ninguno se despacha)

Page 42: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 42

Capas de Presentación y Aplicación

• Presentación: medias para la representación de datos– XDR ( Big endian- little endian)

– Número de bits (16, 32, 64)

• Aplicación: – FTAM

– VT virtual terminal services

Page 43: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 43

7 Arquitectura Internet

También se llama arquitectura TCP/ IP

Historia: Arpanet proyectos financiados por ARPA (Advanced Internet Research Projects Agency)

AplicaciónLas aplicaciones son librespara utilizar los protocolos que quieran

Network

IP

TCP

Page 44: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 44

Arquitectura Internet: grafo de protocolo

Grafo parcial:

FTP HTTP

TCP

Red1 Red2 Redn

IP

UDP

NV TFTP

Page 45: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 45

...Arquitectura Internet

• Filosofía central: cualquiera puede proponer un protocolo, pero se debe entregar:– especificación de protocolo

– uno o dos implantaciones representativas

IETF: Internet Engineering Task Force

Page 46: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 46

¿Cómo construir una aplicación de red?

• El punto de partida es la interfaz que exporta la red.

• La mayoría de los sistemas operativos implementan los protocolos de red como parte del núcleo, es decir la interfaz que exporta la red es la llamada API (Application Programming Interface).

• Si bien cada s.o. es libre para definir sus propias API de red, con el tiempo algunas han sido ampliamente soportadas, como es el caso de los sockets de UNIX.

• Con esto se logra portar aplicaciones entre distintos sistemas operativos.

Page 47: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 47

...¿Cómo construir una aplicación de red?

• Cada protocolo provee un conjunto de servicios. La API provee la sintaxis a través de la cual es posible obtener esos servicios.

• La principal abstracción de la interfaz socket se llama socket!. Un socket es la conexión entre una aplicación y la red

• Un socket se crea invocando la función:int socket(int domain, int type, int protocol)

domain:especifica la familia de protocolo. PF_INET para internet y PF_UNIX para pipes UNIX.

Page 48: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 48

...¿Cómo construir una aplicación de red?

type:semántica de la comunicación. SOCK_STREAM para flujo de bytes y SOCK__DGRAM para servicio orientado a mensajes.

protocol:se especifica el protocolo. Normalmente es UNSPEC porque la combinación PF_INET y SOCK_STREAM implica TCP.

Page 49: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 49

El servidor

int socket(int domain, int type, int protocol)

El socket retorna un identificador llamado handle que permite referenciarlo en el futuro.

El lado servidor hace un open pasivo, es decir se prepara para recibir conecciones. Esto lo hace invocando tres operaciones:

int bind(int socket, struct sockaddr *address, int addr_len)

• bind liga el socket recién creado con la dirección del servidor

• Si es un protocolo Internet, la dirección es la IP y el número de puerto.

Page 50: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 50

int listen(int socket, int backlog)

• Permite definir cuantas conecciones pueden quedar pendientes en un socket específico.

Int accept(int socket, struct sockaddr *address, int addr_len)

• Activa el open pasivo. La función se bloquea hasta que un participante remoto establece una conexión. Cuando se completa esta conexión, devuelve un nuevo socket que corresponde a la conexión recién establecida. La dirección corresponde a la dirección del participante remoto.

...El servidor

Page 51: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 51

En la máquina cliente, el proceso de aplicación hace un open activo invocando:

int connect(int socket, struct sockaddr *address, int addr_len)

• La función no retorna hasta que TCP ha establecido exitosamente una conexión. Una vez establecida la conexión, la aplicación puede comenzar el envío de datos.

• Mientras el servidor escucha en un puerto predeterminado, el cliente deja al sistema operativo que asigne algún puerto libre. Una vez establecida la conexión, la aplicación invoca dos operaciones para enviar y recibir datos:

int send(int socket, char *mensaje, int msg_len, int flags)

int recv(int socket, char *buffer, int buf_len, int flags)

El Cliente

Page 52: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 52

#!/usr/bin/python

#listening side.Server

from socket import *

s=socket(AF_INET, SOCK_STREAM) #AF_INET: internet, SOCK_STREAM: TCP

s.bind(('127.0.0.1',44444)) # 127.0.0.1 es el local loopback

s.listen(1) #Fija el largo de cola de conecciones pendientes

q,v=s.accept() #Retorna el socket q y direccion v

print 'mensaje desde: ', v

q.send('Hola, soy el servidor')

Ejemplo en Python: Código Servidor

Page 53: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 53

#!/usr/bin/python

#connecting side.Client side

from socket import *

r=socket(AF_INET, SOCK_STREAM)

r.connect(('127.0.0.1',44444))

t=r.recv(1024) #Recibe hasta 1024B

print t

Ejemplo en Python: Código Cliente

Page 54: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 54

Links a URLs relacionados

• Estándares IEEEhttp://standards.ieee.org

• Estado actual de varios estándareswww.acm.org./sigcomm/sos.html

• Información sobre IETF y grupos relacionados. Se pueden obtener RFC:www.ietf.cnri.reston.va.us

• Selección bibliográfica de temas de investigación en redeswww.research.att.com/#netbib

Page 55: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

Prof. Javier Cañas R. 55

...Links a URLs relacionados

• Todo sobre Internethttp://www.isoc.org

Page 56: Introducción a las RedesProf. Javier Cañas R. 13 LAN, MAN y WAM Una manera de caracterizar las redes es por su tamaño • LAN (Local Area Network): Redes con menos de 1 Km de extensión

FIN

Introducción