IP - The Internet Protocol

Similar documents
Lecture Computer Networks

Network Layer: Network Layer and IP Protocol

8.2 The Internet Protocol

NETWORK LAYER/INTERNET PROTOCOLS

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

Lecture 15. IP address space managed by Internet Assigned Numbers Authority (IANA)

Guide to TCP/IP, Third Edition. Chapter 3: Data Link and Network Layer TCP/IP Protocols

RARP: Reverse Address Resolution Protocol

Internetworking. Problem: There is more than one network (heterogeneity & scale)

IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP

Guide to Network Defense and Countermeasures Third Edition. Chapter 2 TCP/IP

Ethernet. Ethernet. Network Devices

04 Internet Protocol (IP)

Internet Protocols. Background CHAPTER

IP addressing and forwarding Network layer

Interconnection of Heterogeneous Networks. Internetworking. Service model. Addressing Address mapping Automatic host configuration

Network Layer IPv4. Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS. School of Computing, UNF

Chapter 3: Review of Important Networking Concepts. Magda El Zarki Dept. of CS UC Irvine

- IPv4 Addressing and Subnetting -

Network layer: Overview. Network layer functions IP Routing and forwarding

2. IP Networks, IP Hosts and IP Ports

TCP/IP Fundamentals. OSI Seven Layer Model & Seminar Outline

Mobile IP Network Layer Lesson 02 TCP/IP Suite and IP Protocol

Internet Architecture and Philosophy

Future Internet Technologies

Network Layer. Introduction Datagrams and Virtual Circuits Routing Traffic Control. Data delivery from source to destination.

Indian Institute of Technology Kharagpur. TCP/IP Part I. Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology

Internet Control Protocols Reading: Chapter 3

Address Resolution Protocol (ARP), Reverse ARP, Internet Protocol (IP)

Internet Protocol: IP packet headers. vendredi 18 octobre 13

Gary Hecht Computer Networking (IP Addressing, Subnet Masks, and Packets)

Transport and Network Layer

Introduction to IP v6

Chapter 3. TCP/IP Networks. 3.1 Internet Protocol version 4 (IPv4)

Subnetting,Supernetting, VLSM & CIDR

Network layer" 1DT066! Distributed Information Systems!! Chapter 4" Network Layer!! goals: "

First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring

Troubleshooting Tools

ACHILLES CERTIFICATION. SIS Module SLS 1508

SUPPORT DE COURS. Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : omarinmt@gmail.com

A PPENDIX L TCP/IP and OSI

Chapter 11. User Datagram Protocol (UDP)

Technical Support Information Belkin internal use only

Networking Test 4 Study Guide

Network Programming TDC 561

Computer Networks. Lecture 3: IP Protocol. Marcin Bieńkowski. Institute of Computer Science University of Wrocław

Understanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX

PART OF THE PICTURE: The TCP/IP Communications Architecture

Overview of TCP/IP. TCP/IP and Internet

How Does Ping Really Work?

The Internet. Internet Technologies and Applications

Chapter 13 Internet Protocol (IP)

CS335 Sample Questions for Exam #2

IP Routing Features. Contents

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ

Savera Tanwir. Internet Protocol

Network Layer: Address Mapping, Error Reporting, and Multicasting

Lecture 8. IP Fundamentals

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2

IP address format: Dotted decimal notation:

Chapter 9. IP Secure

Chapter 4 Network Layer

CHAPTER 0 INTRODUCTION TO TCP/IP

Datacommunication. Internet Infrastructure IPv4 & IPv6

How do I get to

Introduction to IP networking

Introduction to TCP/IP

Classful IP Addressing. Classless Addressing: CIDR. Routing & Forwarding: Logical View of a Router. IP Addressing: Basics

CHAPTER 10 IP MULTICAST

Internet Protocols Fall Lectures 7-8 Andreas Terzis

(Refer Slide Time: 02:17)

Slide 1 Introduction cnds@napier 1 Lecture 6 (Network Layer)

Internet Protocol version 4 Part I

Network Layer: and Multicasting Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

CHAPTER 3 STATIC ROUTING

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP

Protocols and Architecture. Protocol Architecture.

Internet Working 5 th lecture. Chair of Communication Systems Department of Applied Sciences University of Freiburg 2004

Internet Protocol Version 6 (IPv6)

Transport Layer Protocols

Unix System Administration

1 Data information is sent onto the network cable using which of the following? A Communication protocol B Data packet

EITF25 Internet Techniques and Applications L5: Wide Area Networks (WAN) Stefan Höst

What is a DoS attack?

IP Multicasting. Applications with multiple receivers

Outline. CSc 466/566. Computer Security. 18 : Network Security Introduction. Network Topology. Network Topology. Christian Collberg

Internet Protocols. Addressing & Services. Updated:

User Datagram Protocol - Wikipedia, the free encyclopedia

APPENDIX B. Routers route based on the network number. The router that delivers the data packet to the correct destination host uses the host ID.

VXLAN: Scaling Data Center Capacity. White Paper

Procedure: You can find the problem sheet on Drive D: of the lab PCs. 1. IP address for this host computer 2. Subnet mask 3. Default gateway address

Objectives of Lecture. Network Architecture. Protocols. Contents

Network Security TCP/IP Refresher

IPv6 Fundamentals Ch t ap 1 er I : ntroducti ti t on I o P IPv6 Copyright Cisco Academy Yannis Xydas

Network Layer, Part 1 Internet Architecture. History

Transcription:

Orientation IP - The Internet Protocol IP (Internet Protocol) is a Network Layer Protocol. IP s current version is Version 4 (IPv4). It is specified in RFC 891. TCP UDP Transport Layer ICMP IP IGMP Network Layer ARP Network Access Link Layer Based on the slides of Dr. Jorg Liebeherr, University of Virginia Media IP: The waist of the hourglass Network Layer Protocol IP is the waist of the hourglass of the Internet protocol architecture Applications HTTP FTP SMTP TCP UDP IP IP is the highest layer protocol which is implemented at both routers and hosts Multiple higher-layer protocols Multiple lower-layer protocols Data link layer protocols Physical layer protocols

IP Service Delivery service of IP is minimal IP provide provides an unreliable connectionless best effort service (also called: datagram service ). Unreliable: IP does not make an attempt to recover lost packets Connectionless: Each packet ( datagram ) is handled independently. IP is not aware that packets between hosts may be sent in a logical sequence Best effort: IP does not make guarantees on the service (no throughput guarantee, no delay guarantee, ) Consequences: Higher layer protocols have to deal with losses or with duplicate packets Packets may be delivered out-of-sequence IP Service IP supports the following services: unicast one-to-one one-to-all one-to-several broadcast (unicast) (broadcast) (multicast) multicast IP multicast also supports a many-to-many service. IP multicast requires support of other protocols (IGMP, multicast routing) IP Addresses IP is a network layer - it must be capable of providing communication between hosts on different kinds of networks (different data-link implementations). The address must include information about what network the receiving host is on. This is what makes routing feasible. IP Addresses IP addresses are logical addresses (not physical) IPv4 (version 4) 32 bits. Includes a network ID and a host ID. Every host must have a unique IP address. IP addresses are assigned by ICANN (Internet Corporation for Assigned Names and Numbers).

IP Address as a 32-Bit Binary Number Binary and Decimal Conversion Classes of Network IP Addresses IP Addresses as Decimal Numbers

Network IDs and Broadcast Addresses Private Addresses An IP address such as 176.10.0.0 that has all binary 0s in the host bit positions is reserved for the network address. An IP address such as 176.10.255.255 that has all binary 1s in the host bit positions is reserved for the broadcast address. Subnetworks Subnetworks To create a subnet address, a network administrator borrows bits from the original host portion and designates them as the subnet field.

IP Datagram Format bit # 0 7 8 15 16 23 24 31 version header length Identification DS ECN source IP address destination IP address options (0 to 40 bytes) payload total length (in bytes) Fragment offset time-to-live (TTL) protocol header checksum 0 D M F F IP Datagram Format Question: In which order are the bytes of an IP datagram transmitted? Answer: Transmission is row by row For each row: 1. First transmit bits 0-7 2. Then transmit bits 8-15 3. Then transmit bits 16-23 4. Then transmit bits 24-31 This is called network byte order or big endian byte ordering. 4 bytes 20 bytes Header Size <2 4 x 4 bytes = 60 bytes 20 bytes Total Length <2 16 bytes = 65536 bytes Note: Many computers (incl. Intel processors) store 32-bit words in little endian format. Others (incl. Motorola processors) use big endian. Big endian vs. small endian Fields of the IP Header Conventions to store a multibyte work Example: a 4 byte Long Integer Byte3 Byte2 Byte1 Byte0 Little Endian Stores the low-order byte at the lowest address and the highest order byte in the highest address. Base Address+0 Byte0 Base Address+1 Byte1 Base Address+2 Byte2 Base Address+3 Byte3 Intel processors use this order Big Endian Stores the high-order byte at the lowest address, and the low-order byte at the highest address. Base Address+0 Byte3 Base Address+1 Byte2 Base Address+2 Byte1 Base Address+3 Byte0 Motorola processors use big endian. Version (4 bits): current version is 4, next version will be 6. Header length (4 bits): length of IP header, in multiples of 4 bytes DS/ECN field (1 byte) This field was previously called as Type-of-Service (TOS) field. The role of this field has been re-defined, but is backwards compatible to TOS interpretation Differentiated Service (DS) (6 bits): Used to specify service level (currently not supported in the Internet) Explicit Congestion Notification (ECN) (2 bits): New feedback mechanism used by TCP

Fields of the IP Header Identification (16 bits): Unique identification of a datagram from a host. Incremented whenever a datagram is transmitted Flags (3 bits): First bit always set to 0 DF bit (Do not fragment) MF bit (More fragments) Will be explained later Fragmentation Fields of the IP Header Time To Live (TTL) (1 byte): Specifies longest paths before datagram is dropped Role of TTL field: Ensure that packet is eventually dropped when a routing loop occurs Used as follows: Sender sets the value (e.g., 64) Each router decrements the value by 1 When the value reaches 0, the datagram is dropped Fields of the IP Header Protocol (1 byte): Specifies the higher-layer protocol. Used for demultiplexing to higher layers. Header checksum (2 bytes): A simple 16-bit long checksum which is computed for the header of the datagram. Fields of the IP Header Options: Security restrictions Record Route: each router that processes the packet adds its IP address to the header. Timestamp: each router that processes the packet adds its IP address and time to the header. (loose) Source Routing: specifies a list of routers that must be traversed. (strict) Source Routing: specifies a list of the only routers that can be traversed. Padding: Padding bytes are added to ensure that header ends on a 4-byte boundary

Maximum Transmission Unit Maximum size of IP datagram is 65535, but the data link layer protocol generally imposes a limit that is much smaller Example: Ethernet frames have a maximum payload of 1500 bytes IP datagrams encapsulated in Ethernet frame cannot be longer than 1500 bytes The limit on the maximum IP datagram size, imposed by the data link protocol is called maximum transmission unit (MTU) MTUs for various data link protocols: Ethernet: 1500 FDDI: 4352 802.3: 1492 ATM AAL5: 9180 802.5: 4464 PPP: negotiated IP Fragmentation What if the size of an IP datagram exceeds the MTU? IP datagram is fragmented into smaller units. What if the route contains networks with different MTUs? Host A FDDI Ring Router Ethernet MTUs: FDDI: 4352 Ethernet: 1500 Fragmentation: IP router splits the datagram into several datagram Fragments are reassembled at receiver Host B Where is Fragmentation done? Fragmentation can be done at the sender or at intermediate routers The same datagram can be fragmented several times. Reassembly of original datagram is only done at destination hosts!! IP datagram H Fragment 2 H2 Fragment 1 H1 Router What s involved in Fragmentation? The following fields in the IP header are involved: Identification Flags When a datagram is fragmented, the identification is the same in all fragments DF bit is set: Datagram cannot be fragmented and must be discarded if MTU is too small MF bit set: This datagram is part of a fragment and an additional fragment follows this one

What s involved in Fragmentation? The following fields in the IP header are involved: Example of Fragmentation A datagram with size 2400 bytes must be fragmented according to an MTU limit of 1000 bytes Fragment offset Total length Offset of the payload of the current fragment in the original datagram Total length of the current fragment Determining the length of fragments To determine the size of the fragments we recall that, since there are only 13 bits available for the fragment offset, the offset is given as a multiple of eight bytes. As a result, the first and second fragment have a size of 996 bytes (and not 1000 bytes). This number is chosen since 976 is the largest number smaller than 1000 20= 980 that is divisible by eight. The payload for the first and second fragments is 976 bytes long, with bytes 0 through 975 of the original IP payload in the first fragment, and bytes 976 through 1951 in the second fragment. The payload of the third fragment has the remaining 428 bytes, from byte 1952 through 2379. With these considerations, we can determine the values of the fragment offset, which are 0, 976 / 8 = 122, and 1952 / 8 = 244, respectively, for the first, second and third fragment. Internet Control Message Protocol (ICMP) Based on the slides of Dr. Jorg Liebeherr, University of Virginia

Overview Overview The IP (Internet Protocol) relies on several other protocols to perform necessary control and routing functions: Control functions (ICMP) Multicast signaling (IGMP) Setting up routing tables (RIP, OSPF, BGP, PIM, ) The Internet Control Message Protocol (ICMP) is a helper protocol that supports IP with facility for Error reporting Simple queries ICMP messages are encapsulated as IP datagrams: ICMP message format ICMP Query message bit # 0 7 8 15 16 23 24 31 type code checksum ICMP Request additional information or 0x00000000 Host ICMP Reply Host or router 4 byte header: Type (1 byte): type of ICMP message Code (1 byte): subtype of ICMP message Checksum (2 bytes): similar to IP header checksum. Checksum is calculated over entire ICMP message If there is no additional data, there are 4 bytes set to zero. each ICMP messages is at least 8 bytes long ICMP query: Request sent by host to a router or host Reply sent back to querying host

Example of ICMP Queries Example of a Query: Echo Request and Reply Type/Code: Description 8/0 Echo Request 0/0 Echo Reply 13/0 Timestamp Request 14/0 Timestamp Reply 10/0 Router Solicitation 9/0 Router Advertisement The ping command uses Echo Request/ Echo Reply Ping s are handled directly by the kernel Each Ping is translated into an ICMP Echo Request The Ping ed host responds with an ICMP Echo Reply Host Host or or Router Router ICMP ECHO REQUEST ICMP ECHO REPLY Host Host or or router router Example of a Query: ICMP Timestamp Sender Sender Timestamp Request ICMP Error message A system (host or router) asks another system for the current time. Time is measured in milliseconds after midnight UTC (Universal Coordinated Time) of the current day Sender sends a request, receiver responds with reply Timestamp Reply Receiver Receiver Host IP datagram ICMP Error Message IP datagram is discarded Host or router Type (= 17 or 18) identifier Code (=0) 32-bit sender timestamp 32-bit receive timestamp 32-bit transmit timestamp Checksum sequence number ICMP error messages report error conditions Typically sent when a datagram is discarded Error message is often passed from ICMP to the application program

ICMP Error message Frequent ICMP Error message ICMP Message IP header ICMP header IP header 8 bytes of payload type code checksum Unused (0x00000000) from IP datagram that triggered the error ICMP error messages include the complete IP header and the first 8 bytes of the payload (typically: UDP, TCP) Typ e 3 5 11 12 Code 0 15 0 3 0, 1 0, 1 Description Destination unreachable Redirect Time exceeded Parameter problem Notification that an IP datagram could not be forwarded and was dropped. The code field contains an explanation. Informs about an alternative route for the datagram and should result in a routing table update. The code field explains the reason for the route change. Sent when the TTL field has reached zero (Code 0) or when there is a timeout for the reassembly of segments (Code 1) Sent when the IP header is invalid (Code 0) or when an IP header option is missing (Code 1) Some subtypes of the Destination Unreachable Example: ICMP Port Unreachable Code 0 1 2 3 4 Description Network Unreachable Host Unreachable Protocol Unreachable Port Unreachable Fragmentation Needed and DF Bit Set Reason for Sending No routing table entry is available for the destination network. Destination host should be directly reachable, but does not respond to ARP Requests. The protocol in the protocol field of the IP header is not supported at the destination. The transport protocol at the destination host cannot pass the datagram to an application. IP datagram must be fragmented, but the DF bit in the IP header is set. RFC 792: If, in the destination host, the IP module cannot deliver the datagram because the indicated protocol module or process port is not active, the destination host may send a destination unreachable message to the source host. Scenario: Client Client Request a service at a port 80 Port Unreachable Server Server No process is waiting at port 80