introduction to computer networks cs640 multicast, ipv6
TRANSCRIPT
![Page 1: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/1.jpg)
Ming Liu [email protected]
Introduction to Computer Networks
CS640 https://pages.cs.wisc.edu/~mgliu/CS640/F21/
Multicast, IPv6, and SDN
1
![Page 2: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/2.jpg)
Today
Last lecture • Inter-domain routing
2
Today • Multicast • IPv6
• SDN
Announcements • HW2 due today at 11:59PM
![Page 3: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/3.jpg)
Application level one to many communication • Multiple unicasts
One to Many Communication
IP multicast
3
![Page 4: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/4.jpg)
Why Multicast
When sending same data to multiple receivers • Better bandwidth utilization
• Less host/router processing
• Quicker participation
Applications • Video/Audio broadcast (One sender) • Video conferencing (Many senders) • Real-time news distribution
• Interactive gaming
4
![Page 5: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/5.jpg)
IP Multicast Service Model
Invented by Steve Deering (Ph.D. 1991) • It’s a different way of routing datagrams
RFC 1112: Host Extensions for IP Multicasting — 1989
Senders transmit IP datagrams to a “host group”
“Host group” identified by a class D IP address
Members of host group could be present anywhere in the Internet
5
![Page 6: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/6.jpg)
IP Multicast Service Model (cont’d)
Members join and leave the group, and indicate this to the routers
Senders and receivers are distinct: i.e., a sender need not be a member
Routers listen to all multicast addresses and use multicast routing protocols to manage groups
6
![Page 7: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/7.jpg)
IP Multicast Group Address
Class D address space • High-order three bits are set • 224.0.0.0 ~ 239.255.255.255
Things are a little tricky in multicast since receivers can be anywhere
Allocation is essential random — any class D can be used • Nothing prevents an app. from sending to any multicast address • Customers end hosts and ISPs are the ones who suffer
7
![Page 8: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/8.jpg)
IP Multicast Group Address (cont’d)
Some well-known address have been designated • RFC 1700
• 224.0.0.0 ~ 234.0.0.25
Standard are evolving
8
![Page 9: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/9.jpg)
Getting Packets to End Hosts
Packets from remote sources will only be forwarded by IP routers onto a local network only if they know there is at least one recipient for that group on that network
Internet Group Management Protocol (IGMP, RFC 2236) • Used by end hosts to signal that they want to join a specific multicast group
• Used by routers to discover what groups have interested member hosts on each
network to which they are attached
• Implemented directly over IP
9
![Page 10: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/10.jpg)
IGMP — Joining a Group
Example: R joins to Group 224.2.0.1
#1: R sends IGMP Membership-Report to 224.2.0.1
#2: DR receives it. DR will start forwarding packets for 224.2.0.1 to Network A
#3: DR periodically sends IGMP Membership-Query to
224.0.0.1 (All-SYSTEM.MCAST.NET)
#4: R answers IGMP Membership-Report to 224.2.0.1
10
Designated router
![Page 11: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/11.jpg)
IGMP — Leaving a Group
Example: R leaves from a Group 224.2.0.1
#1: R sends IGMP Leave-Group to 224.0.0.2 (ALL-
ROUTES.MCAST.NET)
#2: DR receives it
#3: DR stops forwarding packets for 224.2.0.1 to
Network if no more 224.2.0.1 group members on Network A
11
Designated router
![Page 12: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/12.jpg)
Challenges in the Multicast Model
How can a sender restrict who can receive? • Need authentication and authorization
• Encryption of data
• Key distribution
• Still an active area of research
12
![Page 13: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/13.jpg)
IP Multicast Routing
Purpose: share the group information among routers to implement better routing for data distribution
Distribution tree structure • Source tree v.s. Shared tree
Data distribution policy • Opt in (ACK) type v.s. Opt out (NACK) type
Routing protocols are used in conjunction with IGMP
13
![Page 14: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/14.jpg)
How Many Addresses in IPv4?
There are 2^32 (4.2 billion) unique IPv4 addresses
Some of these have special purposes • Localhost: 127.0.0.0/8
• Local network: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16
CIDR allows for allocating address efficiently
Issue of not enough addresses
14
![Page 15: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/15.jpg)
IPv6 Background
IETF started effort to specific new version of IP in 1991 • New version would require change of header • Include all modifications in one new protocol
Solicitation of suggestions from community • Result was IPng which became IPv6
• First version completed in 1994
Same architectural principles as IPv4 — only more addresses
15
![Page 16: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/16.jpg)
IPv6 Planned Features
128-bit address space
Real-time / Quality of Service (QoS)
Security and authentication
Auto-configuration • Hosts auto-config with IP address an domain name
• Try to make systems more plug-n-play
16
![Page 17: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/17.jpg)
IPv6 Planned Features (cont’d)
Enhanced routing functionality (e.g., Mobile hosts)
Multicast
Protocol extensions
Smooth transition path from IPv4
17
![Page 18: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/18.jpg)
Address Space
Prefixes specify use (unicast, multicast, any cast) • Unicast: send packets to single host • Multicast: send packets to all members of group
• Anycast: send packets to nearest member of a group
Allocation is classless
Prefixes can be used to map v4 to v6 space and visa-versa
Lots of addresses with 128 bits! • ~1500 address per square foot of the earth’s surface
18
![Page 19: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/19.jpg)
Address Notation
Set of eight 16-bit values separated by colons • E.g., 47CD:1234:3200:0000:0000:4325:B792:0428
Large number of zeros omitted with series of colons • E.g., 47CD:1234:3200::4325:B792:0428
Address prefixes (slash notation) are the same as IPv4 • E.g., FEDC:BA98:7600::/40 describes a 40 bit prefix
19
![Page 20: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/20.jpg)
Address Prefix Assignments0000 0000 Reserved0000 0001 Unassigned0000 001 Reserved for NSAP (non-IP addresses used by ISO)0000 010 Reserved for IPX (non-IP addresses used by IPX)0000 011 Unassigned0000 1 Unassigned1 Unassigned1 Unicast Address Space10 Unassigned11 Unassigned100 Unassigned101 Unassigned110 Unassigned1110 Unassigned1111 0 Unassigned1111 10 Unassigned1111 110 Unassigned1111 1110 0 Unassigned1111 1110 10 Link Local Use addresses1111 1110 11 Site Local Use addresses1111 1111 Multicast addresses 20
![Page 21: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/21.jpg)
Unicast Assignment
Unicast address assignment is similar to CIDR • Unicast addresses start with 001
• Host interfaces belong to subnets • Addresses composed of a subnet prefix and a host identifier • Subnet prefix provides for aggregation into larger networks
21
![Page 22: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/22.jpg)
Unicast Assignment (cont’d)
Provider-based plan • Internet is global hierarchy of networks • 3 levels — region, provider, subscriber • Goal is provide route aggregation to reduce BGP overhead
• Provider can advertise a single prefix for all of its subscribers • Region = 13 bits, Provider = 24 bits, Subscriber = 16 bits, Host = 80 bits • E.g., 001, region ID, provider ID, subscriber ID, subnet ID, interface ID
22
![Page 23: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/23.jpg)
Recall IPv4 Packet Format Details
23
![Page 24: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/24.jpg)
IPv6 Packet Format
24
![Page 25: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/25.jpg)
Packet Format Details
Simpler format than IPv4
Version = 6
Traffic class = IPv4 ToS
Treat all packets with the same Flow Label equally • Support QoS and fair bandwidth allocation
25
![Page 26: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/26.jpg)
Packet Format Details (cont’d)
Payload length does not include header — limits packets to 64KB • There is a “jumbo gram option”
Next header combines options and protocol • If there are no options, then NextHeader is the protocol field
Hop limit = IPv4 TTL field
Options are “extension header” that follows IP header • E.g., routing, fragmentation, authentication, encryption, …
26
![Page 27: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/27.jpg)
Key differences in header
No checksum • Bit level errors are checked for all over the place
No length variability in header • Fixed format speeds processing
No more fragmentation and reassembly in header • Incorrectly sized packets are dropped and message is sent to sender to reduce packet size
• Hosts should do path MTU discovery
27
![Page 28: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/28.jpg)
Transition from v4 to v6
Dual stack operation — IPv6 nodes run in both v4 and v6 modes and use version field to decide which stack to use • Nodes can be assigned a v4 compatible v6 address • Allows a host which support v6 to talk v6 even if local routers only speak v4
• Signals the need for tunneling
• Add 96 0’s (zero-extending) to a 32-bit v4 address — e.g., ::10.0.0.1
• Nodes can be assigned a v4 mapped v6 address • Allows a host which supports both v6 and v4 to communication with a v4 host • Add 2 bytes of 1’s to v4 address than zero-extend the rest — e.g., ::ffff:10.0.0.1
Flag day is not feasible
28
![Page 29: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/29.jpg)
Transition from v4 to v6 (cont’d)
Tunneling is used to deal with networks where v4 router(s) sit between two v6 routers • Encapsulate v6 packets and all of their information in v4 packets until you hit the next v6
router
29
![Page 30: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/30.jpg)
IPv6 Issues
Is security necessary in IP? • How is it best implemented?
Address length: usable addresses v.s. overhead
Max. Pkt. Size: Large BW calls for larger packets
Is the checksum necessary?
How do servers handle both types of packets
30
![Page 31: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/31.jpg)
Traditional Computer Networks
Data plane: • Packet streaming
Forward, filter, buffer, mark, rate-limit, and
measure packets
31
![Page 32: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/32.jpg)
Traditional Computer NetworksTrack topology changes, compute routes, install forwarding/filtering rules
Control plane: • Distributed algorithms
32
![Page 33: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/33.jpg)
Traditional Computer Networks
Management plane: •Human time scale
Collect measurements and configure the
equipment
33
![Page 34: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/34.jpg)
Shortest-Path Routing
Management: set the link weights Control: compute shortest paths Data: forward packets to next hop
1
1
1
1
3
34
![Page 35: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/35.jpg)
Inverting the Control Plane
Traffic engineering • Change link weights • … to induce the paths • … that alleviate congestion
1
1
1
1 —> 5
3
35
![Page 36: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/36.jpg)
Transient Anomalies
Distributed protocol • Temporary disagreement among the nodes • … leaves packets stuck in loops • Even though the changes was planned!
1
1
1
1 —> 5
3
36
![Page 37: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/37.jpg)
A Lot Messier
37
![Page 38: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/38.jpg)
A Lot Messier
37
![Page 39: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/39.jpg)
What Ails the Network?
Closed equipment • Software bundled with hardware
• Vector-specific interfaces
Distributed nature of control plane
Ad hoc management approaches
Slow protocol standardization
38
![Page 40: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/40.jpg)
What Ails the Network?
Closed equipment • Software bundled with hardware
• Vector-specific interfaces
Distributed nature of control plane
Ad hoc management approaches
Slow protocol standardization
Impacts performance, security, reliability, cost, .. Innovation is hard
38
![Page 41: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/41.jpg)
Software Defined Networking
39
![Page 42: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/42.jpg)
Controller Architecture
Events from switches Topology changes, Traffic statistics, Arriving packets
Commands to switches (un)install rules, Query statistics, Send packets
40
![Page 43: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/43.jpg)
Data-Plane: Simple Packet Handling
Simple packet-handling rules • Pattern: match packet header bits • Actions: drop, forward, modify, send to controller • Priority: disambiguate overlapping patterns • Counters: #bytes and #packets
41
![Page 44: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/44.jpg)
Example SDN Applications
Public Demos • Dynamic access control • VM mobility/migration
• Network virtualization
• Power management • Load balancing
• Traffic Engineering
Commercial products • Network virtualization: Nicira/VMWare, Azure, Google, CloudNaaS
• Traffic Engineering: Google’s B4, Microsoft’s SWAN42
![Page 45: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/45.jpg)
Dynamic Access Control
• Inspect first packet of each connection
• Consult the access control policy
• Install rules to block or route traffic
43
![Page 46: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/46.jpg)
Seamless Mobility/Migration
• See host sending traffic at new location
• Modify rules to reroute the traffic
44
![Page 47: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/47.jpg)
SDN/OpenFlow in the Wild
Open Networking Foundation • Creating Software Defined Networking Standards • Google, Facebook, Microsoft, Yahoo, Verizon, Deutsche, Telekom, …
Commercial OpenFlow Switches • Cisco, HP, NEC, Quanta, Dell, IBM, Juniper, …
Controllers/Languages • NOX, Beacon, Floodlight, Nettle, ONIX, POX
• Frenetic, MAPLE, Aspera, Pyretic
Network deployments • Many campuses (including us), two research backbone networks • Commercial deployments 45
![Page 48: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/48.jpg)
Software Defined Networking
Simpler management and network control • No need to “invent” control-plane operations
Faster pace of innovation • Less dependence on vendors and standards • Mechanism reuse
Easier interoperability • Compatibility online in “wire” protocols
Simpler, cheaper equipment • Minimal software
46
![Page 49: Introduction to Computer Networks CS640 Multicast, IPv6](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f5f8a739046825797a1c05/html5/thumbnails/49.jpg)
Summary
Today • Multicast • IPv6
• SDN
Next lecture • Midterm1 review
47