CS551: Layering and Addressing Christos Papadopoulos (http://netweb.usc.edu/cs551/)http://netweb.usc.edu/cs551/)

Slides:



Advertisements
Similar presentations
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.
Advertisements

4 IP Address (IPv4)  A unique 32-bit number  Identifies an interface (on a host, on a router, …)  Represented in dotted-quad notation
20.1 Chapter 20 Network Layer: Internet Protocol Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Introduction to IPv4 Introduction to Networks.
Addressing the Network IPv4
IPv4 - The Internet Protocol Version 4
IPv4 Addresses. Internet Protocol: Which version? There are currently two versions of the Internet Protocol in use for the Internet IPv4 (IP Version 4)
TCP/IP TCP/IP architecture
Winter CMPE 155 Week 8. Winter Router demos: background.
IP Suite© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer Science Department.
Chapter 5 The Network Layer.
Oct 26, 2004CS573: Network Protocols and Standards1 IP: Routing and Subnetting Network Protocols and Standards Autumn
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6961:Internet Protocols Quiz 1: Solutions Time: 60 min (strictly enforced) Points: 50 YOUR.
11- IP Network Layer4-1. Network Layer4-2 The Internet Network layer forwarding table Host, router network layer functions: Routing protocols path selection.
Oct 21, 2004CS573: Network Protocols and Standards1 IP: Addressing, ARP, Routing Network Protocols and Standards Autumn
Introduction to TCP/IP
Inside the Internet. INTERNET ARCHITECTURE The Internet system consists of a number of interconnected packet networks supporting communication among host.
1 Network Layer: Host-to-Host Communication. 2 Network Layer: Motivation Can we built a global network such as Internet by extending LAN segments using.
CMPE 80N - Introduction to Networks and the Internet 1 CMPE 80N Winter 2004 Lecture 18 Introduction to Networks and the Internet.
IP-UDP-RTP Computer Networking (In Chap 3, 4, 7) 건국대학교 인터넷미디어공학부 임 창 훈.
Gursharan Singh Tatla Transport Layer 16-May
Lecture 7 – IP Addressing and Forwarding
* EECS 582 Advanced Operating Systems James Priestley University of Michigan Day 4: Internetworking January 12, 2012 Credit for the majority of these slides.
1 26-Aug-15 Addressing the network using IPv4 Lecture # 2 Engr. Orland G. Basas Prepared by: Engr. Orland G. Basas IT Lecturer.
1 Internet Addresses (You should read Chapter 4 in Forouzan) IP Address is 32 Bits Long Conceptually the address is the pair ( NETID, HOSTID ) Addresses.
IP (Internet Protocol) –the network level protocol in the Internet. –Philosophy – minimum functionality in IP, smartness at the end system. –What does.
IP Addressing Introductory material. An entire module devoted to IP addresses.
G64INC Introduction to Network Communications Ho Sooi Hock Internet Protocol.
IPv4 Addresses. Internet Protocol: Which version? There are currently two versions of the Internet Protocol in use for the Internet IPv4 (IP Version 4)
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
1 CSE3213 Computer Network I Network Layer (7.1, 7.3, ) Course page: Slides modified from Alberto Leon-Garcia.
Computer Networking. 2 Outline 3 Objectives Understand the state-of-the-art in network protocols, architectures and applications Understand how networking.
ECE 526 – Network Processing Systems Design Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008.
ICS 156: Lecture 2 (part 1) Today:  IP addressing  Data link protocols and ARP  Notes about lab.
Internet Protocol ECS 152B Ref: slides by J. Kurose and K. Ross.
1 Internet Control Message Protocol (ICMP) Used to send error and control messages. It is a necessary part of the TCP/IP suite. It is above the IP module.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
20.1 Chapter 20 Network Layer: Internet Protocol Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
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.
CSC 600 Internetworking with TCP/IP Unit 7: IPv6 (ch. 33) Dr. Cheer-Sun Yang Spring 2001.
Page 1 Network Addressing CS.457 Network Design And Management.
Chapter 20 Network Layer: Internet Protocol
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”
CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001.
IP Addressing.
Cisco Confidential © 2013 Cisco and/or its affiliates. All rights reserved. 1 Cisco Networking Training (CCENT/CCT/CCNA R&S) Rick Rowe Ron Giannetti.
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 19 Omar Meqdadi Department of Computer Science and Software Engineering University.
ITP 457 Network Security Networking Technologies III IP, Subnets & NAT.
IP Protocol CSE TCP/IP Concepts Connectionless Operation Internetworking involves connectionless operation at the level of the Internet Protocol.
Network Layer4-1 Chapter 4: Network Layer Chapter goals: r understand principles behind network layer services: m network layer service models m forwarding.
Delivery and Forwarding Chapter 18 COMP 3270 Computer Networks Computing Science Thompson Rivers University.
Computer Networks 0110-IP Gergely Windisch
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Addressing the network IPv4 CCNA Exploration Semester 1 – Chapter 6.
Network Layer Protocols COMP 3270 Computer Networks Computing Science Thompson Rivers University.
1 COMP 431 Internet Services & Protocols The IP Internet Protocol Jasleen Kaur April 21, 2016.
Network Layer IP Address.
Lecture 13 IP V4 & IP V6. Figure Protocols at network layer.
Network Layer/IP Protocols 1. Outline IP Datagram (IPv4) NAT Connection less and connection oriented service 2.
IP Addressing Introductory material.
Computer Communication Networks
IP: Addressing, ARP, Routing
Scaling the Network: The Internet Protocol
IP Addressing Introductory material.
CS 457 – Lecture 10 Internetworking and IP
IP Addressing Introductory material.
Internetworking Outline Best Effort Service Model
Chapter 20 Network Layer: Internet Protocol
IP Addressing Introductory material
Introduction to Networks
Presentation transcript:

CS551: Layering and Addressing Christos Papadopoulos (

Protocols Set of rules governing communication between network elements (applications, hosts, routers) Protocols define: –Format and order of messages –Actions taken on receipt of a message Protocols are hard to design –We need design guidelines!

Layering Host Application Transport Network Link User A User B Teleconferencing Layering: technique to simplify complex systems Peers

Layering Characteristics Each layer relies on services from layer below and exports services to layer above Interface defines interaction Hides implementation - layers can change without disturbing other layers (black box)

Layer Encapsulation

OSI Model: 7 Protocol Layers Physical: how to transmit bits Data link: how to transmit frames Network: how to route packets hop2hop Transport: how to send packets end2end Session: how to tie flows together Presentation: byte ordering, security Application: everything else!

Layering General Issues Reliability Flow control Fragmentation Multiplexing Connection setup (handshaking) Addressing/naming (locating peers)

Example: Transport Layer First end-to-end layer End-to-end state May provide reliability, flow and congestion control

Example: Network Layer Point-to-point communication Network and host addressing Routing

Is Layering Harmful? Sometimes.. –Layer N may duplicate lower level functionality (e.g., error recovery). –Layers may need same info (timestamp, MTU). –Strict adherence to layering may hurt performance. –Naïve layer implementation frequently hurts performance.

Course Focus

IP Router Host Application Transport Network Link

IP

IP Functions Type of service –Not used until recently Identification, flags and fragment offset –Fragmentation Time to live –Bounded delivery Protocol –(De)multiplexing higher layer protocols

Other Fields Length –IP packet length limited to 64K Header checksum –Ensures some degree of header integrity

Fragmentation Forwarding costs per packet –Nice if we can send large chunks of data Different link-layers have different MTUs Fragmentation –Intra-network –Inter-network

Fragmentation Is Harmful Uses resources poorly –Example of packet just bigger than MTU Poor end-to-end performance –Loss of a fragment Reassembly is hard –Buffering constraints

Path MTU Discovery Hosts dynamically discover MTU of path –Send message with don’t fragment bit –Get ICMP message indicating size What happens if path changes? –Increasing/decreasing path MTU Usually implemented by the transport layer –Expected that future routing protocols will provide MTU information

Path MTU Algorithm: –Initialize MTU to MTU to next hop –Send datagrams with DF bit set –If “datagram too big”, decrease MTU –Periodically (>5mins, or >1min after previous increase), increase MTU Some routers will return proper MTU MTU values cached in routing table

Addressing in IP IP addresses are names of interfaces DNS names are names of hosts DNS binds host names to interfaces Routing binds interface names to paths

Addressing Considerations Fixed length or variable length? Issues: –Flexibility –Processing costs –Header size Engineering choice: IP uses fixed length addresses

Addressing Considerations Structured vs flat Issues –Need structure for designing scalable binding from interface name to route! –How many levels? Fixed? Variable?

Packet Traveling Through the Internet R R R R R HH H H H R R H R Routers send packet to next closest hop H: Hosts R: Routers

IP Addressing Hierarchy Backbones Regionals Campus LANs

Some Special IP Addresses : local host (a.k.a. The loopback address. 127.X.X.X: same as above. Host bits all set to 0: network address. Host bits all set to 1: broadcast address : this host on this network.

IP Addresses Fixed length: 32 bits Initial classful structure

Class Sizes Total IP address size: 4 billion Class A: 128 networks, 16M hosts Class B: 16K networks, 64K hosts Class C: 2M networks, 256 hosts

IP Address Classes (Some Are Obsolete) Network IDHost ID Network IDHost ID 816 Class A 32 0 Class B 10 Class C 110 Multicast Addresses Class D 1110 Reserved for experiments Class E

Subnet Addressing Very few LANs have close to 64K hosts –for networks with more than 255 hosts Variable length subnet masks –could subnet a class B into several chunks NetworkSubnetHost

Subnetting Simple and elegant way to reduce the total number of network addresses that are assigned. network host network hostsubnet mask

Subnetting Example Assume an organization was assigned address Assume < 100 hosts per subnet How many host bits do we need? –seven What is the network mask? – –

Using Subnet Mask Assume a packet arrives with address Step 1: AND address with subnet mask –( ) AND ( ) –result: which is the target network Target network has hosts in the range –

Subnet Addressing Example H1H2 H3H4 H5 R1 R To Internet

Routing to the Network H1H2 H3H4 H5 R1 R To Internet A packet destined to arrives R1 applies a 9-bit subnet mask and gets the address R1 looks up its routing table and sends the packet to R2

Routing Within the Subnet H1H2 H3H4 H5 R1 R To Internet H5 wants to send pkt to H2. Destination Next hopFlagsInterface default Hlo Gemd0 Routing table at H5 Lookup rules: exact match network match default route Search for longest matching prefix

Routing Within the Subnet H1H2 H3H4 H5 R1 R To Internet From H5, Packet reaches R2. R2 delivers the packet to R1. Destination Next hopFlagsInterface default Hlo Gemd0 emd1 Routing table at R emd1

Routing Within the Subnet H1H2 H3H4 H5 R1 R To Internet R1 has direct route and delivers packet to H2. Destination Next hopFlagsInterface Hlo G emd0 emd1 Routing table at R emd

IP Address Problem (1991)? Address space depletion –in danger of running out of classes A and B Routing table explosion

Some Problems Class B sparsely populated –but people refuse to give it back One solution: assign class C addresses –how do you allocate to avoid routing table explosion? Addresses not geographically related –addresses given by your ISP –blocks assigned to various countries

Classless Inter-domain Routing (CIDR) Do not use classes to determine network ID Use common part of address as network number –i.e., use netmask (/xx bits) for network address E.g., addresses have the first 20 bits in common. Thus, we use this as the network number –netmask is /20 In CIDR /xx is valid for almost any xx

CIDR Addressing A block of addresses is described by –address prefix –mask Examples: –10/8 denotes addresses from to –/xx indicates number of significant bits

Classless Inter-Domain Routing (CIDR) Several key ideas –allocate addresses to organizations in power-of- two blocks –organizations get addresses from provider’s block –provider aggregates Addresses: –address utilization –routing table size

Old classes and CIDR Class A network is a /8 Class B network is a /16 Class C network is a /24

CIDR prefixes /281/1616 /271/832 /261/464 /251/2 128 /241 class C256 / /2241,024 /2182,048 /20164,096 /19328,192 /186416,384 / ,768 /16256=1 class B65,536 / ,072 /141,024262,144 /132,048524,288 CIDR Blk Prfx# Eqiv Class C # of Hosts

CIDR example Network admin is allocated 8 class C chunks, to Allocation uses 3 bits of class C space Remaining 21 bits are network number, written as /21 21 is prefix indication which must be carried with address Routing protocols carry this prefix

CIDR Illustration Provider 12/6 12/813/8 14/8 15/8

explanation 12/6 = /8 = /8 = /8 = /8 =

CIDR Shortcomings Multi-homing Customer selecting a new provider Some other ideas –geographic addressing Is it enough? Do we need a new IP?

Network Address Translation (NAT) Kludge (but useful) Sits between your network and the Internet Translates local network layer addresses to global IP addresses Has a pool of global IP addresses (less than number of hosts on your network)

NAT Illustration Internet Private network NAT Pool of global IP addresses Operation:Sp wants to talk to Dg: Create Sg-Sp mapping Replace Sp with Sg for outgoing packets Replace Sg with Sp for incoming packets DgSp data DgSg data D PG

NAT Disadvantages breaks end-to-end semantics –internal computers cannot be addressed from the outside NAT box modifies packets on the fly –sometimes needs to modify app-level info, not just packet headers ex. if IP address is in packet data (not just header), as in FTP –therefore forces application-specific gateways

NAT Advantages breaks end-to-end semantics –internal computers cannot be addressed from the outside –an effective security kludge! cheap, relatively easy, relatively fast don’t have to tell your cable modem company :-)

IPv6 The Right Way –just make bigger addresses –and fix a bunch of other stuff but… requires a whole new protocol stack –slow adoption –but but… seems to be gaining momentum cell phones Asia

IPv6

Things to Think About How much IP functionality is really useful? Was IP a success by design or by accident?

Hints for Computer System Design

The End-to-end Argument Deals with where to place protocol functionality –Inside the network (in switching elements) –At the edges Argument –If functionality can only “be correctly and completely implemented in application” (i.E. At the edges) –Cannot provide in communication system –Can provide a partial form as performance enhancement

End-to-end Argument: File Transfer Even if network guaranteed reliable delivery –Need to provide end-to-end checks –E.G., Network card may malfunction If network is highly unreliable –Adding some level of reliability helps performance, not correctness –Don’t try to achieve perfect reliability!