introduction to computer networks cs640 multicast, ipv6

Post on 30-Jan-2022

7 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Ming Liu mgliu@cs.wisc.edu

Introduction to Computer Networks

CS640 https://pages.cs.wisc.edu/~mgliu/CS640/F21/

Multicast, IPv6, and SDN

1

Today

Last lecture • Inter-domain routing

2

Today • Multicast • IPv6

• SDN

Announcements • HW2 due today at 11:59PM

Application level one to many communication • Multiple unicasts

One to Many Communication

IP multicast

3

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

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

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

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

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

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

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

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

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

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

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

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

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

IPv6 Planned Features (cont’d)

Enhanced routing functionality (e.g., Mobile hosts)

Multicast

Protocol extensions

Smooth transition path from IPv4

17

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

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

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

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

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

Recall IPv4 Packet Format Details

23

IPv6 Packet Format

24

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

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

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

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

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

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

Traditional Computer Networks

Data plane: • Packet streaming

Forward, filter, buffer, mark, rate-limit, and

measure packets

31

Traditional Computer NetworksTrack topology changes, compute routes, install forwarding/filtering rules

Control plane: • Distributed algorithms

32

Traditional Computer Networks

Management plane: •Human time scale

Collect measurements and configure the

equipment

33

Shortest-Path Routing

Management: set the link weights Control: compute shortest paths Data: forward packets to next hop

1

1

1

1

3

34

Inverting the Control Plane

Traffic engineering • Change link weights • … to induce the paths • … that alleviate congestion

1

1

1

1 —> 5

3

35

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

A Lot Messier

37

A Lot Messier

37

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

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

Software Defined Networking

39

Controller Architecture

Events from switches Topology changes, Traffic statistics, Arriving packets

Commands to switches (un)install rules, Query statistics, Send packets

40

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

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

Dynamic Access Control

• Inspect first packet of each connection

• Consult the access control policy

• Install rules to block or route traffic

43

Seamless Mobility/Migration

• See host sending traffic at new location

• Modify rules to reroute the traffic

44

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

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

Summary

Today • Multicast • IPv6

• SDN

Next lecture • Midterm1 review

47

top related