LANMAR for IPv6 Jason Chen Teresa Breyer Yeng-Zhong Lee.

Slides:



Advertisements
Similar presentations
Discussion Monday ( ). ver length 32 bits data (variable length, typically a TCP or UDP segment) 16-bit identifier header checksum time to live.
Advertisements

Introduction to IPv6 Presented by: Minal Mishra. Agenda IP Network Addressing IP Network Addressing Classful IP addressing Classful IP addressing Techniques.
Future Directions For IP Architectures Ipv6 Cs686 Sadik Gokhan Caglar.
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-
Netprog: IPv61 IPv6 Refs: Chapter 10, Appendix A.
The Future of TCP/IP Always evolving: –New computer and communication technologies More powerful PCs, portables, PDAs ATM, packet-radio, fiber optic, satellite,
PRIVATE NETWORK INTERCONNECTION (NAT AND VPN) & IPv6
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.
IPv6 Victor T. Norman.
Socket Programming with IPv6. Why IPv6? Addressing and routing scalability Address space exhaustion Host autoconfiguration QoS of flow using flowlabel.
IPV6. Features of IPv6 New header format Large address space More efficient routing IPsec header support required Simple automatic configuration New protocol.
4 IP Address (IPv4)  A unique 32-bit number  Identifies an interface (on a host, on a router, …)  Represented in dotted-quad notation
IP datagrams Service paradigm, IP datagrams, routing, encapsulation, fragmentation and reassembly.
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.
Network Layer IPv6 Slides were original prepared by Dr. Tatsuya Suda.
Chapter 5 The Network Layer.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Extending Networks. Three Levels of Extension Physical Layer –Repeaters Link Layer –Bridges –Switches Network –Routers: “Connecting networks”
CS 6401 IPv6 Outline Background Structure Deployment.
1 IPv6 Refs: Chapter 10, Appendix A. 2 IPv6 availability Generally not part of O.S. Available in beta for many operating systems. 6-Bone is experimental.
1 Chapter Overview IP (v4) Address IPv6. 2 IPv4 Addresses Internet Protocol (IP) is the only network layer protocol with its own addressing system and.
CMPT 471 Networking II Address Resolution IPv6 Neighbor Discovery 1© Janice Regan, 2012.
1Group 07 IPv6 2 1.ET/06/ ET/06/ ET/06/ EE/06/ EE/06/ EE/06/6473 Group 07 IPv6.
Network Layer4-1 NAT: Network Address Translation local network (e.g., home network) /24 rest of.
TCP/IP Protocol Suite 1 Chapter 14 Upon completion you will be able to: Unicast Routing Protocols: RIP, OSPF, and BGP Distinguish between intra and interdomain.
Unicast Routing Protocols  A routing protocol is a combination of rules and procedures that lets routers in the internet inform each other of changes.
© 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.
Introducing IPv6 ipv6 d ucing IPv6. Introducing IPv6 The ability to scale networks for future demands requires a limitless supply of IP addresses and.
11 NETWORK LAYER PROTOCOLS Chapter 5 IP IPX NetBEUI AppleTalk.
10/13/2015© 2008 Raymond P. Jefferis IIILect 07 1 Internet Protocol.
The Saigon CTT Semester 1 CHAPTER 10 Le Chi Trung.
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.
Introduction to IPv6 Presented by:- ASHOK KUMAR MAHTO(09-026) & ROHIT KUMAR(09-034), BRANCH -ECE.
Topic of Presentation IPv6 Presented by: Mahwish Chaudhary Roll No 08TL01.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 7 Internet Protocol (IP) Routing.
CS4550 Computer Networks II IP : internet protocol, part 2 : packet formats, routing, routing tables, ICMP read feit chapter 6.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
1 Network Layer Lecture 15 Imran Ahmed University of Management & Technology.
1 Network Layer Lecture 16 Imran Ahmed University of Management & Technology.
Layer 3: Internet Protocol.  Content IP Address within the IP Header. IP Address Classes. Subnetting and Creating a Subnet. Network Layer and Path Determination.
CCNP Network Route IPV-6 Part-I IPV6 Addressing: IPV-4 is 32-BIT, IPV-6 is 128-BIT IPV-6 are divided into 8 groups. Each is 4 Hex characters. Each group.
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.
19.1 Chapter 19 Network Layer: Logical Addressing Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
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”
Introduction to IPv6 ECE4110. Problems with IPv4 32-bit addresses give about 4,000,000 addresses IPv4 Addresses WILL run out at some point – Some predicted.
Understanding IPv6 Slide: 1 Lesson 12 IPv6 Mobility.
Network Layer by peterl. forwarding table routing protocols path selection RIP, OSPF, BGP IP protocol addressing conventions datagram format packet handling.
IPv6 Internet Protocol Version Information management 2 Groep T Leuven – Information department 2/24 Internet Protocol Version 6 (IPv6)
Socket Programming(2/2) 1. Outline  1. Introduction to Network Programming  2. Network Architecture – Client/Server Model  3. TCP Socket Programming.
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 19 Omar Meqdadi Department of Computer Science and Software Engineering University.
RIP Routing Protocol. 2 Routing Recall: There are two parts to routing IP packets: 1. How to pass a packet from an input interface to the output interface.
IP Fragmentation. Network layer transport segment from sending to receiving host on sending side encapsulates segments into datagrams on rcving side,
Socket Programming(1/2). Outline  1. Introduction to Network Programming  2. Network Architecture – Client/Server Model  3. TCP Socket Programming.
4: Network Layer4-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.
Homework 4 Out: Fri 2/24/2017 In: Fri 3/10/2017.
Next Generation: Internet Protocol, Version 6 (IPv6) RFC 2460
The New Internet Protocol
Network Programming CSC- 341
Network Programming with Sockets
The New Internet Protocol
CS 457 – Lecture 10 Internetworking and IP
Lecture#5 IPV6 Addressing
Chapter 3 Sockets Introduction
CPEG512 Advanced Computer Networks
Overview The Internet (IP) Protocol Datagram format IP fragmentation
Network Layer: Control/data plane, addressing, routers
Refs: Chapter 10, Appendix A
Presentation transcript:

LANMAR for IPv6 Jason Chen Teresa Breyer Yeng-Zhong Lee

Agenda Review of LANMAR IPv4 and IPv6 Addressing LANMAR implementation Problems faced Demonstration

LANMAR Combines features of Fisheye State Routing (FSR) and Landmark routing. Each set of nodes that moves as group forms a logical subnet. Each subnet elects a landmark. Logical Subnet Landmark

LANMAR Each node has unique logical identifier. Each identifier has subnet and host field. Host field is unique in subnet. Each node stores the following information: For each destination within fisheye scope:  Link State  Time Stamp For each destination within fisheye scope and for each Landmark node:  Next Hop  Distance

LANMAR Fisheye Scope Nodes exchange Link State only with their neighbors. Update rate decreases as hop distance increases. Routes within Fisheye scope are accurate. As hop distance increases routes accuracy decreases.

LANMAR Fisheye Scope Cont. Difference to FSR: LANMAR routing table includes only nodes within scope and landmark nodes. ⇒ Improves Scalability by reducing Routing Table size. Typically all members in logical subnet are within fisheye scope.

LANMAR Routing A packet to destination within neighbor scope is routed directly using local tables. A packet to destination out of scope is routed to corresponding Landmark using the subnet field of destination. Once the packet is in scope of destination, the direct route is found in local tables. Packet does not need to pass through Landmark.

LANMAR Routing Cont. Node address = {subnet ID, Host ID} Lookup local routing table to locate destination. If successful: Send packet directly. If failure: Look up landmark table to find destination subnet  LM1. Send a packet toward LM1. LM2 source destination Logical Subnet Landmark LM1 LM3 Long haul routing local routing

IPv4 32 bits Originally 4 classes of addresses: Shortage of Group A addresses 0 network host 10 network host 110 networkhost 1110 multicast address A B C D to to to to

IPv4 Header: ver Total length 32 bits data (variable length, typically a TCP or UDP segment) 16-bit identifier IP header checksum time to live source IP address head. len type of service flgs fragment offset protocol destination IP address Options (if any) 20 bytes

IPv6 Motivation: 32-bit address space exhaustion 128 bit  Fragmentation fields moved out of base header.  IP options moved out of base header. Header Length field eliminated  Header Checksum eliminated.  Type of Service field eliminated.  Time to Live Hop Limit, Protocol Next Header  Precedence Priority, added Flow Label field  Length field excludes IPv6 header.

IPv6 Cont. Header: fixed 40 bytes length. Destination Address (16 bytes) Version Priority Flow Label Payload LengthNext HeaderHop Limit Source Address (16 bytes, 128 bits)

IPv6 Cont. How IPv6 addresses look like: : 0xffffffffffffffffffffffffffffffff Separator after 16 bits, omit leading 0x : ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff fe80:0000:0000:0000:0202:2dff:fe2e:3ad6 One sequence of adjacent 16 bit blocks of 0’s can be omitted. fe80::0202:2dff:fe2e:3ad6 Leading zeros of each block can be omitted. fe80::202:2dff:fe2e:3ad6

IPv6 Cont. 3 types of addresses. Unicast: identifies single interface. Anycast: identifies a set of interfaces. Multicast: identifies a group of interfaces replaces broadcast addresses in IPv4 prefix: or ff for example link scope: ff02: …

LANMAR Implementation 2 complementary and cooperating routing schemes, 3 threads: A local “myopic” proactive routing scheme (we used RIP) that operates within limited scope centered at each node and exchange route information about nodes up to only a few hops (Fisheye Scope) ⇒ one thread for sending RIP messages. A long haul distance vector routing scheme that propagates the elected landmark of each subnet and the path to it into entire network ⇒ another thread for sending Landmark messages. Common thread for receiving messages.

LANMAR Implementation Advertisement messages  Proactive routing protocol Periodic routing update message is sent.  LANMAR routing control packet Landmark routes advertised to all nodes.  Local routing control packet Routes only advertised to nodes within its scope.

LANMAR Implementation Message process  A subnet mask is used to extract the group ID from a node’s IP address.  Each group is a logical subnet.  Landmark election is performed only among nodes in the same LANMAR group.  Local scope: RIP

LANMAR Subnet Masks IPv4: IPv6: Subnet Mask x x x x LANMAR Group IDNode ID Subnet Mask x x x x bits Group ID Node IDNetwork ID 16 bits48 bits 111… …………………… ………

LANMAR Routing Table Routing table management Unicast Routing Table  Stores routing information for all unicast routing protocols running on router. Routing Table has 2 sub tables  Local routing table is flat without the concept of group or subnet.  Landmark routing table keeps only one entry from each group or subnet.

LANMAR Routing Table Cont. Dest.PrefixNext HopMet fe80:0:0:1333::3ad6128::0 fe80:0:0:1444:: fe80:0:0:1333::cf492 Landmark AddressPrefixNext HopMetric 0:0:0:1333::64fe80:0:0:1333::cf491 0:0:0:1444::64fe80:0:0:1444::43521 Local routing table Landmark routing table

Challenges in porting IPV4 LANMAR to IPV6

Data Structure Selected examples: struct sockaddr_in6 { sa_family_t sin6_family; /*AF_INET6*/ in_port_t sin6_port; /*Port number*/ uint32_t sin6_flowinfo; /*IPv6 traffic class and flow information*/ struct in6_addr sin6_addr; /*IPv6 address */ uint32_t sin6_scope_id; /*Set of interfaces for a scope*/ } instead of struct sockaddr { sa_family_t sin_family; /*AF_INET*/ in_port_t sin_port; /*Port number*/ struct in_addr sin_addr; /*IP address*/ }

Data Structures Cont. struct in6_addr { uint8_t s6_addr[16]; } where typedef unsigned char uint8_t; instead of struct in_addr { in_addr_t s_addr; } where typedef uint32_t in_addr_t; typedef unsigned int uint32_t; ⇒ Write library to compare, assign, logical &, and logical | uint8_t arrays.

Uintfunc Library void uintcmp(uint8_t array1[], const uint8_t array2[], int n); int uintcmp(const uint8_t array1[], const uint8_t array2[], int n); void uintand(uint8_t result[], const uint8_t array1[], const uint8_t array2[], int n); void uintor(uint8_t result[], const uint8_t array1[], const uint8_t array2[], int n); int uintzero(const uint8_t array[], int n);

Syntax for IPv6 Address and protocol family constants: AF_INET and PF_INET Replace with: AF_INET6 IPv6 address family. PF_INET6 IPv6 protocol family. Numerous other syntax changes.

Substituting IPv4 functions with newer IPv6 versions gethostbyname(): retrieves the network host entry referenced by a host name with an IPv4 address Replace with: gethostbyname2(): retrieves the network host entry referenced by a host name and its address family, which will be AF_INET6 inet_addr(): interprets a character string representing an address in Internet ``dot'' notation (IPv4) and returns a value suitable for use as an Internet address Replace with: inet_pton(): performs the same operation for both IPv4 and IPv6 address notations inet_ntoa(): interprets an IPv4 internet address and converts it to a character string. Replace with: inet_ntop(): performs the same operation for both IPv4 and IPv6 addresses.

Masks IPv4 SUBNET_MASK = LANDMARK_MASK = NORMAL_MASK = IPv6 SUBNET_MASK6 = 0000:0000:0000:ffff:: LANDMARK_MASK6 = 0000:0000:0000:ffff:: NORMAL_MASK6 = ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff REVERSE_MASK6 = ffff:ffff:ffff::ffff:ffff:ffff:ffff

Routing Table Kernel IPv4 Routing Table (route)  Destination  Gateway  Genmask  Flags  Metric  Ref  Use  Iface Kernel IPv6 Routing Table (route –A inet6)  Destination/Prefix  Source/Prefix  Next Hop  Flags  Metric  Ref  Use  Iface ⇒ change part of code updating routing table (adding, deleting, and searching routes)

Routing Table Cont. Change part of code updating routing table (adding, deleting, searching for routes). Problem: new field Prefix. Calculate Prefix for group entry via LANDMARK_MASK6. For unicast routes prefix = 128.

Demonstration