Introduction to Computer Networks CS640 Multicast, IPv6 ...

49
Ming Liu mgliu@cs.wisc.edu Introduction to Computer Networks CS640 https://pages.cs.wisc.edu/~mgliu/CS640/F21/ Multicast, IPv6, and SDN 1

Transcript of Introduction to Computer Networks CS640 Multicast, IPv6 ...

Page 1: Introduction to Computer Networks CS640 Multicast, IPv6 ...

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 ...

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 ...

Application level one to many communication • Multiple unicasts

One to Many Communication

IP multicast

3

Page 4: Introduction to Computer Networks CS640 Multicast, IPv6 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

Recall IPv4 Packet Format Details

23

Page 24: Introduction to Computer Networks CS640 Multicast, IPv6 ...

IPv6 Packet Format

24

Page 25: Introduction to Computer Networks CS640 Multicast, IPv6 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

Traditional Computer Networks

Management plane: •Human time scale

Collect measurements and configure the

equipment

33

Page 34: Introduction to Computer Networks CS640 Multicast, IPv6 ...

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 ...

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 ...

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 ...

A Lot Messier

37

Page 38: Introduction to Computer Networks CS640 Multicast, IPv6 ...

A Lot Messier

37

Page 39: Introduction to Computer Networks CS640 Multicast, IPv6 ...

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 ...

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 ...

Software Defined Networking

39

Page 42: Introduction to Computer Networks CS640 Multicast, IPv6 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

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 ...

Summary

Today • Multicast • IPv6

• SDN

Next lecture • Midterm1 review

47