NDN Messages and NDN Packets

Slides:



Advertisements
Similar presentations
Introduction to IPv6 Presented by: Minal Mishra. Agenda IP Network Addressing IP Network Addressing Classful IP addressing Classful IP addressing Techniques.
Advertisements

COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
20.1 Chapter 20 Network Layer: Internet Protocol Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
IPv6 Tutorial Module 1: IPv6 Protocol Structure Dan Campbell, President Millennia Systems, Inc.
Network Layer IPv6 Slides were original prepared by Dr. Tatsuya Suda.
2: Comparing IPv4 and IPv6 Rick Graziani Cabrillo College
ICN Packet Format Design Requirements presented by Alex Afanasyev Alex Afanasyev (UCLA), Ravi Ravindran (Huawei), GQ Wang (Huawei), Lan Wang (University.
The Network Layer Chapter 5. The IP Protocol The IPv4 (Internet Protocol) header.
Chapter 5 The Network Layer.
EEC-484/584 Computer Networks Lecture 10 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Internet Networking Spring 2003
CSCI 4550/8556 Computer Networks Comer, Chapter 20: IP Datagrams and Datagram Forwarding.
ITIS 6167/8167: Network and Information Security Weichao Wang.
Oct 19, 2004CS573: Network Protocols and Standards1 IP: Datagram and Addressing Network Protocols and Standards Autumn
1 Internet Networking Spring 2002 Tutorial 2 IP Checksum, Fragmentation.
1 The Mystery of Cooperative Web Caching 2 b b Web caching : is a process implemented by a caching proxy to improve the efficiency of the web. It reduces.
Internet Command Message Protocol (ICMP) CS-431 Dick Steflik.
Slide #1IETF 77 – Roll WG – March 2010 ROLL RPL IETF 77 status draft-ietf-roll-rpl Tim Winter Pascal Thubert Design Team.
IPv6 Fundamentals Chapter 2: IPv6 Protocol
Connecting Networks © 2004 Cisco Systems, Inc. All rights reserved. Defining the IP Packet Delivery Process INTRO v2.0—4-1.
1Group 07 IPv6 2 1.ET/06/ ET/06/ ET/06/ EE/06/ EE/06/ EE/06/6473 Group 07 IPv6.
4: Network Layer4a-1 IP datagram format ver length 32 bits data (variable length, typically a TCP or UDP segment) 16-bit identifier Internet checksum time.
Internet Protocol (IP)
IP (Internet Protocol) –the network level protocol in the Internet. –Philosophy – minimum functionality in IP, smartness at the end system. –What does.
Topic of Presentation IPv6 Presented by: Mahwish Chaudhary Roll No 08TL01.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Flow Control 0.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Objectives After completing this chapter you will be able to: Understand how routers operate Describe Distance Vector and Link State Algorithms Describe.
ICN Packet Format Design Requirements presented by Alex Afanasyev Alex Afanasyev (UCLA), Ravi Ravindran (Huawei), GQ Wang (Huawei), Lan Wang (University.
Net Flow Network Protocol Presented By : Arslan Qamar.
THE CLASSIC INTERNET PROTOCOL (RFC 791) Dr. Rocky K. C. Chang 20 September
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 18 Windows Internet Name Service (WINS)
ARP ‘n RARP. The Address Resolution Protocol (ARP) is a request sent out by a computer to find another computer’s MAC address. It already knows the IP.
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.
Lecture 21: Network Primer 7/9/2003 CSCE 590 Summer 2003.
March 2007RBridge Extensions1 RBridge Protocol Extensions and the Inner Q-tag Location Donald Eastlake 3rd
Packet Switch Network Server client IP Ether IPTCPData.
1 Layer 3: Routing & Addressing Honolulu Community College Cisco Academy Training Center Semester 1 Version
Lecture 13 IP V4 & IP V6. Figure Protocols at network layer.
Fast Forwarding for NDN Won So Ashok Narayanan Mark Stapp Cisco Systems IETF ICNRG, 31/7/2013, Berlin.
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.
Data Link Control. The two main functions of the data link layer are data link control and media access control. The first, data link control, deals with.
Denial of Service attack in IPv6 networks and Counter measurements
Chapter 19 Network Layer Protocols
A quick intro to networking
PANA Issues and Resolutions
Next Generation: Internet Protocol, Version 6 (IPv6) RFC 2460
21-2 ICMP(Internet control message protocol)
IETF#67 – 5-10 November 2006 FECFRAME requirements (draft-ietf-fecframe-req-01) Mark Watson.
Seminar report on IPv4 & IPv6
Carrying IPSEC Authentication and ESP Headers Across SCPS-NP Networks
Internet Networking Spring 2002
Standards Basics.
Internet Protocol (IP)
Guide to TCP/IP Fourth Edition
IP : Internet Protocol Surasak Sanguanpong
EEC-484/584 Computer Networks
Chapter 20 Network Layer: Internet Protocol
Wide Area Networks and Internet CT1403
What does this packet do?
Net 323 D: Networks Protocols
Internet Control Message Protocol
Refs: Chapter 10, Appendix A
IPv4 Addressing By, Ishivinder Singh( ) Sharan Patil ( )
Fred Kuhns Applied Research Laboratory
NET 323D: Networks Protocols
Computer Networks Protocols
32 bit destination IP address
The Heartbleed Bug and Attack
Presentation transcript:

NDN Messages and NDN Packets Mark Stapp Cisco Systems mjs@cisco.com IETF ICNRG, 31/7/2013, Berlin

NDN in One Slide Clients send Interest messages All communication is request-driven The messages name content Nodes who have the content can reply with a Content message May be an authoritative publisher of the content May be a CDN-like cache May be a router that has built-in cache Content includes a signature, so the source “doesn't matter” All routing and forwarding is based on the name in the messages No source or destination addresses Messages are “balanced”: one Interest produces one Content Messages need to be put into packets

Things That are Good Clear distinction between What's required by the protocol What's “application-specific”, or an extension that may be optional Protocol versioning Find the important things fast D$ cache misses really matter Carry required things in the header (if they're of reasonable size) Reasonable encode/decode expectations Avoid ambiguity, redundancy TLVs - flexible, extensible, chance for some cross-version compatibility Interoperable running code

NDN Numeric Encoding NDN messages contain numerical values with ranges that vary widely. For efficiency, we define a variable-length encoding for numbers in NDN as follows: VAR-NUMBER := BYTE+ The first octet of the number carries the actual numeric value, or signals that a variable-length encoding is required. The encoding scheme: if the first octet is < 253, the number is encoded in that octet if the first octet == 253, the number is encoded in the following 2 octets, in net byte-order if the first octet == 254, the number is encoded in the following 4 octets, in net byte-order if the first octet == 255, the number is encoded in the following 8 octets, in net byte-order

NDN TLVs An NDN message body is mainly a collection of TLVs. Some TLVs will, in turn, contain sub-TLVs. The TLVs' Type and Length use the the NDN variable-length number encoding. NDN-TLV := TLV-TYPE TLV-LENGTH [ TLV-DATA ] TLV-TYPE := VAR-NUMBER TLV-LENGTH := VAR-NUMBER TLV-DATA := BYTE+ We expect that many (most) T and many L will be able to use the one-byte encoding Potentially large T number-space Allows us to allocate ranges for experimental, vendor, etc. use

Interest Message (1) INTEREST-MESSAGE := INTEREST-HEADER NAME-TLV [ NDN-TLV ... ] INTEREST-HEADER := specified below NAME-TLV := NDN-TLV with Type == Name The Name is *required* to appear immediately after the header, which is of fixed size

Interest Message (2) NDN Interest message header: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ver | msg | message-size | | flags | error-code |err-comp-count | | nonce | | | The Name is *required* to appear immediately after the header, which is of fixed size The protocol is versioned The message has a size There's a place for flags and for error information (there's experimentation on various kinds of error reporting) CCN/NDN uses a nonce value instead of a ttl counter (ask me or Nacho); it has to be in every Interest, so...

Content Message (1) CONTENT-MESSAGE := CONTENT-HEADER NAME-TLV [ NDN-TLV ... ] CONTENT-HEADER := specified below NAME-TLV := NDN-TLV with Type == Name Again, the Name TLV is *required* to be immediately after the fixed header

Content Message (2) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ver | msg | message-size | | flags | MBZ (TODO - another use?) | The first 4 bytes of the header is shared with the Interest message Content messages do not have other fixed fields (that we have come up with yet) The Name TLV is present at a fixed offset

Some Proposed TLVs NDN_TLV_Witness = 16, NDN_TLV_Name = 1, NDN_TLV_NameComponent = 2, NDN_TLV_NameSegment = 3, NDN_TLV_ContentData = 4, NDN_TLV_Certificate = 5, NDN_TLV_SignedInfo = 6, NDN_TLV_ContentDigest = 7, NDN_TLV_PublicKey = 10, NDN_TLV_KeyName = 12, NDN_TLV_KeyNameComponent = 13, NDN_TLV_Signature = 14, NDN_TLV_Timestamp = 15, NDN_TLV_Witness = 16, NDN_TLV_SignatureBits = 17, NDN_TLV_DigestAlgorithm = 18, NDN_TLV_ContentExpiration = 19, NDN_TLV_CacheTTL = 20, NDN_TLV_FinalSegmentID = 21, NDN_TLV_PublisherPublicKeyDigest = 22, NDN_TLV_VendorSpecific = 23, NDN_TLV_VendorId = 24