SlideShare a Scribd company logo
1 of 50
IP Multicast Application Development BOF Bob Quinn Stardust Technologies, Inc. February 8, 1998
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IP Multicast is... ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IP Multicast in Action Multicast Sender Multicast Routers Data Replicated Multicast Receivers Entities: Actions: Single Data Send Data Propagated to Receivers Data Pruned where no Receivers
Multicast Application Categories ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Multicast Application Sketches ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Original Multicast API ,[object Object],[object Object],[object Object],[object Object]
Join Multicast Group ,[object Object],[object Object],[object Object],Int setsockopt( SOCKET s, int level, int optname,  const char FAR*optval, int optlen); /* The structure used to add and drop multicast addresses  */ typedef struct ip_mreq { struct in_addr imr_multiaddr;  /* multicast group to join */ struct in_addr imr_interface;  /* interface to join on */ }IP_MREQ;
IGMP v1 in Action ,[object Object],[object Object],Muliicast Receiver joins group Multicast Router stores multicast address Router protocol shares group membership info with other routers. IGMP  Host Membership Report  (type = 2) sent to group address when application joins group 0 32 8 16 24 version type <unused> checksum Multicast Group Address
IGMP v1 in Action ,[object Object],Muliicast Receiver joins group Multicast Router stores multicast address After random timer expires and  no other responses seen,group  member responds with another Host Membership Report After timeout, Router checks for current members by sending Host Membership Query  (type=1)  to “All Hosts” group (224.0.0.1)
Other Sockets Multicast APIs ,[object Object],[object Object],[object Object],[object Object],[object Object]
Multicast API Subtleties ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sample  Multicast Applications ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Get a UDP socket ,[object Object],[object Object],/* Get a datagram socket */ hSocket = socket(AF_INET,  SOCK_DGRAM, 0); if (hSocket == INVALID_SOCKET) { printf (&quot;socket() failed, Err: %d&quot;, WSAGetLastError()); return(-1); }
Name the socket ,[object Object],[object Object],/* Name the socket (assign port number to receive on) */ stLclAddr.sin_family  = AF_INET; stLclAddr.sin_addr.s_addr = htonl(INADDR_ANY); stLclAddr.sin_port  = htons(nPort); nRet = bind(hSocket,  (struct sockaddr*) &stLclAddr,  sizeof(stLclAddr)); if (nRet == SOCKET_ERROR) { printf (&quot;bind() port: %d failed, Err: %d&quot;,  nPort, WSAGetLastError()); }
Join the Multicast Group ,[object Object],[object Object],/* Join the multicast group so we can receive from it */ stMreq.imr_multiaddr.s_addr = inet_addr(achMCAddr); stMreq.imr_interface.s_addr = INADDR_ANY; nRet = setsockopt(hSocket,  IPPROTO_IP,  IP_ADD_MEMBERSHIP,  (char *)&stMreq,  sizeof(stMreq)); if (nRet == SOCKET_ERROR) { printf(&quot;IP_ADD_MEMBERSHIP address %s failed, Err: %d&quot;, achMCAddr, WSAGetLastError()); }
Receive Multicast Data ,[object Object],for (;;) { int addr_size = sizeof(struct sockaddr_in); nRet = recvfrom(hSocket, achInBuf, BUFSIZE, 0, (struct sockaddr*)&stSrcAddr, &addr_size); if (nRet < 0) { printf (&quot;recvfrom() failed, Error: %d&quot;, WSAGetLastError()); break; } << process data received >> } /* end for(;;) */
Leave the Multicast Group ,[object Object],[object Object],/* Leave the multicast group */ stMreq.imr_multiaddr.s_addr = inet_addr(achMCAddr); stMreq.imr_interface.s_addr = INADDR_ANY; nRet = setsockopt(hSocket,  IPPROTO_IP, IP_DROP_MEMBERSHIP,  (char *)&stMreq, sizeof(stMreq)); if (nRet == SOCKET_ERROR) { printf (&quot;IP_DROP_MEMBERSHIP address %s failed, Err: %d&quot;, achMCAddr, WSAGetLastError()); }   /* Close the socket */ closesocket(hSocket);
In the Sender... ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],/* Set IP TTL to traverse up to multiple routers */ nRet = setsockopt(hSocket,  IPPROTO_IP,  IP_MULTICAST_TTL,  (char *)&lTTL,  sizeof(lTTL)); if (nRet == SOCKET_ERROR) { printf (&quot;setsockopt() IP_MULTICAST_TTL failed, Err: %d&quot;, WSAGetLastError()); }
Disable Loopback ,[object Object],[object Object],/* Disable loopback */ fFlag = FALSE; nRet = setsockopt(hSocket,  IPPROTO_IP,  IP_MULTICAST_LOOP,  (char *)&fFlag, sizeof(fFlag)); if (nRet == SOCKET_ERROR) { printf (&quot;setsockopt() IP_MULTICAST_LOOP failed, Err: %d&quot;, WSAGetLastError()); }
Send to Multicast Address ,[object Object],[object Object],/* send to destination multicast address */ stDstAddr.sin_family =  AF_INET; stDstAddr.sin_addr.s_addr = inet_addr(achMCAddr); stDstAddr.sin_port =  htons(nPort); nRet = sendto(hSocket,  (char *)&achBuf,  sizeof(achBuf), 0, (struct sockaddr*)&stDstAddr,  sizeof(stDstAddr)); if (nRet < 0) { printf (&quot;sendto() failed, Error: %d&quot;, WSAGetLastError()); }
IGMP v2 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IGMP V2 ,[object Object],[object Object],[object Object],[object Object],[object Object],0 32 8 16 24 type Max respns time checksum Multicast Group Address IP Router Alert option (RFC 2113) enabled in all messages
Other APIs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Multicast Application Similarities & Differences ,[object Object],[object Object],[object Object],[object Object],[object Object]
Range of Application Requirements ,[object Object],Delay In tolerant Delay Tolerant Loss Tolerant Loss  In tolerant Audio/Video  Conferencing Distributed Interactive  Simulations Audio/Video  Streaming File Distribution Non-Essential Data:  -  Headline News, - Sports Scores - Weather Updates - Session Directories Stock Info  & Online  Auction Whiteboard  Sharing Resource  Discovery
QoS  not  tied to Multicast ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Reliability Requirements ,[object Object],[object Object],[object Object]
Can Reliable Multicast Protocols use TCP model? ,[object Object],[object Object],Multicast sender  sends a single message Multicast receivers  simultaneously respond with a storm of ACKs
Multicast protocols  are Receiver-Based ,[object Object],[object Object],Multicast sender  sends a single message Multicast receivers  respond with NAKs (only) when they detect missing data
Shared Recovery ,[object Object],[object Object],[object Object],[object Object],[object Object]
Local Recovery ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Local Recovery in Action Multicast Sender Multicast Routers 3) Data Retransmitted by Recovery Designates Multicast Receivers Entities: Actions: 1) NAK Sent by Receivers after missing data detected 2) NAK detected by Recovery Designates Local Recovery Designates
Send Redundant Data ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
FEC techniques Data 7 Data 5 Data 3 Data 1 Data 2 ta 4  6 D Dat  Data 8 “ Striped” Data Data 7 Parity4 Data with Parity Data 6 Parity3 Data 5 Parity2 Data 4 Parity1 These representations are simplified versions of the real thing and there are many different algorithms, but these give some FEC techniques.  Notice that data is spread over time,  to avoid fate sharing (due to burst errors). time time
Rate Adaptive ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Send Layered Data ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Reliable Multicast Transports - A Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Other Issues  with Multicast ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Solutions in the works ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
More Multicast Infrastructure ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IGMP v3 ,[object Object],[object Object],[object Object],[object Object],[object Object],int IPMulticastListen(socket, interface, // interface as in m_req multicast-address, // group address as in m_req filter-mode, // INCLUDE or EXCLUDE source-list); // list (<64) of source addresses
Domain-Wide Group Membership Reports ,[object Object],[object Object]
Multicast Address Management Protocols ,[object Object],[object Object],[object Object],[object Object],[object Object]
Multicast Address Management Architecture MDHCP router MASC router Multicast Address Domain MASC  to other Domains Client Client Server listening on well-known multicast address MDHCP  Unicast MDHCP  Multicast AAP  or other protocols provide address ranges See http://north.east.isi.edu/malloc/ for more information
MDHCP APIs ,[object Object],[object Object],int MDhcpEnumerateScopes( IN OUT SCOPE *ScopeList, IN OUT int *ScopeListLen,   OUT int *ScopeCount); typedef struct scope { int  ScopeId, IP_ADDR ServerIpAddress; STRING ScopeDescription; } SCOPE;
MDHCP APIs ,[object Object],[object Object],int MDhcpRequestAddress( IN OUT REQUEST_ID *RequestUID, IN  SCOPE *Scope, IN  LEASE_INFO  *AddrRequest, IN OUT LEASE_INFO  *AddrResponse); typedef struct lease_info { TIME  StartTime, TIME EndTime, int TTL; int AddrCount; IP_ADDR Address[1]; } LEASE_INFO;
MDHCP APIs ,[object Object],[object Object],int MDhcpRenewAddress( IN OUT REQUEST_ID *RequestUID, IN  SCOPE *Scope, IN  LEASE_INFO  *RenewRequest, IN OUT LEASE_INFO  *RenewResponse); int MDhcpReleaseAddress( IN OUT REQUEST_ID *RequestUID, IN  SCOPE *Scope, IN  int *ReleaseRequest);
Conclusions ,[object Object],[object Object],[object Object],[object Object],[object Object]
References ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

What's hot

What's hot (16)

DMVPN configuration - Configuring Cisco dynamic Multipoint VPN - HUB, SPOKES,...
DMVPN configuration - Configuring Cisco dynamic Multipoint VPN - HUB, SPOKES,...DMVPN configuration - Configuring Cisco dynamic Multipoint VPN - HUB, SPOKES,...
DMVPN configuration - Configuring Cisco dynamic Multipoint VPN - HUB, SPOKES,...
 
IPTables Primer - Part 2
IPTables Primer - Part 2IPTables Primer - Part 2
IPTables Primer - Part 2
 
Network testing course
Network testing courseNetwork testing course
Network testing course
 
Multipath TCP Upstreaming
Multipath TCP UpstreamingMultipath TCP Upstreaming
Multipath TCP Upstreaming
 
Ipsec vpn v0.1
Ipsec vpn v0.1Ipsec vpn v0.1
Ipsec vpn v0.1
 
Multicast eng
Multicast engMulticast eng
Multicast eng
 
ACIT - CCNA Training India - VPN
ACIT - CCNA Training India - VPNACIT - CCNA Training India - VPN
ACIT - CCNA Training India - VPN
 
C# Advanced L08-Networking+WCF
C# Advanced L08-Networking+WCFC# Advanced L08-Networking+WCF
C# Advanced L08-Networking+WCF
 
05 06 ike
05   06 ike05   06 ike
05 06 ike
 
Cisco CCNA GRE Tunnel Configuration
Cisco CCNA GRE Tunnel ConfigurationCisco CCNA GRE Tunnel Configuration
Cisco CCNA GRE Tunnel Configuration
 
1cospf
1cospf1cospf
1cospf
 
VRRP (virtual router redundancy protocol)
VRRP (virtual router redundancy protocol)VRRP (virtual router redundancy protocol)
VRRP (virtual router redundancy protocol)
 
CCNAS :Multi Area OSPF
CCNAS :Multi Area OSPFCCNAS :Multi Area OSPF
CCNAS :Multi Area OSPF
 
CCNA pptCCNA ppt Day 6
CCNA pptCCNA ppt Day 6CCNA pptCCNA ppt Day 6
CCNA pptCCNA ppt Day 6
 
CCNP Route EIGRP Overview
CCNP Route  EIGRP OverviewCCNP Route  EIGRP Overview
CCNP Route EIGRP Overview
 
Ospf.ppt
Ospf.pptOspf.ppt
Ospf.ppt
 

Similar to IPv4 Multicast Application Development

TCP IP
TCP IPTCP IP
TCP IPhivasu
 
Krzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SP
Krzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SPKrzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SP
Krzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SPPROIDEA
 
Solving QoS multicast routing problem using aco algorithm
Solving QoS multicast routing problem using aco algorithm Solving QoS multicast routing problem using aco algorithm
Solving QoS multicast routing problem using aco algorithm Abdullaziz Tagawy
 
Asa pixfwsm multicast tips and common problems
Asa pixfwsm multicast tips and common problemsAsa pixfwsm multicast tips and common problems
Asa pixfwsm multicast tips and common problemsIT Tech
 
Exploiting Network Protocols To Exhaust Bandwidth Links 2008 Final
Exploiting Network Protocols To Exhaust Bandwidth Links 2008 FinalExploiting Network Protocols To Exhaust Bandwidth Links 2008 Final
Exploiting Network Protocols To Exhaust Bandwidth Links 2008 Finalmasoodnt10
 
presentation_3597_1473326800.pdf
presentation_3597_1473326800.pdfpresentation_3597_1473326800.pdf
presentation_3597_1473326800.pdfAakashchaudhary89
 
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)Jakub Botwicz
 

Similar to IPv4 Multicast Application Development (20)

TCP IP
TCP IPTCP IP
TCP IP
 
Basic socket programming
Basic socket programmingBasic socket programming
Basic socket programming
 
IP Multicasting
IP MulticastingIP Multicasting
IP Multicasting
 
Socket programming
Socket programming Socket programming
Socket programming
 
6.Routing
6.Routing6.Routing
6.Routing
 
Krzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SP
Krzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SPKrzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SP
Krzysztof Mazepa - Netflow/cflow - ulubionym narzędziem operatorów SP
 
Np unit2
Np unit2Np unit2
Np unit2
 
TCP/IP Basics
TCP/IP BasicsTCP/IP Basics
TCP/IP Basics
 
Md13 networking
Md13 networkingMd13 networking
Md13 networking
 
Troubleshooting basic networks
Troubleshooting basic networksTroubleshooting basic networks
Troubleshooting basic networks
 
Solving QoS multicast routing problem using aco algorithm
Solving QoS multicast routing problem using aco algorithm Solving QoS multicast routing problem using aco algorithm
Solving QoS multicast routing problem using aco algorithm
 
Asa pixfwsm multicast tips and common problems
Asa pixfwsm multicast tips and common problemsAsa pixfwsm multicast tips and common problems
Asa pixfwsm multicast tips and common problems
 
Exploiting Network Protocols To Exhaust Bandwidth Links 2008 Final
Exploiting Network Protocols To Exhaust Bandwidth Links 2008 FinalExploiting Network Protocols To Exhaust Bandwidth Links 2008 Final
Exploiting Network Protocols To Exhaust Bandwidth Links 2008 Final
 
Networking chapter VI
Networking chapter VINetworking chapter VI
Networking chapter VI
 
Network Sockets
Network SocketsNetwork Sockets
Network Sockets
 
Sockets
Sockets Sockets
Sockets
 
28 networking
28  networking28  networking
28 networking
 
presentation_3597_1473326800.pdf
presentation_3597_1473326800.pdfpresentation_3597_1473326800.pdf
presentation_3597_1473326800.pdf
 
Unit 8 Java
Unit 8 JavaUnit 8 Java
Unit 8 Java
 
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
 

Recently uploaded

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 

Recently uploaded (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

IPv4 Multicast Application Development

  • 1. IP Multicast Application Development BOF Bob Quinn Stardust Technologies, Inc. February 8, 1998
  • 2.
  • 3.
  • 4. IP Multicast in Action Multicast Sender Multicast Routers Data Replicated Multicast Receivers Entities: Actions: Single Data Send Data Propagated to Receivers Data Pruned where no Receivers
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33. Local Recovery in Action Multicast Sender Multicast Routers 3) Data Retransmitted by Recovery Designates Multicast Receivers Entities: Actions: 1) NAK Sent by Receivers after missing data detected 2) NAK detected by Recovery Designates Local Recovery Designates
  • 34.
  • 35. FEC techniques Data 7 Data 5 Data 3 Data 1 Data 2 ta 4 6 D Dat Data 8 “ Striped” Data Data 7 Parity4 Data with Parity Data 6 Parity3 Data 5 Parity2 Data 4 Parity1 These representations are simplified versions of the real thing and there are many different algorithms, but these give some FEC techniques. Notice that data is spread over time, to avoid fate sharing (due to burst errors). time time
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45. Multicast Address Management Architecture MDHCP router MASC router Multicast Address Domain MASC to other Domains Client Client Server listening on well-known multicast address MDHCP Unicast MDHCP Multicast AAP or other protocols provide address ranges See http://north.east.isi.edu/malloc/ for more information
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.