480 likes | 628 Vues
Essentials of the Internet Protocol and TCP/IP Architecture. Prepared by: Ignac Lovrek, Maja Matijašević, Gordan Gledec, Gordan Ježić, Josip Gracin, Domagoj Mikac, Ognjen Dobrijević, Vedran Podobnik University of Zagreb Faculty of Electrical Engineering and Computing
E N D
Essentials of the Internet Protocoland TCP/IP Architecture Prepared by: Ignac Lovrek, Maja Matijašević, Gordan Gledec, Gordan Ježić, Josip Gracin, Domagoj Mikac, Ognjen Dobrijević, Vedran Podobnik University of Zagreb Faculty of Electrical Engineering and Computing Department of Telecommunications
Introduction History and size of the Internet Internet hierarchy Standards organizations Request for Comments series
Size of the Internet University of Zagreb, FER
Internet hierarchy Legend:ISP - Internet Service Provider IXP - Internet Exchange Point POP - Internet Point of Presence ISP ISP ISP Tier 1 peering IXP transit ISP peering Tier 2 ISP ISP ISP POP POP POP POP IXP transit ISP ISP Tier 3 ISP POP POP corporate user (LAN) home user xDSL, cable access University of Zagreb, FER
Tier-1 ISPs Wikipedia, Jan. 2014. University of Zagreb, FER
Tier 1 ISPs Internet Health Report http://scoreboard.keynote.com/scoreboard/Main.aspx?Login=Y&Username=public&Password=public University of Zagreb, FER
Internet standards organizations administration collaboration University of Zagreb, FER
Requests for Comment (RFC) series • RFC documents are a series of memoranda encompassing new research, innovations, and methodologies applicable to Internet technologies • RFC Editor (team) edits and publishes RFCs online • RFC Index http://www.rfc-editor.org/rfc-index.html • RFC Editor issues each RFC document with a unique serial number • once published, RFCs never change – errata are published separately • RFC subseries • Internet Standard (STD), For Your Information (FYI), Best Current Practice (BCP) • also important: RFC status – may be “standards track” (proposed standard, draft standard, Internet standard), or other (informational, experimental, BCP, or historic) • the IETF adopts some of the proposals published in RFCs as Internet standards - not all RFCs are/become Internet standards; only ~70 STDs out of 7000+ (as of Jan 2014) RFCs University of Zagreb, FER
Structure of the Internet Logical and physical view Autonomous System
Logical vs. physical view Internet physical view -network of networks logical view -one global network Legend: SN – subnet University of Zagreb, FER
Autonomous system • Autonomous system (AS) • collection of IP networks and routers under the control of one entity (or sometimes more) that presents a common routing policy to the Internet • a unique AS number (ASN) is assigned by IANA • for example, AS2108 CARNET-AS Croatian Academic and Research Network routing view - collection of ASs Legend: SN -subnet AS – autonomous system University of Zagreb, FER
Protocol stack and the role of TCP/IP Reference networking model Comparison of OSI and Internet TCP/IP model TCP/IP functionality
Reference Networking Model • provides an abstract view of network architecture • concept of layering • each layer implements a set of well-defined functionalities • each layer provides the foundation and the services required by the layer above • each layer-n entity interacts directly only with the layer immediately beneath it, and provides facilities for use by the layer above it • protocol suite = collection of protocolsorganized into layers • protocol is a “language” that enables an entity in one host to interact with a cooresponding entity (peer) at the same layer in a remote host • standardized interfaces University of Zagreb, FER
TCP/IP (Internet) Open Systems Interconnection Application layer Application layer Presentation layer Session layer Transport layer Transport layer Network layer Network layer Link layer Data Link layer Physical layer Comparison between OSI and TCP/IP architecture Application layer Application layer Presentation layer Session layer Transport layer Transport layer Network layer Network layer Data Link layer Link layer Physical layer (Physical layer) University of Zagreb, FER
WWW SMTP - Simple Mail Transfer Protocol HTTP - HyperText Transfer Protocol DNS - Domain Name System TFTP - Trivial File Transfer Protocol SNMP - Simple Network Management Protocol RTP - Real-time Transport Protocol IP - Internet Protocol ICMP - Internet Control Message Protocol ARP - Address Resolution Protocol RARP - Reverse Address Resolution Protocol TCP - Transmission Control Protocol UDP - User Datagram Protocol FTP - File Transfer Protocol TCP/IP protocol stack Telnet HTTP SNMP SMTP TFTP Application layer FTP RTP DNS Transport layer TCP UDP routing (RIP, OSPF, BGP) Network layer IP control (ICMP, IGMP) RARP ARP Link layer Ethernet/IEEE802.x, PPP, ATM,... University of Zagreb, FER
HTTP data HTTP data TCP data TCP HTTP data IP TCP data IP TCP HTTP data F IP TCP data 20 byte 20 byte 14 byte 4 byte 46-1500 byte How TCP/IP works – encapsulation example data HTTP data Application layer (web appl.) TCP Transport layer IP Network layer F Link layer (Ethernet/IEEE802.3) University of Zagreb, FER
Network Layer functionality Internet Protocol – IPv4 Control Protocols Routing Protocols
Internet Protocol v4 IP features Datagram format Fragmentation and reassembly IP addressing and naming
Internet Protocol • IP, version 4 • connectionless unreliable transfer of datagrams • specified in RFC 791, STD-5 • defines the Internet addressingscheme • unique address space • each host has one unique IP addresses per interface • a host may also use other special addresses (e.g. localhost, multicast, broadcast ,…) • if source and destination are located in different networks, IP datagrams are routed through one or more IP routers • defines how to handle fragmentation • a datagram must fit inthe frame of specific lower layer protocol • datagram bigger than the frame must be fragmented • receiving side reassembles the fragments University of Zagreb, FER
32 bits F IP TCP data version Hdr. Len Type of Service Total Length Identification Flags Fragment Offset Time to Live Protocol Header Checksum Source IP address Destination IP address header, 20 octets Options Padding Higher layer data max. 60 octets IP datagram format University of Zagreb, FER
IP datagram size - fragmentation and reassembly • datagram must be small enough to fit into the frame of the lower layer protocol • MTU - Maximum Transmission Unit • media dependent • for example, Ethernet/IEEE 802.3: 1500 bytes • otherwise, the datagram must be split or fragmented into several datagrams • fragments are sent independently and reassembled into the original message at the destination source destination MTU=576 MTU=1500 MTU=1500 reassembly fragmentation University of Zagreb, FER
IP addressing and naming IP address structure Types of IP addresses Domain Name System Address Resolution Protocol Internet Control Message Protocol
161 . 53 . 19 . 201 IP addressing • IP address provides unique identification of the network interface • a device can have more than one interface • different from the physical (MAC) addresses • IP address is required to ensure that the IP datagram is delivered to the correct recipient • Address representation • 32 bit binary number • hard to read and remember 10100001 00110101 00010011 11001001 • Dotted-decimal notation • easier to remember • Symbolic address or name (hosts.txt) University of Zagreb, FER
. . . 161 201 53 19 1010000100110101 00010011 11001001 IP address structure • IP address has two parts: • Network Identifier (Net ID) • a certain number of bits (starting from the left-most bit), used to identify the network where the network interface is located • network prefix • Host Identifier (Host ID) • the remainder of the bits used to identify the network interface in the network specified with Net ID • type of IP address • unicast, broadcast, multicast Net ID Host ID University of Zagreb, FER
Classes of IP adresses Class A: 0.0.0.0 - 127.255.255.255 0 Net ID Host ID Class B: 128.0.0.0 - 191.255.255.255 1 0 Net ID Host ID Class C: 192.0.0.0 - 223.255.255.255 1 1 0 Net ID Host ID Class D: 224.0.0.0 - 239.255.255.255 1 1 1 0 multicast Class E: 240.0.0.0 - 247.255.255.255 1 1 1 1 0 reserved University of Zagreb, FER
Classless addressing scheme • prefix-based representation of IP address • partitioning between the NetID and HostID can occur at any bit boundary in the address • length of Net ID is specified with the network prefix following the IP address 195.24.0.0/13 11000011.00011000.00000000.00000000 network prefix • introduced for the purposes of Classless Inter-Domain Routing (CIDR) • network part (NetID) of the IP address is not determined by address class • eliminates the significance of address classes for route aggregation(that’s why CIDR is termed classless) University of Zagreb, FER
Types of IP addresses IPv4 Address Space (RFC 5735, BCP0153) Public address space • for use in public Internet • IP address must beglobally unique • two devices connected to the public Internet cannot have the same IP address • routing must be possible • IANA, ICANN, RIPE... Reserved address space • “this” network 0.0.0.0/8 • loopback 127.0.0.0/8 • multicast 224.0.0.0/4 • broadcast - Host ID all 1s • blocks reserved by IANA, some subject to allocation, some not IP Network Address Translator (NAT) Private address space • for use in private internets • organization manages the entire private address space • IP addresses within the private network must be unique • blocks of IP address space for private internets specified by IANA: 10/8, 172.16/12, 192.168/16 University of Zagreb, FER
private Internet (address space 10/8) public Internet The role of NAT – example A: 10.0.0.1 B: 161.53.19.201 X: 139.130.1.1(public IP address space ) NAT NAT binding: 10.0.0.1 ↔ 139.130.1.1 datagram A->B source: 10.0.0.1 destination: 161.53.19.201 source: 139.130.1.1 destination: 161.53.19.201 datagram B->A source: 161.53.19.201 destination: 10.0.0.1 source: 161.53.19.201 destination: 139.130.1.1 University of Zagreb, FER
Obtaining an IP address • static address assignment • IP address is manually configured for a network device (i.e. IP phone) • acceptable for small networks, complicated for large networks • usually applied for network servers, routers and other devices that never change their IP addresses • dynamic address assignment • IP address and other network settings received from a server • simplifies address assignment in large networks (e.g. corporation, ISP) • DHCP – Dynamic Host Configuration Protocol (RFC 2131) • successor to BOOTP – Bootstrap Protocol • DHCP server leases an IP address from a previously configured address range to a device for a specific time (allows serial reassignment of IP address) • DHCP server provides entire TCP/IP configuration (IP address, subnet mask, default gateway) University of Zagreb, FER
Domain Name System (DNS) • numerical IP adresses are hard to remember – a name may be assigned for easier reference • Domain Name System • “(...) the idea of a hierarchical name space, with the hierarchy roughly corresponding to organizational structure, and names using ‘.’ as the character to mark the boundary between hierarchy levels.” (RFC 1034) • a “directory service” for the Internet • domain– a group of computers most commonly associated by the organization they belong to • top level domain (generic, country) • subdomains, for example: .hr, fer.hr, tel.fer.hr • Fully Qualified Domain Nameuniquely identifies the host on the Internet • for example, www.tel.fer.hr • maintained as the hierarchical database distributed on the Internet • root DNS server on the top of the hierarchy • other DNS servers have authority over their zones/domains University of Zagreb, FER
Domain Name System (DNS) novac php nautika ivoivic www ip6 grunf smiley . (root) generic Top Level Domains (gTLD) country code Top level Domains (ccTLD) gTLD ccTLD big seven,1980s org (new gTLD s– 2000s ac zw cat aero mil biz top level domain: .hr hr com museum mobi edu info (ISO 3166) gov jobs asia int coop name travel net pro tel subdomain: fer.hr itu dell cnn com from fer srce mit google (sub)domain eecs ietf tel zemris hosts www www mail www www www www mail FQDN: www.fer.hr *TLD - Top Level Domain University of Zagreb, FER
Domain name servers Root DNS server 13 servers (a to m, e.g., k.root-servers.net) with several identical instances http://www.root-servers.org/ Approximate position of root DNS servers, end of 2006. Izvor: Matthäus Wander, 2006. Wikipedia Commons. University of Zagreb, FER
2. 3. hr at fi 4. fer foi 5. 161.53.19.221 www.tel.fer.hr? tel zesoi zpm 1. 6. www oluja DNS Example root DNS 128.9.0.107 www.tel.fer.hr? . DNS for .hr local DNS server www.tel.fer.hr? DNS for .hr161.53.3.7 DNS for fer.hr www.tel.fer.hr? DNS for .fer.hr 161.53.72.21 DNS for tel.fer.hr www.tel.fer.hr? DNS for tel.fer.hr 161.53.19.203 161.53.19.221 application resolver query for www.tel.fer.hr University of Zagreb, FER
Routing protocols Classless Interdomain Routing Routing Information Protocol Open Shortest Path First Border Gateway Protocol
IP Routing • Internet is a packet-switching network • Classless Inter-Domain Routing – CIDR (RFC 4632) • destination IP address is matched based on NetID • packets (IP datagrams) are routed independently of each other • no end-to-end connection • hop-by-hop routing • each router contains a routing table which contains its information on the topology of the network • used for matching a destination address to the outgoing network interface • entries (i.e. rows) in routing table contain: • destination address • IP address of the next-hop router on the way to the destination • default route – special entry in routing table • matches all destinations – 0.0.0.0/0 • considered when no other more specific routes are found • used, for example, in leaf networks University of Zagreb, FER
Routing Protocols Classification EGPExterior Gateway Protocol Border Gateway Protocol – BGP ◄ Exterior Gateway Protocol - EGP AS1 AS2 IGP IGP EGP IGP Interior GatewayProtocol Open Shortest Path First - OSPF◄ Routing Information Protocol – RIP ◄ Interior Gateway Routing Protocol -IGRP Intermediate System to Intermediate System (IS-IS) IGP AS – Autonomous System AS3 University of Zagreb, FER
Transport Layer Transport layer functionality User Datagram Protocol Transmission Control Protocol
User Datagram Protocol connectionless protocol unreliable transfer order not guaranteed no flow control no congestion control applications: audio, video, internet telephony, teleconferencing (RTP) dynamic address allocation (BOOTP, DHCP) Transmission Control Protocol connection-oriented protocol reliable transfer ordered delivery flow control congestion control applications: web (HTTP) e-mail (SMTP, POP, IMAP) file transfer (FTP) remote terminal (TELNET) Transport Layer Protocols in the Internet: TCP and UDP TCP UDP University of Zagreb, FER
TCP segment structure header,20 octets source port destination port sequence number acknowledgment number length rsvd. control bits window size max. 60 octets checksum urgency pointer TCP options (optional) padding higher layer data 32 bits Transmission Control Protocol (TCP) • specified in RFC 793 • functionality of TCP • accepts higher layer data, divides the octet stream into segments, and passes them down to the IP layer • provides ordered, reliable delivery of stream of octets • provides transport layer addressing/multiplexing (ports) F IP TCP data University of Zagreb, FER
TCP mechanisms • three phases of a connection: connection establishment, data transfer, connection termination • ordered, reliable data delivery over IP • delivers data as a stream of octets • divides the octet stream into appropriately sized segments • Maximum Segment Size (MSS) is determined by the link-layer frame size • each segments is numbered • reliability mechanisms • acknowledgments • retransmission • sliding window flow control • congestion avoidance • slow start, fast retransmit and fast recovery algorithms • doing congestion avoidance in TCP is an important design decision of the Internet network University of Zagreb, FER
Putting it all together... how an application uses TCP/IP World Wide Web example
How WWW works, general idea Go to:http://www.fer.hr/ local DNS server IP www.fer.hr ? 161.53.72.111 browser disk www.fer.hr 161.53.72.111 HTTP request for root index document web server HTTP server responds with HTML source University of Zagreb, FER
form image text active element - menu Example: FER Home page (css) University of Zagreb, FER
Processing of the source HTML code in this example, HTML code contains references to: CSS layout images Javascript text text control elements (formatting, hyperlinks, etc.) all page elements are fetched from the server by using HTTP the client may start a new HTTP connection, or use the existing one to get the files from the server <link href="/_themes/metallish/platinum/style.css" rel="stylesheet" type="text/css"> <img src="/shared/images/spacer.gif" height="6" width="1" alt=""> <script type="text/javascript" src="/lib/v1treeview.js"></script> <p>Svečana promocija pristupnika koji su diplomirali u veljači i ožujku...<p> <a title="Pročitaj obavijest" href="/?@=1dhtp#news_8980">Više...</a> University of Zagreb, FER
Client application requests the image element… image on the home page must be fetched from the server (HTTP request) the size of the image file is 16,711 bytes • to be transported over TCP, the image file must be broken into smaller pieces (<=MSS) • transport layer breaks initial 17 kB into 12 TCP segments • MSS = MTU - size of {IP, TCP} headers = 1500 – 20 – 20 = 1460 bytes • each segment is sent to network layer and routed independently University of Zagreb, FER
HTTP HTTP data MSS MSS * MSS TCP HTTP data IP TCP HTTP data The server application generates the HTTP response… Application layer (HTTP response) ... image data ... TCP TCP IP IP F Ethernet University of Zagreb, FER
HTTP Application layer (HTTP response) ... image data ... HTTP data TCP TCP TCP HTTP data IP IP IP TCP HTTP data F ... containing the image being delivered to the client ... ……………. Ethernet University of Zagreb, FER
... the client collect all elements and displays the Web page. University of Zagreb, FER