Protocolos en Redes CDN

26
1. Protocolos en Redes CDN - Descripción y Generalidades - Arquitectura de una red CDN - Redes Overlay What is an Overlay Network? Network specify addressing, routing, and service model for communication between hosts Overlay network built on top of one or more existing networks add an additional layer of indirection/virtualization change properties in one or more areas of underlying network Alternative change an existing network layer Overlay Network: Example Applications: Unicast vs. Multicast Sample applications which need one-to-many communication

Transcript of Protocolos en Redes CDN

Page 1: Protocolos en Redes CDN

1 Protocolos en Redes CDN- Descripcioacuten y Generalidades

- Arquitectura de una red CDN- Redes Overlay

What is an Overlay Network1048710 Network1048710 specify addressing routing and service model forcommunication between hosts1048710 Overlay network1048710 built on top of one or more existing networks1048710 add an additional layer of indirectionvirtualization1048710 change properties in one or more areas of underlyingnetwork1048710 Alternative1048710 change an existing network layer

Overlay Network Example

Applications Unicast vs Multicast1048710 Sample applications which need one-to-manycommunication1048710 multimedia transmission eg Internet radio1048710 Teleconferencing1048710 network games1048710 By unicast 1 senders and n receivers

1048710 needs to send n packets1048710 By multicast 1 senders and n receivers1048710 the sender needs to send 1 single packet to amulticast address1048710 the downstream routers duplicate this packet andforward the counterparts over the links along whichthere exist receivers

using unicast

Using Multicast

Why Multicast1048710 Efficiency of network resource utilization1048710 Using unicast1048710 load on the sender and first link ~n1048710 total load ~nd in which d is the network diameter1048710 Using multicast1048710 load on the sender and first link 11048710 total load ~ d log (n)

IP Multicast1048710 D class IP addresses (1110xxxx) are specified for multicast destinations1048710 A packet is sent to a multicast address1048710 Best effort delivery1048710 Dynamic membership of a multicast group1048710 join and leave the group at will1048710 Any host can send packets at any time1048710 including nonmember hosts

IP Multicast (contd)1048710 Hosts join and leave a multicast group using InternetGroup Management Protocol (IGMP)1048710 Network is responsible to transmit the packets to thehosts which join a multicast group1048710 multicast routing1048710 Remainder1048710 address assignment1048710 mapping application to group

Multicast Routing Algorithms1048710 Function1048710 to determine a multicast tree based on the location ofthe recipients in the network

1048710 Multicast tree1048710 source-specific tree1048710 shared tree1048710 Packets are replicated when a branch splits

Multicast Tree an Example

Link-State Multicast Routing1048710 Just add multicast group information to the link state1048710 How to obtain multicast group information1048710 periodical announcement of multicast groupmembership by hosts1048710 Use Dijkstrarsquo algorithm to compute a multicast tree

Distance-Vector Multicast RoutingDVMRP1048710 DVMRP Distance Vector Multicast Routing Protocol1048710 Basic idea pruned broadcast1048710 Begins with Reverse Path Broadcast (RPB) and is refinedwith Reverse Path Multicast (RPM)1048710 Observation1048710 the shortest path to a source has been known byunicast routing1048710 there is no loop formed when sending packets alongthe reverse direction

Reverse Path Broadcast (RPB)1048710 A router forwards a multicast packet on all other links1048710 if and only if the packet arrived over the appropriatelink

1048710 Shortcoming still broadcast1048710 packet flooding1048710 a destination host may receive multiple copies of thesame packet from multiple routers on the network1048710 solution1048710 the router on the shortest path to the source is theldquoparentrdquo and others are ldquochildrenrdquo1048710 only the ldquoparentrdquo forwards the packet to the hostson the network

Reverse-Path Multicast (RPM)1048710 If a leaf network has no members the router prunes therouting entry and propagates ldquono memberrdquo messagetowards to the source1048710 If all ldquochildrenrdquo routers prune the state the ldquoparentrdquofollows them and sends ldquono memberrdquo message towards tothe source1048710 Opposite of pruning grafting (when receiving joinmessage)

Protocol Independent Multicast (PIM)1048710 Motivation1048710 existing protocols works well in the case of densegroup members other than in the one of sparsemembers1048710 PIM unicast routing protocol independent1048710 More efficient in sparse scenario by PIM-SM

PIM-SM1048710 Routers explicitly join and leave a multicast group bysending JOIN and LEAVE messages to a rendezvouspoint associated with this group1048710 explicitly constructed multicast treeEither shared tree or source-specific tree

Shared and Source-Specific Tree1048710 Shared tree1048710 rooted at the rendezvous point1048710 established at relative nodes due to the propagation ofJOIN messages1048710 IP tunneling between the designated router of thesender and the rendezvous point1048710 can be replaced by direct delivery of multicastpackets RP sends a JOIN message to the sender1048710 Source-specific tree1048710 constructed when the routers send JOIN message to aspecific source1048710 Scalable or optimal

Pim dm

Multicastingbull Direcciones que se refieren al grupo dedispositivos en una o mas redesbull AplicacionesmdashMultimedia ldquobroadcastrdquomdashTele-conferenciamdashBases de datosmdashComputacioacuten DistribuidamdashGrupos de trabajo

Multicastbull Determinar la ruta a coste miacutenimo a cada redque contenga un dispositivo el grupobull Transmitir un uacutenico paquete a traveacutes del aacuterbolde expansioacutenbull Los enrutadores replican los paquetes en lasramas del aacuterbol de expansioacuten

Ejemplo de Transmision Multicast

Requerimientos Multicasting (1)bull El enrutador tiene que enviar maacutes de una copia delpaquetebull Se requiere una manera para identificar direccionesmulticastmdash IPv4 - Class D - direcciones comenzando por 1110mdash IPv6 - prefijo de 8 bits todos 1 4 bit campo de flags 4 bitscampo de cobertura 112 bits identificador de grupobull Los enrutadores deben ser capaces de traducir entre lalista de direcciones IP multicast y la lista de redes quecontienen miembros del grupobull Los enrutadores deben tambieacuten ser capaces de traducirentre las direcciones IP multicast y las direcciones dered multicast

Requerimientos Multicasting (2)bull Se requiere un mecanismo para que los nodospuedan agregarse o dejar un grupobull Los enrutadores deben intercambiar informacioacutenmdashQue redes incluyen miembros de un grupo dadomdashAlgoritmo de enrutamiento para determinar ruta acoste miacutenimomdashLos enrutadores deben determinar la ruta basados enlas direcciones fuente y destino

Internet Group Management Protocol (IGMP)bull RFC 3376bull Intercambio entre dispositivos y enrutadorespara establecer y mantener grupos multicast

Principios de Operacioacutenbull Los dispositivos enviacutean mensajes a losenrutadores para darse de alta o de baja a ungrupo multicastmdashUn grupo es definido por su direccioacuten multicastbull Los enrutadores verifican que grupos multicastpueden ser de intereacutes a que dispositivosbull Ya se ha definido la versioacuten 3 de IGMPbull IGMPv1mdashLos dispositivos pueden darse de alta a un grupomdashLos enrutadores utilizan temporizadores para dar debaja a ciertos miembros

Operacioacuten de IGMPv1 amp v2bull Los receptores tienen que suscribirse a los gruposbull Las fuentes no tienen que suscribirse a los gruposbull Cualquier dispositivo puede enviar mensajes a cualquiergrupo multicastbull Problemasmdash Si bien la aplicacioacuten puede filtrar y eliminar paquetes nodeseados estos consumen recursosmdash El establecimiento de los aacuterboles de distribucioacuten no es una tareafaacutecilmdash La localizacioacuten de las fuentes es desconocidamdash La definicioacuten de direcciones multicast globales es una tarea difiacutecil

IGMP v3bull Permite que los dispositivos especifiquen dequien quieren recibir paquetesmdashEl traacutefico proveniente de otros dispositivos esbloqueado por los enrutadoresbull Permite que los dispositivos bloqueen paquetesde otras fuentes que emitan traacutefico no deseado

Formato de Mensaje IGMP

Peticioacuten de Membresiacuteabull Enviado por el enrutador multicastbull Peticioacuten generalmdashPara conocer que grupos tienen miembros en la reden cuestioacutenbull Peticioacuten especiacutefica al grupomdashPara conocer si un grupo dado tiene miembros

Campos de la Peticioacuten de Membresia (1)bull Tipobull Tiempo maacuteximo de respuestamdashTiempo entre enviacuteos 110 segundobull ChecksummdashMismo algoritmo que el utilizado por IPv4bull Direccioacuten de grupomdashCero para el caso generalmdashDireccioacuten del grupo para un grupo especiacutefico o paraun grupo asociado a una fuente dada

Campos de la Peticioacuten de Membresiacutea(2)bull QRV (variable de robustez del enrutador que hace lapeticioacuten)mdash Valor RV utilizado por el enrutador que enviacutea la peticioacutenmdash RV indica el nuacutemero de retrasmisiones necesarias paraasegurarse que el mensaje de informe (report) no se pierdanbull QQIC (intervalo entre peticiones)mdash Valor usado por el dispositivo que emite la peticioacuten QI Temporizador para enviar muacuteltiples peticionesbull Nuacutemero de fuentesbull Direcciones fuentemdash Una direccioacuten unicast de 32 bits por cada fuente

Formato del Mensaje IGMP de Informe de Membresiacutea

Informe de Membresiacuteabull Tipobull Checksumbull Nuacutemero de Registros de Grupobull Registros de GrupomdashUna direccioacuten unicast de 32 bits por fuente

Formato del mensaje IGMP de registro de grupo

Registro de grupobull Tipo de registrobull Longitud de los datos auxiliaresmdashUnidades de 32 bitsbull Nuacutemero de fuentesbull Direccioacuten Multicastbull Direcciones FuentemdashUna direccioacuten unicast de 32 bits por fuentebull Datos auxiliaresmdashNo estaacuten definidos en la versioacuten actual

Operacion IGMP - Altabull Utilizado cuando un dispositivo quiere unirse a un grupoformado por enrutadores y dispositivos interconectadospor una red localbull IGMPv3 puede definir la membresiacutea a un grupo concapacidades de filtrado con respecto a ciertas fuentesmdash Modo EXCLUDE ndash todos los miembros del grupo exceptoaquellos en la listamdash Modo INCLUDE ndash Solamente los miembros del grupoespecificados en la listabull Para unirse a un grupo un dispositivo debe enviar unmensaje de membresiacutea IGMPmdash Debe indicar la direccioacuten multicast en el campo de direccioacutenmdash Los miembros del grupo reciben el mensaje

Operacioacuten IGMP ndash Conservando la lista actualizadabull Los enrutadores enviacutean perioacutedicamente mensajes depeticioacuten IGMPmdash Aquellos dispositivos que desean continuar en el grupo deben

leer y conservar las direcciones de todos los dispositivos queforman parte del grupomdash Los dispositivos enviacutean un mensaje de informe a todos losgrupos en el que desea seguir activobull EL enrutador no necesita conocer la direccioacuten de todoslos dispositivos miembros del grupomdash Necesita tan soacutelo conocer que al menos un miembro seencuentra auacuten activomdash Soacutelo se requiere que al menos un miembro del grupo se reporteal enrutador

Operacioacuten IGMP - Bajabull Para darse de baja de un grupo un dispositivo debeenviar un mensaje de baja a todos los enrutadoresbull El dispositivo deseando darse de baja enviacutea un mensajede informe con la opcioacuten EXCLUDE y con una lista dedirecciones vaciacuteabull El enrutador debe determinar si existen auacuten miembrosactivos para ello hace uso de un mensaje de grupoespeciacutefico

Membresiacutea de Grupo con IPv6bull IGMP ha sido definido para IPv4mdashUtiliza direcciones de 32 bitsbull Las funciones de IGMP han sido incorporadas enICMPv6 (Internet Control Message Protocolversioacuten 6)mdashICMPv6 incluye todas las funcionalidades de ICMPv4y IGMPbull ICMPv6 incluye la peticioacuten de membresiacutea y elinforme de membresiacuteamdashFunciona de manera similar a IGMP

Estensioacuten Multicast a OSPF (MOSPF)bull Utilizado para el enrutamiento multicast dentro de un ASbull Los enrutadores utilizan MOSPF para manteneractualizada la informacioacuten que permite determinar laconstitucioacuten de los grupos multicastbull De manera perioacutedica los enrutadores retransmiten estainformacioacuten utilizando la teacutecnica de inundacioacutenbull Los enrutadores construyen el aacuterbol de expansioacuten amiacutenimo coste partiendo de una fuente a todas las redesconteniendo miembros del grupo (Dijkstra)mdash Este procedimiento se hace soacutelo bajo demanda ya que llevamucho tiempo la elaboracioacuten del aacuterbol de expansioacuten

Transmisioacuten de paquetes Multicastbull Si un enrutador no reconoce la direccioacuten lamulticast el paquete se descartabull Si el enrutador estaacute interconectado a una redque contenga al menos un miembro del grupo

transmite una copia del mensaje hacia esta redbull Verifica el aacuterbol de expansioacuten asociado yretransmite hacia otros enrutadores en caso quesea necesariobull Un grupo multicast puede contener miembrosasociados a maacutes de una aacutereabull Los enrutadores soacutelo conocen la constitucioacuten delos grupos multicast dentro de su aacutereabull Un subconjunto de enrutadores funcionan comopasarelas cuya funcioacuten es retransmitir lainformacioacuten de membresiacutea y los paquetesmulticast entre las aacutereas

Multicasting Inter-ASbull Los enrutadores encargados de retransmitirentre los ASmdashEjecutan el protocolo de enrutamiento multicast entreAS asiacute como los protocolos de enrutamiento MOSPF yOSPFmdashMOSPF es utilizado dentro del AS

Ejemplo Enrutamiento MOSPF Routing

Caracetriacutesticas de MOSPFbull Desarrollado a partir de OSPFbull Disentildeado para funcionar dentro de un AS

bull No es eficiente para grandes grupos

Why Overlay Networks1048710 Current Internet works well but one size does not fit all1048710 applications need various types of service eg QoSmulticast security reliability1048710 many proposals eg multicast QoS require tochange a large number of network devices1048710 However Internet is rigid1048710 changes in the network happen slowly1048710 reason Internet is a shared infrastructure

Why Overlay Networks (contd)1048710 Solution by overlay network1048710 needs to change the nodes that are included in theoverlay network1048710 does not deploy new equipments or modify existingsoftwareprotocols at all nodes in the network1048710 a historical example IP over Ethernet1048710 Makes it easy to deploy new functionalities in the networkwith no influences on existing devices and services1048710 This also accelerates the pace of innovation

Costs of Overlay1048710 Adds overhead1048710 adds a layer in networking stack headers processing1048710 sometimes additional work is redundant egaddressing1048710 Adds complexity1048710 layering only manages complexity rather thaneliminate it1048710 more layers of functionality more possible unintendedinteraction between layers1048710example corruption drops on wireless interpretedas congestion drops by TCP

Samples of Overlay Network1048710 End system multicast1048710 Quality of service1048710 Routing overlay1048710 Security

Problems with IP Layer Multicast1048710 Scales poorly with number of groups1048710 a router must maintain state for every group thattraverses it1048710 Supporting higher level functionality is difficult1048710 IP multicast best-effort multi-point delivery service1048710 reliability and congestion control for IP Multicastcomplicated

1048710scalable end-to-end approach for heterogeneousreceivers is very difficult1048710requires more state and processing in routers1048710 Deployment is difficult and slow1048710 ISP is reluctant to turn on IP Multicast

End System Multicast Example

End System Multicast1048710 End hosts perform packet replication ie acting asmulticast routers1048710 these hosts consist of an overlay network over theunderlying network1048710 this requires only unicast from underlying network1048710 Set up multicast tree among hosts1048710 run multicast routing protocol in this overlay network1048710 The key is to construct an appropriate overlay network1048710 determine immediate ldquoneighborsrdquo1048710 by the measurement of RTT to other node chooseoptimal ones

Benefits1048710 Scalability1048710 routers do not maintain per-group state1048710 end systems do but they participate in very fewgroups1048710 Easier to deploy1048710 only requires adding software to end hosts1048710 Potentially simplifies support for higher level functionality1048710 use hop-by-hop approach but end hosts are routers1048710 leverage computation and storage of end systems egpacket buffering ACK aggregation1048710 leverage solutions for unicast congestion control andReliability

Performance ConcernsLatency in the overlay latencyin the underlying network1048710 Number of duplicate packetssent over the same physical link

Overlay Construction Problems1048710 Problem1048710 to establish an appropriate mesh overlay ie set upldquolinksrdquo (at overlay level) to other hosts1048710 Challenges1048710 dynamic changes in group membership1048710members may join leave die1048710 dynamic changes in network conditions and topology1048710delay between members may vary over time due tocongestion routing changes1048710 knowledge of network conditions is member specific1048710each member must determine network conditionsfor itself

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

- Peer to peer networks

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

Common Issues1048710 Organize and maintain an overlay network1048710 nodes join leave1048710 nodes die1048710 Resource location1048710 Locality (network proximity)1048710 Resource allocationload balancing

Napster1048710 Napster free music over the Internet1048710 Idea share the storage and bandwidth of individual users1048710 Model1048710 each user stores a subset of files1048710 each user has access files from all users in the system1048710 Challenges1048710 main find where a particular file is stored1048710 scale up to millions of users1048710 dynamicity users may join or leave any time1048710 Assume a centralized index system mapping files to alivemachines (users)

Napster Example

Solutions to the Location Problem1048710 Centralized directory1048710 example Napster1048710 advantage simplicity1048710 disadvantage robustness scalability1048710 Distributed directory Distributed Hash Table (DHT)abstraction1048710 examples Pastry Chord Content AddressableNetwork (CAN)1048710 Services built on top of DHTs1048710 persistent storage1048710 p2p file storage1048710 hellip

Pastry1048710 Self-organizing peer-to-peer network1048710 DHT consistent hashing1048710 Lookupinsert object in lt log16N routing steps (expected)1048710 O(log N) per-node state1048710 Network locality heuristics

Consistent Hashing1048710 128 bit circular id space1048710 hash(object name) -gt ObjID1048710 hash(IP addr) -gt NodeID1048710 Idea the node withnumerically closestNodeID maintains object

Object InsertionLookup1048710 Message with key xis forwarded to livenode with NodeIDclosest to x1048710 Problem completerouting table is notfeasible

Routing1048710 Properties1048710 log16 N steps1048710 O(log N) states

Leaf Sets1048710 Each node maintains IP addresses of the nodes with theL numerically closest larger and smaller NodeIDsrespectively1048710 routing efficiencyrobustness1048710 fault detection (keep-alive)1048710 application-specific local coordination

Routing Procedureif (destination is within range of our leaf set)forward to numerically closest memberelselet l = length of shared prefixlet d = value of l-th digit in Drsquos addressif (Rld exists)forward to Rldelseforward to a known node that(a) shares at least as long a prefix

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 2: Protocolos en Redes CDN

1048710 needs to send n packets1048710 By multicast 1 senders and n receivers1048710 the sender needs to send 1 single packet to amulticast address1048710 the downstream routers duplicate this packet andforward the counterparts over the links along whichthere exist receivers

using unicast

Using Multicast

Why Multicast1048710 Efficiency of network resource utilization1048710 Using unicast1048710 load on the sender and first link ~n1048710 total load ~nd in which d is the network diameter1048710 Using multicast1048710 load on the sender and first link 11048710 total load ~ d log (n)

IP Multicast1048710 D class IP addresses (1110xxxx) are specified for multicast destinations1048710 A packet is sent to a multicast address1048710 Best effort delivery1048710 Dynamic membership of a multicast group1048710 join and leave the group at will1048710 Any host can send packets at any time1048710 including nonmember hosts

IP Multicast (contd)1048710 Hosts join and leave a multicast group using InternetGroup Management Protocol (IGMP)1048710 Network is responsible to transmit the packets to thehosts which join a multicast group1048710 multicast routing1048710 Remainder1048710 address assignment1048710 mapping application to group

Multicast Routing Algorithms1048710 Function1048710 to determine a multicast tree based on the location ofthe recipients in the network

1048710 Multicast tree1048710 source-specific tree1048710 shared tree1048710 Packets are replicated when a branch splits

Multicast Tree an Example

Link-State Multicast Routing1048710 Just add multicast group information to the link state1048710 How to obtain multicast group information1048710 periodical announcement of multicast groupmembership by hosts1048710 Use Dijkstrarsquo algorithm to compute a multicast tree

Distance-Vector Multicast RoutingDVMRP1048710 DVMRP Distance Vector Multicast Routing Protocol1048710 Basic idea pruned broadcast1048710 Begins with Reverse Path Broadcast (RPB) and is refinedwith Reverse Path Multicast (RPM)1048710 Observation1048710 the shortest path to a source has been known byunicast routing1048710 there is no loop formed when sending packets alongthe reverse direction

Reverse Path Broadcast (RPB)1048710 A router forwards a multicast packet on all other links1048710 if and only if the packet arrived over the appropriatelink

1048710 Shortcoming still broadcast1048710 packet flooding1048710 a destination host may receive multiple copies of thesame packet from multiple routers on the network1048710 solution1048710 the router on the shortest path to the source is theldquoparentrdquo and others are ldquochildrenrdquo1048710 only the ldquoparentrdquo forwards the packet to the hostson the network

Reverse-Path Multicast (RPM)1048710 If a leaf network has no members the router prunes therouting entry and propagates ldquono memberrdquo messagetowards to the source1048710 If all ldquochildrenrdquo routers prune the state the ldquoparentrdquofollows them and sends ldquono memberrdquo message towards tothe source1048710 Opposite of pruning grafting (when receiving joinmessage)

Protocol Independent Multicast (PIM)1048710 Motivation1048710 existing protocols works well in the case of densegroup members other than in the one of sparsemembers1048710 PIM unicast routing protocol independent1048710 More efficient in sparse scenario by PIM-SM

PIM-SM1048710 Routers explicitly join and leave a multicast group bysending JOIN and LEAVE messages to a rendezvouspoint associated with this group1048710 explicitly constructed multicast treeEither shared tree or source-specific tree

Shared and Source-Specific Tree1048710 Shared tree1048710 rooted at the rendezvous point1048710 established at relative nodes due to the propagation ofJOIN messages1048710 IP tunneling between the designated router of thesender and the rendezvous point1048710 can be replaced by direct delivery of multicastpackets RP sends a JOIN message to the sender1048710 Source-specific tree1048710 constructed when the routers send JOIN message to aspecific source1048710 Scalable or optimal

Pim dm

Multicastingbull Direcciones que se refieren al grupo dedispositivos en una o mas redesbull AplicacionesmdashMultimedia ldquobroadcastrdquomdashTele-conferenciamdashBases de datosmdashComputacioacuten DistribuidamdashGrupos de trabajo

Multicastbull Determinar la ruta a coste miacutenimo a cada redque contenga un dispositivo el grupobull Transmitir un uacutenico paquete a traveacutes del aacuterbolde expansioacutenbull Los enrutadores replican los paquetes en lasramas del aacuterbol de expansioacuten

Ejemplo de Transmision Multicast

Requerimientos Multicasting (1)bull El enrutador tiene que enviar maacutes de una copia delpaquetebull Se requiere una manera para identificar direccionesmulticastmdash IPv4 - Class D - direcciones comenzando por 1110mdash IPv6 - prefijo de 8 bits todos 1 4 bit campo de flags 4 bitscampo de cobertura 112 bits identificador de grupobull Los enrutadores deben ser capaces de traducir entre lalista de direcciones IP multicast y la lista de redes quecontienen miembros del grupobull Los enrutadores deben tambieacuten ser capaces de traducirentre las direcciones IP multicast y las direcciones dered multicast

Requerimientos Multicasting (2)bull Se requiere un mecanismo para que los nodospuedan agregarse o dejar un grupobull Los enrutadores deben intercambiar informacioacutenmdashQue redes incluyen miembros de un grupo dadomdashAlgoritmo de enrutamiento para determinar ruta acoste miacutenimomdashLos enrutadores deben determinar la ruta basados enlas direcciones fuente y destino

Internet Group Management Protocol (IGMP)bull RFC 3376bull Intercambio entre dispositivos y enrutadorespara establecer y mantener grupos multicast

Principios de Operacioacutenbull Los dispositivos enviacutean mensajes a losenrutadores para darse de alta o de baja a ungrupo multicastmdashUn grupo es definido por su direccioacuten multicastbull Los enrutadores verifican que grupos multicastpueden ser de intereacutes a que dispositivosbull Ya se ha definido la versioacuten 3 de IGMPbull IGMPv1mdashLos dispositivos pueden darse de alta a un grupomdashLos enrutadores utilizan temporizadores para dar debaja a ciertos miembros

Operacioacuten de IGMPv1 amp v2bull Los receptores tienen que suscribirse a los gruposbull Las fuentes no tienen que suscribirse a los gruposbull Cualquier dispositivo puede enviar mensajes a cualquiergrupo multicastbull Problemasmdash Si bien la aplicacioacuten puede filtrar y eliminar paquetes nodeseados estos consumen recursosmdash El establecimiento de los aacuterboles de distribucioacuten no es una tareafaacutecilmdash La localizacioacuten de las fuentes es desconocidamdash La definicioacuten de direcciones multicast globales es una tarea difiacutecil

IGMP v3bull Permite que los dispositivos especifiquen dequien quieren recibir paquetesmdashEl traacutefico proveniente de otros dispositivos esbloqueado por los enrutadoresbull Permite que los dispositivos bloqueen paquetesde otras fuentes que emitan traacutefico no deseado

Formato de Mensaje IGMP

Peticioacuten de Membresiacuteabull Enviado por el enrutador multicastbull Peticioacuten generalmdashPara conocer que grupos tienen miembros en la reden cuestioacutenbull Peticioacuten especiacutefica al grupomdashPara conocer si un grupo dado tiene miembros

Campos de la Peticioacuten de Membresia (1)bull Tipobull Tiempo maacuteximo de respuestamdashTiempo entre enviacuteos 110 segundobull ChecksummdashMismo algoritmo que el utilizado por IPv4bull Direccioacuten de grupomdashCero para el caso generalmdashDireccioacuten del grupo para un grupo especiacutefico o paraun grupo asociado a una fuente dada

Campos de la Peticioacuten de Membresiacutea(2)bull QRV (variable de robustez del enrutador que hace lapeticioacuten)mdash Valor RV utilizado por el enrutador que enviacutea la peticioacutenmdash RV indica el nuacutemero de retrasmisiones necesarias paraasegurarse que el mensaje de informe (report) no se pierdanbull QQIC (intervalo entre peticiones)mdash Valor usado por el dispositivo que emite la peticioacuten QI Temporizador para enviar muacuteltiples peticionesbull Nuacutemero de fuentesbull Direcciones fuentemdash Una direccioacuten unicast de 32 bits por cada fuente

Formato del Mensaje IGMP de Informe de Membresiacutea

Informe de Membresiacuteabull Tipobull Checksumbull Nuacutemero de Registros de Grupobull Registros de GrupomdashUna direccioacuten unicast de 32 bits por fuente

Formato del mensaje IGMP de registro de grupo

Registro de grupobull Tipo de registrobull Longitud de los datos auxiliaresmdashUnidades de 32 bitsbull Nuacutemero de fuentesbull Direccioacuten Multicastbull Direcciones FuentemdashUna direccioacuten unicast de 32 bits por fuentebull Datos auxiliaresmdashNo estaacuten definidos en la versioacuten actual

Operacion IGMP - Altabull Utilizado cuando un dispositivo quiere unirse a un grupoformado por enrutadores y dispositivos interconectadospor una red localbull IGMPv3 puede definir la membresiacutea a un grupo concapacidades de filtrado con respecto a ciertas fuentesmdash Modo EXCLUDE ndash todos los miembros del grupo exceptoaquellos en la listamdash Modo INCLUDE ndash Solamente los miembros del grupoespecificados en la listabull Para unirse a un grupo un dispositivo debe enviar unmensaje de membresiacutea IGMPmdash Debe indicar la direccioacuten multicast en el campo de direccioacutenmdash Los miembros del grupo reciben el mensaje

Operacioacuten IGMP ndash Conservando la lista actualizadabull Los enrutadores enviacutean perioacutedicamente mensajes depeticioacuten IGMPmdash Aquellos dispositivos que desean continuar en el grupo deben

leer y conservar las direcciones de todos los dispositivos queforman parte del grupomdash Los dispositivos enviacutean un mensaje de informe a todos losgrupos en el que desea seguir activobull EL enrutador no necesita conocer la direccioacuten de todoslos dispositivos miembros del grupomdash Necesita tan soacutelo conocer que al menos un miembro seencuentra auacuten activomdash Soacutelo se requiere que al menos un miembro del grupo se reporteal enrutador

Operacioacuten IGMP - Bajabull Para darse de baja de un grupo un dispositivo debeenviar un mensaje de baja a todos los enrutadoresbull El dispositivo deseando darse de baja enviacutea un mensajede informe con la opcioacuten EXCLUDE y con una lista dedirecciones vaciacuteabull El enrutador debe determinar si existen auacuten miembrosactivos para ello hace uso de un mensaje de grupoespeciacutefico

Membresiacutea de Grupo con IPv6bull IGMP ha sido definido para IPv4mdashUtiliza direcciones de 32 bitsbull Las funciones de IGMP han sido incorporadas enICMPv6 (Internet Control Message Protocolversioacuten 6)mdashICMPv6 incluye todas las funcionalidades de ICMPv4y IGMPbull ICMPv6 incluye la peticioacuten de membresiacutea y elinforme de membresiacuteamdashFunciona de manera similar a IGMP

Estensioacuten Multicast a OSPF (MOSPF)bull Utilizado para el enrutamiento multicast dentro de un ASbull Los enrutadores utilizan MOSPF para manteneractualizada la informacioacuten que permite determinar laconstitucioacuten de los grupos multicastbull De manera perioacutedica los enrutadores retransmiten estainformacioacuten utilizando la teacutecnica de inundacioacutenbull Los enrutadores construyen el aacuterbol de expansioacuten amiacutenimo coste partiendo de una fuente a todas las redesconteniendo miembros del grupo (Dijkstra)mdash Este procedimiento se hace soacutelo bajo demanda ya que llevamucho tiempo la elaboracioacuten del aacuterbol de expansioacuten

Transmisioacuten de paquetes Multicastbull Si un enrutador no reconoce la direccioacuten lamulticast el paquete se descartabull Si el enrutador estaacute interconectado a una redque contenga al menos un miembro del grupo

transmite una copia del mensaje hacia esta redbull Verifica el aacuterbol de expansioacuten asociado yretransmite hacia otros enrutadores en caso quesea necesariobull Un grupo multicast puede contener miembrosasociados a maacutes de una aacutereabull Los enrutadores soacutelo conocen la constitucioacuten delos grupos multicast dentro de su aacutereabull Un subconjunto de enrutadores funcionan comopasarelas cuya funcioacuten es retransmitir lainformacioacuten de membresiacutea y los paquetesmulticast entre las aacutereas

Multicasting Inter-ASbull Los enrutadores encargados de retransmitirentre los ASmdashEjecutan el protocolo de enrutamiento multicast entreAS asiacute como los protocolos de enrutamiento MOSPF yOSPFmdashMOSPF es utilizado dentro del AS

Ejemplo Enrutamiento MOSPF Routing

Caracetriacutesticas de MOSPFbull Desarrollado a partir de OSPFbull Disentildeado para funcionar dentro de un AS

bull No es eficiente para grandes grupos

Why Overlay Networks1048710 Current Internet works well but one size does not fit all1048710 applications need various types of service eg QoSmulticast security reliability1048710 many proposals eg multicast QoS require tochange a large number of network devices1048710 However Internet is rigid1048710 changes in the network happen slowly1048710 reason Internet is a shared infrastructure

Why Overlay Networks (contd)1048710 Solution by overlay network1048710 needs to change the nodes that are included in theoverlay network1048710 does not deploy new equipments or modify existingsoftwareprotocols at all nodes in the network1048710 a historical example IP over Ethernet1048710 Makes it easy to deploy new functionalities in the networkwith no influences on existing devices and services1048710 This also accelerates the pace of innovation

Costs of Overlay1048710 Adds overhead1048710 adds a layer in networking stack headers processing1048710 sometimes additional work is redundant egaddressing1048710 Adds complexity1048710 layering only manages complexity rather thaneliminate it1048710 more layers of functionality more possible unintendedinteraction between layers1048710example corruption drops on wireless interpretedas congestion drops by TCP

Samples of Overlay Network1048710 End system multicast1048710 Quality of service1048710 Routing overlay1048710 Security

Problems with IP Layer Multicast1048710 Scales poorly with number of groups1048710 a router must maintain state for every group thattraverses it1048710 Supporting higher level functionality is difficult1048710 IP multicast best-effort multi-point delivery service1048710 reliability and congestion control for IP Multicastcomplicated

1048710scalable end-to-end approach for heterogeneousreceivers is very difficult1048710requires more state and processing in routers1048710 Deployment is difficult and slow1048710 ISP is reluctant to turn on IP Multicast

End System Multicast Example

End System Multicast1048710 End hosts perform packet replication ie acting asmulticast routers1048710 these hosts consist of an overlay network over theunderlying network1048710 this requires only unicast from underlying network1048710 Set up multicast tree among hosts1048710 run multicast routing protocol in this overlay network1048710 The key is to construct an appropriate overlay network1048710 determine immediate ldquoneighborsrdquo1048710 by the measurement of RTT to other node chooseoptimal ones

Benefits1048710 Scalability1048710 routers do not maintain per-group state1048710 end systems do but they participate in very fewgroups1048710 Easier to deploy1048710 only requires adding software to end hosts1048710 Potentially simplifies support for higher level functionality1048710 use hop-by-hop approach but end hosts are routers1048710 leverage computation and storage of end systems egpacket buffering ACK aggregation1048710 leverage solutions for unicast congestion control andReliability

Performance ConcernsLatency in the overlay latencyin the underlying network1048710 Number of duplicate packetssent over the same physical link

Overlay Construction Problems1048710 Problem1048710 to establish an appropriate mesh overlay ie set upldquolinksrdquo (at overlay level) to other hosts1048710 Challenges1048710 dynamic changes in group membership1048710members may join leave die1048710 dynamic changes in network conditions and topology1048710delay between members may vary over time due tocongestion routing changes1048710 knowledge of network conditions is member specific1048710each member must determine network conditionsfor itself

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

- Peer to peer networks

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

Common Issues1048710 Organize and maintain an overlay network1048710 nodes join leave1048710 nodes die1048710 Resource location1048710 Locality (network proximity)1048710 Resource allocationload balancing

Napster1048710 Napster free music over the Internet1048710 Idea share the storage and bandwidth of individual users1048710 Model1048710 each user stores a subset of files1048710 each user has access files from all users in the system1048710 Challenges1048710 main find where a particular file is stored1048710 scale up to millions of users1048710 dynamicity users may join or leave any time1048710 Assume a centralized index system mapping files to alivemachines (users)

Napster Example

Solutions to the Location Problem1048710 Centralized directory1048710 example Napster1048710 advantage simplicity1048710 disadvantage robustness scalability1048710 Distributed directory Distributed Hash Table (DHT)abstraction1048710 examples Pastry Chord Content AddressableNetwork (CAN)1048710 Services built on top of DHTs1048710 persistent storage1048710 p2p file storage1048710 hellip

Pastry1048710 Self-organizing peer-to-peer network1048710 DHT consistent hashing1048710 Lookupinsert object in lt log16N routing steps (expected)1048710 O(log N) per-node state1048710 Network locality heuristics

Consistent Hashing1048710 128 bit circular id space1048710 hash(object name) -gt ObjID1048710 hash(IP addr) -gt NodeID1048710 Idea the node withnumerically closestNodeID maintains object

Object InsertionLookup1048710 Message with key xis forwarded to livenode with NodeIDclosest to x1048710 Problem completerouting table is notfeasible

Routing1048710 Properties1048710 log16 N steps1048710 O(log N) states

Leaf Sets1048710 Each node maintains IP addresses of the nodes with theL numerically closest larger and smaller NodeIDsrespectively1048710 routing efficiencyrobustness1048710 fault detection (keep-alive)1048710 application-specific local coordination

Routing Procedureif (destination is within range of our leaf set)forward to numerically closest memberelselet l = length of shared prefixlet d = value of l-th digit in Drsquos addressif (Rld exists)forward to Rldelseforward to a known node that(a) shares at least as long a prefix

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 3: Protocolos en Redes CDN

Why Multicast1048710 Efficiency of network resource utilization1048710 Using unicast1048710 load on the sender and first link ~n1048710 total load ~nd in which d is the network diameter1048710 Using multicast1048710 load on the sender and first link 11048710 total load ~ d log (n)

IP Multicast1048710 D class IP addresses (1110xxxx) are specified for multicast destinations1048710 A packet is sent to a multicast address1048710 Best effort delivery1048710 Dynamic membership of a multicast group1048710 join and leave the group at will1048710 Any host can send packets at any time1048710 including nonmember hosts

IP Multicast (contd)1048710 Hosts join and leave a multicast group using InternetGroup Management Protocol (IGMP)1048710 Network is responsible to transmit the packets to thehosts which join a multicast group1048710 multicast routing1048710 Remainder1048710 address assignment1048710 mapping application to group

Multicast Routing Algorithms1048710 Function1048710 to determine a multicast tree based on the location ofthe recipients in the network

1048710 Multicast tree1048710 source-specific tree1048710 shared tree1048710 Packets are replicated when a branch splits

Multicast Tree an Example

Link-State Multicast Routing1048710 Just add multicast group information to the link state1048710 How to obtain multicast group information1048710 periodical announcement of multicast groupmembership by hosts1048710 Use Dijkstrarsquo algorithm to compute a multicast tree

Distance-Vector Multicast RoutingDVMRP1048710 DVMRP Distance Vector Multicast Routing Protocol1048710 Basic idea pruned broadcast1048710 Begins with Reverse Path Broadcast (RPB) and is refinedwith Reverse Path Multicast (RPM)1048710 Observation1048710 the shortest path to a source has been known byunicast routing1048710 there is no loop formed when sending packets alongthe reverse direction

Reverse Path Broadcast (RPB)1048710 A router forwards a multicast packet on all other links1048710 if and only if the packet arrived over the appropriatelink

1048710 Shortcoming still broadcast1048710 packet flooding1048710 a destination host may receive multiple copies of thesame packet from multiple routers on the network1048710 solution1048710 the router on the shortest path to the source is theldquoparentrdquo and others are ldquochildrenrdquo1048710 only the ldquoparentrdquo forwards the packet to the hostson the network

Reverse-Path Multicast (RPM)1048710 If a leaf network has no members the router prunes therouting entry and propagates ldquono memberrdquo messagetowards to the source1048710 If all ldquochildrenrdquo routers prune the state the ldquoparentrdquofollows them and sends ldquono memberrdquo message towards tothe source1048710 Opposite of pruning grafting (when receiving joinmessage)

Protocol Independent Multicast (PIM)1048710 Motivation1048710 existing protocols works well in the case of densegroup members other than in the one of sparsemembers1048710 PIM unicast routing protocol independent1048710 More efficient in sparse scenario by PIM-SM

PIM-SM1048710 Routers explicitly join and leave a multicast group bysending JOIN and LEAVE messages to a rendezvouspoint associated with this group1048710 explicitly constructed multicast treeEither shared tree or source-specific tree

Shared and Source-Specific Tree1048710 Shared tree1048710 rooted at the rendezvous point1048710 established at relative nodes due to the propagation ofJOIN messages1048710 IP tunneling between the designated router of thesender and the rendezvous point1048710 can be replaced by direct delivery of multicastpackets RP sends a JOIN message to the sender1048710 Source-specific tree1048710 constructed when the routers send JOIN message to aspecific source1048710 Scalable or optimal

Pim dm

Multicastingbull Direcciones que se refieren al grupo dedispositivos en una o mas redesbull AplicacionesmdashMultimedia ldquobroadcastrdquomdashTele-conferenciamdashBases de datosmdashComputacioacuten DistribuidamdashGrupos de trabajo

Multicastbull Determinar la ruta a coste miacutenimo a cada redque contenga un dispositivo el grupobull Transmitir un uacutenico paquete a traveacutes del aacuterbolde expansioacutenbull Los enrutadores replican los paquetes en lasramas del aacuterbol de expansioacuten

Ejemplo de Transmision Multicast

Requerimientos Multicasting (1)bull El enrutador tiene que enviar maacutes de una copia delpaquetebull Se requiere una manera para identificar direccionesmulticastmdash IPv4 - Class D - direcciones comenzando por 1110mdash IPv6 - prefijo de 8 bits todos 1 4 bit campo de flags 4 bitscampo de cobertura 112 bits identificador de grupobull Los enrutadores deben ser capaces de traducir entre lalista de direcciones IP multicast y la lista de redes quecontienen miembros del grupobull Los enrutadores deben tambieacuten ser capaces de traducirentre las direcciones IP multicast y las direcciones dered multicast

Requerimientos Multicasting (2)bull Se requiere un mecanismo para que los nodospuedan agregarse o dejar un grupobull Los enrutadores deben intercambiar informacioacutenmdashQue redes incluyen miembros de un grupo dadomdashAlgoritmo de enrutamiento para determinar ruta acoste miacutenimomdashLos enrutadores deben determinar la ruta basados enlas direcciones fuente y destino

Internet Group Management Protocol (IGMP)bull RFC 3376bull Intercambio entre dispositivos y enrutadorespara establecer y mantener grupos multicast

Principios de Operacioacutenbull Los dispositivos enviacutean mensajes a losenrutadores para darse de alta o de baja a ungrupo multicastmdashUn grupo es definido por su direccioacuten multicastbull Los enrutadores verifican que grupos multicastpueden ser de intereacutes a que dispositivosbull Ya se ha definido la versioacuten 3 de IGMPbull IGMPv1mdashLos dispositivos pueden darse de alta a un grupomdashLos enrutadores utilizan temporizadores para dar debaja a ciertos miembros

Operacioacuten de IGMPv1 amp v2bull Los receptores tienen que suscribirse a los gruposbull Las fuentes no tienen que suscribirse a los gruposbull Cualquier dispositivo puede enviar mensajes a cualquiergrupo multicastbull Problemasmdash Si bien la aplicacioacuten puede filtrar y eliminar paquetes nodeseados estos consumen recursosmdash El establecimiento de los aacuterboles de distribucioacuten no es una tareafaacutecilmdash La localizacioacuten de las fuentes es desconocidamdash La definicioacuten de direcciones multicast globales es una tarea difiacutecil

IGMP v3bull Permite que los dispositivos especifiquen dequien quieren recibir paquetesmdashEl traacutefico proveniente de otros dispositivos esbloqueado por los enrutadoresbull Permite que los dispositivos bloqueen paquetesde otras fuentes que emitan traacutefico no deseado

Formato de Mensaje IGMP

Peticioacuten de Membresiacuteabull Enviado por el enrutador multicastbull Peticioacuten generalmdashPara conocer que grupos tienen miembros en la reden cuestioacutenbull Peticioacuten especiacutefica al grupomdashPara conocer si un grupo dado tiene miembros

Campos de la Peticioacuten de Membresia (1)bull Tipobull Tiempo maacuteximo de respuestamdashTiempo entre enviacuteos 110 segundobull ChecksummdashMismo algoritmo que el utilizado por IPv4bull Direccioacuten de grupomdashCero para el caso generalmdashDireccioacuten del grupo para un grupo especiacutefico o paraun grupo asociado a una fuente dada

Campos de la Peticioacuten de Membresiacutea(2)bull QRV (variable de robustez del enrutador que hace lapeticioacuten)mdash Valor RV utilizado por el enrutador que enviacutea la peticioacutenmdash RV indica el nuacutemero de retrasmisiones necesarias paraasegurarse que el mensaje de informe (report) no se pierdanbull QQIC (intervalo entre peticiones)mdash Valor usado por el dispositivo que emite la peticioacuten QI Temporizador para enviar muacuteltiples peticionesbull Nuacutemero de fuentesbull Direcciones fuentemdash Una direccioacuten unicast de 32 bits por cada fuente

Formato del Mensaje IGMP de Informe de Membresiacutea

Informe de Membresiacuteabull Tipobull Checksumbull Nuacutemero de Registros de Grupobull Registros de GrupomdashUna direccioacuten unicast de 32 bits por fuente

Formato del mensaje IGMP de registro de grupo

Registro de grupobull Tipo de registrobull Longitud de los datos auxiliaresmdashUnidades de 32 bitsbull Nuacutemero de fuentesbull Direccioacuten Multicastbull Direcciones FuentemdashUna direccioacuten unicast de 32 bits por fuentebull Datos auxiliaresmdashNo estaacuten definidos en la versioacuten actual

Operacion IGMP - Altabull Utilizado cuando un dispositivo quiere unirse a un grupoformado por enrutadores y dispositivos interconectadospor una red localbull IGMPv3 puede definir la membresiacutea a un grupo concapacidades de filtrado con respecto a ciertas fuentesmdash Modo EXCLUDE ndash todos los miembros del grupo exceptoaquellos en la listamdash Modo INCLUDE ndash Solamente los miembros del grupoespecificados en la listabull Para unirse a un grupo un dispositivo debe enviar unmensaje de membresiacutea IGMPmdash Debe indicar la direccioacuten multicast en el campo de direccioacutenmdash Los miembros del grupo reciben el mensaje

Operacioacuten IGMP ndash Conservando la lista actualizadabull Los enrutadores enviacutean perioacutedicamente mensajes depeticioacuten IGMPmdash Aquellos dispositivos que desean continuar en el grupo deben

leer y conservar las direcciones de todos los dispositivos queforman parte del grupomdash Los dispositivos enviacutean un mensaje de informe a todos losgrupos en el que desea seguir activobull EL enrutador no necesita conocer la direccioacuten de todoslos dispositivos miembros del grupomdash Necesita tan soacutelo conocer que al menos un miembro seencuentra auacuten activomdash Soacutelo se requiere que al menos un miembro del grupo se reporteal enrutador

Operacioacuten IGMP - Bajabull Para darse de baja de un grupo un dispositivo debeenviar un mensaje de baja a todos los enrutadoresbull El dispositivo deseando darse de baja enviacutea un mensajede informe con la opcioacuten EXCLUDE y con una lista dedirecciones vaciacuteabull El enrutador debe determinar si existen auacuten miembrosactivos para ello hace uso de un mensaje de grupoespeciacutefico

Membresiacutea de Grupo con IPv6bull IGMP ha sido definido para IPv4mdashUtiliza direcciones de 32 bitsbull Las funciones de IGMP han sido incorporadas enICMPv6 (Internet Control Message Protocolversioacuten 6)mdashICMPv6 incluye todas las funcionalidades de ICMPv4y IGMPbull ICMPv6 incluye la peticioacuten de membresiacutea y elinforme de membresiacuteamdashFunciona de manera similar a IGMP

Estensioacuten Multicast a OSPF (MOSPF)bull Utilizado para el enrutamiento multicast dentro de un ASbull Los enrutadores utilizan MOSPF para manteneractualizada la informacioacuten que permite determinar laconstitucioacuten de los grupos multicastbull De manera perioacutedica los enrutadores retransmiten estainformacioacuten utilizando la teacutecnica de inundacioacutenbull Los enrutadores construyen el aacuterbol de expansioacuten amiacutenimo coste partiendo de una fuente a todas las redesconteniendo miembros del grupo (Dijkstra)mdash Este procedimiento se hace soacutelo bajo demanda ya que llevamucho tiempo la elaboracioacuten del aacuterbol de expansioacuten

Transmisioacuten de paquetes Multicastbull Si un enrutador no reconoce la direccioacuten lamulticast el paquete se descartabull Si el enrutador estaacute interconectado a una redque contenga al menos un miembro del grupo

transmite una copia del mensaje hacia esta redbull Verifica el aacuterbol de expansioacuten asociado yretransmite hacia otros enrutadores en caso quesea necesariobull Un grupo multicast puede contener miembrosasociados a maacutes de una aacutereabull Los enrutadores soacutelo conocen la constitucioacuten delos grupos multicast dentro de su aacutereabull Un subconjunto de enrutadores funcionan comopasarelas cuya funcioacuten es retransmitir lainformacioacuten de membresiacutea y los paquetesmulticast entre las aacutereas

Multicasting Inter-ASbull Los enrutadores encargados de retransmitirentre los ASmdashEjecutan el protocolo de enrutamiento multicast entreAS asiacute como los protocolos de enrutamiento MOSPF yOSPFmdashMOSPF es utilizado dentro del AS

Ejemplo Enrutamiento MOSPF Routing

Caracetriacutesticas de MOSPFbull Desarrollado a partir de OSPFbull Disentildeado para funcionar dentro de un AS

bull No es eficiente para grandes grupos

Why Overlay Networks1048710 Current Internet works well but one size does not fit all1048710 applications need various types of service eg QoSmulticast security reliability1048710 many proposals eg multicast QoS require tochange a large number of network devices1048710 However Internet is rigid1048710 changes in the network happen slowly1048710 reason Internet is a shared infrastructure

Why Overlay Networks (contd)1048710 Solution by overlay network1048710 needs to change the nodes that are included in theoverlay network1048710 does not deploy new equipments or modify existingsoftwareprotocols at all nodes in the network1048710 a historical example IP over Ethernet1048710 Makes it easy to deploy new functionalities in the networkwith no influences on existing devices and services1048710 This also accelerates the pace of innovation

Costs of Overlay1048710 Adds overhead1048710 adds a layer in networking stack headers processing1048710 sometimes additional work is redundant egaddressing1048710 Adds complexity1048710 layering only manages complexity rather thaneliminate it1048710 more layers of functionality more possible unintendedinteraction between layers1048710example corruption drops on wireless interpretedas congestion drops by TCP

Samples of Overlay Network1048710 End system multicast1048710 Quality of service1048710 Routing overlay1048710 Security

Problems with IP Layer Multicast1048710 Scales poorly with number of groups1048710 a router must maintain state for every group thattraverses it1048710 Supporting higher level functionality is difficult1048710 IP multicast best-effort multi-point delivery service1048710 reliability and congestion control for IP Multicastcomplicated

1048710scalable end-to-end approach for heterogeneousreceivers is very difficult1048710requires more state and processing in routers1048710 Deployment is difficult and slow1048710 ISP is reluctant to turn on IP Multicast

End System Multicast Example

End System Multicast1048710 End hosts perform packet replication ie acting asmulticast routers1048710 these hosts consist of an overlay network over theunderlying network1048710 this requires only unicast from underlying network1048710 Set up multicast tree among hosts1048710 run multicast routing protocol in this overlay network1048710 The key is to construct an appropriate overlay network1048710 determine immediate ldquoneighborsrdquo1048710 by the measurement of RTT to other node chooseoptimal ones

Benefits1048710 Scalability1048710 routers do not maintain per-group state1048710 end systems do but they participate in very fewgroups1048710 Easier to deploy1048710 only requires adding software to end hosts1048710 Potentially simplifies support for higher level functionality1048710 use hop-by-hop approach but end hosts are routers1048710 leverage computation and storage of end systems egpacket buffering ACK aggregation1048710 leverage solutions for unicast congestion control andReliability

Performance ConcernsLatency in the overlay latencyin the underlying network1048710 Number of duplicate packetssent over the same physical link

Overlay Construction Problems1048710 Problem1048710 to establish an appropriate mesh overlay ie set upldquolinksrdquo (at overlay level) to other hosts1048710 Challenges1048710 dynamic changes in group membership1048710members may join leave die1048710 dynamic changes in network conditions and topology1048710delay between members may vary over time due tocongestion routing changes1048710 knowledge of network conditions is member specific1048710each member must determine network conditionsfor itself

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

- Peer to peer networks

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

Common Issues1048710 Organize and maintain an overlay network1048710 nodes join leave1048710 nodes die1048710 Resource location1048710 Locality (network proximity)1048710 Resource allocationload balancing

Napster1048710 Napster free music over the Internet1048710 Idea share the storage and bandwidth of individual users1048710 Model1048710 each user stores a subset of files1048710 each user has access files from all users in the system1048710 Challenges1048710 main find where a particular file is stored1048710 scale up to millions of users1048710 dynamicity users may join or leave any time1048710 Assume a centralized index system mapping files to alivemachines (users)

Napster Example

Solutions to the Location Problem1048710 Centralized directory1048710 example Napster1048710 advantage simplicity1048710 disadvantage robustness scalability1048710 Distributed directory Distributed Hash Table (DHT)abstraction1048710 examples Pastry Chord Content AddressableNetwork (CAN)1048710 Services built on top of DHTs1048710 persistent storage1048710 p2p file storage1048710 hellip

Pastry1048710 Self-organizing peer-to-peer network1048710 DHT consistent hashing1048710 Lookupinsert object in lt log16N routing steps (expected)1048710 O(log N) per-node state1048710 Network locality heuristics

Consistent Hashing1048710 128 bit circular id space1048710 hash(object name) -gt ObjID1048710 hash(IP addr) -gt NodeID1048710 Idea the node withnumerically closestNodeID maintains object

Object InsertionLookup1048710 Message with key xis forwarded to livenode with NodeIDclosest to x1048710 Problem completerouting table is notfeasible

Routing1048710 Properties1048710 log16 N steps1048710 O(log N) states

Leaf Sets1048710 Each node maintains IP addresses of the nodes with theL numerically closest larger and smaller NodeIDsrespectively1048710 routing efficiencyrobustness1048710 fault detection (keep-alive)1048710 application-specific local coordination

Routing Procedureif (destination is within range of our leaf set)forward to numerically closest memberelselet l = length of shared prefixlet d = value of l-th digit in Drsquos addressif (Rld exists)forward to Rldelseforward to a known node that(a) shares at least as long a prefix

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 4: Protocolos en Redes CDN

1048710 Multicast tree1048710 source-specific tree1048710 shared tree1048710 Packets are replicated when a branch splits

Multicast Tree an Example

Link-State Multicast Routing1048710 Just add multicast group information to the link state1048710 How to obtain multicast group information1048710 periodical announcement of multicast groupmembership by hosts1048710 Use Dijkstrarsquo algorithm to compute a multicast tree

Distance-Vector Multicast RoutingDVMRP1048710 DVMRP Distance Vector Multicast Routing Protocol1048710 Basic idea pruned broadcast1048710 Begins with Reverse Path Broadcast (RPB) and is refinedwith Reverse Path Multicast (RPM)1048710 Observation1048710 the shortest path to a source has been known byunicast routing1048710 there is no loop formed when sending packets alongthe reverse direction

Reverse Path Broadcast (RPB)1048710 A router forwards a multicast packet on all other links1048710 if and only if the packet arrived over the appropriatelink

1048710 Shortcoming still broadcast1048710 packet flooding1048710 a destination host may receive multiple copies of thesame packet from multiple routers on the network1048710 solution1048710 the router on the shortest path to the source is theldquoparentrdquo and others are ldquochildrenrdquo1048710 only the ldquoparentrdquo forwards the packet to the hostson the network

Reverse-Path Multicast (RPM)1048710 If a leaf network has no members the router prunes therouting entry and propagates ldquono memberrdquo messagetowards to the source1048710 If all ldquochildrenrdquo routers prune the state the ldquoparentrdquofollows them and sends ldquono memberrdquo message towards tothe source1048710 Opposite of pruning grafting (when receiving joinmessage)

Protocol Independent Multicast (PIM)1048710 Motivation1048710 existing protocols works well in the case of densegroup members other than in the one of sparsemembers1048710 PIM unicast routing protocol independent1048710 More efficient in sparse scenario by PIM-SM

PIM-SM1048710 Routers explicitly join and leave a multicast group bysending JOIN and LEAVE messages to a rendezvouspoint associated with this group1048710 explicitly constructed multicast treeEither shared tree or source-specific tree

Shared and Source-Specific Tree1048710 Shared tree1048710 rooted at the rendezvous point1048710 established at relative nodes due to the propagation ofJOIN messages1048710 IP tunneling between the designated router of thesender and the rendezvous point1048710 can be replaced by direct delivery of multicastpackets RP sends a JOIN message to the sender1048710 Source-specific tree1048710 constructed when the routers send JOIN message to aspecific source1048710 Scalable or optimal

Pim dm

Multicastingbull Direcciones que se refieren al grupo dedispositivos en una o mas redesbull AplicacionesmdashMultimedia ldquobroadcastrdquomdashTele-conferenciamdashBases de datosmdashComputacioacuten DistribuidamdashGrupos de trabajo

Multicastbull Determinar la ruta a coste miacutenimo a cada redque contenga un dispositivo el grupobull Transmitir un uacutenico paquete a traveacutes del aacuterbolde expansioacutenbull Los enrutadores replican los paquetes en lasramas del aacuterbol de expansioacuten

Ejemplo de Transmision Multicast

Requerimientos Multicasting (1)bull El enrutador tiene que enviar maacutes de una copia delpaquetebull Se requiere una manera para identificar direccionesmulticastmdash IPv4 - Class D - direcciones comenzando por 1110mdash IPv6 - prefijo de 8 bits todos 1 4 bit campo de flags 4 bitscampo de cobertura 112 bits identificador de grupobull Los enrutadores deben ser capaces de traducir entre lalista de direcciones IP multicast y la lista de redes quecontienen miembros del grupobull Los enrutadores deben tambieacuten ser capaces de traducirentre las direcciones IP multicast y las direcciones dered multicast

Requerimientos Multicasting (2)bull Se requiere un mecanismo para que los nodospuedan agregarse o dejar un grupobull Los enrutadores deben intercambiar informacioacutenmdashQue redes incluyen miembros de un grupo dadomdashAlgoritmo de enrutamiento para determinar ruta acoste miacutenimomdashLos enrutadores deben determinar la ruta basados enlas direcciones fuente y destino

Internet Group Management Protocol (IGMP)bull RFC 3376bull Intercambio entre dispositivos y enrutadorespara establecer y mantener grupos multicast

Principios de Operacioacutenbull Los dispositivos enviacutean mensajes a losenrutadores para darse de alta o de baja a ungrupo multicastmdashUn grupo es definido por su direccioacuten multicastbull Los enrutadores verifican que grupos multicastpueden ser de intereacutes a que dispositivosbull Ya se ha definido la versioacuten 3 de IGMPbull IGMPv1mdashLos dispositivos pueden darse de alta a un grupomdashLos enrutadores utilizan temporizadores para dar debaja a ciertos miembros

Operacioacuten de IGMPv1 amp v2bull Los receptores tienen que suscribirse a los gruposbull Las fuentes no tienen que suscribirse a los gruposbull Cualquier dispositivo puede enviar mensajes a cualquiergrupo multicastbull Problemasmdash Si bien la aplicacioacuten puede filtrar y eliminar paquetes nodeseados estos consumen recursosmdash El establecimiento de los aacuterboles de distribucioacuten no es una tareafaacutecilmdash La localizacioacuten de las fuentes es desconocidamdash La definicioacuten de direcciones multicast globales es una tarea difiacutecil

IGMP v3bull Permite que los dispositivos especifiquen dequien quieren recibir paquetesmdashEl traacutefico proveniente de otros dispositivos esbloqueado por los enrutadoresbull Permite que los dispositivos bloqueen paquetesde otras fuentes que emitan traacutefico no deseado

Formato de Mensaje IGMP

Peticioacuten de Membresiacuteabull Enviado por el enrutador multicastbull Peticioacuten generalmdashPara conocer que grupos tienen miembros en la reden cuestioacutenbull Peticioacuten especiacutefica al grupomdashPara conocer si un grupo dado tiene miembros

Campos de la Peticioacuten de Membresia (1)bull Tipobull Tiempo maacuteximo de respuestamdashTiempo entre enviacuteos 110 segundobull ChecksummdashMismo algoritmo que el utilizado por IPv4bull Direccioacuten de grupomdashCero para el caso generalmdashDireccioacuten del grupo para un grupo especiacutefico o paraun grupo asociado a una fuente dada

Campos de la Peticioacuten de Membresiacutea(2)bull QRV (variable de robustez del enrutador que hace lapeticioacuten)mdash Valor RV utilizado por el enrutador que enviacutea la peticioacutenmdash RV indica el nuacutemero de retrasmisiones necesarias paraasegurarse que el mensaje de informe (report) no se pierdanbull QQIC (intervalo entre peticiones)mdash Valor usado por el dispositivo que emite la peticioacuten QI Temporizador para enviar muacuteltiples peticionesbull Nuacutemero de fuentesbull Direcciones fuentemdash Una direccioacuten unicast de 32 bits por cada fuente

Formato del Mensaje IGMP de Informe de Membresiacutea

Informe de Membresiacuteabull Tipobull Checksumbull Nuacutemero de Registros de Grupobull Registros de GrupomdashUna direccioacuten unicast de 32 bits por fuente

Formato del mensaje IGMP de registro de grupo

Registro de grupobull Tipo de registrobull Longitud de los datos auxiliaresmdashUnidades de 32 bitsbull Nuacutemero de fuentesbull Direccioacuten Multicastbull Direcciones FuentemdashUna direccioacuten unicast de 32 bits por fuentebull Datos auxiliaresmdashNo estaacuten definidos en la versioacuten actual

Operacion IGMP - Altabull Utilizado cuando un dispositivo quiere unirse a un grupoformado por enrutadores y dispositivos interconectadospor una red localbull IGMPv3 puede definir la membresiacutea a un grupo concapacidades de filtrado con respecto a ciertas fuentesmdash Modo EXCLUDE ndash todos los miembros del grupo exceptoaquellos en la listamdash Modo INCLUDE ndash Solamente los miembros del grupoespecificados en la listabull Para unirse a un grupo un dispositivo debe enviar unmensaje de membresiacutea IGMPmdash Debe indicar la direccioacuten multicast en el campo de direccioacutenmdash Los miembros del grupo reciben el mensaje

Operacioacuten IGMP ndash Conservando la lista actualizadabull Los enrutadores enviacutean perioacutedicamente mensajes depeticioacuten IGMPmdash Aquellos dispositivos que desean continuar en el grupo deben

leer y conservar las direcciones de todos los dispositivos queforman parte del grupomdash Los dispositivos enviacutean un mensaje de informe a todos losgrupos en el que desea seguir activobull EL enrutador no necesita conocer la direccioacuten de todoslos dispositivos miembros del grupomdash Necesita tan soacutelo conocer que al menos un miembro seencuentra auacuten activomdash Soacutelo se requiere que al menos un miembro del grupo se reporteal enrutador

Operacioacuten IGMP - Bajabull Para darse de baja de un grupo un dispositivo debeenviar un mensaje de baja a todos los enrutadoresbull El dispositivo deseando darse de baja enviacutea un mensajede informe con la opcioacuten EXCLUDE y con una lista dedirecciones vaciacuteabull El enrutador debe determinar si existen auacuten miembrosactivos para ello hace uso de un mensaje de grupoespeciacutefico

Membresiacutea de Grupo con IPv6bull IGMP ha sido definido para IPv4mdashUtiliza direcciones de 32 bitsbull Las funciones de IGMP han sido incorporadas enICMPv6 (Internet Control Message Protocolversioacuten 6)mdashICMPv6 incluye todas las funcionalidades de ICMPv4y IGMPbull ICMPv6 incluye la peticioacuten de membresiacutea y elinforme de membresiacuteamdashFunciona de manera similar a IGMP

Estensioacuten Multicast a OSPF (MOSPF)bull Utilizado para el enrutamiento multicast dentro de un ASbull Los enrutadores utilizan MOSPF para manteneractualizada la informacioacuten que permite determinar laconstitucioacuten de los grupos multicastbull De manera perioacutedica los enrutadores retransmiten estainformacioacuten utilizando la teacutecnica de inundacioacutenbull Los enrutadores construyen el aacuterbol de expansioacuten amiacutenimo coste partiendo de una fuente a todas las redesconteniendo miembros del grupo (Dijkstra)mdash Este procedimiento se hace soacutelo bajo demanda ya que llevamucho tiempo la elaboracioacuten del aacuterbol de expansioacuten

Transmisioacuten de paquetes Multicastbull Si un enrutador no reconoce la direccioacuten lamulticast el paquete se descartabull Si el enrutador estaacute interconectado a una redque contenga al menos un miembro del grupo

transmite una copia del mensaje hacia esta redbull Verifica el aacuterbol de expansioacuten asociado yretransmite hacia otros enrutadores en caso quesea necesariobull Un grupo multicast puede contener miembrosasociados a maacutes de una aacutereabull Los enrutadores soacutelo conocen la constitucioacuten delos grupos multicast dentro de su aacutereabull Un subconjunto de enrutadores funcionan comopasarelas cuya funcioacuten es retransmitir lainformacioacuten de membresiacutea y los paquetesmulticast entre las aacutereas

Multicasting Inter-ASbull Los enrutadores encargados de retransmitirentre los ASmdashEjecutan el protocolo de enrutamiento multicast entreAS asiacute como los protocolos de enrutamiento MOSPF yOSPFmdashMOSPF es utilizado dentro del AS

Ejemplo Enrutamiento MOSPF Routing

Caracetriacutesticas de MOSPFbull Desarrollado a partir de OSPFbull Disentildeado para funcionar dentro de un AS

bull No es eficiente para grandes grupos

Why Overlay Networks1048710 Current Internet works well but one size does not fit all1048710 applications need various types of service eg QoSmulticast security reliability1048710 many proposals eg multicast QoS require tochange a large number of network devices1048710 However Internet is rigid1048710 changes in the network happen slowly1048710 reason Internet is a shared infrastructure

Why Overlay Networks (contd)1048710 Solution by overlay network1048710 needs to change the nodes that are included in theoverlay network1048710 does not deploy new equipments or modify existingsoftwareprotocols at all nodes in the network1048710 a historical example IP over Ethernet1048710 Makes it easy to deploy new functionalities in the networkwith no influences on existing devices and services1048710 This also accelerates the pace of innovation

Costs of Overlay1048710 Adds overhead1048710 adds a layer in networking stack headers processing1048710 sometimes additional work is redundant egaddressing1048710 Adds complexity1048710 layering only manages complexity rather thaneliminate it1048710 more layers of functionality more possible unintendedinteraction between layers1048710example corruption drops on wireless interpretedas congestion drops by TCP

Samples of Overlay Network1048710 End system multicast1048710 Quality of service1048710 Routing overlay1048710 Security

Problems with IP Layer Multicast1048710 Scales poorly with number of groups1048710 a router must maintain state for every group thattraverses it1048710 Supporting higher level functionality is difficult1048710 IP multicast best-effort multi-point delivery service1048710 reliability and congestion control for IP Multicastcomplicated

1048710scalable end-to-end approach for heterogeneousreceivers is very difficult1048710requires more state and processing in routers1048710 Deployment is difficult and slow1048710 ISP is reluctant to turn on IP Multicast

End System Multicast Example

End System Multicast1048710 End hosts perform packet replication ie acting asmulticast routers1048710 these hosts consist of an overlay network over theunderlying network1048710 this requires only unicast from underlying network1048710 Set up multicast tree among hosts1048710 run multicast routing protocol in this overlay network1048710 The key is to construct an appropriate overlay network1048710 determine immediate ldquoneighborsrdquo1048710 by the measurement of RTT to other node chooseoptimal ones

Benefits1048710 Scalability1048710 routers do not maintain per-group state1048710 end systems do but they participate in very fewgroups1048710 Easier to deploy1048710 only requires adding software to end hosts1048710 Potentially simplifies support for higher level functionality1048710 use hop-by-hop approach but end hosts are routers1048710 leverage computation and storage of end systems egpacket buffering ACK aggregation1048710 leverage solutions for unicast congestion control andReliability

Performance ConcernsLatency in the overlay latencyin the underlying network1048710 Number of duplicate packetssent over the same physical link

Overlay Construction Problems1048710 Problem1048710 to establish an appropriate mesh overlay ie set upldquolinksrdquo (at overlay level) to other hosts1048710 Challenges1048710 dynamic changes in group membership1048710members may join leave die1048710 dynamic changes in network conditions and topology1048710delay between members may vary over time due tocongestion routing changes1048710 knowledge of network conditions is member specific1048710each member must determine network conditionsfor itself

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

- Peer to peer networks

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

Common Issues1048710 Organize and maintain an overlay network1048710 nodes join leave1048710 nodes die1048710 Resource location1048710 Locality (network proximity)1048710 Resource allocationload balancing

Napster1048710 Napster free music over the Internet1048710 Idea share the storage and bandwidth of individual users1048710 Model1048710 each user stores a subset of files1048710 each user has access files from all users in the system1048710 Challenges1048710 main find where a particular file is stored1048710 scale up to millions of users1048710 dynamicity users may join or leave any time1048710 Assume a centralized index system mapping files to alivemachines (users)

Napster Example

Solutions to the Location Problem1048710 Centralized directory1048710 example Napster1048710 advantage simplicity1048710 disadvantage robustness scalability1048710 Distributed directory Distributed Hash Table (DHT)abstraction1048710 examples Pastry Chord Content AddressableNetwork (CAN)1048710 Services built on top of DHTs1048710 persistent storage1048710 p2p file storage1048710 hellip

Pastry1048710 Self-organizing peer-to-peer network1048710 DHT consistent hashing1048710 Lookupinsert object in lt log16N routing steps (expected)1048710 O(log N) per-node state1048710 Network locality heuristics

Consistent Hashing1048710 128 bit circular id space1048710 hash(object name) -gt ObjID1048710 hash(IP addr) -gt NodeID1048710 Idea the node withnumerically closestNodeID maintains object

Object InsertionLookup1048710 Message with key xis forwarded to livenode with NodeIDclosest to x1048710 Problem completerouting table is notfeasible

Routing1048710 Properties1048710 log16 N steps1048710 O(log N) states

Leaf Sets1048710 Each node maintains IP addresses of the nodes with theL numerically closest larger and smaller NodeIDsrespectively1048710 routing efficiencyrobustness1048710 fault detection (keep-alive)1048710 application-specific local coordination

Routing Procedureif (destination is within range of our leaf set)forward to numerically closest memberelselet l = length of shared prefixlet d = value of l-th digit in Drsquos addressif (Rld exists)forward to Rldelseforward to a known node that(a) shares at least as long a prefix

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 5: Protocolos en Redes CDN

1048710 Shortcoming still broadcast1048710 packet flooding1048710 a destination host may receive multiple copies of thesame packet from multiple routers on the network1048710 solution1048710 the router on the shortest path to the source is theldquoparentrdquo and others are ldquochildrenrdquo1048710 only the ldquoparentrdquo forwards the packet to the hostson the network

Reverse-Path Multicast (RPM)1048710 If a leaf network has no members the router prunes therouting entry and propagates ldquono memberrdquo messagetowards to the source1048710 If all ldquochildrenrdquo routers prune the state the ldquoparentrdquofollows them and sends ldquono memberrdquo message towards tothe source1048710 Opposite of pruning grafting (when receiving joinmessage)

Protocol Independent Multicast (PIM)1048710 Motivation1048710 existing protocols works well in the case of densegroup members other than in the one of sparsemembers1048710 PIM unicast routing protocol independent1048710 More efficient in sparse scenario by PIM-SM

PIM-SM1048710 Routers explicitly join and leave a multicast group bysending JOIN and LEAVE messages to a rendezvouspoint associated with this group1048710 explicitly constructed multicast treeEither shared tree or source-specific tree

Shared and Source-Specific Tree1048710 Shared tree1048710 rooted at the rendezvous point1048710 established at relative nodes due to the propagation ofJOIN messages1048710 IP tunneling between the designated router of thesender and the rendezvous point1048710 can be replaced by direct delivery of multicastpackets RP sends a JOIN message to the sender1048710 Source-specific tree1048710 constructed when the routers send JOIN message to aspecific source1048710 Scalable or optimal

Pim dm

Multicastingbull Direcciones que se refieren al grupo dedispositivos en una o mas redesbull AplicacionesmdashMultimedia ldquobroadcastrdquomdashTele-conferenciamdashBases de datosmdashComputacioacuten DistribuidamdashGrupos de trabajo

Multicastbull Determinar la ruta a coste miacutenimo a cada redque contenga un dispositivo el grupobull Transmitir un uacutenico paquete a traveacutes del aacuterbolde expansioacutenbull Los enrutadores replican los paquetes en lasramas del aacuterbol de expansioacuten

Ejemplo de Transmision Multicast

Requerimientos Multicasting (1)bull El enrutador tiene que enviar maacutes de una copia delpaquetebull Se requiere una manera para identificar direccionesmulticastmdash IPv4 - Class D - direcciones comenzando por 1110mdash IPv6 - prefijo de 8 bits todos 1 4 bit campo de flags 4 bitscampo de cobertura 112 bits identificador de grupobull Los enrutadores deben ser capaces de traducir entre lalista de direcciones IP multicast y la lista de redes quecontienen miembros del grupobull Los enrutadores deben tambieacuten ser capaces de traducirentre las direcciones IP multicast y las direcciones dered multicast

Requerimientos Multicasting (2)bull Se requiere un mecanismo para que los nodospuedan agregarse o dejar un grupobull Los enrutadores deben intercambiar informacioacutenmdashQue redes incluyen miembros de un grupo dadomdashAlgoritmo de enrutamiento para determinar ruta acoste miacutenimomdashLos enrutadores deben determinar la ruta basados enlas direcciones fuente y destino

Internet Group Management Protocol (IGMP)bull RFC 3376bull Intercambio entre dispositivos y enrutadorespara establecer y mantener grupos multicast

Principios de Operacioacutenbull Los dispositivos enviacutean mensajes a losenrutadores para darse de alta o de baja a ungrupo multicastmdashUn grupo es definido por su direccioacuten multicastbull Los enrutadores verifican que grupos multicastpueden ser de intereacutes a que dispositivosbull Ya se ha definido la versioacuten 3 de IGMPbull IGMPv1mdashLos dispositivos pueden darse de alta a un grupomdashLos enrutadores utilizan temporizadores para dar debaja a ciertos miembros

Operacioacuten de IGMPv1 amp v2bull Los receptores tienen que suscribirse a los gruposbull Las fuentes no tienen que suscribirse a los gruposbull Cualquier dispositivo puede enviar mensajes a cualquiergrupo multicastbull Problemasmdash Si bien la aplicacioacuten puede filtrar y eliminar paquetes nodeseados estos consumen recursosmdash El establecimiento de los aacuterboles de distribucioacuten no es una tareafaacutecilmdash La localizacioacuten de las fuentes es desconocidamdash La definicioacuten de direcciones multicast globales es una tarea difiacutecil

IGMP v3bull Permite que los dispositivos especifiquen dequien quieren recibir paquetesmdashEl traacutefico proveniente de otros dispositivos esbloqueado por los enrutadoresbull Permite que los dispositivos bloqueen paquetesde otras fuentes que emitan traacutefico no deseado

Formato de Mensaje IGMP

Peticioacuten de Membresiacuteabull Enviado por el enrutador multicastbull Peticioacuten generalmdashPara conocer que grupos tienen miembros en la reden cuestioacutenbull Peticioacuten especiacutefica al grupomdashPara conocer si un grupo dado tiene miembros

Campos de la Peticioacuten de Membresia (1)bull Tipobull Tiempo maacuteximo de respuestamdashTiempo entre enviacuteos 110 segundobull ChecksummdashMismo algoritmo que el utilizado por IPv4bull Direccioacuten de grupomdashCero para el caso generalmdashDireccioacuten del grupo para un grupo especiacutefico o paraun grupo asociado a una fuente dada

Campos de la Peticioacuten de Membresiacutea(2)bull QRV (variable de robustez del enrutador que hace lapeticioacuten)mdash Valor RV utilizado por el enrutador que enviacutea la peticioacutenmdash RV indica el nuacutemero de retrasmisiones necesarias paraasegurarse que el mensaje de informe (report) no se pierdanbull QQIC (intervalo entre peticiones)mdash Valor usado por el dispositivo que emite la peticioacuten QI Temporizador para enviar muacuteltiples peticionesbull Nuacutemero de fuentesbull Direcciones fuentemdash Una direccioacuten unicast de 32 bits por cada fuente

Formato del Mensaje IGMP de Informe de Membresiacutea

Informe de Membresiacuteabull Tipobull Checksumbull Nuacutemero de Registros de Grupobull Registros de GrupomdashUna direccioacuten unicast de 32 bits por fuente

Formato del mensaje IGMP de registro de grupo

Registro de grupobull Tipo de registrobull Longitud de los datos auxiliaresmdashUnidades de 32 bitsbull Nuacutemero de fuentesbull Direccioacuten Multicastbull Direcciones FuentemdashUna direccioacuten unicast de 32 bits por fuentebull Datos auxiliaresmdashNo estaacuten definidos en la versioacuten actual

Operacion IGMP - Altabull Utilizado cuando un dispositivo quiere unirse a un grupoformado por enrutadores y dispositivos interconectadospor una red localbull IGMPv3 puede definir la membresiacutea a un grupo concapacidades de filtrado con respecto a ciertas fuentesmdash Modo EXCLUDE ndash todos los miembros del grupo exceptoaquellos en la listamdash Modo INCLUDE ndash Solamente los miembros del grupoespecificados en la listabull Para unirse a un grupo un dispositivo debe enviar unmensaje de membresiacutea IGMPmdash Debe indicar la direccioacuten multicast en el campo de direccioacutenmdash Los miembros del grupo reciben el mensaje

Operacioacuten IGMP ndash Conservando la lista actualizadabull Los enrutadores enviacutean perioacutedicamente mensajes depeticioacuten IGMPmdash Aquellos dispositivos que desean continuar en el grupo deben

leer y conservar las direcciones de todos los dispositivos queforman parte del grupomdash Los dispositivos enviacutean un mensaje de informe a todos losgrupos en el que desea seguir activobull EL enrutador no necesita conocer la direccioacuten de todoslos dispositivos miembros del grupomdash Necesita tan soacutelo conocer que al menos un miembro seencuentra auacuten activomdash Soacutelo se requiere que al menos un miembro del grupo se reporteal enrutador

Operacioacuten IGMP - Bajabull Para darse de baja de un grupo un dispositivo debeenviar un mensaje de baja a todos los enrutadoresbull El dispositivo deseando darse de baja enviacutea un mensajede informe con la opcioacuten EXCLUDE y con una lista dedirecciones vaciacuteabull El enrutador debe determinar si existen auacuten miembrosactivos para ello hace uso de un mensaje de grupoespeciacutefico

Membresiacutea de Grupo con IPv6bull IGMP ha sido definido para IPv4mdashUtiliza direcciones de 32 bitsbull Las funciones de IGMP han sido incorporadas enICMPv6 (Internet Control Message Protocolversioacuten 6)mdashICMPv6 incluye todas las funcionalidades de ICMPv4y IGMPbull ICMPv6 incluye la peticioacuten de membresiacutea y elinforme de membresiacuteamdashFunciona de manera similar a IGMP

Estensioacuten Multicast a OSPF (MOSPF)bull Utilizado para el enrutamiento multicast dentro de un ASbull Los enrutadores utilizan MOSPF para manteneractualizada la informacioacuten que permite determinar laconstitucioacuten de los grupos multicastbull De manera perioacutedica los enrutadores retransmiten estainformacioacuten utilizando la teacutecnica de inundacioacutenbull Los enrutadores construyen el aacuterbol de expansioacuten amiacutenimo coste partiendo de una fuente a todas las redesconteniendo miembros del grupo (Dijkstra)mdash Este procedimiento se hace soacutelo bajo demanda ya que llevamucho tiempo la elaboracioacuten del aacuterbol de expansioacuten

Transmisioacuten de paquetes Multicastbull Si un enrutador no reconoce la direccioacuten lamulticast el paquete se descartabull Si el enrutador estaacute interconectado a una redque contenga al menos un miembro del grupo

transmite una copia del mensaje hacia esta redbull Verifica el aacuterbol de expansioacuten asociado yretransmite hacia otros enrutadores en caso quesea necesariobull Un grupo multicast puede contener miembrosasociados a maacutes de una aacutereabull Los enrutadores soacutelo conocen la constitucioacuten delos grupos multicast dentro de su aacutereabull Un subconjunto de enrutadores funcionan comopasarelas cuya funcioacuten es retransmitir lainformacioacuten de membresiacutea y los paquetesmulticast entre las aacutereas

Multicasting Inter-ASbull Los enrutadores encargados de retransmitirentre los ASmdashEjecutan el protocolo de enrutamiento multicast entreAS asiacute como los protocolos de enrutamiento MOSPF yOSPFmdashMOSPF es utilizado dentro del AS

Ejemplo Enrutamiento MOSPF Routing

Caracetriacutesticas de MOSPFbull Desarrollado a partir de OSPFbull Disentildeado para funcionar dentro de un AS

bull No es eficiente para grandes grupos

Why Overlay Networks1048710 Current Internet works well but one size does not fit all1048710 applications need various types of service eg QoSmulticast security reliability1048710 many proposals eg multicast QoS require tochange a large number of network devices1048710 However Internet is rigid1048710 changes in the network happen slowly1048710 reason Internet is a shared infrastructure

Why Overlay Networks (contd)1048710 Solution by overlay network1048710 needs to change the nodes that are included in theoverlay network1048710 does not deploy new equipments or modify existingsoftwareprotocols at all nodes in the network1048710 a historical example IP over Ethernet1048710 Makes it easy to deploy new functionalities in the networkwith no influences on existing devices and services1048710 This also accelerates the pace of innovation

Costs of Overlay1048710 Adds overhead1048710 adds a layer in networking stack headers processing1048710 sometimes additional work is redundant egaddressing1048710 Adds complexity1048710 layering only manages complexity rather thaneliminate it1048710 more layers of functionality more possible unintendedinteraction between layers1048710example corruption drops on wireless interpretedas congestion drops by TCP

Samples of Overlay Network1048710 End system multicast1048710 Quality of service1048710 Routing overlay1048710 Security

Problems with IP Layer Multicast1048710 Scales poorly with number of groups1048710 a router must maintain state for every group thattraverses it1048710 Supporting higher level functionality is difficult1048710 IP multicast best-effort multi-point delivery service1048710 reliability and congestion control for IP Multicastcomplicated

1048710scalable end-to-end approach for heterogeneousreceivers is very difficult1048710requires more state and processing in routers1048710 Deployment is difficult and slow1048710 ISP is reluctant to turn on IP Multicast

End System Multicast Example

End System Multicast1048710 End hosts perform packet replication ie acting asmulticast routers1048710 these hosts consist of an overlay network over theunderlying network1048710 this requires only unicast from underlying network1048710 Set up multicast tree among hosts1048710 run multicast routing protocol in this overlay network1048710 The key is to construct an appropriate overlay network1048710 determine immediate ldquoneighborsrdquo1048710 by the measurement of RTT to other node chooseoptimal ones

Benefits1048710 Scalability1048710 routers do not maintain per-group state1048710 end systems do but they participate in very fewgroups1048710 Easier to deploy1048710 only requires adding software to end hosts1048710 Potentially simplifies support for higher level functionality1048710 use hop-by-hop approach but end hosts are routers1048710 leverage computation and storage of end systems egpacket buffering ACK aggregation1048710 leverage solutions for unicast congestion control andReliability

Performance ConcernsLatency in the overlay latencyin the underlying network1048710 Number of duplicate packetssent over the same physical link

Overlay Construction Problems1048710 Problem1048710 to establish an appropriate mesh overlay ie set upldquolinksrdquo (at overlay level) to other hosts1048710 Challenges1048710 dynamic changes in group membership1048710members may join leave die1048710 dynamic changes in network conditions and topology1048710delay between members may vary over time due tocongestion routing changes1048710 knowledge of network conditions is member specific1048710each member must determine network conditionsfor itself

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

- Peer to peer networks

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

Common Issues1048710 Organize and maintain an overlay network1048710 nodes join leave1048710 nodes die1048710 Resource location1048710 Locality (network proximity)1048710 Resource allocationload balancing

Napster1048710 Napster free music over the Internet1048710 Idea share the storage and bandwidth of individual users1048710 Model1048710 each user stores a subset of files1048710 each user has access files from all users in the system1048710 Challenges1048710 main find where a particular file is stored1048710 scale up to millions of users1048710 dynamicity users may join or leave any time1048710 Assume a centralized index system mapping files to alivemachines (users)

Napster Example

Solutions to the Location Problem1048710 Centralized directory1048710 example Napster1048710 advantage simplicity1048710 disadvantage robustness scalability1048710 Distributed directory Distributed Hash Table (DHT)abstraction1048710 examples Pastry Chord Content AddressableNetwork (CAN)1048710 Services built on top of DHTs1048710 persistent storage1048710 p2p file storage1048710 hellip

Pastry1048710 Self-organizing peer-to-peer network1048710 DHT consistent hashing1048710 Lookupinsert object in lt log16N routing steps (expected)1048710 O(log N) per-node state1048710 Network locality heuristics

Consistent Hashing1048710 128 bit circular id space1048710 hash(object name) -gt ObjID1048710 hash(IP addr) -gt NodeID1048710 Idea the node withnumerically closestNodeID maintains object

Object InsertionLookup1048710 Message with key xis forwarded to livenode with NodeIDclosest to x1048710 Problem completerouting table is notfeasible

Routing1048710 Properties1048710 log16 N steps1048710 O(log N) states

Leaf Sets1048710 Each node maintains IP addresses of the nodes with theL numerically closest larger and smaller NodeIDsrespectively1048710 routing efficiencyrobustness1048710 fault detection (keep-alive)1048710 application-specific local coordination

Routing Procedureif (destination is within range of our leaf set)forward to numerically closest memberelselet l = length of shared prefixlet d = value of l-th digit in Drsquos addressif (Rld exists)forward to Rldelseforward to a known node that(a) shares at least as long a prefix

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 6: Protocolos en Redes CDN

Pim dm

Multicastingbull Direcciones que se refieren al grupo dedispositivos en una o mas redesbull AplicacionesmdashMultimedia ldquobroadcastrdquomdashTele-conferenciamdashBases de datosmdashComputacioacuten DistribuidamdashGrupos de trabajo

Multicastbull Determinar la ruta a coste miacutenimo a cada redque contenga un dispositivo el grupobull Transmitir un uacutenico paquete a traveacutes del aacuterbolde expansioacutenbull Los enrutadores replican los paquetes en lasramas del aacuterbol de expansioacuten

Ejemplo de Transmision Multicast

Requerimientos Multicasting (1)bull El enrutador tiene que enviar maacutes de una copia delpaquetebull Se requiere una manera para identificar direccionesmulticastmdash IPv4 - Class D - direcciones comenzando por 1110mdash IPv6 - prefijo de 8 bits todos 1 4 bit campo de flags 4 bitscampo de cobertura 112 bits identificador de grupobull Los enrutadores deben ser capaces de traducir entre lalista de direcciones IP multicast y la lista de redes quecontienen miembros del grupobull Los enrutadores deben tambieacuten ser capaces de traducirentre las direcciones IP multicast y las direcciones dered multicast

Requerimientos Multicasting (2)bull Se requiere un mecanismo para que los nodospuedan agregarse o dejar un grupobull Los enrutadores deben intercambiar informacioacutenmdashQue redes incluyen miembros de un grupo dadomdashAlgoritmo de enrutamiento para determinar ruta acoste miacutenimomdashLos enrutadores deben determinar la ruta basados enlas direcciones fuente y destino

Internet Group Management Protocol (IGMP)bull RFC 3376bull Intercambio entre dispositivos y enrutadorespara establecer y mantener grupos multicast

Principios de Operacioacutenbull Los dispositivos enviacutean mensajes a losenrutadores para darse de alta o de baja a ungrupo multicastmdashUn grupo es definido por su direccioacuten multicastbull Los enrutadores verifican que grupos multicastpueden ser de intereacutes a que dispositivosbull Ya se ha definido la versioacuten 3 de IGMPbull IGMPv1mdashLos dispositivos pueden darse de alta a un grupomdashLos enrutadores utilizan temporizadores para dar debaja a ciertos miembros

Operacioacuten de IGMPv1 amp v2bull Los receptores tienen que suscribirse a los gruposbull Las fuentes no tienen que suscribirse a los gruposbull Cualquier dispositivo puede enviar mensajes a cualquiergrupo multicastbull Problemasmdash Si bien la aplicacioacuten puede filtrar y eliminar paquetes nodeseados estos consumen recursosmdash El establecimiento de los aacuterboles de distribucioacuten no es una tareafaacutecilmdash La localizacioacuten de las fuentes es desconocidamdash La definicioacuten de direcciones multicast globales es una tarea difiacutecil

IGMP v3bull Permite que los dispositivos especifiquen dequien quieren recibir paquetesmdashEl traacutefico proveniente de otros dispositivos esbloqueado por los enrutadoresbull Permite que los dispositivos bloqueen paquetesde otras fuentes que emitan traacutefico no deseado

Formato de Mensaje IGMP

Peticioacuten de Membresiacuteabull Enviado por el enrutador multicastbull Peticioacuten generalmdashPara conocer que grupos tienen miembros en la reden cuestioacutenbull Peticioacuten especiacutefica al grupomdashPara conocer si un grupo dado tiene miembros

Campos de la Peticioacuten de Membresia (1)bull Tipobull Tiempo maacuteximo de respuestamdashTiempo entre enviacuteos 110 segundobull ChecksummdashMismo algoritmo que el utilizado por IPv4bull Direccioacuten de grupomdashCero para el caso generalmdashDireccioacuten del grupo para un grupo especiacutefico o paraun grupo asociado a una fuente dada

Campos de la Peticioacuten de Membresiacutea(2)bull QRV (variable de robustez del enrutador que hace lapeticioacuten)mdash Valor RV utilizado por el enrutador que enviacutea la peticioacutenmdash RV indica el nuacutemero de retrasmisiones necesarias paraasegurarse que el mensaje de informe (report) no se pierdanbull QQIC (intervalo entre peticiones)mdash Valor usado por el dispositivo que emite la peticioacuten QI Temporizador para enviar muacuteltiples peticionesbull Nuacutemero de fuentesbull Direcciones fuentemdash Una direccioacuten unicast de 32 bits por cada fuente

Formato del Mensaje IGMP de Informe de Membresiacutea

Informe de Membresiacuteabull Tipobull Checksumbull Nuacutemero de Registros de Grupobull Registros de GrupomdashUna direccioacuten unicast de 32 bits por fuente

Formato del mensaje IGMP de registro de grupo

Registro de grupobull Tipo de registrobull Longitud de los datos auxiliaresmdashUnidades de 32 bitsbull Nuacutemero de fuentesbull Direccioacuten Multicastbull Direcciones FuentemdashUna direccioacuten unicast de 32 bits por fuentebull Datos auxiliaresmdashNo estaacuten definidos en la versioacuten actual

Operacion IGMP - Altabull Utilizado cuando un dispositivo quiere unirse a un grupoformado por enrutadores y dispositivos interconectadospor una red localbull IGMPv3 puede definir la membresiacutea a un grupo concapacidades de filtrado con respecto a ciertas fuentesmdash Modo EXCLUDE ndash todos los miembros del grupo exceptoaquellos en la listamdash Modo INCLUDE ndash Solamente los miembros del grupoespecificados en la listabull Para unirse a un grupo un dispositivo debe enviar unmensaje de membresiacutea IGMPmdash Debe indicar la direccioacuten multicast en el campo de direccioacutenmdash Los miembros del grupo reciben el mensaje

Operacioacuten IGMP ndash Conservando la lista actualizadabull Los enrutadores enviacutean perioacutedicamente mensajes depeticioacuten IGMPmdash Aquellos dispositivos que desean continuar en el grupo deben

leer y conservar las direcciones de todos los dispositivos queforman parte del grupomdash Los dispositivos enviacutean un mensaje de informe a todos losgrupos en el que desea seguir activobull EL enrutador no necesita conocer la direccioacuten de todoslos dispositivos miembros del grupomdash Necesita tan soacutelo conocer que al menos un miembro seencuentra auacuten activomdash Soacutelo se requiere que al menos un miembro del grupo se reporteal enrutador

Operacioacuten IGMP - Bajabull Para darse de baja de un grupo un dispositivo debeenviar un mensaje de baja a todos los enrutadoresbull El dispositivo deseando darse de baja enviacutea un mensajede informe con la opcioacuten EXCLUDE y con una lista dedirecciones vaciacuteabull El enrutador debe determinar si existen auacuten miembrosactivos para ello hace uso de un mensaje de grupoespeciacutefico

Membresiacutea de Grupo con IPv6bull IGMP ha sido definido para IPv4mdashUtiliza direcciones de 32 bitsbull Las funciones de IGMP han sido incorporadas enICMPv6 (Internet Control Message Protocolversioacuten 6)mdashICMPv6 incluye todas las funcionalidades de ICMPv4y IGMPbull ICMPv6 incluye la peticioacuten de membresiacutea y elinforme de membresiacuteamdashFunciona de manera similar a IGMP

Estensioacuten Multicast a OSPF (MOSPF)bull Utilizado para el enrutamiento multicast dentro de un ASbull Los enrutadores utilizan MOSPF para manteneractualizada la informacioacuten que permite determinar laconstitucioacuten de los grupos multicastbull De manera perioacutedica los enrutadores retransmiten estainformacioacuten utilizando la teacutecnica de inundacioacutenbull Los enrutadores construyen el aacuterbol de expansioacuten amiacutenimo coste partiendo de una fuente a todas las redesconteniendo miembros del grupo (Dijkstra)mdash Este procedimiento se hace soacutelo bajo demanda ya que llevamucho tiempo la elaboracioacuten del aacuterbol de expansioacuten

Transmisioacuten de paquetes Multicastbull Si un enrutador no reconoce la direccioacuten lamulticast el paquete se descartabull Si el enrutador estaacute interconectado a una redque contenga al menos un miembro del grupo

transmite una copia del mensaje hacia esta redbull Verifica el aacuterbol de expansioacuten asociado yretransmite hacia otros enrutadores en caso quesea necesariobull Un grupo multicast puede contener miembrosasociados a maacutes de una aacutereabull Los enrutadores soacutelo conocen la constitucioacuten delos grupos multicast dentro de su aacutereabull Un subconjunto de enrutadores funcionan comopasarelas cuya funcioacuten es retransmitir lainformacioacuten de membresiacutea y los paquetesmulticast entre las aacutereas

Multicasting Inter-ASbull Los enrutadores encargados de retransmitirentre los ASmdashEjecutan el protocolo de enrutamiento multicast entreAS asiacute como los protocolos de enrutamiento MOSPF yOSPFmdashMOSPF es utilizado dentro del AS

Ejemplo Enrutamiento MOSPF Routing

Caracetriacutesticas de MOSPFbull Desarrollado a partir de OSPFbull Disentildeado para funcionar dentro de un AS

bull No es eficiente para grandes grupos

Why Overlay Networks1048710 Current Internet works well but one size does not fit all1048710 applications need various types of service eg QoSmulticast security reliability1048710 many proposals eg multicast QoS require tochange a large number of network devices1048710 However Internet is rigid1048710 changes in the network happen slowly1048710 reason Internet is a shared infrastructure

Why Overlay Networks (contd)1048710 Solution by overlay network1048710 needs to change the nodes that are included in theoverlay network1048710 does not deploy new equipments or modify existingsoftwareprotocols at all nodes in the network1048710 a historical example IP over Ethernet1048710 Makes it easy to deploy new functionalities in the networkwith no influences on existing devices and services1048710 This also accelerates the pace of innovation

Costs of Overlay1048710 Adds overhead1048710 adds a layer in networking stack headers processing1048710 sometimes additional work is redundant egaddressing1048710 Adds complexity1048710 layering only manages complexity rather thaneliminate it1048710 more layers of functionality more possible unintendedinteraction between layers1048710example corruption drops on wireless interpretedas congestion drops by TCP

Samples of Overlay Network1048710 End system multicast1048710 Quality of service1048710 Routing overlay1048710 Security

Problems with IP Layer Multicast1048710 Scales poorly with number of groups1048710 a router must maintain state for every group thattraverses it1048710 Supporting higher level functionality is difficult1048710 IP multicast best-effort multi-point delivery service1048710 reliability and congestion control for IP Multicastcomplicated

1048710scalable end-to-end approach for heterogeneousreceivers is very difficult1048710requires more state and processing in routers1048710 Deployment is difficult and slow1048710 ISP is reluctant to turn on IP Multicast

End System Multicast Example

End System Multicast1048710 End hosts perform packet replication ie acting asmulticast routers1048710 these hosts consist of an overlay network over theunderlying network1048710 this requires only unicast from underlying network1048710 Set up multicast tree among hosts1048710 run multicast routing protocol in this overlay network1048710 The key is to construct an appropriate overlay network1048710 determine immediate ldquoneighborsrdquo1048710 by the measurement of RTT to other node chooseoptimal ones

Benefits1048710 Scalability1048710 routers do not maintain per-group state1048710 end systems do but they participate in very fewgroups1048710 Easier to deploy1048710 only requires adding software to end hosts1048710 Potentially simplifies support for higher level functionality1048710 use hop-by-hop approach but end hosts are routers1048710 leverage computation and storage of end systems egpacket buffering ACK aggregation1048710 leverage solutions for unicast congestion control andReliability

Performance ConcernsLatency in the overlay latencyin the underlying network1048710 Number of duplicate packetssent over the same physical link

Overlay Construction Problems1048710 Problem1048710 to establish an appropriate mesh overlay ie set upldquolinksrdquo (at overlay level) to other hosts1048710 Challenges1048710 dynamic changes in group membership1048710members may join leave die1048710 dynamic changes in network conditions and topology1048710delay between members may vary over time due tocongestion routing changes1048710 knowledge of network conditions is member specific1048710each member must determine network conditionsfor itself

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

- Peer to peer networks

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

Common Issues1048710 Organize and maintain an overlay network1048710 nodes join leave1048710 nodes die1048710 Resource location1048710 Locality (network proximity)1048710 Resource allocationload balancing

Napster1048710 Napster free music over the Internet1048710 Idea share the storage and bandwidth of individual users1048710 Model1048710 each user stores a subset of files1048710 each user has access files from all users in the system1048710 Challenges1048710 main find where a particular file is stored1048710 scale up to millions of users1048710 dynamicity users may join or leave any time1048710 Assume a centralized index system mapping files to alivemachines (users)

Napster Example

Solutions to the Location Problem1048710 Centralized directory1048710 example Napster1048710 advantage simplicity1048710 disadvantage robustness scalability1048710 Distributed directory Distributed Hash Table (DHT)abstraction1048710 examples Pastry Chord Content AddressableNetwork (CAN)1048710 Services built on top of DHTs1048710 persistent storage1048710 p2p file storage1048710 hellip

Pastry1048710 Self-organizing peer-to-peer network1048710 DHT consistent hashing1048710 Lookupinsert object in lt log16N routing steps (expected)1048710 O(log N) per-node state1048710 Network locality heuristics

Consistent Hashing1048710 128 bit circular id space1048710 hash(object name) -gt ObjID1048710 hash(IP addr) -gt NodeID1048710 Idea the node withnumerically closestNodeID maintains object

Object InsertionLookup1048710 Message with key xis forwarded to livenode with NodeIDclosest to x1048710 Problem completerouting table is notfeasible

Routing1048710 Properties1048710 log16 N steps1048710 O(log N) states

Leaf Sets1048710 Each node maintains IP addresses of the nodes with theL numerically closest larger and smaller NodeIDsrespectively1048710 routing efficiencyrobustness1048710 fault detection (keep-alive)1048710 application-specific local coordination

Routing Procedureif (destination is within range of our leaf set)forward to numerically closest memberelselet l = length of shared prefixlet d = value of l-th digit in Drsquos addressif (Rld exists)forward to Rldelseforward to a known node that(a) shares at least as long a prefix

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 7: Protocolos en Redes CDN

Requerimientos Multicasting (1)bull El enrutador tiene que enviar maacutes de una copia delpaquetebull Se requiere una manera para identificar direccionesmulticastmdash IPv4 - Class D - direcciones comenzando por 1110mdash IPv6 - prefijo de 8 bits todos 1 4 bit campo de flags 4 bitscampo de cobertura 112 bits identificador de grupobull Los enrutadores deben ser capaces de traducir entre lalista de direcciones IP multicast y la lista de redes quecontienen miembros del grupobull Los enrutadores deben tambieacuten ser capaces de traducirentre las direcciones IP multicast y las direcciones dered multicast

Requerimientos Multicasting (2)bull Se requiere un mecanismo para que los nodospuedan agregarse o dejar un grupobull Los enrutadores deben intercambiar informacioacutenmdashQue redes incluyen miembros de un grupo dadomdashAlgoritmo de enrutamiento para determinar ruta acoste miacutenimomdashLos enrutadores deben determinar la ruta basados enlas direcciones fuente y destino

Internet Group Management Protocol (IGMP)bull RFC 3376bull Intercambio entre dispositivos y enrutadorespara establecer y mantener grupos multicast

Principios de Operacioacutenbull Los dispositivos enviacutean mensajes a losenrutadores para darse de alta o de baja a ungrupo multicastmdashUn grupo es definido por su direccioacuten multicastbull Los enrutadores verifican que grupos multicastpueden ser de intereacutes a que dispositivosbull Ya se ha definido la versioacuten 3 de IGMPbull IGMPv1mdashLos dispositivos pueden darse de alta a un grupomdashLos enrutadores utilizan temporizadores para dar debaja a ciertos miembros

Operacioacuten de IGMPv1 amp v2bull Los receptores tienen que suscribirse a los gruposbull Las fuentes no tienen que suscribirse a los gruposbull Cualquier dispositivo puede enviar mensajes a cualquiergrupo multicastbull Problemasmdash Si bien la aplicacioacuten puede filtrar y eliminar paquetes nodeseados estos consumen recursosmdash El establecimiento de los aacuterboles de distribucioacuten no es una tareafaacutecilmdash La localizacioacuten de las fuentes es desconocidamdash La definicioacuten de direcciones multicast globales es una tarea difiacutecil

IGMP v3bull Permite que los dispositivos especifiquen dequien quieren recibir paquetesmdashEl traacutefico proveniente de otros dispositivos esbloqueado por los enrutadoresbull Permite que los dispositivos bloqueen paquetesde otras fuentes que emitan traacutefico no deseado

Formato de Mensaje IGMP

Peticioacuten de Membresiacuteabull Enviado por el enrutador multicastbull Peticioacuten generalmdashPara conocer que grupos tienen miembros en la reden cuestioacutenbull Peticioacuten especiacutefica al grupomdashPara conocer si un grupo dado tiene miembros

Campos de la Peticioacuten de Membresia (1)bull Tipobull Tiempo maacuteximo de respuestamdashTiempo entre enviacuteos 110 segundobull ChecksummdashMismo algoritmo que el utilizado por IPv4bull Direccioacuten de grupomdashCero para el caso generalmdashDireccioacuten del grupo para un grupo especiacutefico o paraun grupo asociado a una fuente dada

Campos de la Peticioacuten de Membresiacutea(2)bull QRV (variable de robustez del enrutador que hace lapeticioacuten)mdash Valor RV utilizado por el enrutador que enviacutea la peticioacutenmdash RV indica el nuacutemero de retrasmisiones necesarias paraasegurarse que el mensaje de informe (report) no se pierdanbull QQIC (intervalo entre peticiones)mdash Valor usado por el dispositivo que emite la peticioacuten QI Temporizador para enviar muacuteltiples peticionesbull Nuacutemero de fuentesbull Direcciones fuentemdash Una direccioacuten unicast de 32 bits por cada fuente

Formato del Mensaje IGMP de Informe de Membresiacutea

Informe de Membresiacuteabull Tipobull Checksumbull Nuacutemero de Registros de Grupobull Registros de GrupomdashUna direccioacuten unicast de 32 bits por fuente

Formato del mensaje IGMP de registro de grupo

Registro de grupobull Tipo de registrobull Longitud de los datos auxiliaresmdashUnidades de 32 bitsbull Nuacutemero de fuentesbull Direccioacuten Multicastbull Direcciones FuentemdashUna direccioacuten unicast de 32 bits por fuentebull Datos auxiliaresmdashNo estaacuten definidos en la versioacuten actual

Operacion IGMP - Altabull Utilizado cuando un dispositivo quiere unirse a un grupoformado por enrutadores y dispositivos interconectadospor una red localbull IGMPv3 puede definir la membresiacutea a un grupo concapacidades de filtrado con respecto a ciertas fuentesmdash Modo EXCLUDE ndash todos los miembros del grupo exceptoaquellos en la listamdash Modo INCLUDE ndash Solamente los miembros del grupoespecificados en la listabull Para unirse a un grupo un dispositivo debe enviar unmensaje de membresiacutea IGMPmdash Debe indicar la direccioacuten multicast en el campo de direccioacutenmdash Los miembros del grupo reciben el mensaje

Operacioacuten IGMP ndash Conservando la lista actualizadabull Los enrutadores enviacutean perioacutedicamente mensajes depeticioacuten IGMPmdash Aquellos dispositivos que desean continuar en el grupo deben

leer y conservar las direcciones de todos los dispositivos queforman parte del grupomdash Los dispositivos enviacutean un mensaje de informe a todos losgrupos en el que desea seguir activobull EL enrutador no necesita conocer la direccioacuten de todoslos dispositivos miembros del grupomdash Necesita tan soacutelo conocer que al menos un miembro seencuentra auacuten activomdash Soacutelo se requiere que al menos un miembro del grupo se reporteal enrutador

Operacioacuten IGMP - Bajabull Para darse de baja de un grupo un dispositivo debeenviar un mensaje de baja a todos los enrutadoresbull El dispositivo deseando darse de baja enviacutea un mensajede informe con la opcioacuten EXCLUDE y con una lista dedirecciones vaciacuteabull El enrutador debe determinar si existen auacuten miembrosactivos para ello hace uso de un mensaje de grupoespeciacutefico

Membresiacutea de Grupo con IPv6bull IGMP ha sido definido para IPv4mdashUtiliza direcciones de 32 bitsbull Las funciones de IGMP han sido incorporadas enICMPv6 (Internet Control Message Protocolversioacuten 6)mdashICMPv6 incluye todas las funcionalidades de ICMPv4y IGMPbull ICMPv6 incluye la peticioacuten de membresiacutea y elinforme de membresiacuteamdashFunciona de manera similar a IGMP

Estensioacuten Multicast a OSPF (MOSPF)bull Utilizado para el enrutamiento multicast dentro de un ASbull Los enrutadores utilizan MOSPF para manteneractualizada la informacioacuten que permite determinar laconstitucioacuten de los grupos multicastbull De manera perioacutedica los enrutadores retransmiten estainformacioacuten utilizando la teacutecnica de inundacioacutenbull Los enrutadores construyen el aacuterbol de expansioacuten amiacutenimo coste partiendo de una fuente a todas las redesconteniendo miembros del grupo (Dijkstra)mdash Este procedimiento se hace soacutelo bajo demanda ya que llevamucho tiempo la elaboracioacuten del aacuterbol de expansioacuten

Transmisioacuten de paquetes Multicastbull Si un enrutador no reconoce la direccioacuten lamulticast el paquete se descartabull Si el enrutador estaacute interconectado a una redque contenga al menos un miembro del grupo

transmite una copia del mensaje hacia esta redbull Verifica el aacuterbol de expansioacuten asociado yretransmite hacia otros enrutadores en caso quesea necesariobull Un grupo multicast puede contener miembrosasociados a maacutes de una aacutereabull Los enrutadores soacutelo conocen la constitucioacuten delos grupos multicast dentro de su aacutereabull Un subconjunto de enrutadores funcionan comopasarelas cuya funcioacuten es retransmitir lainformacioacuten de membresiacutea y los paquetesmulticast entre las aacutereas

Multicasting Inter-ASbull Los enrutadores encargados de retransmitirentre los ASmdashEjecutan el protocolo de enrutamiento multicast entreAS asiacute como los protocolos de enrutamiento MOSPF yOSPFmdashMOSPF es utilizado dentro del AS

Ejemplo Enrutamiento MOSPF Routing

Caracetriacutesticas de MOSPFbull Desarrollado a partir de OSPFbull Disentildeado para funcionar dentro de un AS

bull No es eficiente para grandes grupos

Why Overlay Networks1048710 Current Internet works well but one size does not fit all1048710 applications need various types of service eg QoSmulticast security reliability1048710 many proposals eg multicast QoS require tochange a large number of network devices1048710 However Internet is rigid1048710 changes in the network happen slowly1048710 reason Internet is a shared infrastructure

Why Overlay Networks (contd)1048710 Solution by overlay network1048710 needs to change the nodes that are included in theoverlay network1048710 does not deploy new equipments or modify existingsoftwareprotocols at all nodes in the network1048710 a historical example IP over Ethernet1048710 Makes it easy to deploy new functionalities in the networkwith no influences on existing devices and services1048710 This also accelerates the pace of innovation

Costs of Overlay1048710 Adds overhead1048710 adds a layer in networking stack headers processing1048710 sometimes additional work is redundant egaddressing1048710 Adds complexity1048710 layering only manages complexity rather thaneliminate it1048710 more layers of functionality more possible unintendedinteraction between layers1048710example corruption drops on wireless interpretedas congestion drops by TCP

Samples of Overlay Network1048710 End system multicast1048710 Quality of service1048710 Routing overlay1048710 Security

Problems with IP Layer Multicast1048710 Scales poorly with number of groups1048710 a router must maintain state for every group thattraverses it1048710 Supporting higher level functionality is difficult1048710 IP multicast best-effort multi-point delivery service1048710 reliability and congestion control for IP Multicastcomplicated

1048710scalable end-to-end approach for heterogeneousreceivers is very difficult1048710requires more state and processing in routers1048710 Deployment is difficult and slow1048710 ISP is reluctant to turn on IP Multicast

End System Multicast Example

End System Multicast1048710 End hosts perform packet replication ie acting asmulticast routers1048710 these hosts consist of an overlay network over theunderlying network1048710 this requires only unicast from underlying network1048710 Set up multicast tree among hosts1048710 run multicast routing protocol in this overlay network1048710 The key is to construct an appropriate overlay network1048710 determine immediate ldquoneighborsrdquo1048710 by the measurement of RTT to other node chooseoptimal ones

Benefits1048710 Scalability1048710 routers do not maintain per-group state1048710 end systems do but they participate in very fewgroups1048710 Easier to deploy1048710 only requires adding software to end hosts1048710 Potentially simplifies support for higher level functionality1048710 use hop-by-hop approach but end hosts are routers1048710 leverage computation and storage of end systems egpacket buffering ACK aggregation1048710 leverage solutions for unicast congestion control andReliability

Performance ConcernsLatency in the overlay latencyin the underlying network1048710 Number of duplicate packetssent over the same physical link

Overlay Construction Problems1048710 Problem1048710 to establish an appropriate mesh overlay ie set upldquolinksrdquo (at overlay level) to other hosts1048710 Challenges1048710 dynamic changes in group membership1048710members may join leave die1048710 dynamic changes in network conditions and topology1048710delay between members may vary over time due tocongestion routing changes1048710 knowledge of network conditions is member specific1048710each member must determine network conditionsfor itself

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

- Peer to peer networks

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

Common Issues1048710 Organize and maintain an overlay network1048710 nodes join leave1048710 nodes die1048710 Resource location1048710 Locality (network proximity)1048710 Resource allocationload balancing

Napster1048710 Napster free music over the Internet1048710 Idea share the storage and bandwidth of individual users1048710 Model1048710 each user stores a subset of files1048710 each user has access files from all users in the system1048710 Challenges1048710 main find where a particular file is stored1048710 scale up to millions of users1048710 dynamicity users may join or leave any time1048710 Assume a centralized index system mapping files to alivemachines (users)

Napster Example

Solutions to the Location Problem1048710 Centralized directory1048710 example Napster1048710 advantage simplicity1048710 disadvantage robustness scalability1048710 Distributed directory Distributed Hash Table (DHT)abstraction1048710 examples Pastry Chord Content AddressableNetwork (CAN)1048710 Services built on top of DHTs1048710 persistent storage1048710 p2p file storage1048710 hellip

Pastry1048710 Self-organizing peer-to-peer network1048710 DHT consistent hashing1048710 Lookupinsert object in lt log16N routing steps (expected)1048710 O(log N) per-node state1048710 Network locality heuristics

Consistent Hashing1048710 128 bit circular id space1048710 hash(object name) -gt ObjID1048710 hash(IP addr) -gt NodeID1048710 Idea the node withnumerically closestNodeID maintains object

Object InsertionLookup1048710 Message with key xis forwarded to livenode with NodeIDclosest to x1048710 Problem completerouting table is notfeasible

Routing1048710 Properties1048710 log16 N steps1048710 O(log N) states

Leaf Sets1048710 Each node maintains IP addresses of the nodes with theL numerically closest larger and smaller NodeIDsrespectively1048710 routing efficiencyrobustness1048710 fault detection (keep-alive)1048710 application-specific local coordination

Routing Procedureif (destination is within range of our leaf set)forward to numerically closest memberelselet l = length of shared prefixlet d = value of l-th digit in Drsquos addressif (Rld exists)forward to Rldelseforward to a known node that(a) shares at least as long a prefix

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 8: Protocolos en Redes CDN

Principios de Operacioacutenbull Los dispositivos enviacutean mensajes a losenrutadores para darse de alta o de baja a ungrupo multicastmdashUn grupo es definido por su direccioacuten multicastbull Los enrutadores verifican que grupos multicastpueden ser de intereacutes a que dispositivosbull Ya se ha definido la versioacuten 3 de IGMPbull IGMPv1mdashLos dispositivos pueden darse de alta a un grupomdashLos enrutadores utilizan temporizadores para dar debaja a ciertos miembros

Operacioacuten de IGMPv1 amp v2bull Los receptores tienen que suscribirse a los gruposbull Las fuentes no tienen que suscribirse a los gruposbull Cualquier dispositivo puede enviar mensajes a cualquiergrupo multicastbull Problemasmdash Si bien la aplicacioacuten puede filtrar y eliminar paquetes nodeseados estos consumen recursosmdash El establecimiento de los aacuterboles de distribucioacuten no es una tareafaacutecilmdash La localizacioacuten de las fuentes es desconocidamdash La definicioacuten de direcciones multicast globales es una tarea difiacutecil

IGMP v3bull Permite que los dispositivos especifiquen dequien quieren recibir paquetesmdashEl traacutefico proveniente de otros dispositivos esbloqueado por los enrutadoresbull Permite que los dispositivos bloqueen paquetesde otras fuentes que emitan traacutefico no deseado

Formato de Mensaje IGMP

Peticioacuten de Membresiacuteabull Enviado por el enrutador multicastbull Peticioacuten generalmdashPara conocer que grupos tienen miembros en la reden cuestioacutenbull Peticioacuten especiacutefica al grupomdashPara conocer si un grupo dado tiene miembros

Campos de la Peticioacuten de Membresia (1)bull Tipobull Tiempo maacuteximo de respuestamdashTiempo entre enviacuteos 110 segundobull ChecksummdashMismo algoritmo que el utilizado por IPv4bull Direccioacuten de grupomdashCero para el caso generalmdashDireccioacuten del grupo para un grupo especiacutefico o paraun grupo asociado a una fuente dada

Campos de la Peticioacuten de Membresiacutea(2)bull QRV (variable de robustez del enrutador que hace lapeticioacuten)mdash Valor RV utilizado por el enrutador que enviacutea la peticioacutenmdash RV indica el nuacutemero de retrasmisiones necesarias paraasegurarse que el mensaje de informe (report) no se pierdanbull QQIC (intervalo entre peticiones)mdash Valor usado por el dispositivo que emite la peticioacuten QI Temporizador para enviar muacuteltiples peticionesbull Nuacutemero de fuentesbull Direcciones fuentemdash Una direccioacuten unicast de 32 bits por cada fuente

Formato del Mensaje IGMP de Informe de Membresiacutea

Informe de Membresiacuteabull Tipobull Checksumbull Nuacutemero de Registros de Grupobull Registros de GrupomdashUna direccioacuten unicast de 32 bits por fuente

Formato del mensaje IGMP de registro de grupo

Registro de grupobull Tipo de registrobull Longitud de los datos auxiliaresmdashUnidades de 32 bitsbull Nuacutemero de fuentesbull Direccioacuten Multicastbull Direcciones FuentemdashUna direccioacuten unicast de 32 bits por fuentebull Datos auxiliaresmdashNo estaacuten definidos en la versioacuten actual

Operacion IGMP - Altabull Utilizado cuando un dispositivo quiere unirse a un grupoformado por enrutadores y dispositivos interconectadospor una red localbull IGMPv3 puede definir la membresiacutea a un grupo concapacidades de filtrado con respecto a ciertas fuentesmdash Modo EXCLUDE ndash todos los miembros del grupo exceptoaquellos en la listamdash Modo INCLUDE ndash Solamente los miembros del grupoespecificados en la listabull Para unirse a un grupo un dispositivo debe enviar unmensaje de membresiacutea IGMPmdash Debe indicar la direccioacuten multicast en el campo de direccioacutenmdash Los miembros del grupo reciben el mensaje

Operacioacuten IGMP ndash Conservando la lista actualizadabull Los enrutadores enviacutean perioacutedicamente mensajes depeticioacuten IGMPmdash Aquellos dispositivos que desean continuar en el grupo deben

leer y conservar las direcciones de todos los dispositivos queforman parte del grupomdash Los dispositivos enviacutean un mensaje de informe a todos losgrupos en el que desea seguir activobull EL enrutador no necesita conocer la direccioacuten de todoslos dispositivos miembros del grupomdash Necesita tan soacutelo conocer que al menos un miembro seencuentra auacuten activomdash Soacutelo se requiere que al menos un miembro del grupo se reporteal enrutador

Operacioacuten IGMP - Bajabull Para darse de baja de un grupo un dispositivo debeenviar un mensaje de baja a todos los enrutadoresbull El dispositivo deseando darse de baja enviacutea un mensajede informe con la opcioacuten EXCLUDE y con una lista dedirecciones vaciacuteabull El enrutador debe determinar si existen auacuten miembrosactivos para ello hace uso de un mensaje de grupoespeciacutefico

Membresiacutea de Grupo con IPv6bull IGMP ha sido definido para IPv4mdashUtiliza direcciones de 32 bitsbull Las funciones de IGMP han sido incorporadas enICMPv6 (Internet Control Message Protocolversioacuten 6)mdashICMPv6 incluye todas las funcionalidades de ICMPv4y IGMPbull ICMPv6 incluye la peticioacuten de membresiacutea y elinforme de membresiacuteamdashFunciona de manera similar a IGMP

Estensioacuten Multicast a OSPF (MOSPF)bull Utilizado para el enrutamiento multicast dentro de un ASbull Los enrutadores utilizan MOSPF para manteneractualizada la informacioacuten que permite determinar laconstitucioacuten de los grupos multicastbull De manera perioacutedica los enrutadores retransmiten estainformacioacuten utilizando la teacutecnica de inundacioacutenbull Los enrutadores construyen el aacuterbol de expansioacuten amiacutenimo coste partiendo de una fuente a todas las redesconteniendo miembros del grupo (Dijkstra)mdash Este procedimiento se hace soacutelo bajo demanda ya que llevamucho tiempo la elaboracioacuten del aacuterbol de expansioacuten

Transmisioacuten de paquetes Multicastbull Si un enrutador no reconoce la direccioacuten lamulticast el paquete se descartabull Si el enrutador estaacute interconectado a una redque contenga al menos un miembro del grupo

transmite una copia del mensaje hacia esta redbull Verifica el aacuterbol de expansioacuten asociado yretransmite hacia otros enrutadores en caso quesea necesariobull Un grupo multicast puede contener miembrosasociados a maacutes de una aacutereabull Los enrutadores soacutelo conocen la constitucioacuten delos grupos multicast dentro de su aacutereabull Un subconjunto de enrutadores funcionan comopasarelas cuya funcioacuten es retransmitir lainformacioacuten de membresiacutea y los paquetesmulticast entre las aacutereas

Multicasting Inter-ASbull Los enrutadores encargados de retransmitirentre los ASmdashEjecutan el protocolo de enrutamiento multicast entreAS asiacute como los protocolos de enrutamiento MOSPF yOSPFmdashMOSPF es utilizado dentro del AS

Ejemplo Enrutamiento MOSPF Routing

Caracetriacutesticas de MOSPFbull Desarrollado a partir de OSPFbull Disentildeado para funcionar dentro de un AS

bull No es eficiente para grandes grupos

Why Overlay Networks1048710 Current Internet works well but one size does not fit all1048710 applications need various types of service eg QoSmulticast security reliability1048710 many proposals eg multicast QoS require tochange a large number of network devices1048710 However Internet is rigid1048710 changes in the network happen slowly1048710 reason Internet is a shared infrastructure

Why Overlay Networks (contd)1048710 Solution by overlay network1048710 needs to change the nodes that are included in theoverlay network1048710 does not deploy new equipments or modify existingsoftwareprotocols at all nodes in the network1048710 a historical example IP over Ethernet1048710 Makes it easy to deploy new functionalities in the networkwith no influences on existing devices and services1048710 This also accelerates the pace of innovation

Costs of Overlay1048710 Adds overhead1048710 adds a layer in networking stack headers processing1048710 sometimes additional work is redundant egaddressing1048710 Adds complexity1048710 layering only manages complexity rather thaneliminate it1048710 more layers of functionality more possible unintendedinteraction between layers1048710example corruption drops on wireless interpretedas congestion drops by TCP

Samples of Overlay Network1048710 End system multicast1048710 Quality of service1048710 Routing overlay1048710 Security

Problems with IP Layer Multicast1048710 Scales poorly with number of groups1048710 a router must maintain state for every group thattraverses it1048710 Supporting higher level functionality is difficult1048710 IP multicast best-effort multi-point delivery service1048710 reliability and congestion control for IP Multicastcomplicated

1048710scalable end-to-end approach for heterogeneousreceivers is very difficult1048710requires more state and processing in routers1048710 Deployment is difficult and slow1048710 ISP is reluctant to turn on IP Multicast

End System Multicast Example

End System Multicast1048710 End hosts perform packet replication ie acting asmulticast routers1048710 these hosts consist of an overlay network over theunderlying network1048710 this requires only unicast from underlying network1048710 Set up multicast tree among hosts1048710 run multicast routing protocol in this overlay network1048710 The key is to construct an appropriate overlay network1048710 determine immediate ldquoneighborsrdquo1048710 by the measurement of RTT to other node chooseoptimal ones

Benefits1048710 Scalability1048710 routers do not maintain per-group state1048710 end systems do but they participate in very fewgroups1048710 Easier to deploy1048710 only requires adding software to end hosts1048710 Potentially simplifies support for higher level functionality1048710 use hop-by-hop approach but end hosts are routers1048710 leverage computation and storage of end systems egpacket buffering ACK aggregation1048710 leverage solutions for unicast congestion control andReliability

Performance ConcernsLatency in the overlay latencyin the underlying network1048710 Number of duplicate packetssent over the same physical link

Overlay Construction Problems1048710 Problem1048710 to establish an appropriate mesh overlay ie set upldquolinksrdquo (at overlay level) to other hosts1048710 Challenges1048710 dynamic changes in group membership1048710members may join leave die1048710 dynamic changes in network conditions and topology1048710delay between members may vary over time due tocongestion routing changes1048710 knowledge of network conditions is member specific1048710each member must determine network conditionsfor itself

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

- Peer to peer networks

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

Common Issues1048710 Organize and maintain an overlay network1048710 nodes join leave1048710 nodes die1048710 Resource location1048710 Locality (network proximity)1048710 Resource allocationload balancing

Napster1048710 Napster free music over the Internet1048710 Idea share the storage and bandwidth of individual users1048710 Model1048710 each user stores a subset of files1048710 each user has access files from all users in the system1048710 Challenges1048710 main find where a particular file is stored1048710 scale up to millions of users1048710 dynamicity users may join or leave any time1048710 Assume a centralized index system mapping files to alivemachines (users)

Napster Example

Solutions to the Location Problem1048710 Centralized directory1048710 example Napster1048710 advantage simplicity1048710 disadvantage robustness scalability1048710 Distributed directory Distributed Hash Table (DHT)abstraction1048710 examples Pastry Chord Content AddressableNetwork (CAN)1048710 Services built on top of DHTs1048710 persistent storage1048710 p2p file storage1048710 hellip

Pastry1048710 Self-organizing peer-to-peer network1048710 DHT consistent hashing1048710 Lookupinsert object in lt log16N routing steps (expected)1048710 O(log N) per-node state1048710 Network locality heuristics

Consistent Hashing1048710 128 bit circular id space1048710 hash(object name) -gt ObjID1048710 hash(IP addr) -gt NodeID1048710 Idea the node withnumerically closestNodeID maintains object

Object InsertionLookup1048710 Message with key xis forwarded to livenode with NodeIDclosest to x1048710 Problem completerouting table is notfeasible

Routing1048710 Properties1048710 log16 N steps1048710 O(log N) states

Leaf Sets1048710 Each node maintains IP addresses of the nodes with theL numerically closest larger and smaller NodeIDsrespectively1048710 routing efficiencyrobustness1048710 fault detection (keep-alive)1048710 application-specific local coordination

Routing Procedureif (destination is within range of our leaf set)forward to numerically closest memberelselet l = length of shared prefixlet d = value of l-th digit in Drsquos addressif (Rld exists)forward to Rldelseforward to a known node that(a) shares at least as long a prefix

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 9: Protocolos en Redes CDN

Peticioacuten de Membresiacuteabull Enviado por el enrutador multicastbull Peticioacuten generalmdashPara conocer que grupos tienen miembros en la reden cuestioacutenbull Peticioacuten especiacutefica al grupomdashPara conocer si un grupo dado tiene miembros

Campos de la Peticioacuten de Membresia (1)bull Tipobull Tiempo maacuteximo de respuestamdashTiempo entre enviacuteos 110 segundobull ChecksummdashMismo algoritmo que el utilizado por IPv4bull Direccioacuten de grupomdashCero para el caso generalmdashDireccioacuten del grupo para un grupo especiacutefico o paraun grupo asociado a una fuente dada

Campos de la Peticioacuten de Membresiacutea(2)bull QRV (variable de robustez del enrutador que hace lapeticioacuten)mdash Valor RV utilizado por el enrutador que enviacutea la peticioacutenmdash RV indica el nuacutemero de retrasmisiones necesarias paraasegurarse que el mensaje de informe (report) no se pierdanbull QQIC (intervalo entre peticiones)mdash Valor usado por el dispositivo que emite la peticioacuten QI Temporizador para enviar muacuteltiples peticionesbull Nuacutemero de fuentesbull Direcciones fuentemdash Una direccioacuten unicast de 32 bits por cada fuente

Formato del Mensaje IGMP de Informe de Membresiacutea

Informe de Membresiacuteabull Tipobull Checksumbull Nuacutemero de Registros de Grupobull Registros de GrupomdashUna direccioacuten unicast de 32 bits por fuente

Formato del mensaje IGMP de registro de grupo

Registro de grupobull Tipo de registrobull Longitud de los datos auxiliaresmdashUnidades de 32 bitsbull Nuacutemero de fuentesbull Direccioacuten Multicastbull Direcciones FuentemdashUna direccioacuten unicast de 32 bits por fuentebull Datos auxiliaresmdashNo estaacuten definidos en la versioacuten actual

Operacion IGMP - Altabull Utilizado cuando un dispositivo quiere unirse a un grupoformado por enrutadores y dispositivos interconectadospor una red localbull IGMPv3 puede definir la membresiacutea a un grupo concapacidades de filtrado con respecto a ciertas fuentesmdash Modo EXCLUDE ndash todos los miembros del grupo exceptoaquellos en la listamdash Modo INCLUDE ndash Solamente los miembros del grupoespecificados en la listabull Para unirse a un grupo un dispositivo debe enviar unmensaje de membresiacutea IGMPmdash Debe indicar la direccioacuten multicast en el campo de direccioacutenmdash Los miembros del grupo reciben el mensaje

Operacioacuten IGMP ndash Conservando la lista actualizadabull Los enrutadores enviacutean perioacutedicamente mensajes depeticioacuten IGMPmdash Aquellos dispositivos que desean continuar en el grupo deben

leer y conservar las direcciones de todos los dispositivos queforman parte del grupomdash Los dispositivos enviacutean un mensaje de informe a todos losgrupos en el que desea seguir activobull EL enrutador no necesita conocer la direccioacuten de todoslos dispositivos miembros del grupomdash Necesita tan soacutelo conocer que al menos un miembro seencuentra auacuten activomdash Soacutelo se requiere que al menos un miembro del grupo se reporteal enrutador

Operacioacuten IGMP - Bajabull Para darse de baja de un grupo un dispositivo debeenviar un mensaje de baja a todos los enrutadoresbull El dispositivo deseando darse de baja enviacutea un mensajede informe con la opcioacuten EXCLUDE y con una lista dedirecciones vaciacuteabull El enrutador debe determinar si existen auacuten miembrosactivos para ello hace uso de un mensaje de grupoespeciacutefico

Membresiacutea de Grupo con IPv6bull IGMP ha sido definido para IPv4mdashUtiliza direcciones de 32 bitsbull Las funciones de IGMP han sido incorporadas enICMPv6 (Internet Control Message Protocolversioacuten 6)mdashICMPv6 incluye todas las funcionalidades de ICMPv4y IGMPbull ICMPv6 incluye la peticioacuten de membresiacutea y elinforme de membresiacuteamdashFunciona de manera similar a IGMP

Estensioacuten Multicast a OSPF (MOSPF)bull Utilizado para el enrutamiento multicast dentro de un ASbull Los enrutadores utilizan MOSPF para manteneractualizada la informacioacuten que permite determinar laconstitucioacuten de los grupos multicastbull De manera perioacutedica los enrutadores retransmiten estainformacioacuten utilizando la teacutecnica de inundacioacutenbull Los enrutadores construyen el aacuterbol de expansioacuten amiacutenimo coste partiendo de una fuente a todas las redesconteniendo miembros del grupo (Dijkstra)mdash Este procedimiento se hace soacutelo bajo demanda ya que llevamucho tiempo la elaboracioacuten del aacuterbol de expansioacuten

Transmisioacuten de paquetes Multicastbull Si un enrutador no reconoce la direccioacuten lamulticast el paquete se descartabull Si el enrutador estaacute interconectado a una redque contenga al menos un miembro del grupo

transmite una copia del mensaje hacia esta redbull Verifica el aacuterbol de expansioacuten asociado yretransmite hacia otros enrutadores en caso quesea necesariobull Un grupo multicast puede contener miembrosasociados a maacutes de una aacutereabull Los enrutadores soacutelo conocen la constitucioacuten delos grupos multicast dentro de su aacutereabull Un subconjunto de enrutadores funcionan comopasarelas cuya funcioacuten es retransmitir lainformacioacuten de membresiacutea y los paquetesmulticast entre las aacutereas

Multicasting Inter-ASbull Los enrutadores encargados de retransmitirentre los ASmdashEjecutan el protocolo de enrutamiento multicast entreAS asiacute como los protocolos de enrutamiento MOSPF yOSPFmdashMOSPF es utilizado dentro del AS

Ejemplo Enrutamiento MOSPF Routing

Caracetriacutesticas de MOSPFbull Desarrollado a partir de OSPFbull Disentildeado para funcionar dentro de un AS

bull No es eficiente para grandes grupos

Why Overlay Networks1048710 Current Internet works well but one size does not fit all1048710 applications need various types of service eg QoSmulticast security reliability1048710 many proposals eg multicast QoS require tochange a large number of network devices1048710 However Internet is rigid1048710 changes in the network happen slowly1048710 reason Internet is a shared infrastructure

Why Overlay Networks (contd)1048710 Solution by overlay network1048710 needs to change the nodes that are included in theoverlay network1048710 does not deploy new equipments or modify existingsoftwareprotocols at all nodes in the network1048710 a historical example IP over Ethernet1048710 Makes it easy to deploy new functionalities in the networkwith no influences on existing devices and services1048710 This also accelerates the pace of innovation

Costs of Overlay1048710 Adds overhead1048710 adds a layer in networking stack headers processing1048710 sometimes additional work is redundant egaddressing1048710 Adds complexity1048710 layering only manages complexity rather thaneliminate it1048710 more layers of functionality more possible unintendedinteraction between layers1048710example corruption drops on wireless interpretedas congestion drops by TCP

Samples of Overlay Network1048710 End system multicast1048710 Quality of service1048710 Routing overlay1048710 Security

Problems with IP Layer Multicast1048710 Scales poorly with number of groups1048710 a router must maintain state for every group thattraverses it1048710 Supporting higher level functionality is difficult1048710 IP multicast best-effort multi-point delivery service1048710 reliability and congestion control for IP Multicastcomplicated

1048710scalable end-to-end approach for heterogeneousreceivers is very difficult1048710requires more state and processing in routers1048710 Deployment is difficult and slow1048710 ISP is reluctant to turn on IP Multicast

End System Multicast Example

End System Multicast1048710 End hosts perform packet replication ie acting asmulticast routers1048710 these hosts consist of an overlay network over theunderlying network1048710 this requires only unicast from underlying network1048710 Set up multicast tree among hosts1048710 run multicast routing protocol in this overlay network1048710 The key is to construct an appropriate overlay network1048710 determine immediate ldquoneighborsrdquo1048710 by the measurement of RTT to other node chooseoptimal ones

Benefits1048710 Scalability1048710 routers do not maintain per-group state1048710 end systems do but they participate in very fewgroups1048710 Easier to deploy1048710 only requires adding software to end hosts1048710 Potentially simplifies support for higher level functionality1048710 use hop-by-hop approach but end hosts are routers1048710 leverage computation and storage of end systems egpacket buffering ACK aggregation1048710 leverage solutions for unicast congestion control andReliability

Performance ConcernsLatency in the overlay latencyin the underlying network1048710 Number of duplicate packetssent over the same physical link

Overlay Construction Problems1048710 Problem1048710 to establish an appropriate mesh overlay ie set upldquolinksrdquo (at overlay level) to other hosts1048710 Challenges1048710 dynamic changes in group membership1048710members may join leave die1048710 dynamic changes in network conditions and topology1048710delay between members may vary over time due tocongestion routing changes1048710 knowledge of network conditions is member specific1048710each member must determine network conditionsfor itself

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

- Peer to peer networks

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

Common Issues1048710 Organize and maintain an overlay network1048710 nodes join leave1048710 nodes die1048710 Resource location1048710 Locality (network proximity)1048710 Resource allocationload balancing

Napster1048710 Napster free music over the Internet1048710 Idea share the storage and bandwidth of individual users1048710 Model1048710 each user stores a subset of files1048710 each user has access files from all users in the system1048710 Challenges1048710 main find where a particular file is stored1048710 scale up to millions of users1048710 dynamicity users may join or leave any time1048710 Assume a centralized index system mapping files to alivemachines (users)

Napster Example

Solutions to the Location Problem1048710 Centralized directory1048710 example Napster1048710 advantage simplicity1048710 disadvantage robustness scalability1048710 Distributed directory Distributed Hash Table (DHT)abstraction1048710 examples Pastry Chord Content AddressableNetwork (CAN)1048710 Services built on top of DHTs1048710 persistent storage1048710 p2p file storage1048710 hellip

Pastry1048710 Self-organizing peer-to-peer network1048710 DHT consistent hashing1048710 Lookupinsert object in lt log16N routing steps (expected)1048710 O(log N) per-node state1048710 Network locality heuristics

Consistent Hashing1048710 128 bit circular id space1048710 hash(object name) -gt ObjID1048710 hash(IP addr) -gt NodeID1048710 Idea the node withnumerically closestNodeID maintains object

Object InsertionLookup1048710 Message with key xis forwarded to livenode with NodeIDclosest to x1048710 Problem completerouting table is notfeasible

Routing1048710 Properties1048710 log16 N steps1048710 O(log N) states

Leaf Sets1048710 Each node maintains IP addresses of the nodes with theL numerically closest larger and smaller NodeIDsrespectively1048710 routing efficiencyrobustness1048710 fault detection (keep-alive)1048710 application-specific local coordination

Routing Procedureif (destination is within range of our leaf set)forward to numerically closest memberelselet l = length of shared prefixlet d = value of l-th digit in Drsquos addressif (Rld exists)forward to Rldelseforward to a known node that(a) shares at least as long a prefix

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 10: Protocolos en Redes CDN

Formato del Mensaje IGMP de Informe de Membresiacutea

Informe de Membresiacuteabull Tipobull Checksumbull Nuacutemero de Registros de Grupobull Registros de GrupomdashUna direccioacuten unicast de 32 bits por fuente

Formato del mensaje IGMP de registro de grupo

Registro de grupobull Tipo de registrobull Longitud de los datos auxiliaresmdashUnidades de 32 bitsbull Nuacutemero de fuentesbull Direccioacuten Multicastbull Direcciones FuentemdashUna direccioacuten unicast de 32 bits por fuentebull Datos auxiliaresmdashNo estaacuten definidos en la versioacuten actual

Operacion IGMP - Altabull Utilizado cuando un dispositivo quiere unirse a un grupoformado por enrutadores y dispositivos interconectadospor una red localbull IGMPv3 puede definir la membresiacutea a un grupo concapacidades de filtrado con respecto a ciertas fuentesmdash Modo EXCLUDE ndash todos los miembros del grupo exceptoaquellos en la listamdash Modo INCLUDE ndash Solamente los miembros del grupoespecificados en la listabull Para unirse a un grupo un dispositivo debe enviar unmensaje de membresiacutea IGMPmdash Debe indicar la direccioacuten multicast en el campo de direccioacutenmdash Los miembros del grupo reciben el mensaje

Operacioacuten IGMP ndash Conservando la lista actualizadabull Los enrutadores enviacutean perioacutedicamente mensajes depeticioacuten IGMPmdash Aquellos dispositivos que desean continuar en el grupo deben

leer y conservar las direcciones de todos los dispositivos queforman parte del grupomdash Los dispositivos enviacutean un mensaje de informe a todos losgrupos en el que desea seguir activobull EL enrutador no necesita conocer la direccioacuten de todoslos dispositivos miembros del grupomdash Necesita tan soacutelo conocer que al menos un miembro seencuentra auacuten activomdash Soacutelo se requiere que al menos un miembro del grupo se reporteal enrutador

Operacioacuten IGMP - Bajabull Para darse de baja de un grupo un dispositivo debeenviar un mensaje de baja a todos los enrutadoresbull El dispositivo deseando darse de baja enviacutea un mensajede informe con la opcioacuten EXCLUDE y con una lista dedirecciones vaciacuteabull El enrutador debe determinar si existen auacuten miembrosactivos para ello hace uso de un mensaje de grupoespeciacutefico

Membresiacutea de Grupo con IPv6bull IGMP ha sido definido para IPv4mdashUtiliza direcciones de 32 bitsbull Las funciones de IGMP han sido incorporadas enICMPv6 (Internet Control Message Protocolversioacuten 6)mdashICMPv6 incluye todas las funcionalidades de ICMPv4y IGMPbull ICMPv6 incluye la peticioacuten de membresiacutea y elinforme de membresiacuteamdashFunciona de manera similar a IGMP

Estensioacuten Multicast a OSPF (MOSPF)bull Utilizado para el enrutamiento multicast dentro de un ASbull Los enrutadores utilizan MOSPF para manteneractualizada la informacioacuten que permite determinar laconstitucioacuten de los grupos multicastbull De manera perioacutedica los enrutadores retransmiten estainformacioacuten utilizando la teacutecnica de inundacioacutenbull Los enrutadores construyen el aacuterbol de expansioacuten amiacutenimo coste partiendo de una fuente a todas las redesconteniendo miembros del grupo (Dijkstra)mdash Este procedimiento se hace soacutelo bajo demanda ya que llevamucho tiempo la elaboracioacuten del aacuterbol de expansioacuten

Transmisioacuten de paquetes Multicastbull Si un enrutador no reconoce la direccioacuten lamulticast el paquete se descartabull Si el enrutador estaacute interconectado a una redque contenga al menos un miembro del grupo

transmite una copia del mensaje hacia esta redbull Verifica el aacuterbol de expansioacuten asociado yretransmite hacia otros enrutadores en caso quesea necesariobull Un grupo multicast puede contener miembrosasociados a maacutes de una aacutereabull Los enrutadores soacutelo conocen la constitucioacuten delos grupos multicast dentro de su aacutereabull Un subconjunto de enrutadores funcionan comopasarelas cuya funcioacuten es retransmitir lainformacioacuten de membresiacutea y los paquetesmulticast entre las aacutereas

Multicasting Inter-ASbull Los enrutadores encargados de retransmitirentre los ASmdashEjecutan el protocolo de enrutamiento multicast entreAS asiacute como los protocolos de enrutamiento MOSPF yOSPFmdashMOSPF es utilizado dentro del AS

Ejemplo Enrutamiento MOSPF Routing

Caracetriacutesticas de MOSPFbull Desarrollado a partir de OSPFbull Disentildeado para funcionar dentro de un AS

bull No es eficiente para grandes grupos

Why Overlay Networks1048710 Current Internet works well but one size does not fit all1048710 applications need various types of service eg QoSmulticast security reliability1048710 many proposals eg multicast QoS require tochange a large number of network devices1048710 However Internet is rigid1048710 changes in the network happen slowly1048710 reason Internet is a shared infrastructure

Why Overlay Networks (contd)1048710 Solution by overlay network1048710 needs to change the nodes that are included in theoverlay network1048710 does not deploy new equipments or modify existingsoftwareprotocols at all nodes in the network1048710 a historical example IP over Ethernet1048710 Makes it easy to deploy new functionalities in the networkwith no influences on existing devices and services1048710 This also accelerates the pace of innovation

Costs of Overlay1048710 Adds overhead1048710 adds a layer in networking stack headers processing1048710 sometimes additional work is redundant egaddressing1048710 Adds complexity1048710 layering only manages complexity rather thaneliminate it1048710 more layers of functionality more possible unintendedinteraction between layers1048710example corruption drops on wireless interpretedas congestion drops by TCP

Samples of Overlay Network1048710 End system multicast1048710 Quality of service1048710 Routing overlay1048710 Security

Problems with IP Layer Multicast1048710 Scales poorly with number of groups1048710 a router must maintain state for every group thattraverses it1048710 Supporting higher level functionality is difficult1048710 IP multicast best-effort multi-point delivery service1048710 reliability and congestion control for IP Multicastcomplicated

1048710scalable end-to-end approach for heterogeneousreceivers is very difficult1048710requires more state and processing in routers1048710 Deployment is difficult and slow1048710 ISP is reluctant to turn on IP Multicast

End System Multicast Example

End System Multicast1048710 End hosts perform packet replication ie acting asmulticast routers1048710 these hosts consist of an overlay network over theunderlying network1048710 this requires only unicast from underlying network1048710 Set up multicast tree among hosts1048710 run multicast routing protocol in this overlay network1048710 The key is to construct an appropriate overlay network1048710 determine immediate ldquoneighborsrdquo1048710 by the measurement of RTT to other node chooseoptimal ones

Benefits1048710 Scalability1048710 routers do not maintain per-group state1048710 end systems do but they participate in very fewgroups1048710 Easier to deploy1048710 only requires adding software to end hosts1048710 Potentially simplifies support for higher level functionality1048710 use hop-by-hop approach but end hosts are routers1048710 leverage computation and storage of end systems egpacket buffering ACK aggregation1048710 leverage solutions for unicast congestion control andReliability

Performance ConcernsLatency in the overlay latencyin the underlying network1048710 Number of duplicate packetssent over the same physical link

Overlay Construction Problems1048710 Problem1048710 to establish an appropriate mesh overlay ie set upldquolinksrdquo (at overlay level) to other hosts1048710 Challenges1048710 dynamic changes in group membership1048710members may join leave die1048710 dynamic changes in network conditions and topology1048710delay between members may vary over time due tocongestion routing changes1048710 knowledge of network conditions is member specific1048710each member must determine network conditionsfor itself

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

- Peer to peer networks

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

Common Issues1048710 Organize and maintain an overlay network1048710 nodes join leave1048710 nodes die1048710 Resource location1048710 Locality (network proximity)1048710 Resource allocationload balancing

Napster1048710 Napster free music over the Internet1048710 Idea share the storage and bandwidth of individual users1048710 Model1048710 each user stores a subset of files1048710 each user has access files from all users in the system1048710 Challenges1048710 main find where a particular file is stored1048710 scale up to millions of users1048710 dynamicity users may join or leave any time1048710 Assume a centralized index system mapping files to alivemachines (users)

Napster Example

Solutions to the Location Problem1048710 Centralized directory1048710 example Napster1048710 advantage simplicity1048710 disadvantage robustness scalability1048710 Distributed directory Distributed Hash Table (DHT)abstraction1048710 examples Pastry Chord Content AddressableNetwork (CAN)1048710 Services built on top of DHTs1048710 persistent storage1048710 p2p file storage1048710 hellip

Pastry1048710 Self-organizing peer-to-peer network1048710 DHT consistent hashing1048710 Lookupinsert object in lt log16N routing steps (expected)1048710 O(log N) per-node state1048710 Network locality heuristics

Consistent Hashing1048710 128 bit circular id space1048710 hash(object name) -gt ObjID1048710 hash(IP addr) -gt NodeID1048710 Idea the node withnumerically closestNodeID maintains object

Object InsertionLookup1048710 Message with key xis forwarded to livenode with NodeIDclosest to x1048710 Problem completerouting table is notfeasible

Routing1048710 Properties1048710 log16 N steps1048710 O(log N) states

Leaf Sets1048710 Each node maintains IP addresses of the nodes with theL numerically closest larger and smaller NodeIDsrespectively1048710 routing efficiencyrobustness1048710 fault detection (keep-alive)1048710 application-specific local coordination

Routing Procedureif (destination is within range of our leaf set)forward to numerically closest memberelselet l = length of shared prefixlet d = value of l-th digit in Drsquos addressif (Rld exists)forward to Rldelseforward to a known node that(a) shares at least as long a prefix

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 11: Protocolos en Redes CDN

Registro de grupobull Tipo de registrobull Longitud de los datos auxiliaresmdashUnidades de 32 bitsbull Nuacutemero de fuentesbull Direccioacuten Multicastbull Direcciones FuentemdashUna direccioacuten unicast de 32 bits por fuentebull Datos auxiliaresmdashNo estaacuten definidos en la versioacuten actual

Operacion IGMP - Altabull Utilizado cuando un dispositivo quiere unirse a un grupoformado por enrutadores y dispositivos interconectadospor una red localbull IGMPv3 puede definir la membresiacutea a un grupo concapacidades de filtrado con respecto a ciertas fuentesmdash Modo EXCLUDE ndash todos los miembros del grupo exceptoaquellos en la listamdash Modo INCLUDE ndash Solamente los miembros del grupoespecificados en la listabull Para unirse a un grupo un dispositivo debe enviar unmensaje de membresiacutea IGMPmdash Debe indicar la direccioacuten multicast en el campo de direccioacutenmdash Los miembros del grupo reciben el mensaje

Operacioacuten IGMP ndash Conservando la lista actualizadabull Los enrutadores enviacutean perioacutedicamente mensajes depeticioacuten IGMPmdash Aquellos dispositivos que desean continuar en el grupo deben

leer y conservar las direcciones de todos los dispositivos queforman parte del grupomdash Los dispositivos enviacutean un mensaje de informe a todos losgrupos en el que desea seguir activobull EL enrutador no necesita conocer la direccioacuten de todoslos dispositivos miembros del grupomdash Necesita tan soacutelo conocer que al menos un miembro seencuentra auacuten activomdash Soacutelo se requiere que al menos un miembro del grupo se reporteal enrutador

Operacioacuten IGMP - Bajabull Para darse de baja de un grupo un dispositivo debeenviar un mensaje de baja a todos los enrutadoresbull El dispositivo deseando darse de baja enviacutea un mensajede informe con la opcioacuten EXCLUDE y con una lista dedirecciones vaciacuteabull El enrutador debe determinar si existen auacuten miembrosactivos para ello hace uso de un mensaje de grupoespeciacutefico

Membresiacutea de Grupo con IPv6bull IGMP ha sido definido para IPv4mdashUtiliza direcciones de 32 bitsbull Las funciones de IGMP han sido incorporadas enICMPv6 (Internet Control Message Protocolversioacuten 6)mdashICMPv6 incluye todas las funcionalidades de ICMPv4y IGMPbull ICMPv6 incluye la peticioacuten de membresiacutea y elinforme de membresiacuteamdashFunciona de manera similar a IGMP

Estensioacuten Multicast a OSPF (MOSPF)bull Utilizado para el enrutamiento multicast dentro de un ASbull Los enrutadores utilizan MOSPF para manteneractualizada la informacioacuten que permite determinar laconstitucioacuten de los grupos multicastbull De manera perioacutedica los enrutadores retransmiten estainformacioacuten utilizando la teacutecnica de inundacioacutenbull Los enrutadores construyen el aacuterbol de expansioacuten amiacutenimo coste partiendo de una fuente a todas las redesconteniendo miembros del grupo (Dijkstra)mdash Este procedimiento se hace soacutelo bajo demanda ya que llevamucho tiempo la elaboracioacuten del aacuterbol de expansioacuten

Transmisioacuten de paquetes Multicastbull Si un enrutador no reconoce la direccioacuten lamulticast el paquete se descartabull Si el enrutador estaacute interconectado a una redque contenga al menos un miembro del grupo

transmite una copia del mensaje hacia esta redbull Verifica el aacuterbol de expansioacuten asociado yretransmite hacia otros enrutadores en caso quesea necesariobull Un grupo multicast puede contener miembrosasociados a maacutes de una aacutereabull Los enrutadores soacutelo conocen la constitucioacuten delos grupos multicast dentro de su aacutereabull Un subconjunto de enrutadores funcionan comopasarelas cuya funcioacuten es retransmitir lainformacioacuten de membresiacutea y los paquetesmulticast entre las aacutereas

Multicasting Inter-ASbull Los enrutadores encargados de retransmitirentre los ASmdashEjecutan el protocolo de enrutamiento multicast entreAS asiacute como los protocolos de enrutamiento MOSPF yOSPFmdashMOSPF es utilizado dentro del AS

Ejemplo Enrutamiento MOSPF Routing

Caracetriacutesticas de MOSPFbull Desarrollado a partir de OSPFbull Disentildeado para funcionar dentro de un AS

bull No es eficiente para grandes grupos

Why Overlay Networks1048710 Current Internet works well but one size does not fit all1048710 applications need various types of service eg QoSmulticast security reliability1048710 many proposals eg multicast QoS require tochange a large number of network devices1048710 However Internet is rigid1048710 changes in the network happen slowly1048710 reason Internet is a shared infrastructure

Why Overlay Networks (contd)1048710 Solution by overlay network1048710 needs to change the nodes that are included in theoverlay network1048710 does not deploy new equipments or modify existingsoftwareprotocols at all nodes in the network1048710 a historical example IP over Ethernet1048710 Makes it easy to deploy new functionalities in the networkwith no influences on existing devices and services1048710 This also accelerates the pace of innovation

Costs of Overlay1048710 Adds overhead1048710 adds a layer in networking stack headers processing1048710 sometimes additional work is redundant egaddressing1048710 Adds complexity1048710 layering only manages complexity rather thaneliminate it1048710 more layers of functionality more possible unintendedinteraction between layers1048710example corruption drops on wireless interpretedas congestion drops by TCP

Samples of Overlay Network1048710 End system multicast1048710 Quality of service1048710 Routing overlay1048710 Security

Problems with IP Layer Multicast1048710 Scales poorly with number of groups1048710 a router must maintain state for every group thattraverses it1048710 Supporting higher level functionality is difficult1048710 IP multicast best-effort multi-point delivery service1048710 reliability and congestion control for IP Multicastcomplicated

1048710scalable end-to-end approach for heterogeneousreceivers is very difficult1048710requires more state and processing in routers1048710 Deployment is difficult and slow1048710 ISP is reluctant to turn on IP Multicast

End System Multicast Example

End System Multicast1048710 End hosts perform packet replication ie acting asmulticast routers1048710 these hosts consist of an overlay network over theunderlying network1048710 this requires only unicast from underlying network1048710 Set up multicast tree among hosts1048710 run multicast routing protocol in this overlay network1048710 The key is to construct an appropriate overlay network1048710 determine immediate ldquoneighborsrdquo1048710 by the measurement of RTT to other node chooseoptimal ones

Benefits1048710 Scalability1048710 routers do not maintain per-group state1048710 end systems do but they participate in very fewgroups1048710 Easier to deploy1048710 only requires adding software to end hosts1048710 Potentially simplifies support for higher level functionality1048710 use hop-by-hop approach but end hosts are routers1048710 leverage computation and storage of end systems egpacket buffering ACK aggregation1048710 leverage solutions for unicast congestion control andReliability

Performance ConcernsLatency in the overlay latencyin the underlying network1048710 Number of duplicate packetssent over the same physical link

Overlay Construction Problems1048710 Problem1048710 to establish an appropriate mesh overlay ie set upldquolinksrdquo (at overlay level) to other hosts1048710 Challenges1048710 dynamic changes in group membership1048710members may join leave die1048710 dynamic changes in network conditions and topology1048710delay between members may vary over time due tocongestion routing changes1048710 knowledge of network conditions is member specific1048710each member must determine network conditionsfor itself

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

- Peer to peer networks

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

Common Issues1048710 Organize and maintain an overlay network1048710 nodes join leave1048710 nodes die1048710 Resource location1048710 Locality (network proximity)1048710 Resource allocationload balancing

Napster1048710 Napster free music over the Internet1048710 Idea share the storage and bandwidth of individual users1048710 Model1048710 each user stores a subset of files1048710 each user has access files from all users in the system1048710 Challenges1048710 main find where a particular file is stored1048710 scale up to millions of users1048710 dynamicity users may join or leave any time1048710 Assume a centralized index system mapping files to alivemachines (users)

Napster Example

Solutions to the Location Problem1048710 Centralized directory1048710 example Napster1048710 advantage simplicity1048710 disadvantage robustness scalability1048710 Distributed directory Distributed Hash Table (DHT)abstraction1048710 examples Pastry Chord Content AddressableNetwork (CAN)1048710 Services built on top of DHTs1048710 persistent storage1048710 p2p file storage1048710 hellip

Pastry1048710 Self-organizing peer-to-peer network1048710 DHT consistent hashing1048710 Lookupinsert object in lt log16N routing steps (expected)1048710 O(log N) per-node state1048710 Network locality heuristics

Consistent Hashing1048710 128 bit circular id space1048710 hash(object name) -gt ObjID1048710 hash(IP addr) -gt NodeID1048710 Idea the node withnumerically closestNodeID maintains object

Object InsertionLookup1048710 Message with key xis forwarded to livenode with NodeIDclosest to x1048710 Problem completerouting table is notfeasible

Routing1048710 Properties1048710 log16 N steps1048710 O(log N) states

Leaf Sets1048710 Each node maintains IP addresses of the nodes with theL numerically closest larger and smaller NodeIDsrespectively1048710 routing efficiencyrobustness1048710 fault detection (keep-alive)1048710 application-specific local coordination

Routing Procedureif (destination is within range of our leaf set)forward to numerically closest memberelselet l = length of shared prefixlet d = value of l-th digit in Drsquos addressif (Rld exists)forward to Rldelseforward to a known node that(a) shares at least as long a prefix

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 12: Protocolos en Redes CDN

leer y conservar las direcciones de todos los dispositivos queforman parte del grupomdash Los dispositivos enviacutean un mensaje de informe a todos losgrupos en el que desea seguir activobull EL enrutador no necesita conocer la direccioacuten de todoslos dispositivos miembros del grupomdash Necesita tan soacutelo conocer que al menos un miembro seencuentra auacuten activomdash Soacutelo se requiere que al menos un miembro del grupo se reporteal enrutador

Operacioacuten IGMP - Bajabull Para darse de baja de un grupo un dispositivo debeenviar un mensaje de baja a todos los enrutadoresbull El dispositivo deseando darse de baja enviacutea un mensajede informe con la opcioacuten EXCLUDE y con una lista dedirecciones vaciacuteabull El enrutador debe determinar si existen auacuten miembrosactivos para ello hace uso de un mensaje de grupoespeciacutefico

Membresiacutea de Grupo con IPv6bull IGMP ha sido definido para IPv4mdashUtiliza direcciones de 32 bitsbull Las funciones de IGMP han sido incorporadas enICMPv6 (Internet Control Message Protocolversioacuten 6)mdashICMPv6 incluye todas las funcionalidades de ICMPv4y IGMPbull ICMPv6 incluye la peticioacuten de membresiacutea y elinforme de membresiacuteamdashFunciona de manera similar a IGMP

Estensioacuten Multicast a OSPF (MOSPF)bull Utilizado para el enrutamiento multicast dentro de un ASbull Los enrutadores utilizan MOSPF para manteneractualizada la informacioacuten que permite determinar laconstitucioacuten de los grupos multicastbull De manera perioacutedica los enrutadores retransmiten estainformacioacuten utilizando la teacutecnica de inundacioacutenbull Los enrutadores construyen el aacuterbol de expansioacuten amiacutenimo coste partiendo de una fuente a todas las redesconteniendo miembros del grupo (Dijkstra)mdash Este procedimiento se hace soacutelo bajo demanda ya que llevamucho tiempo la elaboracioacuten del aacuterbol de expansioacuten

Transmisioacuten de paquetes Multicastbull Si un enrutador no reconoce la direccioacuten lamulticast el paquete se descartabull Si el enrutador estaacute interconectado a una redque contenga al menos un miembro del grupo

transmite una copia del mensaje hacia esta redbull Verifica el aacuterbol de expansioacuten asociado yretransmite hacia otros enrutadores en caso quesea necesariobull Un grupo multicast puede contener miembrosasociados a maacutes de una aacutereabull Los enrutadores soacutelo conocen la constitucioacuten delos grupos multicast dentro de su aacutereabull Un subconjunto de enrutadores funcionan comopasarelas cuya funcioacuten es retransmitir lainformacioacuten de membresiacutea y los paquetesmulticast entre las aacutereas

Multicasting Inter-ASbull Los enrutadores encargados de retransmitirentre los ASmdashEjecutan el protocolo de enrutamiento multicast entreAS asiacute como los protocolos de enrutamiento MOSPF yOSPFmdashMOSPF es utilizado dentro del AS

Ejemplo Enrutamiento MOSPF Routing

Caracetriacutesticas de MOSPFbull Desarrollado a partir de OSPFbull Disentildeado para funcionar dentro de un AS

bull No es eficiente para grandes grupos

Why Overlay Networks1048710 Current Internet works well but one size does not fit all1048710 applications need various types of service eg QoSmulticast security reliability1048710 many proposals eg multicast QoS require tochange a large number of network devices1048710 However Internet is rigid1048710 changes in the network happen slowly1048710 reason Internet is a shared infrastructure

Why Overlay Networks (contd)1048710 Solution by overlay network1048710 needs to change the nodes that are included in theoverlay network1048710 does not deploy new equipments or modify existingsoftwareprotocols at all nodes in the network1048710 a historical example IP over Ethernet1048710 Makes it easy to deploy new functionalities in the networkwith no influences on existing devices and services1048710 This also accelerates the pace of innovation

Costs of Overlay1048710 Adds overhead1048710 adds a layer in networking stack headers processing1048710 sometimes additional work is redundant egaddressing1048710 Adds complexity1048710 layering only manages complexity rather thaneliminate it1048710 more layers of functionality more possible unintendedinteraction between layers1048710example corruption drops on wireless interpretedas congestion drops by TCP

Samples of Overlay Network1048710 End system multicast1048710 Quality of service1048710 Routing overlay1048710 Security

Problems with IP Layer Multicast1048710 Scales poorly with number of groups1048710 a router must maintain state for every group thattraverses it1048710 Supporting higher level functionality is difficult1048710 IP multicast best-effort multi-point delivery service1048710 reliability and congestion control for IP Multicastcomplicated

1048710scalable end-to-end approach for heterogeneousreceivers is very difficult1048710requires more state and processing in routers1048710 Deployment is difficult and slow1048710 ISP is reluctant to turn on IP Multicast

End System Multicast Example

End System Multicast1048710 End hosts perform packet replication ie acting asmulticast routers1048710 these hosts consist of an overlay network over theunderlying network1048710 this requires only unicast from underlying network1048710 Set up multicast tree among hosts1048710 run multicast routing protocol in this overlay network1048710 The key is to construct an appropriate overlay network1048710 determine immediate ldquoneighborsrdquo1048710 by the measurement of RTT to other node chooseoptimal ones

Benefits1048710 Scalability1048710 routers do not maintain per-group state1048710 end systems do but they participate in very fewgroups1048710 Easier to deploy1048710 only requires adding software to end hosts1048710 Potentially simplifies support for higher level functionality1048710 use hop-by-hop approach but end hosts are routers1048710 leverage computation and storage of end systems egpacket buffering ACK aggregation1048710 leverage solutions for unicast congestion control andReliability

Performance ConcernsLatency in the overlay latencyin the underlying network1048710 Number of duplicate packetssent over the same physical link

Overlay Construction Problems1048710 Problem1048710 to establish an appropriate mesh overlay ie set upldquolinksrdquo (at overlay level) to other hosts1048710 Challenges1048710 dynamic changes in group membership1048710members may join leave die1048710 dynamic changes in network conditions and topology1048710delay between members may vary over time due tocongestion routing changes1048710 knowledge of network conditions is member specific1048710each member must determine network conditionsfor itself

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

- Peer to peer networks

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

Common Issues1048710 Organize and maintain an overlay network1048710 nodes join leave1048710 nodes die1048710 Resource location1048710 Locality (network proximity)1048710 Resource allocationload balancing

Napster1048710 Napster free music over the Internet1048710 Idea share the storage and bandwidth of individual users1048710 Model1048710 each user stores a subset of files1048710 each user has access files from all users in the system1048710 Challenges1048710 main find where a particular file is stored1048710 scale up to millions of users1048710 dynamicity users may join or leave any time1048710 Assume a centralized index system mapping files to alivemachines (users)

Napster Example

Solutions to the Location Problem1048710 Centralized directory1048710 example Napster1048710 advantage simplicity1048710 disadvantage robustness scalability1048710 Distributed directory Distributed Hash Table (DHT)abstraction1048710 examples Pastry Chord Content AddressableNetwork (CAN)1048710 Services built on top of DHTs1048710 persistent storage1048710 p2p file storage1048710 hellip

Pastry1048710 Self-organizing peer-to-peer network1048710 DHT consistent hashing1048710 Lookupinsert object in lt log16N routing steps (expected)1048710 O(log N) per-node state1048710 Network locality heuristics

Consistent Hashing1048710 128 bit circular id space1048710 hash(object name) -gt ObjID1048710 hash(IP addr) -gt NodeID1048710 Idea the node withnumerically closestNodeID maintains object

Object InsertionLookup1048710 Message with key xis forwarded to livenode with NodeIDclosest to x1048710 Problem completerouting table is notfeasible

Routing1048710 Properties1048710 log16 N steps1048710 O(log N) states

Leaf Sets1048710 Each node maintains IP addresses of the nodes with theL numerically closest larger and smaller NodeIDsrespectively1048710 routing efficiencyrobustness1048710 fault detection (keep-alive)1048710 application-specific local coordination

Routing Procedureif (destination is within range of our leaf set)forward to numerically closest memberelselet l = length of shared prefixlet d = value of l-th digit in Drsquos addressif (Rld exists)forward to Rldelseforward to a known node that(a) shares at least as long a prefix

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 13: Protocolos en Redes CDN

transmite una copia del mensaje hacia esta redbull Verifica el aacuterbol de expansioacuten asociado yretransmite hacia otros enrutadores en caso quesea necesariobull Un grupo multicast puede contener miembrosasociados a maacutes de una aacutereabull Los enrutadores soacutelo conocen la constitucioacuten delos grupos multicast dentro de su aacutereabull Un subconjunto de enrutadores funcionan comopasarelas cuya funcioacuten es retransmitir lainformacioacuten de membresiacutea y los paquetesmulticast entre las aacutereas

Multicasting Inter-ASbull Los enrutadores encargados de retransmitirentre los ASmdashEjecutan el protocolo de enrutamiento multicast entreAS asiacute como los protocolos de enrutamiento MOSPF yOSPFmdashMOSPF es utilizado dentro del AS

Ejemplo Enrutamiento MOSPF Routing

Caracetriacutesticas de MOSPFbull Desarrollado a partir de OSPFbull Disentildeado para funcionar dentro de un AS

bull No es eficiente para grandes grupos

Why Overlay Networks1048710 Current Internet works well but one size does not fit all1048710 applications need various types of service eg QoSmulticast security reliability1048710 many proposals eg multicast QoS require tochange a large number of network devices1048710 However Internet is rigid1048710 changes in the network happen slowly1048710 reason Internet is a shared infrastructure

Why Overlay Networks (contd)1048710 Solution by overlay network1048710 needs to change the nodes that are included in theoverlay network1048710 does not deploy new equipments or modify existingsoftwareprotocols at all nodes in the network1048710 a historical example IP over Ethernet1048710 Makes it easy to deploy new functionalities in the networkwith no influences on existing devices and services1048710 This also accelerates the pace of innovation

Costs of Overlay1048710 Adds overhead1048710 adds a layer in networking stack headers processing1048710 sometimes additional work is redundant egaddressing1048710 Adds complexity1048710 layering only manages complexity rather thaneliminate it1048710 more layers of functionality more possible unintendedinteraction between layers1048710example corruption drops on wireless interpretedas congestion drops by TCP

Samples of Overlay Network1048710 End system multicast1048710 Quality of service1048710 Routing overlay1048710 Security

Problems with IP Layer Multicast1048710 Scales poorly with number of groups1048710 a router must maintain state for every group thattraverses it1048710 Supporting higher level functionality is difficult1048710 IP multicast best-effort multi-point delivery service1048710 reliability and congestion control for IP Multicastcomplicated

1048710scalable end-to-end approach for heterogeneousreceivers is very difficult1048710requires more state and processing in routers1048710 Deployment is difficult and slow1048710 ISP is reluctant to turn on IP Multicast

End System Multicast Example

End System Multicast1048710 End hosts perform packet replication ie acting asmulticast routers1048710 these hosts consist of an overlay network over theunderlying network1048710 this requires only unicast from underlying network1048710 Set up multicast tree among hosts1048710 run multicast routing protocol in this overlay network1048710 The key is to construct an appropriate overlay network1048710 determine immediate ldquoneighborsrdquo1048710 by the measurement of RTT to other node chooseoptimal ones

Benefits1048710 Scalability1048710 routers do not maintain per-group state1048710 end systems do but they participate in very fewgroups1048710 Easier to deploy1048710 only requires adding software to end hosts1048710 Potentially simplifies support for higher level functionality1048710 use hop-by-hop approach but end hosts are routers1048710 leverage computation and storage of end systems egpacket buffering ACK aggregation1048710 leverage solutions for unicast congestion control andReliability

Performance ConcernsLatency in the overlay latencyin the underlying network1048710 Number of duplicate packetssent over the same physical link

Overlay Construction Problems1048710 Problem1048710 to establish an appropriate mesh overlay ie set upldquolinksrdquo (at overlay level) to other hosts1048710 Challenges1048710 dynamic changes in group membership1048710members may join leave die1048710 dynamic changes in network conditions and topology1048710delay between members may vary over time due tocongestion routing changes1048710 knowledge of network conditions is member specific1048710each member must determine network conditionsfor itself

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

- Peer to peer networks

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

Common Issues1048710 Organize and maintain an overlay network1048710 nodes join leave1048710 nodes die1048710 Resource location1048710 Locality (network proximity)1048710 Resource allocationload balancing

Napster1048710 Napster free music over the Internet1048710 Idea share the storage and bandwidth of individual users1048710 Model1048710 each user stores a subset of files1048710 each user has access files from all users in the system1048710 Challenges1048710 main find where a particular file is stored1048710 scale up to millions of users1048710 dynamicity users may join or leave any time1048710 Assume a centralized index system mapping files to alivemachines (users)

Napster Example

Solutions to the Location Problem1048710 Centralized directory1048710 example Napster1048710 advantage simplicity1048710 disadvantage robustness scalability1048710 Distributed directory Distributed Hash Table (DHT)abstraction1048710 examples Pastry Chord Content AddressableNetwork (CAN)1048710 Services built on top of DHTs1048710 persistent storage1048710 p2p file storage1048710 hellip

Pastry1048710 Self-organizing peer-to-peer network1048710 DHT consistent hashing1048710 Lookupinsert object in lt log16N routing steps (expected)1048710 O(log N) per-node state1048710 Network locality heuristics

Consistent Hashing1048710 128 bit circular id space1048710 hash(object name) -gt ObjID1048710 hash(IP addr) -gt NodeID1048710 Idea the node withnumerically closestNodeID maintains object

Object InsertionLookup1048710 Message with key xis forwarded to livenode with NodeIDclosest to x1048710 Problem completerouting table is notfeasible

Routing1048710 Properties1048710 log16 N steps1048710 O(log N) states

Leaf Sets1048710 Each node maintains IP addresses of the nodes with theL numerically closest larger and smaller NodeIDsrespectively1048710 routing efficiencyrobustness1048710 fault detection (keep-alive)1048710 application-specific local coordination

Routing Procedureif (destination is within range of our leaf set)forward to numerically closest memberelselet l = length of shared prefixlet d = value of l-th digit in Drsquos addressif (Rld exists)forward to Rldelseforward to a known node that(a) shares at least as long a prefix

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 14: Protocolos en Redes CDN

bull No es eficiente para grandes grupos

Why Overlay Networks1048710 Current Internet works well but one size does not fit all1048710 applications need various types of service eg QoSmulticast security reliability1048710 many proposals eg multicast QoS require tochange a large number of network devices1048710 However Internet is rigid1048710 changes in the network happen slowly1048710 reason Internet is a shared infrastructure

Why Overlay Networks (contd)1048710 Solution by overlay network1048710 needs to change the nodes that are included in theoverlay network1048710 does not deploy new equipments or modify existingsoftwareprotocols at all nodes in the network1048710 a historical example IP over Ethernet1048710 Makes it easy to deploy new functionalities in the networkwith no influences on existing devices and services1048710 This also accelerates the pace of innovation

Costs of Overlay1048710 Adds overhead1048710 adds a layer in networking stack headers processing1048710 sometimes additional work is redundant egaddressing1048710 Adds complexity1048710 layering only manages complexity rather thaneliminate it1048710 more layers of functionality more possible unintendedinteraction between layers1048710example corruption drops on wireless interpretedas congestion drops by TCP

Samples of Overlay Network1048710 End system multicast1048710 Quality of service1048710 Routing overlay1048710 Security

Problems with IP Layer Multicast1048710 Scales poorly with number of groups1048710 a router must maintain state for every group thattraverses it1048710 Supporting higher level functionality is difficult1048710 IP multicast best-effort multi-point delivery service1048710 reliability and congestion control for IP Multicastcomplicated

1048710scalable end-to-end approach for heterogeneousreceivers is very difficult1048710requires more state and processing in routers1048710 Deployment is difficult and slow1048710 ISP is reluctant to turn on IP Multicast

End System Multicast Example

End System Multicast1048710 End hosts perform packet replication ie acting asmulticast routers1048710 these hosts consist of an overlay network over theunderlying network1048710 this requires only unicast from underlying network1048710 Set up multicast tree among hosts1048710 run multicast routing protocol in this overlay network1048710 The key is to construct an appropriate overlay network1048710 determine immediate ldquoneighborsrdquo1048710 by the measurement of RTT to other node chooseoptimal ones

Benefits1048710 Scalability1048710 routers do not maintain per-group state1048710 end systems do but they participate in very fewgroups1048710 Easier to deploy1048710 only requires adding software to end hosts1048710 Potentially simplifies support for higher level functionality1048710 use hop-by-hop approach but end hosts are routers1048710 leverage computation and storage of end systems egpacket buffering ACK aggregation1048710 leverage solutions for unicast congestion control andReliability

Performance ConcernsLatency in the overlay latencyin the underlying network1048710 Number of duplicate packetssent over the same physical link

Overlay Construction Problems1048710 Problem1048710 to establish an appropriate mesh overlay ie set upldquolinksrdquo (at overlay level) to other hosts1048710 Challenges1048710 dynamic changes in group membership1048710members may join leave die1048710 dynamic changes in network conditions and topology1048710delay between members may vary over time due tocongestion routing changes1048710 knowledge of network conditions is member specific1048710each member must determine network conditionsfor itself

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

- Peer to peer networks

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

Common Issues1048710 Organize and maintain an overlay network1048710 nodes join leave1048710 nodes die1048710 Resource location1048710 Locality (network proximity)1048710 Resource allocationload balancing

Napster1048710 Napster free music over the Internet1048710 Idea share the storage and bandwidth of individual users1048710 Model1048710 each user stores a subset of files1048710 each user has access files from all users in the system1048710 Challenges1048710 main find where a particular file is stored1048710 scale up to millions of users1048710 dynamicity users may join or leave any time1048710 Assume a centralized index system mapping files to alivemachines (users)

Napster Example

Solutions to the Location Problem1048710 Centralized directory1048710 example Napster1048710 advantage simplicity1048710 disadvantage robustness scalability1048710 Distributed directory Distributed Hash Table (DHT)abstraction1048710 examples Pastry Chord Content AddressableNetwork (CAN)1048710 Services built on top of DHTs1048710 persistent storage1048710 p2p file storage1048710 hellip

Pastry1048710 Self-organizing peer-to-peer network1048710 DHT consistent hashing1048710 Lookupinsert object in lt log16N routing steps (expected)1048710 O(log N) per-node state1048710 Network locality heuristics

Consistent Hashing1048710 128 bit circular id space1048710 hash(object name) -gt ObjID1048710 hash(IP addr) -gt NodeID1048710 Idea the node withnumerically closestNodeID maintains object

Object InsertionLookup1048710 Message with key xis forwarded to livenode with NodeIDclosest to x1048710 Problem completerouting table is notfeasible

Routing1048710 Properties1048710 log16 N steps1048710 O(log N) states

Leaf Sets1048710 Each node maintains IP addresses of the nodes with theL numerically closest larger and smaller NodeIDsrespectively1048710 routing efficiencyrobustness1048710 fault detection (keep-alive)1048710 application-specific local coordination

Routing Procedureif (destination is within range of our leaf set)forward to numerically closest memberelselet l = length of shared prefixlet d = value of l-th digit in Drsquos addressif (Rld exists)forward to Rldelseforward to a known node that(a) shares at least as long a prefix

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 15: Protocolos en Redes CDN

1048710scalable end-to-end approach for heterogeneousreceivers is very difficult1048710requires more state and processing in routers1048710 Deployment is difficult and slow1048710 ISP is reluctant to turn on IP Multicast

End System Multicast Example

End System Multicast1048710 End hosts perform packet replication ie acting asmulticast routers1048710 these hosts consist of an overlay network over theunderlying network1048710 this requires only unicast from underlying network1048710 Set up multicast tree among hosts1048710 run multicast routing protocol in this overlay network1048710 The key is to construct an appropriate overlay network1048710 determine immediate ldquoneighborsrdquo1048710 by the measurement of RTT to other node chooseoptimal ones

Benefits1048710 Scalability1048710 routers do not maintain per-group state1048710 end systems do but they participate in very fewgroups1048710 Easier to deploy1048710 only requires adding software to end hosts1048710 Potentially simplifies support for higher level functionality1048710 use hop-by-hop approach but end hosts are routers1048710 leverage computation and storage of end systems egpacket buffering ACK aggregation1048710 leverage solutions for unicast congestion control andReliability

Performance ConcernsLatency in the overlay latencyin the underlying network1048710 Number of duplicate packetssent over the same physical link

Overlay Construction Problems1048710 Problem1048710 to establish an appropriate mesh overlay ie set upldquolinksrdquo (at overlay level) to other hosts1048710 Challenges1048710 dynamic changes in group membership1048710members may join leave die1048710 dynamic changes in network conditions and topology1048710delay between members may vary over time due tocongestion routing changes1048710 knowledge of network conditions is member specific1048710each member must determine network conditionsfor itself

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

- Peer to peer networks

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

Common Issues1048710 Organize and maintain an overlay network1048710 nodes join leave1048710 nodes die1048710 Resource location1048710 Locality (network proximity)1048710 Resource allocationload balancing

Napster1048710 Napster free music over the Internet1048710 Idea share the storage and bandwidth of individual users1048710 Model1048710 each user stores a subset of files1048710 each user has access files from all users in the system1048710 Challenges1048710 main find where a particular file is stored1048710 scale up to millions of users1048710 dynamicity users may join or leave any time1048710 Assume a centralized index system mapping files to alivemachines (users)

Napster Example

Solutions to the Location Problem1048710 Centralized directory1048710 example Napster1048710 advantage simplicity1048710 disadvantage robustness scalability1048710 Distributed directory Distributed Hash Table (DHT)abstraction1048710 examples Pastry Chord Content AddressableNetwork (CAN)1048710 Services built on top of DHTs1048710 persistent storage1048710 p2p file storage1048710 hellip

Pastry1048710 Self-organizing peer-to-peer network1048710 DHT consistent hashing1048710 Lookupinsert object in lt log16N routing steps (expected)1048710 O(log N) per-node state1048710 Network locality heuristics

Consistent Hashing1048710 128 bit circular id space1048710 hash(object name) -gt ObjID1048710 hash(IP addr) -gt NodeID1048710 Idea the node withnumerically closestNodeID maintains object

Object InsertionLookup1048710 Message with key xis forwarded to livenode with NodeIDclosest to x1048710 Problem completerouting table is notfeasible

Routing1048710 Properties1048710 log16 N steps1048710 O(log N) states

Leaf Sets1048710 Each node maintains IP addresses of the nodes with theL numerically closest larger and smaller NodeIDsrespectively1048710 routing efficiencyrobustness1048710 fault detection (keep-alive)1048710 application-specific local coordination

Routing Procedureif (destination is within range of our leaf set)forward to numerically closest memberelselet l = length of shared prefixlet d = value of l-th digit in Drsquos addressif (Rld exists)forward to Rldelseforward to a known node that(a) shares at least as long a prefix

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 16: Protocolos en Redes CDN

Benefits1048710 Scalability1048710 routers do not maintain per-group state1048710 end systems do but they participate in very fewgroups1048710 Easier to deploy1048710 only requires adding software to end hosts1048710 Potentially simplifies support for higher level functionality1048710 use hop-by-hop approach but end hosts are routers1048710 leverage computation and storage of end systems egpacket buffering ACK aggregation1048710 leverage solutions for unicast congestion control andReliability

Performance ConcernsLatency in the overlay latencyin the underlying network1048710 Number of duplicate packetssent over the same physical link

Overlay Construction Problems1048710 Problem1048710 to establish an appropriate mesh overlay ie set upldquolinksrdquo (at overlay level) to other hosts1048710 Challenges1048710 dynamic changes in group membership1048710members may join leave die1048710 dynamic changes in network conditions and topology1048710delay between members may vary over time due tocongestion routing changes1048710 knowledge of network conditions is member specific1048710each member must determine network conditionsfor itself

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

- Peer to peer networks

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

Common Issues1048710 Organize and maintain an overlay network1048710 nodes join leave1048710 nodes die1048710 Resource location1048710 Locality (network proximity)1048710 Resource allocationload balancing

Napster1048710 Napster free music over the Internet1048710 Idea share the storage and bandwidth of individual users1048710 Model1048710 each user stores a subset of files1048710 each user has access files from all users in the system1048710 Challenges1048710 main find where a particular file is stored1048710 scale up to millions of users1048710 dynamicity users may join or leave any time1048710 Assume a centralized index system mapping files to alivemachines (users)

Napster Example

Solutions to the Location Problem1048710 Centralized directory1048710 example Napster1048710 advantage simplicity1048710 disadvantage robustness scalability1048710 Distributed directory Distributed Hash Table (DHT)abstraction1048710 examples Pastry Chord Content AddressableNetwork (CAN)1048710 Services built on top of DHTs1048710 persistent storage1048710 p2p file storage1048710 hellip

Pastry1048710 Self-organizing peer-to-peer network1048710 DHT consistent hashing1048710 Lookupinsert object in lt log16N routing steps (expected)1048710 O(log N) per-node state1048710 Network locality heuristics

Consistent Hashing1048710 128 bit circular id space1048710 hash(object name) -gt ObjID1048710 hash(IP addr) -gt NodeID1048710 Idea the node withnumerically closestNodeID maintains object

Object InsertionLookup1048710 Message with key xis forwarded to livenode with NodeIDclosest to x1048710 Problem completerouting table is notfeasible

Routing1048710 Properties1048710 log16 N steps1048710 O(log N) states

Leaf Sets1048710 Each node maintains IP addresses of the nodes with theL numerically closest larger and smaller NodeIDsrespectively1048710 routing efficiencyrobustness1048710 fault detection (keep-alive)1048710 application-specific local coordination

Routing Procedureif (destination is within range of our leaf set)forward to numerically closest memberelselet l = length of shared prefixlet d = value of l-th digit in Drsquos addressif (Rld exists)forward to Rldelseforward to a known node that(a) shares at least as long a prefix

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 17: Protocolos en Redes CDN

Peer-to-Peer Networks1048710 Examples1048710 File sharing Napster Gnutella Pastry BitTorrentKaZaA1048710 Live streaming CoolStreaming PPLive hellip1048710 Video on demand P2VoD P2Cast hellip1048710 Background1048710 distribution1048710 decentralized control1048710 self-organization1048710 symmetric communication1048710 Decentralized manner1048710 in contrast a clientserver (CS) network works in acentralized manner

Common Issues1048710 Organize and maintain an overlay network1048710 nodes join leave1048710 nodes die1048710 Resource location1048710 Locality (network proximity)1048710 Resource allocationload balancing

Napster1048710 Napster free music over the Internet1048710 Idea share the storage and bandwidth of individual users1048710 Model1048710 each user stores a subset of files1048710 each user has access files from all users in the system1048710 Challenges1048710 main find where a particular file is stored1048710 scale up to millions of users1048710 dynamicity users may join or leave any time1048710 Assume a centralized index system mapping files to alivemachines (users)

Napster Example

Solutions to the Location Problem1048710 Centralized directory1048710 example Napster1048710 advantage simplicity1048710 disadvantage robustness scalability1048710 Distributed directory Distributed Hash Table (DHT)abstraction1048710 examples Pastry Chord Content AddressableNetwork (CAN)1048710 Services built on top of DHTs1048710 persistent storage1048710 p2p file storage1048710 hellip

Pastry1048710 Self-organizing peer-to-peer network1048710 DHT consistent hashing1048710 Lookupinsert object in lt log16N routing steps (expected)1048710 O(log N) per-node state1048710 Network locality heuristics

Consistent Hashing1048710 128 bit circular id space1048710 hash(object name) -gt ObjID1048710 hash(IP addr) -gt NodeID1048710 Idea the node withnumerically closestNodeID maintains object

Object InsertionLookup1048710 Message with key xis forwarded to livenode with NodeIDclosest to x1048710 Problem completerouting table is notfeasible

Routing1048710 Properties1048710 log16 N steps1048710 O(log N) states

Leaf Sets1048710 Each node maintains IP addresses of the nodes with theL numerically closest larger and smaller NodeIDsrespectively1048710 routing efficiencyrobustness1048710 fault detection (keep-alive)1048710 application-specific local coordination

Routing Procedureif (destination is within range of our leaf set)forward to numerically closest memberelselet l = length of shared prefixlet d = value of l-th digit in Drsquos addressif (Rld exists)forward to Rldelseforward to a known node that(a) shares at least as long a prefix

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 18: Protocolos en Redes CDN

Solutions to the Location Problem1048710 Centralized directory1048710 example Napster1048710 advantage simplicity1048710 disadvantage robustness scalability1048710 Distributed directory Distributed Hash Table (DHT)abstraction1048710 examples Pastry Chord Content AddressableNetwork (CAN)1048710 Services built on top of DHTs1048710 persistent storage1048710 p2p file storage1048710 hellip

Pastry1048710 Self-organizing peer-to-peer network1048710 DHT consistent hashing1048710 Lookupinsert object in lt log16N routing steps (expected)1048710 O(log N) per-node state1048710 Network locality heuristics

Consistent Hashing1048710 128 bit circular id space1048710 hash(object name) -gt ObjID1048710 hash(IP addr) -gt NodeID1048710 Idea the node withnumerically closestNodeID maintains object

Object InsertionLookup1048710 Message with key xis forwarded to livenode with NodeIDclosest to x1048710 Problem completerouting table is notfeasible

Routing1048710 Properties1048710 log16 N steps1048710 O(log N) states

Leaf Sets1048710 Each node maintains IP addresses of the nodes with theL numerically closest larger and smaller NodeIDsrespectively1048710 routing efficiencyrobustness1048710 fault detection (keep-alive)1048710 application-specific local coordination

Routing Procedureif (destination is within range of our leaf set)forward to numerically closest memberelselet l = length of shared prefixlet d = value of l-th digit in Drsquos addressif (Rld exists)forward to Rldelseforward to a known node that(a) shares at least as long a prefix

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 19: Protocolos en Redes CDN

Object InsertionLookup1048710 Message with key xis forwarded to livenode with NodeIDclosest to x1048710 Problem completerouting table is notfeasible

Routing1048710 Properties1048710 log16 N steps1048710 O(log N) states

Leaf Sets1048710 Each node maintains IP addresses of the nodes with theL numerically closest larger and smaller NodeIDsrespectively1048710 routing efficiencyrobustness1048710 fault detection (keep-alive)1048710 application-specific local coordination

Routing Procedureif (destination is within range of our leaf set)forward to numerically closest memberelselet l = length of shared prefixlet d = value of l-th digit in Drsquos addressif (Rld exists)forward to Rldelseforward to a known node that(a) shares at least as long a prefix

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 20: Protocolos en Redes CDN

Routing1048710 Properties1048710 log16 N steps1048710 O(log N) states

Leaf Sets1048710 Each node maintains IP addresses of the nodes with theL numerically closest larger and smaller NodeIDsrespectively1048710 routing efficiencyrobustness1048710 fault detection (keep-alive)1048710 application-specific local coordination

Routing Procedureif (destination is within range of our leaf set)forward to numerically closest memberelselet l = length of shared prefixlet d = value of l-th digit in Drsquos addressif (Rld exists)forward to Rldelseforward to a known node that(a) shares at least as long a prefix

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 21: Protocolos en Redes CDN

Leaf Sets1048710 Each node maintains IP addresses of the nodes with theL numerically closest larger and smaller NodeIDsrespectively1048710 routing efficiencyrobustness1048710 fault detection (keep-alive)1048710 application-specific local coordination

Routing Procedureif (destination is within range of our leaf set)forward to numerically closest memberelselet l = length of shared prefixlet d = value of l-th digit in Drsquos addressif (Rld exists)forward to Rldelseforward to a known node that(a) shares at least as long a prefix

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 22: Protocolos en Redes CDN

(b) is numerically closer than this node

Node Addition

Node Departure1048710 Leaf set members exchange keep-alive messages1048710 Leaf set repair request set from farthest live node in set1048710 Routing table repair get table from peers in the samerow then higher rows

Application of Pastry1048710 PAST cooperative archival file storage and distribution1048710 layered on top of Pastry1048710 strong persistence1048710 high availability1048710 scalability1048710 reduced cost (no backup)1048710 efficient use of pooled resources

- Redes Inteligentes- BoD- Video bajo demanda VoD- IPTV- Retos y Trabajo Futuro

2 All-IP

- IP-RAN- IEEE 1588v2

Page 23: Protocolos en Redes CDN

- IP-RAN- IEEE 1588v2