NUS.SOC.CS5248 Ooi Wei Tsang Protocols. NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder.

Slides:



Advertisements
Similar presentations
Streaming Protocol Suite
Advertisements

1April 16, 2002 Layer 3 Multicast Addressing IP group addresses – “Class D” addresses = high order bits of “1110” Special reserved.
Multicast on the Internet CSE April 2015.
RTP: A Transport Protocol for Real-Time Applications Provides end-to-end delivery services for data with real-time characteristics, such as interactive.
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Protocols.
NUS.SOC.CS Roger Zimmermann (based on slides by Ooi Wei Tsang) MPEG + RTP.
User Control of Streaming Media: RTSP
COS 420 Day 15. Agenda Assignment 3 Due Assignment 4 Posted Chap Due April 6 Individual Project Presentations Due IEPREP - Jeff MANETS - Donnie.
1 Internet Networking Spring 2006 Tutorial 7 DVMRP.
School of Information Technologies Internet Multicasting NETS3303/3603 Week 10.
COS 420 Day 18. Agenda Group Project Discussion Program Requirements Rejected Resubmit by Friday Noon Protocol Definition Due April 12 Assignment 3 Due.
TDC375 Winter 2002John Kristoff - DePaul University1 Network Protocols IP Multicast.
Chapter 4 IP Multicast Professor Rick Han University of Colorado at Boulder
Slide Set 15: IP Multicast. In this set What is multicasting ? Issues related to IP Multicast Section 4.4.
CS335 Networking & Network Administration Tuesday, May 18, 2010.
Streaming Media. Unicast Redundant traffic Multicast One to many.
1 IP Multicasting. 2 IP Multicasting: Motivation Problem: Want to deliver a packet from a source to multiple receivers Applications: –Streaming of Continuous.
TDC375 Autumn 03/04 John Kristoff - DePaul University 1 Network Protocols Multicast.
EE689 Lecture 12 Review of last lecture Multicast basics.
CSc 461/561 CSc 461/561 Multimedia Systems Part C: 1. RTP/RTCP.
CS335 Principles of Multimedia Systems Multimedia Over IP Networks -- II Hao Jiang Computer Science Department Boston College Nov. 8, 2007.
MULTICASTING Network Security.
© J. Liebeherr, All rights reserved 1 IP Multicasting.
RTP: A Transport Protocol for Real-Time Applications
RTP/RTCP(RFC 1889) Real-time transport protocol (RTP) is the de facto standard media transport protocol in the Internet Media transport: audio, vedio,
CSE679: Multicast and Multimedia r Basics r Addressing r Routing r Hierarchical multicast r QoS multicast.
TCP/IP Essentials A Lab-Based Approach Shivendra Panwar, Shiwen Mao Jeong-dong Ryoo, and Yihan Li Chapter 7 Multicast and Realtime Service.
Multicasting  A message can be unicast, multicast, or broadcast.
Multicast Routing Protocols NETE0514 Presented by Dr.Apichan Kanjanavapastit.
Computer Networks: Multimedia Applications Ivan Marsic Rutgers University Chapter 3 – Multimedia & Real-time Applications.
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Protocols.
Multicasting. References r Note: Some slides come from the slides associated with this book: “Mastering Computer Networks: An Internet Lab Manual”, J.
Multimedia Over IP: RTP, RTCP, RTSP “Computer Science” Department of Informatics Athens University of Economics and Business Λουκάς Ελευθέριος.
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Protocols.
Broadcast and Multicast. Overview Last time: routing protocols for the Internet  Hierarchical routing  RIP, OSPF, BGP This time: broadcast and multicast.
NUS.SOC.CS5248 Ooi Wei Tsang Previously, on CS5248..
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
Real Time Protocol (RTP) 김 준
NUS.SOC.CS5248 Ooi Wei Tsang IP Multicast CS5248.
Multicast Routing Protocols. The Need for Multicast Routing n Routing based on member information –Whenever a multicast router receives a multicast packet.
© J. Liebeherr, All rights reserved 1 Multicast Routing.
IP Multicast COSC Addressing Class D address Ethernet broadcast address (all 1’s) IP multicast using –Link-layer (Ethernet) broadcast –Link-layer.
Multicast 1 Spencer Tsai Mobile Communication & Broadband Network Lab CSIE Fu-Jen Catholic University Introduction to Multicast.
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
BAI513 - PROTOCOLS RTP - RTCP BAIST – Network Management.
Network Layer4-1 Chapter 4 roadmap 4.1 Introduction and Network Service Models 4.2 Routing Principles 4.3 Hierarchical Routing 4.4 The Internet (IP) Protocol.
NUS.SOC.CS5248 Ooi Wei Tsang Course Matters. NUS.SOC.CS5248 Ooi Wei Tsang Deadlines 11 Oct: Survey Paper Due 18 Oct: Paper Reviews Due.
4: Network Layer4-1 Chapter 4: Network Layer Last time: r Internet routing protocols m RIP m OSPF m IGRP m BGP r Router architectures r IPv6 Today: r IPv6.
Multicasting  A message can be unicast, multicast, or broadcast. Let us clarify these terms as they relate to the Internet.
Multicast Communications
4.6 Multicast at the Network Layer Introduction: The Internet multicast abstraction and multicast groups The IGMP Protocol Multicast.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #09: SOLUTIONS Shivkumar Kalyanaraman: GOOGLE: “Shiv.
Chapter 25 Internet Routing. Static Routing manually configured routes that do not change Used by hosts whose routing table contains one static route.
2/25/20161 Multicast on the Internet CSE 6590 Fall 2009.
Multicast & Multimedia CS731 Wei Tsang Ooi. Overview What is Multicast ? Group Management (IGMP) Routing Protocols (DVMRP, MOPSF, CBT, PIM-DM, PIM-SM)
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Multicasting EECS June Multicast One-to-many, many-to-many communications Applications: – Teleconferencing – Database – Distributed computing.
Communication Networks Recitation 11. Multicast & QoS Routing.
DMET 602: Networks and Media Lab Amr El Mougy Yasmeen EssamAlaa Tarek.
NUS.SOC.CS Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Streaming Protocol Suite RTP, RTCP, RTSP.
DMET 602: Networks and Media Lab
RTP: A Transport Protocol for Real-Time Applications
Protocols.
Multicast Outline Multicast Introduction and Motivation DVRMP.
Protocols.
RTP: A Transport Protocol for Real-Time Applications
MPEG + RTP.
CMPE 252A: Computer Networks
IP Multicast COSC /5/2019.
Presentation transcript:

NUS.SOC.CS5248 Ooi Wei Tsang Protocols

NUS.SOC.CS5248 Ooi Wei Tsang You are Here Network Encoder Sender Middlebox Receiver Decoder

NUS.SOC.CS5248 Ooi Wei Tsang Interested ISO Layers Application Transport Network

NUS.SOC.CS5248 Ooi Wei Tsang Interested ISO Layers RTP TCP Network IP Multicast IP UDP

NUS.SOC.CS5248 Ooi Wei Tsang IP Multicast

NUS.SOC.CS5248 Ooi Wei Tsang Communication Models Traditional Applications: One-to-One receiversender

NUS.SOC.CS5248 Ooi Wei Tsang Communication Models Media Applications: One-to-Many sender receivers

NUS.SOC.CS5248 Ooi Wei Tsang Communication Models Media Applications: Many-to-Many

NUS.SOC.CS5248 Ooi Wei Tsang Naïve Solution Create M unicast connection for M clients NOT Scalable!

NUS.SOC.CS5248 Ooi Wei Tsang Famous Example Victoria’s Secret Spring Fashion Show Live Broadcast in 1999 Video bit-rate: 28 Kbps Number of viewers: 1.5 Millions

NUS.SOC.CS5248 Ooi Wei Tsang New Model: IP Multicast sender receivers

NUS.SOC.CS5248 Ooi Wei Tsang Group and Members members

NUS.SOC.CS5248 Ooi Wei Tsang Sending to a Group

NUS.SOC.CS5248 Ooi Wei Tsang Joining and Leaving

NUS.SOC.CS5248 Ooi Wei Tsang Anyone can Send

NUS.SOC.CS5248 Ooi Wei Tsang Multicast Address Group ID or “Multicast address” –

NUS.SOC.CS5248 Ooi Wei Tsang Unicast Router A B C S A B C

NUS.SOC.CS5248 Ooi Wei Tsang Multicast Router A B C S G

NUS.SOC.CS5248 Ooi Wei Tsang Multicast Router A B C S G G

NUS.SOC.CS5248 Ooi Wei Tsang Multicast Router A B C S G G

NUS.SOC.CS5248 Ooi Wei Tsang Question 1 Router G ? should I forward this packet to my subnet?

NUS.SOC.CS5248 Ooi Wei Tsang Question 2 Router which neighbors should I forward this packet to?

NUS.SOC.CS5248 Ooi Wei Tsang Group Management

NUS.SOC.CS5248 Ooi Wei Tsang Group Management Routers maintain “local host group membership table” “which group has a member in my subnet ?”

NUS.SOC.CS5248 Ooi Wei Tsang IGMP v2.0 JOIN message A : “I want to join group G.” QUERY message R : “Which group have you joined ?” Internet Group Management Protocol

NUS.SOC.CS5248 Ooi Wei Tsang IGMP v2.0 LEAVE message “I want to leave group G” Group-Specific Query “Anybody else belongs to group G ?”

NUS.SOC.CS5248 Ooi Wei Tsang IGMP v2.0 MEMBERSHIP Report A : “I am a member of group G” A : “I am a member of group H” B : “I am a member of group G”

NUS.SOC.CS5248 Ooi Wei Tsang Avoiding Implosion Select random delay t After time t, if nobody belongs to the same group, send membership report. Resend the report after some delay just to be safe.

NUS.SOC.CS5248 Ooi Wei Tsang Question 2 Router which neighbors should I forward this packet?

NUS.SOC.CS5248 Ooi Wei Tsang Routing Protocols

NUS.SOC.CS5248 Ooi Wei Tsang Routing Protocols Generic Methods : Form a tree to all routers with members Deliver the packets along the tree

NUS.SOC.CS5248 Ooi Wei Tsang Shortest Path Tree One tree for each source for each group

NUS.SOC.CS5248 Ooi Wei Tsang Shared Tree One tree for each group

NUS.SOC.CS5248 Ooi Wei Tsang Routing Protocols DVMRP – shortest path tree CBT – shared tree PIM – combine both

NUS.SOC.CS5248 Ooi Wei Tsang DVMRP Distance Vector Multicast Routing Protocol

NUS.SOC.CS5248 Ooi Wei Tsang From S to G RP Q T S :

NUS.SOC.CS5248 Ooi Wei Tsang RP Q T Is R on the shortest path to S ? S :

NUS.SOC.CS5248 Ooi Wei Tsang RP Q T If no.. ignore the packet

NUS.SOC.CS5248 Ooi Wei Tsang RP Q T If yes.. Where should I forward it to ?

NUS.SOC.CS5248 Ooi Wei Tsang RP Q T Is my subnet interested?

NUS.SOC.CS5248 Ooi Wei Tsang RP Q T ? ? Are my neighbors interested?

NUS.SOC.CS5248 Ooi Wei Tsang Observation If neighbor is going to ignore my packets, don’t need to send the packets to it.

NUS.SOC.CS5248 Ooi Wei Tsang RP Q T Exchanging Routing Tables DestNext HopCost SP4 AT3 BP2

NUS.SOC.CS5248 Ooi Wei Tsang Flooding Default : Always send to neighboring routers, unless told otherwise.

NUS.SOC.CS5248 Ooi Wei Tsang Pruning Routers who received a “useless” packet send a prune message back. “Don’t send me packets addressed to G anymore !”

NUS.SOC.CS5248 Ooi Wei Tsang RP Q T

NUS.SOC.CS5248 Ooi Wei Tsang RP Q T PRUNE

NUS.SOC.CS5248 Ooi Wei Tsang RP Q T

NUS.SOC.CS5248 Ooi Wei Tsang RP Q T GRAFT

NUS.SOC.CS5248 Ooi Wei Tsang RP Q T

NUS.SOC.CS5248 Ooi Wei Tsang RP Q T PRUNE

NUS.SOC.CS5248 Ooi Wei Tsang A router needs to remember.. If it has any member for group G in its subnet Where to forward packets from source S to group G Which neighbors will not throw my packets away Which sub-trees are pruned

NUS.SOC.CS5248 Ooi Wei Tsang Problems of DVMRP Not Scalable O(|S||G|) Not Efficient Flooding initially Periodically exchange routing tables

NUS.SOC.CS5248 Ooi Wei Tsang CBT Core-based Tree

NUS.SOC.CS5248 Ooi Wei Tsang Core Based Tree One tree per group Pick a router as core

NUS.SOC.CS5248 Ooi Wei Tsang A Shared Tree core P Q R U V W

NUS.SOC.CS5248 Ooi Wei Tsang V Joins G core P Q R U V JOIN W

NUS.SOC.CS5248 Ooi Wei Tsang V Joins G core P Q R U V JOIN W

NUS.SOC.CS5248 Ooi Wei Tsang V Joins G core P Q R U V ACK W

NUS.SOC.CS5248 Ooi Wei Tsang V Joins G corePQ R U V ACK W

NUS.SOC.CS5248 Ooi Wei Tsang V Joins G corePQ R U V W

NUS.SOC.CS5248 Ooi Wei Tsang U Joins G corePQ R U V JOIN W

NUS.SOC.CS5248 Ooi Wei Tsang U Joins G corePQ RU V ACK W intercept!

NUS.SOC.CS5248 Ooi Wei Tsang P Sends (on Tree) corePQ RU V W

NUS.SOC.CS5248 Ooi Wei Tsang W Sends (Not on Tree) corePQ RU V W

NUS.SOC.CS5248 Ooi Wei Tsang CBT Strengths Scalable O(|G|) states No flooding No exchange of states

NUS.SOC.CS5248 Ooi Wei Tsang CBT Weaknesses Core placement matters Single point of failure Core can become bottleneck Paths not always shortest

NUS.SOC.CS5248 Ooi Wei Tsang PIM Protocol Independent Multicast

NUS.SOC.CS5248 Ooi Wei Tsang PIM Get the best of both world : dense mode : similar to DVMRP sparse mode : similar to CBT

NUS.SOC.CS5248 Ooi Wei Tsang Summary What is IP Multicast? How to route packets IGMP DVMRP/CBT/PIM

NUS.SOC.CS5248 Ooi Wei Tsang So, why can’t we multicast? Who assign multicast address? Who pay for multicast traffic? How to inter-operate between protocols? How can we prevent DoS?

NUS.SOC.CS5248 Ooi Wei Tsang Multicast Programming

NUS.SOC.CS5248 Ooi Wei Tsang Create a UDP Socket s = socket(PF_INET, SOCK_DGRAM, 0) bind(s, sock_addr, sizeof(sock_addr))

NUS.SOC.CS5248 Ooi Wei Tsang Join a Group struct sockaddr_in groupStruct; struct ip_mreq mreq; mreq.imr_multiaddr = … // init mcast addr setsockopt(s, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *) &mreq, sizeof(mreq))

NUS.SOC.CS5248 Ooi Wei Tsang Leave a Group struct sockaddr_in groupStruct; struct ip_mreq mreq; mreq.imr_multiaddr = … // init mcast addr setsockopt(s, IPPROTO_IP, IP_DROP_MEMBERSHIP, (char *) &mreq, sizeof(mreq))

NUS.SOC.CS5248 Ooi Wei Tsang Transport Layer

NUS.SOC.CS5248 Ooi Wei Tsang Interested ISO Layers RTP TCP Network IP Multicast IP UDP

NUS.SOC.CS5248 Ooi Wei Tsang TCP vs UDP

NUS.SOC.CS5248 Ooi Wei Tsang TCP vs UDP TCP connection oriented packet ordering reliability congestion control UDP just send!

NUS.SOC.CS5248 Ooi Wei Tsang How TCP Works (Roughly) Sender expects packet to be ACK If received duplicate ACKs or no ACK after RTO, assume packet lost

NUS.SOC.CS5248 Ooi Wei Tsang How TCP Works (Roughly) Congestion Avoidance - Reduce sending window when packet lost, increase when packet gets through

NUS.SOC.CS5248 Ooi Wei Tsang Conventional Wisdom Continuous media uses UDP Retransmission may not be useful Congestion control makes throughput unpredictable Multicast + TCP has problems

NUS.SOC.CS5248 Ooi Wei Tsang UDP Header struct UDPHeader { short src_port; short dst_port; short length; short checksum; }

NUS.SOC.CS5248 Ooi Wei Tsang UDP not enough Who sent this packet? How do I interpret this packet? When was this packet generated? Which packets come first? Is this packet important? Should I ask for retransmission?

NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Framing Expose details to applications Let application decides what to do with a packet, not transport protocol

NUS.SOC.CS5248 Ooi Wei Tsang RTP Real-Time Transport Protocol

NUS.SOC.CS5248 Ooi Wei Tsang RTP Packet Format RTP Header RTP Payload Header RTP Payload

NUS.SOC.CS5248 Ooi Wei Tsang payload type: 7 bits identify content e.g. 14: mp3 32: MPEG-1 RTP Header

NUS.SOC.CS5248 Ooi Wei Tsang RTP Header sequence number: 16 bits packet sequence number

NUS.SOC.CS5248 Ooi Wei Tsang RTP Header media timestamp: 32 bits the instant the first byte in this packet is captured

NUS.SOC.CS5248 Ooi Wei Tsang RTP Header SSRC: 32 bits random, unique in a session identify a source (not host!)

NUS.SOC.CS5248 Ooi Wei Tsang RTP Header marker bit: depends on payload e.g. beginning of frame

NUS.SOC.CS5248 Ooi Wei Tsang On Receiving RTP packet check SSRC new source? existing source? which one? check payload type has format been changed? which decoder should I use?

NUS.SOC.CS5248 Ooi Wei Tsang RTCP Real-Time Transport Control Protocol

NUS.SOC.CS5248 Ooi Wei Tsang RTCP Real-Time Control Protocol Provides receiver’s feedback network conditions time synchronization receiver’s description

NUS.SOC.CS5248 Ooi Wei Tsang RTCP Packet Types Sender’s Report (SR) Receiver’s Report (RR) Source Description (SDES) Application Specific (APP) BYE

NUS.SOC.CS5248 Ooi Wei Tsang Fields in SR NTP and RTP Timestamp relate media timestamp to real time Sender’s stats byte count, packet count

NUS.SOC.CS5248 Ooi Wei Tsang Fields in SR + RR Reception Report Number of lost packets % of lost packets Inter-arrival jitter Timestamp of last SR Delay since last SR t lsr t dlsr SR RR

NUS.SOC.CS5248 Ooi Wei Tsang Deducing Network Conditions Packet Loss Rate Interarrival Jitter Round Trip Time

NUS.SOC.CS5248 Ooi Wei Tsang Calculating Packet Loss Ratio for each source, keep first sequence number S 0 last sequence number S last Expected packets = S last – S 0 Count how many received packets

NUS.SOC.CS5248 Ooi Wei Tsang Calculating Interarrival Jitter Variance in packet spacing Define: P i.arrival_time P i.media_timestamp P i.transit_time

NUS.SOC.CS5248 Ooi Wei Tsang Calculating Interarrival Jitter P i.transit_time = P i.arrival_time - P i.media_timestamp Difference in transit time for two consecutive packets = |P i.transit_time – P i-1.transit_time|

NUS.SOC.CS5248 Ooi Wei Tsang Calculating Interarrival Jitter Jitter after packet i = J i J i = (1-a) J i-1 + a D(i,i-1)

NUS.SOC.CS5248 Ooi Wei Tsang Calculating RTT t lsr t dlsr

NUS.SOC.CS5248 Ooi Wei Tsang Calculating ??? P i.sender_byte_count P i.sender_packet_count

NUS.SOC.CS5248 Ooi Wei Tsang RTCP Scaling B: Fix RTCP bandwidth N: Number of participants S: Mean RTCP packet size Sending interval =