CSCI-1680 Network Layer: Wrap-up Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Rodrigo Fonseca.

Slides:



Advertisements
Similar presentations
CSCI-1680 Network Layer: Wrapup Based partly on lecture notes by Jennifer Rexford, Rob Sherwood, David Mazières, Phil Levis, John Jannotti Theophilus Benson.
Advertisements

CPSC Network Layer4-1 IP addresses: how to get one? Q: How does a host get IP address? r hard-coded by system admin in a file m Windows: control-panel->network->configuration-
Transitioning to IPv6 April 15,2005 Presented By: Richard Moore PBS Enterprise Technology.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 06_b Subnetting,Supernetting, CIDR IPv6 Instructor: Dr. Li-Chuan Chen Date: 10/06/2003 Based in part upon.
PRIVATE NETWORK INTERCONNECTION (NAT AND VPN) & IPv6
1  Changes in IPv6 – Expanded addressing capabilities (32 to 128 bits), anycast address – A streamlined 40-byte header – Flow labeling and priority –
Computer Networks20-1 Chapter 20. Network Layer: Internet Protocol 20.1 Internetworking 20.2 IPv IPv6.
1 IPv6. 2 Problem: 32-bit address space will be completely allocated by Solution: Design a new IP with a larger address space, called the IP version.
Multicast on the Internet CSE April 2015.
IPv6 Victor T. Norman.
Implementing IPv6 Module B 8: Implementing IPv6
IPv6 The Next Generation Presented by Anna La Mura Jens Waldecker.
COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
Chapter 22 IPv6 (Based on material from Markus Hidell, KTH)
CS 457 – Lecture 16 Global Internet - BGP Spring 2012.
1 Internet Protocol Version 6 (IPv6) What the caterpillar calls the end of the world, nature calls a butterfly. - Anonymous.
IP Version 6 Next generation IP Prof. P Venkataram ECE Dept. IISc.
IPv6 Network Security.
1 o Two issues in practice – Scale – Administrative autonomy o Autonomous system (AS) or region o Intra autonomous system routing protocol o Gateway routers.
2: Comparing IPv4 and IPv6 Rick Graziani Cabrillo College
CSCI-1680 Network Layer: Wrapup Based partly on lecture notes by Jennifer Rexford, Rob Sherwood, David Mazières, Phil Levis, John Jannotti Rodrigo Fonseca.
Copyright © 2011, Dr. Dharma P. Agrawal and Dr. Qing-An Zeng. All rights reserved. 1 Chapter 09 Network Protocols.
Week 5: Internet Protocol Continue to discuss Ethernet and ARP –MTU –Ethernet and ARP packet format IP: Internet Protocol –Datagram format –IPv4 addressing.
Chapter 5 The Network Layer.
Slide Set 15: IP Multicast. In this set What is multicasting ? Issues related to IP Multicast Section 4.4.
MULTICASTING Network Security.
© J. Liebeherr, All rights reserved 1 IP Multicasting.
CS 6401 IPv6 Outline Background Structure Deployment.
1 IPv6 Address Management Rajiv Kumar. 2 Lecture Overview Introduction to IP Address Management Rationale for IPv6 IPv6 Addressing IPv6 Policies & Procedures.
Introduction to IPv6 © J. Liebeherr, 2012, All rights reserved.
CSCI-1680 Network Layer: Wrapup Based partly on lecture notes by Jennifer Rexford, Rob Sherwood, David Mazières, Phil Levis, John Jannotti Rodrigo Fonseca.
Network Layer4-1 NAT: Network Address Translation local network (e.g., home network) /24 rest of.
IP (Internet Protocol) –the network level protocol in the Internet. –Philosophy – minimum functionality in IP, smartness at the end system. –What does.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Multicast routing.
Multicast Routing Protocols NETE0514 Presented by Dr.Apichan Kanjanavapastit.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public BSCI Module 8 Lessons 1 and 2 1 BSCI Module 8 Lessons 1 and 2 Introducing IPv6 and Defining.
1 Internet Protocol. 2 Connectionless Network Layers Destination, source, hop count Maybe other stuff –fragmentation –options (e.g., source routing) –error.
CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001.
© 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. © The McGraw-Hill Companies, Inc. IP version 6 Asst. Prof. Chaiporn Jaikaeo,
Fall 2005Computer Networks20-1 Chapter 20. Network Layer Protocols: ARP, IPv4, ICMPv4, IPv6, and ICMPv ARP 20.2 IP 20.3 ICMP 20.4 IPv6.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
© J. Liebeherr, All rights reserved 1 Multicast Routing.
1 Network Layer Lecture 16 Imran Ahmed University of Management & Technology.
CSC 600 Internetworking with TCP/IP Unit 7: IPv6 (ch. 33) Dr. Cheer-Sun Yang Spring 2001.
Björn Landfeldt School of Information Technologies NETS 3303 Networked Systems Multicast.
© J. Liebeherr, All rights reserved 1 IP Multicasting.
Page 1 Network Addressing CS.457 Network Design And Management.
Transport Layer3-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
Network Layer4-1 Datagram networks r no call setup at network layer r routers: no state about end-to-end connections m no network-level concept of “connection”
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
1 IP Multicasting Relates to Lab 10. It covers IP multicasting, including multicast addressing, IGMP, and multicast routing.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Network Layer NAT, IPv6.
4: Network Layer4-1 Chapter 4: Network Layer Last time: r Internet routing protocols m RIP m OSPF m IGRP m BGP r Router architectures r IPv6 Today: r IPv6.
Multicasting  A message can be unicast, multicast, or broadcast. Let us clarify these terms as they relate to the Internet.
Chapter 21 Multicast Routing
Spring 2006CS 3321 Multicast Outline Link-state Multicast Distance-vector Multicast Protocol Independent Multicast.
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 19 Omar Meqdadi Department of Computer Science and Software Engineering University.
CSE5803 Advanced Internet Protocols and Applications (13) Introduction Existing IP (v4) was developed in late 1970’s, when computer memory was about.
Multicasting EECS June Multicast One-to-many, many-to-many communications Applications: – Teleconferencing – Database – Distributed computing.
TRANSPORT LAYER BY, Parthasarathy.g.
IPv6 101 pre-GDB - IPv6 workshop 7th of June 2016 edoardo
Multicast Outline Multicast Introduction and Motivation DVRMP.
Routing BY, P.B.SHANMATHI.
CSCI-1680 Network Layer: Wrapup
CS 457 – Lecture 10 Internetworking and IP
Lecture#5 IPV6 Addressing
What’s “Inside” a Router?
Chapter 15. Internet Protocol
Internet Protocol, Version 6 (IPv6)
Computer Networks Protocols
Presentation transcript:

CSCI-1680 Network Layer: Wrap-up Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Rodrigo Fonseca

Today Snowcast feedback Multicast IPv6

Snowcast Feedback Results should be in early next week Current average: 74 Common mistakes –Byte order: ntoh* and hton* –Not checking bytes read/written –Using printf for non-textual data –Memory and socket leaks –Rate calculation: carefully read the spec!

Byte order issues In-memory short/long -> hton*() -> network Network -> ntoh*() -> short/long

Read/write printf is for strings: 0-terminated sequence of bytes –Use read/write for binary data Check the return of functions! ssize_t read (int fd, void *buf, int nbytes); –Returns number of bytes read –Returns 0 bytes at end of file, or -1 on error ssize_t write (int fd, void* buf, int nbytes); –Returns number of bytes written, -1 on error Common example: –Read from file in chunks of 1400B. –Last chunk < –Send 1400 bytes Garbage data Read data

Common Ways to Sanity Check/Debug Wireshark: will let you see what goes on the wire netcat: easy way to send / receive data to servers Valgrind: will find memory leaks in your program –Forget to free allocated memory –Double-free a region –Access to unitialized memory gdb: allow you inspect all aspects of your program while running/after a crash –break/watchpoints –variable contents, lets you follow pointers, etc… –useful after segmentation fault, will tell you where/why

Different IP Service Models Broadcast: send a packet to all nodes in some subnet. “One to all” – : all hosts within a subnet, never forwarded by a router –“All ones host part”: broadcast address Host address | ( & ~subnet mask) E.g.: mask ~mask = => Bcast = Example use: DHCP Not present in IPv6 –Use multicast to link local all nodes group

Anycast Multiple hosts may share the same IP address “One to one of many” routing Example uses: load balancing, nearby servers –DNS Root Servers (e.g. f.root-servers.net) –Google Public DNS ( ) –IPv6 6-to-4 Gateway ( )

Anycast Implementation Anycast addresses are /32s At the BGP level –Multiple ASs can advertise the same prefixes –Normal BGP rules choose one route At the Router level –Router can have multiple entries for the same prefix –Can choose among many Each packet can go to a different server –Best for services that are fine with that (connectionless, stateless)

Multicast Send messages to many nodes: “one to many” Why do that? –Snowcast, Internet Radio, IPTV –Stock quote information –Multi-way chat / video conferencing –Multi-player games What’s wrong with sending data to each recipient? –Link stress –Have to know address of all destinations

Multicast Service Model Receivers join a multicast group G Senders send packets to address G Network routes and delivers packets to all members of G Multicast addresses: class D (start 1110) 224.x.x.x to 229.x.x.x –28 bits left for group address

LAN Multicast Easy on a shared medium Ethernet multicast address range: –01:00:57:00:00:00 to 01:00:57:7f:ff:ff Set low 23 bits of Ethernet address to low bits of IP address –(Small problem: 28-bit group address -> 23 bits) How about on the Internet?

Use Distribution Trees Source-specific trees: –Spanning tree over recipients, rooted at each source –Best for each source Shared trees: –Single spanning tree among all sources and recipients –Hard to find one shared tree that’s best for many senders State in routers much larger for source- specific

Source vs Shared Trees

Building the Tree: Host to Router Nodes tell their local routers about groups they want to join –IGMP, Internet Group Management Protocol (IPv4) –MLD, Multicast Listener Discovery (IPv6) Router periodically polls LAN to determine memberships –Hosts are not required to leave, can stop responding

Building the Tree across networks Routers maintain multicast routing tables –Multicast address -> set of interfaces, or – -> set of interfaces Critical: only include interfaces where there are downstream recipients

Using Link State Augment update message (LSP) to include set of groups that have members on a particular network Each router uses Djiktra’s algorithm to compute shortest path spanning tree for each source/group pair Very expensive!

Distance Vector (DVMRP) Reverse path broadcast –Each router already knows shortest path to S is through neighbor N –When receive multicast packet from S, forward on all outgoing links (except the one it came from), iff packet came from N Eliminate duplicate broadcast packets by letting only one router per LAN (“parent”) forward –Router on shortest path from S –Break ties with smallest address Problem: so far, this is broadcast !

Distance Vector (cont) Goal: prune networks that have no hosts in group G If LAN is a leaf (e.g., no other routers), easy: –Use IGMP Otherwise, propagate “no members of G here” –Only happens when multicast address becomes active “Flood-and-Prune”

Scaling issues What if you have very few recipients spread on many networks? –Flood and prune highly inefficient PIM-SM (Protocol-independent multicast, Sparse Mode) –Name a Rendezvous Point (RP) router for a domain –Send a JOIN(*,G) message to RP –Routers note the JOIN in their routing table –Sender S sends unicast packet to RP, which multicasts it to the tree –Optimization 1: RP sends JOIN(S,G) to S –Optimization 2: Recipients send JOIN(S,G) to S

Inter-Domain MSDP connects RPs from different domains together over TCP –Mesh of MSDP uses reverse path broadcast Other examples (e.g. BGMP)

Practical Considerations Multicast protocols end up being quite complex Introduce a lot of router state Turned off on most routers Mostly used within domains –In the department: Ganglia monitoring infrastructure –IPTV on campus Alternative: do multicast in higher layers

IPv6 Main motivation: IPv4 address exhaustion Initial idea: larger address space Need new packet format: –REALLY expensive to upgrade all infrastructure! –While at it, why don’t we fix a bunch of things in IPv4? Work started in 1994, basic protocol published in 1998

IPv6 Key Features 128-bit addresses –Autoconfiguration Simplifies basic packet format through extension headers –40-byte base header (fixed) –Make less common fields optional Security and Authentication

IPv6 Address Representation Groups of 16 bits in hex notation 47cd:1244:3422:0000:0000:fef4:43ea:000 1 Two rules: –Leading 0’s in each 16-bit group can be omitted 47cd:1244:3422:0:0:fef4:43ea:1 –One contiguous group of 0’s can be compacted 47cd:1244:3422::fef4:43ea:1

IPv6 Addresses Break 128 bits into 64-bit network and 64- bit interface –Makes autoconfiguration easy: interface part can be derived from Ethernet address, for example Types of addresses –All 0’s: unspecified –000…1: loopback –ff/8: multicast –fe8/10: link local unicast –fec/10: site local unicast –All else: global unicast

IPv6 Header

IPv6 Header Fields Version: 4 bits, 6 Class: 8 bits, like TOSS in IPv4 Flow: 20 bits, identifies a flow Length: 16 bits, datagram length Next Header, 8 bits: … Hop Limit: 8 bits, like TTL in IPv4 Addresses: 128 bits No options, no checksum

Interoperability RFC 4291 Every IPv4 address has an associated IPv6 address Simply prefix 32-bit IPv4 address with 96 bits of 0 –E.g., :: Two IPv6 endpoints must have IPv6 stacks Transit network: –v6 – v6 – v6 : ✔ –v4 – v4 – v4 : ✔ –v4 – v6 – v4 : ✔ –v6 – v4 – v6 : ✗ !!

IP Tunneling Encapsulate an IP packet inside another IP packet Makes an end-to-end path look like a single IP hop

IPv6 in IPv4 Tunneling Key issues: configuring the tunnels –Determining addresses –Determining routes –Deploying relays to encapsulate/forward/decapsulate 6to4 is a standard to automate this –Deterministic address generation –Anycast to find gateway into IPv6 network

Other uses for tunneling Virtual Private Networks Use case: access CS network from the outside Set up an encrypted TCP connection between your computer and Brown’s OpenVPN server Configure routes to Brown’s internal addresses to go through this connection Can connect two remote sites securely

Extension Headers Two types: hop-by-hop and end-to-end Both have a next header byte Last next header also denotes transport protocol Destination header: intended for IP endpoint –Fragment header –Routing header (loose source routing) Hop-by-hop headers: processed at each hop –Jumbogram: packet is up to 2 32 bytes long!

Example Next Header Values 0: Hop by hop header 1: ICMPv4 4: IPv4 6:TCP 17: UDP 41: IPv6 43: Routing Header 44: Fragmentation Header 58: ICMPv6

Fragmentation and MTU Fragmentation is supported only on end hosts! Hosts should do MTU discovery Routers will not fragment: just send ICMP saying packet was too big Minimum MTU is 1280-bytes –If some link layer has smaller MTU, must interpose fragmentation reassembly underneath

Current State IPv6 Deployment has been slow Most end hosts have dual stacks today (Windows, Mac OSX, Linux, *BSD, Solaris) 2008 Google study: –Less than 1% of traffic in any country Requires all parties to work! –Servers, Clients, DNS, ISPs, all routers IPv4 and IPv6 will coexist for a long time

Coming Up IP handins: please pay attention to the issues we discussed today, good luck! Next week: Transport Layer