Major features of the Internet. Evolution of the Internet. Why does IP offer best-effort datagram service? Internet Protocols

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

IP address format: Dotted decimal notation:

RARP: Reverse Address Resolution Protocol

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

8.2 The Internet Protocol

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

Ethernet. Ethernet. Network Devices

Internet Control Protocols Reading: Chapter 3

Transport and Network Layer

Future Internet Technologies

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

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

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

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

(Refer Slide Time: 02:17)

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

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

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

Internetworking and Internet-1. Global Addresses

Internet Protocol Address

Transport Layer Protocols

CS268 Exam Solutions. 1) End-to-End (20 pts)

Internet Protocols Fall Lectures 7-8 Andreas Terzis

Lecture Computer Networks

The internetworking solution of the Internet. Single networks. The Internet approach to internetworking. Protocol stacks in the Internet

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

IP - The Internet Protocol

Network Programming TDC 561

Introduction to TCP/IP

Internet Protocol version 4 Part I

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT COMPUTER NETWORKS

Savera Tanwir. Internet Protocol

Network Layer: Network Layer and IP Protocol

Introduction to LAN/WAN. Network Layer (part II)

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

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

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

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

Networking Test 4 Study Guide

Unix System Administration

Quality of Service in the Internet. QoS Parameters. Keeping the QoS. Traffic Shaping: Leaky Bucket Algorithm

IP addressing and forwarding Network layer

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

Internet Addresses (You should read Chapter 4 in Forouzan)

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

Internet Protocols. Addressing & Services. Updated:

Internet Protocols Fall Outline

IP Addressing Introductory material.

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

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

Final for ECE374 05/06/13 Solution!!

Subnetting,Supernetting, VLSM & CIDR

Internetworking and IP Address

PART OF THE PICTURE: The TCP/IP Communications Architecture

IP Subnetting and Addressing

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

Objectives of Lecture. Network Architecture. Protocols. Contents

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

Networking Overview. (as usual, thanks to Dave Wagner and Vern Paxson)

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

Names & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding

IP Routing Features. Contents

PART IV. Network Layer

04 Internet Protocol (IP)

Introduction to IP networking

QoS Parameters. Quality of Service in the Internet. Traffic Shaping: Congestion Control. Keeping the QoS

IP Addressing A Simplified Tutorial

ICOM : Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM

Computer Networks. Main Functions

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

Internet Protocols. Background CHAPTER

IP Addressing. IP Addresses. Introductory material.

Overview of TCP/IP. TCP/IP and Internet

Chapter 11. User Datagram Protocol (UDP)

Troubleshooting Tools

Classful IP Addressing (cont.)

Congestion Control Review Computer Networking. Resource Management Approaches. Traffic and Resource Management. What is congestion control?

Introduction to Network Operating Systems

The Internet. Internet Technologies and Applications

CS335 Sample Questions for Exam #2

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

CS 348: Computer Networks. - IP addressing; 21 st Aug Instructor: Sridhar Iyer IIT Bombay

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

- IPv4 Addressing and Subnetting -

RTP / RTCP. Announcements. Today s Lecture. RTP Info RTP (RFC 3550) I. Final Exam study guide online. Signup for project demos

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

Network Layer: Address Mapping, Error Reporting, and Multicasting

TCP/IP Basis. OSI Model

Efficient Addressing. Outline. Addressing Subnetting Supernetting CS 640 1

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

2. IP Networks, IP Hosts and IP Ports

Guide to TCP/IP, Third Edition. Chapter 2: IP Addressing and Related Topics

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

Chapter 6. The Network Layer

Faculty of Engineering Computer Engineering Department Islamic University of Gaza Network Chapter# 19 INTERNETWORK OPERATION

PPS Internet-Praktikum. Prof. Bernhard Plattner Institut für Technische Informatik und Kommunikationsnetze (TIK)

Themen der Praktikumsnachmittage. PPS Internet-Praktikum. Zielsetzung. Infrastruktur im ETF B5

How do I get to

iseries TCP/IP routing and workload balancing

Datacommunication. Internet Infrastructure IPv4 & IPv6

Transcription:

Evolution of the Internet started in 97 with hosts, funded by US Defence Department ARPANet NSFNet today s Internet US/non-US hosts split approximately 5/5 (~) remarkable sustained growth: annual growth rate for Internet hosts >5% per year, 99 present number of Internet hosts (~):,,, [,7, in Ireland] impossible to say how many Internet users there are! growth not just in size: everyone has http://www on their products, ads, business cards.net and.com are the largest domains (together, 6% of all hosts) E-Commerce: annual growth rate approx. >% Voice over (Vo), audio/video streaming, specifications for multimedia communications [Real-time Transport Protocol (RTP), Real Time Streaming Protocol (RTSP), Session Initiation Protocol (S), ] methods for supporting Quality of Service (QoS) [Integrated Services (intserv), Differentiated Services (diffserv), Resource reservation Protocol (RSVP), MultiProtocol Label Switching (MPLS), ] Major features of the Internet uses datagram packet switching connectionless open design, open implementations, open standardisation process We reject kings, presidents, and voting. We believe in rough consensus and running code (Dave Clark, MIT) independent of the physical medium scaleable: as evidenced d by its growth protocols have evolved over time, as problems arose and/or as application requirements changed although connections are not welcomed in Internet circles, the desire to support QoS guarantees is adding connection-oriented concepts (such as admission control and resource reservation) to the Internet service model socket API API = Programming Interface Flow of Information SOURCE NETWORK TCP/UDP ELEMENT H-to-N H-to-N DESTINATION socket API TCP/UDP H-to-N = H-to-N Host-to-Network to Why does offer best-effort datagram service? the Internet was originally intended for robust transfer of computer-to-computer data over long distances best-effort service appropriate for data transfers no real-time requirements end-points can adapt to network conditions, if they want/need to why was connectionless packet-switching preferred to circuit-switching? no set-up delay no blocking (fire-and-forget, forward-if-possible, deliver-as-received) however, there is no guarantee that any data reaches the destination flexibility in transmission i bit-rates in contrast with circuit-switching, which is usually tied to a few pre-determined bit-rates no path more reliable (route around problems) more efficient use of network resources when traffic is bursty economics: transmission became more expensive than switching in late 96s Internet Protocols Datalink kframes have a Trailer also (not shown here)

all fragments of a given datagram have the same Identification value The v Header Fragmentation of a datagram is needed when an intermediate network has a max frame size too small to carry the datagram v Addresses............ 7...9 7...5 7...5 55.55.55.5 55.55.55.5 55.55.55.5 55.55.55.55 decreased by at each hop padded to a multiple of bytes ( bits); can carry fields that control routing, timing, management, security,... 5 6 v Address Format Special v Addresses All s This host Netid all s Hostid A host with this Hostid on the local network All s Netid All s Netid All s Broadcast on the local network Broadcast on remote network specified by Netid refers to the network with specified Netid Class Number of networks Number of hosts on each of this Class network of this Class A 6 ( million) B, ( 65,) C ( million) 5 all- s and all- s (in the Netid &/or Hostid parts) have special meanings 7 (Anything) Loopback testing packets with loopback addresses are processed by the machine which generated them as if they were incoming gp packets (useful for debugging gnetwork software) 7

Who assigns v Addresses? address assignment managed by ICANN (Internet Corporation for Assigned Names and Numbers) ICANN is the non-profit corporation that was formed to assume responsibility for the address space allocation, protocol parameter assignment, domain name system management, and root server system management functions previously performed under U.S. Government contract t by IANA and other entities ICANN assigns portions of the address space to other authorities. Some of the authorities which assign addresses to ISPs: APNIC: 6,,,, Asia Pacific Network Information Centre (www.apnic.net) ARIN:, 9, American Registry for Internet Numbers (www.arin.net) Names and addresses: the Domain Name System There has to be a way to translate between user-friendly names and addresses: Name Server is actually a hierarchy h of servers called the Domain Name System (DNS) name-to-address mapping for one or Name more root servers is well-known and Server stored in the local name server s system configuration file hosts initialised i i with address of a local lname server Example Hierarchy of Name Servers: Ai Arizona name server Root name server..... NASA name server End-user cs.arizona.edu Mail Program user@cs.arizona.edu 9..69.5 9..69.5 TCP 9..69.5 5 RE NCC: 9, 9, 95,, 6 Réseaux Européens Network Coordination Centre (www.ripe.net) 9 if a name server cannot resolve CS ECE..... name server name server the entire name, it returns an answer for as much of it as it can I/O Ports Router Architecture Switching Fabric Routing CPU packet arrives (in a datalink frame):. line card applies datalink layer logic to ensure frame is valid and packet successfully received;. validity check performed on header;. If destination address is a non-local host, routing table lookup performed to determine how to forward the packet;. packets may have to be classified into predefined service classes; 5. TTL field decremented, new header checksum computed, then packet sent to appropriate output port; 6. datalink layer logic on output port s line card inserts datalink layer header and transmits the packet inside a frame [NOTE: some/all of steps -5 may be done in the input port, not the routing CPU] if this process fails, ICMP error message sent to packet s sender if packet arrival rate exceeds router s forwarding capacity, packets must be buffered if buffers are full, packets must be discarded Forwarding packets Example: Problems forwarding packets Internet Control Message Protocol (ICMP) sends error message back to sending host. ICMP can also be used to tell hosts about better routes, using ICMP Redirect messages. How does a sending host know the physical address corresponding to the address of its intended destination? Answer: it uses the Address Resolution Protocol (ARP)

ARP and Reverse ARP each host maintains an ARP cache of mappings between addresses and physical addresses ARP cache entries time out after (typically) 5 minutes if destination s address not in sending host s ARP cache, sending host broadcasts ARP query on local network ARP query asks for physical address for destination s address ARP query includes sending host s address and physical address (so other hosts can enter this in their ARP caches) if destination is a host on local network, it sends its physical address to sending host in an ARP reply if destination not on the local l network, ARP server replies with its own physical address: proxy ARP Subnetting address is composed of a Netid part and a Hostid part -level hierarchy sometimes a -level hierarchy is insufficient for an organisation s needs: a solution: subnetting Class B network if a host doesn t know its own address (e.g. diskless workstation being booted), it uses Reverse ARP host broadcasts its physical address and asks for corresponding address; RARP server replies the subnetworks still appear to the rest of the Internet as a single network Subnetting (cont.) Subnetting: Masking an packet from some other network destined for host... still reaches router R, since the destination address is still a Class B address with Netid. and Hostid. as far as the rest of the Internet is concerned when the packet reaches router R, the interpretation of the address changes R knows that t there are levels l of hierarchy within the organisation, and that in this case, the Netid is., the Subnetid is, and the Hostid is masking means taking bit-by-bit by AND of address and mask (55 all s, all s) extracts network address from an address with subnetting, the Netid defines the site, the Subnetid defines the physical network, and the Hostid defines the actual machine how is this knowledge of the internal network hierarchy implemented in the organisation s routers? A: masking of addresses during the packet-forwarding process masking is done whether or not subnetting is being used extracts subnetwork address from an address mask address fields don t have to be 55 or e.g. could have a mask = 55.55.9. 5

Classless InterDomain Routing (CIDR) original class-based addressing scheme is inefficient by 996, more than 5% of all Class B networks had 5 hosts could give organisations which are large enough for a Class B address a number of Class C addresses instead then every Internet backbone router would need an entry in its routing table for each of these Class C network numbers CIDR: medium-large organisations get contiguous blocks of Class C addresses (in powers of ) example: company needs, addresses gets contiguous blocks of Class C addresses,9 addresses e.g. if given Class C network numbers 9.. 9.., then first 9 bits of all addresses in company s networks are the same (9-bit network prefix): first 9 bits of network mask are, rest are this company s addresses are now written (e.g.) 9..9.5/9 same idea is now applied to all addresses, not just Class C addresses subnetting: share one network address among multiple physical networks CIDR: collapse multiple adjacent addresses onto one network prefix 7 v6: Next Generation in early 9s, IETF held an open design process to design the next version of : v6 motivated by problems with v (the current version of ) still have limited address space, even with subnetting & CIDR didn t handle real-time flows : routers ignored the v Type Of Service field at the time, v security features were not widely used v6 is not compatible with v, but it is compatible with TCP/UDP/OSPF/BGP/DNS v and v6 will co-exist itf for a (possibly long) )time v6 implementations exist, but not many products so far major features of v6: address space problems taken care of by using -bit addresses there are a maximum of v6 addresses (approximately. ) even the most pessimistic expectations of v6 addressing efficiency predict, v6 addresses per square metre of the earth s surface simplified packet header functions fragmentation at the source only; no header checksum better support for options e.g. hop-by-hop options, routing options, fragmentation options extension headers are present when corresponding options used support for per-flow handling and traffic classes flow designated by source & destination addresses and flow number support for authentication and security The v6 Header Bits UDP: User Datagram Protocol version Traffic Class Flow Label Payload Length Next header Hop limit Source Address ( bytes) v6 addressing is classless, but address space subdivided based on prefixes (as in v); v6 address format is backward-compatible with v addresses Destination Address ( bytes) Extension Headers (if present), each with a Next header field 9 UDP is a connectionless transport protocol extends s host-to-host delivery service into a process-toprocess communication service can have multiple application processes on a single host, each with their own port number a process is uniquely addressed by a < port, host > pair common services are available at well-known (and reserved) ports on each host; user applications must choose their ports from the set of non-reserved ports UDP doesn t support flow control or reliable/in-order delivery, but it does support error detection by computing an optional checksum over the UDP header, UDP data, and pseudoheader (includes source and destination address fields from the header) new: Reliable UDP provides reliable in-order delivery (up to a maximum number of retransmissions), with simple window flow control, for virtual connections

Process TCP: Transmission Control Protocol Process -6 bytes variable The TCP Header Write Bytes Read Bytes Data, with Sequence Number TCP Send buffer ACK & Advertised Window TCP Receive buffer segment segment segment For simplicity, only one direction of data flow shown; in general, a single TCP connection supports byte streams flowing in both directions SN of next byte expected at receiver a TCP connection is full-duplex point-to-pointto point, and does not preserve message boundaries TCP is only concerned with end-to-end delivery of a byte stream each byte of data gets its own sequence number (SN) the SNin a TCP segment is the SN of its first byte computed over the TCP header, TCP data, and pseudoheader (includes source and destination address fields from the header) does a K write TCP Window Management Example does a K write Sender may send up to K Sender is blocked Sender WIN= Sender can only send time urgent data, or -byte probe segment after persistence timer expires (to see if WIN has changed) K SEQ= ACK= WIN= K SEQ= ACK=96 WIN= ACK=96 WIN= K SEQ=96 Receiver s Buffer Receiver K Empty K Receiver should not send a window update until it has room for a maximum-size segment or its buffer is half-empty (whichever is smaller) Full reads K K time otherwise may get into TCP silly window problem, where window updates are sent for tiny window sizes and the sender responds with tiny TCP segments K K TCP Congestion Control assume: Timeout packet loss due to congestion packet loss due to transmission errors is assumed to be relatively rare (?) arrival of fack at tsender TCP segment has left network at Receiver, so can send another TCP segment without adding to network congestion trying to maintain conservation of segments by using ACKs to pace the transmission i of fdata TCP is said to be self-clocking l Sender sends the minimum of what Receiver and network can take when connection initialised, Sender initialises congestion window to maximum TCP segment size (MSS) and sends one MSS ACK received in time add one MSS to congestion window, and send two MSS s; their ACKs received in time add two MSS s to congestion o window, and send four MSS s congestion window grows exponentially until Timeout occurs or Receiver s advertised window reached: this is slow-start start Timeout reset Threshold (initially 6 kb) to / of current congestion window, then reset congestion window to one MSS; slow-start used until Threshold value reached, after which each successful transmission grows the congestion window by one MSS: this is linear increase

TCP Congestion Control: Example TCP Congestion Control: Example ) Sen nder s Con ngestion Window (kb MSS = kb Receiver s advertised window = 6 kb always Threshold = kb for Transmission No. Timeout on Trans. 6 Transmission Number Transmission Number 5 6 7 9 5 7 9 Congestion Window (kb) 5 7 9 5 Threshold (kb) 5 (kb) Sender s Congestion n Window MSS = kb Receiver s advertised window = kb initially Threshold = kb for Transmission No. Timeout on Trans. 6 Transmission Number Transmission Number 5 6 7 9 5 7 9 Congestion Threshold Window (kb) (kb) In TCP, TIMEOUT value is updated dynamically, based on measurements of the connection s round-trip time (RTT) and the variation in RTT 5 9 Receiver s advertised window = kb Receiver s advertised window = kb 6