CS 43: Computer Networks IP. Kevin Webb Swarthmore College November 5, 2013

Similar documents
Chapter 4 Network Layer

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

IP addressing and forwarding Network layer

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

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

IP addressing. Interface: Connection between host, router and physical link. IP address: 32-bit identifier for host, router interface

Chapter 4 Network Layer

Network layer. Assignment 3

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

Future Internet Technologies

8.2 The Internet Protocol

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

CS 457 Lecture 19 Global Internet - BGP. Fall 2011

IP Addressing. IP Addresses. Introductory material.

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

Internet Protocols Fall Lectures 7-8 Andreas Terzis

IP Addressing Introductory material.

IP address format: Dotted decimal notation:

IP Subnetting and Addressing

IP Address Classes (Some are Obsolete) Computer Networking. Important Concepts. Subnetting Lecture 8 IP Addressing & Packets

Internet and IP addressing

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

Savera Tanwir. Internet Protocol

Lecture Computer Networks

DHCP, ICMP, IPv6. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley DHCP. DHCP UDP IP Eth Phy

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

Internet Control Protocols Reading: Chapter 3

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

Classful IP Addressing (cont.)

Scaling the Network: Subnetting and Other Protocols. Networking CS 3470, Section 1

RARP: Reverse Address Resolution Protocol

The Internet. Internet Technologies and Applications

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

Transport and Network Layer

IP Addressing. -Internetworking (with TCP/IP) -Classful addressing -Subnetting and Supernetting -Classless addressing

PART IV. Network Layer

Internetworking and IP Address

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

Networking Test 4 Study Guide

Efficient Addressing. Outline. Addressing Subnetting Supernetting CS 640 1

- IPv4 Addressing and Subnetting -

TCP/IP Basis. OSI Model

Internet Protocols. Addressing & Services. Updated:

Unix System Administration

Internetworking and Internet-1. Global Addresses

Internet Addresses (You should read Chapter 4 in Forouzan)

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

Technical Support Information Belkin internal use only

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

Internet Protocol: IP packet headers. vendredi 18 octobre 13

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

ICS 351: Today's plan

IP - The Internet Protocol

Dynamic Host Configuration Protocol (DHCP) 02 NAT and DHCP Tópicos Avançados de Redes

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

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

Internet Protocol Version 6 (IPv6)

1. How many unique network IDs are there in class A addresses? # of unique hosts?

Ethernet. Ethernet. Network Devices

Internet Protocol (IP) IP - Network Layer. IP Routing. Advantages of Connectionless. CSCE 515: Computer Network Programming IP routing

2. IP Networks, IP Hosts and IP Ports

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

We Are HERE! Subne\ng

IPv6 Advantages. Yanick Pouffary.

IP Addressing A Simplified Tutorial

CCNA Tutorial Series SUBNETTING

Final for ECE374 05/06/13 Solution!!

04 Internet Protocol (IP)

Lecture 8. IP Fundamentals

VLAN und MPLS, Firewall und NAT,

Overview. Lecture 16: IP variations: IPv6, multicast, anycast. I think we have a problem. IPv6. IPv6 Key Features

Internet Packets. Forwarding Datagrams

Computer Network Foundation. Chun-Jen (James) Chung. Arizona State University

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

Raritan Valley Community College Academic Course Outline. CISY Advanced Computer Networking

Tutorial (03) IP addresses & Sub netting

Chapter 11 Network Address Translation

CS335 Sample Questions for Exam #2

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

The Network Layer. Raj Jain. Washington University in St. Louis

Introduction to IP v6

Exam 1 Review Questions

HOST AUTO CONFIGURATION (BOOTP, DHCP)

Data Communications & Networks. Session 7 Main Theme Networks: Part I Circuit Switching, Packet Switching, The Network Layer

Introduction to TCP/IP

Internet Protocol Address

Variable length subnetting

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

Datacommunication. Internet Infrastructure IPv4 & IPv6

ICS 351: Today's plan. IP addresses Network Address Translation Dynamic Host Configuration Protocol Small Office / Home Office configuration

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

Internet Architecture and Philosophy

IPv4 Addressing Simplified. by Ken Foster B.S. IT Information; Security and Forensics Kaplan University January 23, 2011

Transcription:

CS 43: Computer Networks IP Kevin Webb Swarthmore College November 5, 2013

Reading Quiz

IP datagram format IP protocol version number header length (bytes) type of data max number remaining hops (decremented at each router) upper layer protocol to deliver payload to how much overhead? 20 bytes of TCP 20 bytes of IP = 40 bytes + app layer overhead ver head. len 16-bit identifier time to live type of service upper layer 32 bits flgs length 32 bit source IP address data (variable length, typically a TCP or UDP segment) fragment offset header checksum 32 bit destination IP address options (if any) total datagram length (bytes) for fragmentation/ reassembly e.g. timestamp, record route taken, specify list of routers to visit.

IP datagram format 32 bits Source endpoint. Final destination endpoint. Addresses must be unique on the network! ver head. len 16-bit identifier time to live type of service upper layer flgs length 32 bit source IP address data (variable length, typically a TCP or UDP segment) fragment offset header checksum 32 bit destination IP address options (if any)

IP Addresses 32-bit (4-byte) unsigned integer value. Usually written in dotted decimal or dotted quad E.g., 130.58.68.9 2 32 => 4,294,967,296 possible addresses. In the early 80 s, that s a lot! Population was ~4.5 billion. Now not so much. Population > 7 billion.

IP address: 32-bit Network Interfaces identifier for host, router interface interface: connection between host/router and physical link router s typically have multiple interfaces host typically has one or two interfaces (e.g., wired Ethernet, wireless 802.11) IP addresses associated with each interface 223.1.1.2 223.1.1.1 223.1.1.3 223.1.1.4 223.1.2.9 223.1.3.27 223.1.3.1 223.1.2.1 223.1.2.2 223.1.3.2 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1

Subnets IP address: subnet part - high order bits host part - low order bits what s a subnet? device interfaces with same subnet part of IP address can physically reach each other without intervening router On the same link layer 223.1.1.1 223.1.1.2 223.1.2.1 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.27 223.1.3.1 223.1.2.2 subnet 223.1.3.2 network consisting of 3 subnets

Subnets Book recipe To determine the subnets, detach each interface from its host or router, creating islands of isolated networks Each isolated network is called a subnet 223.1.1.1 223.1.1.2 223.1.2.1 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.27 223.1.3.1 223.1.2.2 subnet 223.1.3.2

Assigning Addresses IANA Internet Assigned Numbers Authority (Run by Jon Postel until 1988) Now a part of ICANN ICANN: Internet Corporation for Assigned Names and Numbers Manages IP addresses, DNS, resolves disputes

Who gets an address? How many? Back in the old days, you called up Jon Postel How many addresses do you need? Here you go! I may have rounded a bit. Classful Addressing Class A: 8-bit prefix, 24 bits for hosts (16777216) Class B: 16-bit prefix, 16 bits for hosts (65536) Class C: 24-bit prefix, 8 bits for hosts (256)

CIDR Classless Interdomain Routing Prefix (subnet) length is no longer fixed (Can be division of bits rather than just 8/24, 16/16, and 24/8)

Why do we give out addresses in CIDR blocks? How many of these statements are true? (Which ones?) It requires fewer resources at routers. It requires fewer resources at end hosts. It reduces the number of block allocations that need to be managed. It better utilizes the IP address space. A 0, B 1, C 2, D 3, E 4

CIDR Classless Interdomain Routing Prefix (subnet) length is no longer fixed Address blocks come with a subnet mask Subnet mask written in two ways: Dotted decimal: 255.255.240.0 /20 Both mean: 11111111 11111111 11110000 00000000

CIDR Addresses divided into two pieces: Prefix portion (network address) Host portion Given an IP address and mask, we can determine: The prefix (network address) by ANDing The broadcast address by ORing inverted mask

Network Address (Subnet Address) E.g., 230.8.1.3/18 11100110 00001000 00000001 00000011 11111111 11111111 11000000 00000000

Network Address (Subnet Address) E.g., 230.8.1.3/18 11100110 00001000 00000001 00000011 11111111 11111111 11000000 00000000 11100110 00001000 00000000 00000000 Network address: 230.8.0.0

Broadcast Address E.g., 230.8.1.3/18 11100110 00001000 00000001 00000011 11111111 11111111 11000000 00000000 00000000 00000000 00111111 11111111

Broadcast Address E.g., 230.8.1.3/18 11100110 00001000 00000001 00000011 00000000 00000000 00111111 11111111

Broadcast Address E.g., 230.8.1.3/18 11100110 00001000 00000001 00000011 00000000 00000000 00111111 11111111 11100110 00001000 00111111 11111111 Broadcast address: 230.8.63.255

Hierarchical Addressing: Route Aggregation Hierarchical addressing allows efficient advertisement of routing information: Organization 0 200.23.16.0/23 Organization 1 200.23.18.0/23 Organization 2 200.23.20.0/23 Organization 7. 200.23.30.0/23. Fly-By-Night-ISP Send me anything with addresses beginning 200.23.16.0/20 Internet ISPs-R-Us Send me anything with addresses beginning 199.31.0.0/16

What should we do if organization 1 decides to switch to ISPs-R-Us? Organization 0 200.23.16.0/23 Organization 1 200.23.18.0/23 Organization 2 200.23.20.0/23 Organization 7. 200.23.30.0/23. Fly-By-Night-ISP Send me anything with addresses beginning 200.23.16.0/20 Internet ISPs-R-Us Send me anything with addresses beginning 199.31.0.0/16 A. Move 200.23.18.0/23 to ISPs-R-Us (and break up Fly-By-Night s /20 block). B. Give new addresses to Organization 1 (and force them to change all their addresses). C. Some other solution.

Hierarchical addressing: More Specific Routes ISPs-R-Us has a more specific route to Organization 1 Organization 0 200.23.16.0/23 Organization 2 200.23.20.0/23 Organization 7. 200.23.30.0/23. Fly-By-Night-ISP Send me anything with addresses beginning 200.23.16.0/20 Internet Organization 1 200.23.18.0/23 ISPs-R-Us Send me anything with addresses beginning 199.31.0.0/16 or 200.23.18.0/23

Hierarchical addressing: More Specific Routes ISPs-R-Us has a more specific route to Organization 1 Organization 0 200.23.16.0/23 Longest prefix matching! Organization 2 200.23.20.0/23 Organization 7. 200.23.30.0/23. Fly-By-Night-ISP Send me anything with addresses beginning 200.23.16.0/20 Internet Organization 1 200.23.18.0/23 ISPs-R-Us Send me anything with addresses beginning 199.31.0.0/16 or 200.23.18.0/23

How does an end host get an IP address? Static IP: hard-coded Windows: control-panel->network- >configuration->tcp/ip->properties UNIX: /etc/rc.config DHCP: Dynamic Host Configuration Protocol: dynamically get address from as server plug-and-play

DHCP: Dynamic Host Configuration Protocol Goal: allow host to dynamically obtain its IP address from network server when it joins network can renew its lease on address in use allows reuse of addresses support for mobile users who want to join network DHCP overview: host broadcasts DHCP discover msg [optional] DHCP server responds with DHCP offer msg [optional] host requests IP address: DHCP request msg DHCP server sends address: DHCP ack msg

DHCP client-server scenario DHCP server: 223.1.2.5 DHCP discover src : 0.0.0.0, 68 dest.: 255.255.255.255,67 yiaddr: 0.0.0.0 transaction ID: 654 arriving client DHCP request src: 0.0.0.0, 68 dest:: 255.255.255.255, 67 yiaddrr: 223.1.2.4 transaction ID: 655 lifetime: 3600 secs DHCP offer src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddrr: 223.1.2.4 transaction ID: 654 lifetime: 3600 secs DHCP ACK src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddrr: 223.1.2.4 transaction ID: 655 lifetime: 3600 secs

DHCP: More than IP Addresses DHCP can return more than just allocated IP address on subnet: address of first-hop router for client (default GW) name and IP address of DNS server(s) subnet mask

IP Fragmentation, Reassembly Network links have MTU (max transfer size) - largest possible link-level frame Different link types, different MTUs large IP datagram divided ( fragmented ) within net One datagram becomes several datagrams Reassembled only at final destination IP header bits used to identify, order related fragments reassembly fragmentation: in: one large datagram out: 3 smaller datagrams

IP Fragmentation, Reassembly Example: 4000 byte datagram MTU = 1500 bytes length =4000 ID =x fragflag =0 offset =0 one large datagram becomes several smaller datagrams 1480 bytes in data field length =1500 ID =x fragflag =1 offset =0 offset = 1480/8 length =1500 ID =x fragflag =1 offset =185 length =1040 ID =x fragflag =0 offset =370

How can we use this for evil? A. Send segments that overlap. B. Send many tiny fragments, none of which have offset 0. C. Send segments that when assembled, are bigger than the maximum IP datagram. D. More than one of the above. E. Nah, networks (and operating systems) are too robust for this to cause problems.

IP Fragmentation Attacks

Reading NAT, ICMP, IPv6 Sections 4.4.2 (from NAT onward) 4.4.5 Lab 5: Reliable Transport Due Thursday, Nov 14