Protocols NUS SOC CS 5248 2015 Roger Zimmermann
- Slides: 83
Protocols NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Background NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Quality of Service (Qo. S) n Basic concepts n Quality of service n Resource reservation n End-to-end path must respond to real-time requirements and provide a certain level of service quality NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Multimedia Systems n Qo. S n Often “quality” is subjective (e. g. , video, audio) n Real-time requirements n Hard real-time: aircraft control system n Soft real-time: e. g. , video playback NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Real-time Requirements n Fault tolerance n Missed deadlines n Result: e. g. , jitter n Periodic sampling: streams n Affects scheduling policy n Bandwidth demand n Bandwidth versus quality tradeoff NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Service and Protocol Req. n Time-sensitive requirements n High data throughput requirements n Service guarantee requirements n High or partial reliability requirements n Cost-based fairness requirements NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Resource Reservation n Proper resource management helps to establish desired Qo. S (memory, bandwidth, CPU, …) n E. g. : network bandwidth n Circuit-switched versus n Packet-switched NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Resource Reservation n Rule of Thumb Shared resources can often be more (cost-) effectively used compared with dedicated resources n E. g. : In circuit-switched telephone system “silence” will consume bandwidth NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Qo. S Summary n (Networked) multimedia systems have certain requirements But, we have n Best-effort, shared network: Internet n Non real-time OS: Windows, Linux Need to find clever techniques NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
You are Here Encoder Decoder Middlebox Receiver Sender Network NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Interested ISO Layers Application Transport Network NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Interested ISO Layers RTP, RTSP, HTTP TCP UDP IP Multicast Network NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) IP
IP Multicast NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Communication Models Sender Receiver Traditional applications: One-to-One NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Communication Models Sender Receivers Media applications: One-to-Many NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Communication Models Mesh topology Media applications: Many-to-Many NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Communication Models Example: MCU for video conferencing Star topology (client-server) (Multipoint Control Unit) Media applications: Many-to-Many NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Traditional Solutions n Mesh n N-1 connections at each client n (N × (N-1))/2 connections total n Not scalable! n Star n 1 connection per client n Server resources become a bottleneck n Single point of failure NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Example n You. Tube: client-server video distribution n Throughput: > 6 billion hours watched each month (2014) n Number of users: >1 billion per month n Video codecs: (Sorenson H. 263), H. 264/MPEG-4 AVC, VP 8, VP 9 n Container formats: MP 4, Web. M (DASH) n Video bit-rate: 200 to 5, 900 kb/s (SD to 1080 p HD to “ 4 K” (3072 p)) n Cost of bandwidth: several million US$ per month, CDN for popular videos NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
One Solution: IP Multicast Sender Receivers NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Group and Members NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Sending to a Group NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Joining and Leaving NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Anyone can Send NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Multicast Address n Group ID or “Multicast address” n 224. 0. 0. 0 – 239. 255 NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Unicast S A B C Router A Router C NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) B
Multicast S G A Router C NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) B
Multicast S G Router A Router G C NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) Router B
Multicast S G A Router C NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) B G
Question 1 Should I forward this packet to my subnet? Router ? NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) G
Group Management n Routers maintain “local host group membership table” n “Which group has a member in my subnet ? ” n IP Multicast requires ‘state’ in each router. NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Question 2 Which neighbors should I forward this packet? Router NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
IP Multicast: Current State n IP multicast has been standardized long ago and is implemented in almost all major routers, but n Technical and non-technical reasons hinder its adoption in much of the Internet. n Can you think of some reasons? NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
One/Many-to-Many (1) n Because of the unavailability of IP multicast many applications use application-level multicast. n Push protocols (e. g. , use of distribution trees): sender is pushing data to nodes/receivers. n Pull protocols: receivers are pulling data from nodes/source. NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
One/Many-to-Many (2) n Frequently also unicast is still used. n But, unicast creates scalability problems. n Possible solutions: n CDN: Content Distribution Networks (e. g. , Akamai) n Caching. NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Routing Protocols For push multicast NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Routing Protocols n Generic Methods : n Form a tree to all routers with members n Deliver the packets along the tree NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Shortest Path Tree n One tree for each source for each group NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Shared Tree n One tree for each group NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Routing Protocols n DVMRP – shortest path tree n CBT – shared tree n PIM – combine both NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
DVMRP Distance Vector Multicast Routing Protocol NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
DVMRP n Used to share information between routers for the transportation of IP multicast packets. n RFC 1075. n Basis of Mbone. NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Exchanging Routing Tables R Dest Next Hop Cost S P 4 A T 3 B P 2 Q P T NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Flooding n Default : Always send to neighboring routers, unless told otherwise. NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Pruning n Routers which received a “useless” packet send a prune message back. “Don’t send me packets addressed to G anymore !” NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
A router needs to remember … n If it has any member for group G in its subnet n Where to forward packets from source S to group G n Which neighbors will not throw my packets away n Which sub-trees are pruned NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Problems of DVMRP n Not Scalable n O(|S||G|) n Not Efficient n Flooding initially n Periodically exchange routing tables NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
CBT Core-based Tree NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Core Based Tree n One tree per group n Pick a router as core NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
A Shared Tree U W R Q NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) core P V
V Joins G U W R JOIN Q NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) core P V
V Joins G U W R JOIN Q NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) core P V
V Joins G U W R ACK Q NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) core P V
V Joins G U W R ACK Q NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) core P V
V Joins G U W R Q NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) core P V
U Joins G U W R JOIN Q NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) core P V
U Joins G U W R ACK Q intercept! NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) core P V
P Sends (on Tree) U W R Q NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) core P V
W Sends (Not on Tree) U W R Q NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) core P V
CBT Strengths n Scalable n O(|G|) states n No flooding n No exchange of states NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
CBT Weaknesses n Core placement matters n Single point of failure n Core can become bottleneck n Paths not always shortest NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
PIM Protocol Independent Multicast NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
PIM n Get the best of both worlds: n dense mode : similar to DVMRP n sparse mode : similar to CBT NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Summary n What is IP Multicast? n How to route packets n IGMP n DVMRP/CBT/PIM NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
So, Why Can’t We Multicast? n Who assigns a multicast address? n Who pays for multicast traffic? n How to inter-operate between protocols? n How can we prevent Do. S? NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Multicast Programming NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Create a UDP Socket n s = socket(PF_INET, SOCK_DGRAM, 0) n bind(s, sock_addr, sizeof(sock_addr)) NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Join a Group struct sockaddr_in group. Struct; struct ip_mreq; mreq. imr_multiaddr = … // init mcast addr setsockopt(s, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *) &mreq, sizeof(mreq)) NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Leave a Group struct sockaddr_in group. Struct; struct ip_mreq; mreq. imr_multiaddr = … // init mcast addr setsockopt(s, IPPROTO_IP, IP_DROP_MEMBERSHIP, (char *) &mreq, sizeof(mreq)) NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Transport Layer NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Interested ISO Layers RTP TCP UDP IP Multicast Network. IP NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
TCP vs UDP NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
TCP vs UDP n TCP n connection oriented n packet ordering n reliability n congestion control n UDP n just send! NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
How TCP Works (Roughly) n Sender expects packet to be ACK’ed n If received duplicate ACKs or no ACK after RTO, assume packet lost NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
How TCP Works (Roughly) n Congestion Avoidance - Reduce sending window when packet lost, increase when packet gets through NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Conventional Wisdom n Continuous media uses UDP n Retransmission may not be useful n Congestion control makes throughput unpredictable n Multicast + TCP has problems NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
UDP Header struct UDPHeader { short src_port; short dst_port; short length; short checksum; } NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
UDP not enough n Who sent this packet? n How do I interpret this packet? n When was this packet generated? n Which packets come first? n Is this packet important? n Should I ask for retransmission? NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
UDP Challenges n “NATmare” (© Nan Chen, Atrica) n Many residential computers use network address translation (NAT) NAT device (Cable modem gateway) NAT device (DSL gateway) Peer 2 Peer 1 128. 125. 4. 204 192. 168. 0. 1 NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang) 209. 7. 114. 157 192. 168. 1. 3
NAT Solutions n UDP Hole Punching n Third party host is used to initially establish correct state in the routers n State periodically expires: keep-alive message may be needed in the absence of traffic n STUN protocol (RFC 5389) “Session Traversal Utilities for NAT” NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
Application-Level Framing n Expose details to applications n Let application decide what to do with a packet, not transport protocol NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
SIP Session Initiation Protocol NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
SIP n Application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. n Text-based n RFC 3261 n Has been accepted as a standard for Vo. IP (Note: Skype does not use SIP) NUS. SOC. CS 5248 -2015 Roger Zimmermann (based in part on slides by Ooi Wei Tsang)
- Soc2 vs soc3
- Nus soc ffmpeg
- Nus soc ffmpeg
- Nus soc course schedule
- Nus soc ffmpeg
- Nus soc ffmpeg
- Nus proxy
- Nus soc ffmpeg
- Roger zimmermann
- Moritz zimmermann sap
- Angelika zimmermann
- Zimmermann
- Antoine zimmermann
- Sephir
- Traxler
- Kaido zimmermann cv
- Sap hybris overview
- Zimmermann
- Telegram
- Frank zimmermann cern
- Nus cit
- Cs 1101 final exam
- Nyjc subject combination
- Aaron tan tuck choy
- Nus law library
- Nus
- Cs1010 nus
- Cj koh library
- Nus lecture
- Codecrunch nus
- Poll everywhere nus
- Nus cs1101s
- Aaron tan nus
- Aaron tan nus
- Nus entrepreneurship centre
- Nus temperature declaration
- Aaron tan nus
- Nus high school timetable
- Nus temperature declaration
- Myedu nus
- Nus euromonitor
- Ben leong medium
- Central library rbr
- Aaron tan nus
- Nus
- Cs2100 nus
- Nus digital library
- Fortify soc
- Sớc sin
- Soc 402
- Modern siem
- Gpio 4
- Mag paed soc
- Mẫu lập kế hoạch chăm sóc
- đám mây lốm đốm xám như đuôi con sóc
- J. ceram. soc. jpn
- Soc cissp
- Professional.diabetes. org/soc
- Soc 224
- Mpu soc
- Dss-soc
- Bọn em hai đứa cùng tên
- Soc tea
- Uci web reg
- Soc
- Soc 2022
- Intelligence driven defense
- Workday security concepts
- Thuốc phn
- Sơc sin
- No soc escarabat ni grill
- Upper division writing uci
- Siov soc
- Juvenile law definition
- Soc 402
- Soc croatia
- Ttsh rehabilitation centre
- Ibm security services
- Socijalna služba dubrava
- Mẫu lập kế hoạch chăm sóc
- Soc
- Xilinx soc
- What did greasers wear in the 1960's
- Ihss max hours per month