ECE 435 Network Engineering Lecture 13

Similar documents
ECE 435 Network Engineering Lecture 14

TSIN02 - Internetworking

ICS 451: Today's plan

EEC-684/584 Computer Networks

CS 356: Computer Network Architectures. Lecture 15: DHCP, NAT, and IPv6. [PD] chapter 3.2.7, 3.2.9, 4.1.3, 4.3.3

IPv6 Protocols and Networks Hadassah College Spring 2018 Wireless Dr. Martin Land

CS-435 spring semester Network Technology & Programming Laboratory. Stefanos Papadakis & Manolis Spanakis

IPv6. IPv4 & IPv6 Header Comparison. Types of IPv6 Addresses. IPv6 Address Scope. IPv6 Header. IPv4 Header. Link-Local

Lecture 18 Overview. Last Lecture. This Lecture. Next Lecture. Internet Protocol (1) Internet Protocol (2)

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964

Network layer: Overview. Network layer functions IP Routing and forwarding NAT ARP IPv6 Routing

Network Layer (4): ICMP

Network layer: Overview. Network Layer Functions

ETSF05/ETSF10 Internet Protocols Network Layer Protocols

RMIT University. Data Communication and Net-Centric Computing COSC 1111/2061. Lecture 2. Internetworking IPv4, IPv6

Internetworking/Internetteknik, Examination 2G1305 Date: August 18 th 2004 at 9:00 13:00 SOLUTIONS

Internet Protocols (chapter 18)

ICS 351: Networking Protocols

CS 356: Computer Network Architectures. Lecture 10: IP Fragmentation, ARP, and ICMP. Xiaowei Yang

TSIN02 - Internetworking

Introduction to Internetworking

Internet Control Message Protocol (ICMP)

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

Internet Technology 3/23/2016

TCP/IP Protocol Suite

Department of Computer and IT Engineering University of Kurdistan. Network Layer. By: Dr. Alireza Abdollahpouri

Lecture Computer Networks

Module 7 Internet And Internet Protocol Suite

Lecture 8. Basic Internetworking (IP) Outline. Basic Internetworking (IP) Basic Internetworking (IP) Service Model

ETSF10 Internet Protocols Network Layer Protocols

Outline. IP Address. IP Address. The Internet Protocol. o Hostname & IP Address. o The Address

The Internetworking Problem. Internetworking. A Translation-based Solution

Lecture 8. Reminder: Homework 3, Programming Project 2 due on Thursday. Questions? Tuesday, September 20 CS 475 Networks - Lecture 8 1

IPv6 : Internet Protocol Version 6

History. IPv6 : Internet Protocol Version 6. IPv4 Year-Wise Allocation (/8s)

IP - The Internet Protocol

Networking Potpourri: Plug-n-Play, Next Gen

ICMP (Internet Control Message Protocol)

CS 457 Lecture 11 More IP Networking. Fall 2011

IPv6 tutorial. RedIRIS Miguel Angel Sotos

internet technologies and standards

Information Network Systems The network layer. Stephan Sigg

Computer Network Fundamentals Spring Week 4 Network Layer Andreas Terzis

IPv6 Neighbor Discovery

IPv6. (Internet Protocol version 6)

Configuring Routes on the ACE

CS475 Networks Lecture 8 Chapter 3 Internetworking. Ethernet or Wi-Fi).

CSCI-1680 Network Layer:

CSCD58 WINTER 2018 WEEK 6 - NETWORK LAYER PART 1. Brian Harrington. February 13, University of Toronto Scarborough

~DRAFT~ CHAPTER: Network layer Introduction Context Objectives of Chapter Functions... 3

CSCI-1680 Network Layer: IP & Forwarding John Jannotti

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August

IPv6. Internet Technologies and Applications

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca

TCP/IP Protocol Suite and IP Addressing

Configuring IPv4. Finding Feature Information. This chapter contains the following sections:

CS 356: Computer Network Architectures. Lecture 14: Switching hardware, IP auxiliary functions, and midterm review. [PD] chapter 3.4.1, 3.2.

CSEP 561 Internetworking. David Wetherall

IPv6 Protocol Architecture

COSC4377. TCP vs UDP Example Statistics

Vorlesung Kommunikationsnetze

Your Name: Your student ID number:

Chapter 7: IP Addressing CCENT Routing and Switching Introduction to Networks v6.0

TCP/IP Networking. Training Details. About Training. About Training. What You'll Learn. Training Time : 9 Hours. Capacity : 12

IPv4 addressing, NAT. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley.

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca

The Interconnection Structure of. The Internet. EECC694 - Shaaban

Introduc)on to IPv6. Administra)on de Réseaux Dino Lopez h<p://

IPv6 Transition Technologies (TechRef)

Inter-networking. Problem. 3&4-Internetworking.key - September 20, LAN s are great but. We want to connect them together. ...

IPv6 Protocol & Structure. npnog Dec, 2017 Chitwan, NEPAL

CS 520: Network Architecture I Winter Lecture 11: NAT and IPv6

Operational Security Capabilities for IP Network Infrastructure

SEN366 (SEN374) (Introduction to) Computer Networks

Chapter 4 Network Layer

(ICMP), RFC

TCP /IP Fundamentals Mr. Cantu

Internet Layers. Physical Layer. Application. Application. Transport. Transport. Network. Network. Network. Network. Link. Link. Link.

Dongsoo S. Kim Electrical and Computer Engineering Indiana U. Purdue U. Indianapolis

Rocky Mountain IPv6 Summit April 9, 2008

Outline. Addressing on the network layer ICMP IPv6 Addressing on the link layer Virtual circuits

Using ICMP to Troubleshoot TCP/IP Networks

IPv6 Neighbor Discovery

CSCD 433/533 Advanced Networks Spring Lecture 20 IPv6 and Tunnels

Outline. SC/CSE 3213 Winter Sebastian Magierowski York University. ICMP ARP DHCP NAT (not a control protocol) L9: Control Protocols

Aeronautical Systems Center

IP/MAC Address Translation

C14a: Internetworks and The Internet

Agenda L2 versus L3 Switching IP Protocol, IP Addressing IP Forwarding ARP and ICMP IP Routing First Hop Redundancy

Advanced Computer Networking. CYBR 230 Jeff Shafer University of the Pacific. IPv6

Chapter 4: outline. 4.5 routing algorithms link state distance vector hierarchical routing. 4.6 routing in the Internet RIP OSPF BGP

CCNA Exploration Network Fundamentals. Chapter 06 Addressing the Network IPv4

Lecture 4 The Network Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme. Auxiliary Protocols

CSCD 330 Network Programming Spring 2017

Chapter 19 Network Layer: Logical Addressing

Introduction to routing in the Internet

IPv6 Configuration Commands

IPv6. Copyright 2017 NTT corp. All Rights Reserved. 1

Introduction to routing in the Internet

Transcription:

ECE 435 Network Engineering Lecture 13 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 19 October 2016

Announcements HW#5 posted, due next Wednesday 1

ARP address resolution protocol Some way to map IP to MAC Could have a central server on subnet that could be queried Internet uses other way. When need a mapping, broadcast to the subnet, who has this IP device reply with its IP and MAC (unicast) These are cached Timeout in case you reassign TODO: ARP Packet? 2

RARP/BOOTP Some cases need to do RARP (Reverse ARP) 9RFC 903) have own MAC, find IP (netbooting is common reason) ARP packets nor forwarded, so extension called BOOTP that allowed network booting. BOOTP automated by DHCP. 3

DHCP RFC2131 To get on network need IP, subnet mask, default router Can we automatically get this? Dynamic Host Configuration Protocol Broadcasts, asking for address Server can respond with a fixed one (setup in config file) or handle out dynamically from range To avoid need for server on each subnet, can pass through 4

Broadcast DHCPDISCOVER on UDP port 67. All servers send DHCPOFFER on port 68 Send DHCPREQUEST, respond with DHCPACK Timer, needs to re-request before timer is out or server might give to someone else DHCP format based on BOOTP 5

ICMP Internet Control Message Protocol Carried as a payload in an IP packet Type set to 1 Codes DESTINATION UNREACHABLE, Also if MTU is too small but do-not-fragment set SOURCE QUENCH should slow transmission rate 6

(congestion) REDIRECT try the other router path TIME EXCEEDED exceeded TTL, traceroute uses this PARAMETER PROBLEM illegal value in header ECHO, ECHO REPLY see if machine is up TIMESTAMP, TIMESTAMP REPLY performance debug Some sysadmins block ICMP. Why? 7

ping Mike Muuss in 1983 http://ftp.arl.army.mil/~mike/ping.html Like sonar ping (Hunt for Red October), not any of the backronyms you might find. Ping the duck ICMP ECHO packet, waits for ECHO reply. Prints timing info, etc. Ping of death Ping flood 8

Broadcast ping to x.x.x.255 (no longer works) Used to just say host is alive. People would make machines called elvis. 9

traceroute Van Jacobson in 1987 (also wrote tcpdump) Uses ICMP *not* tracer-t Send packet with TTL=1, when sends ICMP error message know where first hop is Send packet with TTL=2, find next Linux traceroute sends UDP packets as originally ICMP requests weren t supposed to generate ICMP errors 10

Linux/UNIX routing setup route command route add default gateway sets default gateway (router) for packets leaving the local network also set up local subnets you are on, those packets don t need a router more complicated if you are configuring your Linux box to *be* a router 11

Out of hosts problem IPv4 address exhaustion Addresses managed by IANA globally and five regional registrars (RIR) Top level ran out in 2011 4 of 5 RIRs are out too Why are we out? 12

Always active connections unlike dialup, many machine are on all the time So many devices 4G mobile devices all have one Inefficiencies originally handing out. Companies like Apple, MIT, DEC, all got 16 million address Class A addresses even if didn t need them Despite being out, in 2011 reportedly only 14% of addresses being used Why not reclaim unused, such as Class E? The bane of network programmers, the out-of-date router that makes assumptions 13

Stanford gave back a class A in 2000 14

Network Address Translation Private IP ranges, defined in RFC 1919 10.0.0.0-10.255.255.255 (10.0.0.0/8) (one class a) 172.16.0.0-172.31.255.255 (172.16.0.0/12) ( 16 class B) 192.168.0.0-192.168.255.255 (192.168.0.0/16) (256 class C) Can use for various reasons, most recently due to network depletion 15

NAT: map IP addresses from one group to another. often public to private NAT and NAPT (port translation) RFC 3022 Basic NAT has one to one mapping of external to internal IPs NATP: based on port, only one external IP Full cone most common once an internal address (iaddr/port) has been mapped to an external (eaddr/port) all packets from iaddr/port 16

are sent out and any incoming are passed through with no additional checks Restricted cone same as above, but only external that have received packets from internal can send through Port restricted cone same as above, but also checks port numbers Symmetric best security outgoing packets mapped to different eaddr/port if the destination or port differs When passing through, NAT needs to re-write dest/source/port and recompute header checksum 17

Linux: IP-masquerade/iptables Many IP people hate NAT: violates the IP identifies one machine rule, hard to connect two machines if both behind different NATs, changes IP to be connection oriented, router has to remember connections, layering violation, looks at TCP/UDP port numbers, only works for TCP/UDP Some protocols (like FTP) are even more annoying, send address in plain text in data and that has to be adjusted 18

too can only NAT up to 64k machines 19

The Internet Protocol v6 RFC2460 Started work in 1991 Many problems with IPv4. addresses. Most notable shortage of IPng. IPv5 was given to an experimental protocol, next is IPv6 Migration happening, a large amount of web traffic, 20

especially that from phones, is already switched. *not* backwards compatible As of July 2016 12.5% of traffic is IPv6 21

The Internet Protocol v6 Goals Support billions of hosts Reduce size of routing tables Simplify the protocol (so routers can be faster) Better security Pay more attention to type of service Aid multicasting 22

Allow roaming w/o changing address Co-exist with existing protocols 23

The Internet Protocol v6 features Address size 128 bits a lot of addresses. 7x10 23 for ever square meter Fixed length header (speeds up processing) Quality of service Anycast autoconfiguration (like DHCP) 24

Fields not really used in IPv4 dropped Minimum fragment size 1280 (from 576) No checksum was slow and had to be recalculated often 25

IPv6 header Header fixed length of 40 bytes, with Extension headers ASCII art from RFC 2460 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Version Traffic Class Flow Label +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Payload Length Next Header Hop Limit +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + + Source Address + + + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 26

+ + + Destination Address + + + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ (1 nybble [4-bits]) Version number = 6 (8-bits) Traffic class (20-bits) Flow label (for streaming?) (16-bits) Payload length. 64k (header bytes not counted anymore) (if you want longer, extension for Jumbograms) 27

(8-bits) Next header. If nothing special identifies TCP or UDP If special options (fragmentation, security) indicated (8-bits) Hop Limit, TTL, bit debate about whether 8-bits was enough (128-bits) Source Address (128-bits) Destination Addresses Why not 64-bits? 28

IPv6 fragmentation Fragment header. source Routers cannot fragment, only at How can this work when not know MTU? Always required to have at least a MTU of 1280 bytes or greater. Path MTU discovery protocol to discover MTU along the way (RFC 1981). (IPv4 too, set DNF and get error 29

via ICMP) If too big, sends an error back and source needs to fragment it smaller 30

IPv6 addresses Too long for dotted decimal, use colon hexadecimal X:X:X:X:X:X:X:X where X is 16 bit chunk F000:0123:5678:0000:0000:ABCD:0000:CAFE Can drop leading zeros, as well as groups of zeros F000:123:5678:::ABCD::CAFE Do not have classes RFC 4291 31

encoding ipv4 addresses in ipv6? autoconfig generate a unique ID, often based on MAC address and send it to router (Router solicitation). Router sends back router advertisement which has subnet prefix and can be used to generate global address ::1 ip6-localhost, fe00::0 ip6-localnet 32

IPv6 Extensions Security have MAC in your IPv6 address? 33

IPv6/IPv4 compat Dual stack host runs both IPv4 and IPv6 or internal is IPv6 but router converts to IPv4 before passing on Tunneling encapsulate IPv6 inside of IPv4, tunnels across IPv4, split back out to IPv6 on other side of tunnel 34

Internet History US Federal government in 1960 robust network Packet switch network ARPAnet connected military and academic computers in 1980s First in 1969. BBN build equipment, IMP, first router. First ARPAnet with 4 IMPS, UCLA, SRI, UCSB, Utah. 29 October 1969. First message was login (but computer crashed after lo and had to be retried) 35

1971 first e-mail 1983 ftp ARPAnet migrate to TCP/IP on January 1, 1983 NSFnet 1986 connect up supercomputing sites 1989 first public commercial connections before this you were really only supposed to use internet for official use 1991 High Performance Computing and 36

Communication Act of 1991 by Al Gore World Wide Web wasn t until 1989/1990 BSD famously had good free TCP/IP stack, many implementations based on this. Linux is implemented from scratch. Windows (despite rumors due to strings in utilities) is as well. 37