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

Upload: others

Post on 30-Jan-2022

7 views

Category:

Documents


1 download

TRANSCRIPT

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