1 Introductory material. This module illustrates the interactions of the protocols of the TCP/IP protocol suite with the help of an example. The example.

Slides:



Advertisements
Similar presentations
Everything.
Advertisements

1 Address Resolution Protocol (ARP) Relates to Lab 2. This module is about the address resolution protocol.
TCP/IP Illustrated Vol 1 ARP & RARP ARP & RARP ( 화 ) 이 병 희
Review of Important Networking Concepts
1 Java Networking – Part I CS , Spring 2008/9.
COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.
Introduction & Lab I Lab Equipment & Organization Shlomo Hershkop Columbia University Fall 2006.
Introduction To Networking
1 Review of Important Networking Concepts Introductory material. This module uses the example from the previous module to review important networking concepts:
Prepared By E.Musa Alyaman1 Networking Theory Chapter 1.
Everything. MACIP End-host IP: MAC: 11:11:11:11:11 gateway IP: MAC: 22:22:22:22:22 Google server IP: MACIP MACInterfaceMACInterface.
1 Review of Important Networking Concepts Introductory material. This slide uses the example from the previous module to review important networking concepts:
CS 356 Systems Security Spring Dr. Indrajit Ray
Lecture 8 Modeling & Simulation of Communication Networks.
IST 228\Ch3\IP Addressing1 TCP/IP and DoD Model (TCP/IP Model)
1 Netprog 2002 TCP/IP TCP/IP Transmission Control Protocol / Internet Protocol.
Chapter Eleven An Introduction to TCP/IP. Objectives To compare TCP/IP’s layered structure to OSI To review the structure of an IP address To look at.
Local Area Networks/School of Engineering in Computer Science/ LAN basics  Networking basics The Internet.
TCP/IP Protocol Suite - examples
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 3: TCP/IP Architecture.
Computer Networks. IP Addresses Before we communicate with a computer on the network we have to be able to identify it. Every computer on a network must.
TCP/IP Guide. OSI Reference Model Real-World Analogy Phase OSI Layer CEO LetterWeb Site Connection (Simplified) Transmission 7 The CEO of a company in.
Operating Systems Lesson 10. Networking Communications protocol is the set of standard rules for ◦ Data representation ◦ Signaling ◦ Authentication ◦
Computer Networks (CS 132/EECS148) General Networking Example Karim El Defrawy Donald Bren School of Information and Computer Science University of California.
A day in the life: scenario
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
Linux+ Guide to Linux Certification Chapter Fifteen Linux Networking.
Internet Ethernet Token Ring Video High Speed Router Host A: Client browser: REQUEST:http//mango.ee.nogradesu.edu/c461.
TCP/IP TCP/IP LAYERED PROTOCOL TCP/IP'S APPLICATION LAYER TRANSPORT LAYER NETWORK LAYER NETWORK ACCESS LAYER (DATA LINK LAYER)
Polytechnic University1 The internetworking solution of the Internet Prof. Malathi Veeraraghavan Elec. & Comp. Engg. Dept/CATT Polytechnic University
1 Introductory material. This module illustrates the interactions of the protocols of the TCP/IP protocol suite with the help of an example. The example.
© Jörg Liebeherr, Organization Addresses TCP/IP Protocol stack Forwarding Internet.
1 TCP/IP, Addressing and Services S. Hussain Ali M.S. (Computer Engineering) Department of Computer Engineering King Fahd University of Petroleum and Minerals.
CPS 356: Introduction to Computer Networks Lecture 2: Network Architectures Xiaowei Yang Reference: Chapter 1 of [PD]
1 CS 4396 Computer Networks Lab TCP/IP Networking An Example.
CSE 6590 Department of Computer Science & Engineering York University 111/9/ :26 AM.
Networking Basics CCNA 1 Chapter 11.
1 OSI and TCP/IP Models. 2 TCP/IP Encapsulation (Packet) (Frame)
1 Introduction to Networking Concepts Chu-Sing Yang Department of Electrical Engineering National Cheng Kung University.
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
1. Layered Architecture of Communication Networks: TCP/IP Model
Computer Communication: An example What happens when I click on
Transmission Control Protocol (TCP) Internet Protocol (IP)
LURP Details. LURP Lab Details  1.Given a GET … call a proxy CGI script in the same way you would for a normal CGI request  2.This UDP perl.
Computer Network Architecture Lecture 6: OSI Model Layers Examples 1 20/12/2012.
DIYTP Network Basics  How do computers communicate?  Network Interface Card (NIC)  Media Access Control Address (MAC)  Unique to each NIC 
J. Liebeher (modified by M. Veeraraghavan) 1 Introduction Complexity of networking: An example Layered communications The TCP/IP protocol suite.
- 1 - DPNM Review of Important Networking Concepts J. Won-Ki Hong Dept. of Computer Science and Engineering POSTECH Tel:
The OSI Model. Understanding the OSI Model In early 1980s, manufacturers began to standardize networking so that networks from different manufacturers.
COMPUTER NETWORKS Hwajung Lee. Image Source:
End-host IP: MAC: 11:11:11:11:11 gateway IP: MAC: 22:22:22:22:22 Google server IP: interne t interface DNS server IP:
Communication Networks NETW 501 Tutorial 2
Introduction to TCP/IP
Layered Architectures
Network Architecture Introductory material
TCP/IP Networking An Example
Topic 5: Communication and the Internet
Review of Important Networking Concepts
TCP/IP Networking An Example
Review of Important Networking Concepts
TCP/IP Protocol Suite: Review
TCP/IP Networking An Example
Communication Networks NETW 501
TCP/IP Protocol Suite: Review
1 TRANSMISSION CONTROL PROTOCOL / INTERNET PROTOCOL (TCP/IP) K. PALANIVEL Systems Analyst, Computer Centre Pondicherry University, Puducherry –
Networking Essentials For Firewall-1 Administrators
Synthesis A day in the life of a web request
Review of Important Networking Concepts
Presentation transcript:

1 Introductory material. This module illustrates the interactions of the protocols of the TCP/IP protocol suite with the help of an example. The example intents to motivate the study of the TCP/IP protocols. TCP/IP Networking An Example

History: OSI Stack vs TCP/IP Stack 2

3 A user on host argon.tcpip-lab.edu (“Argon”) makes a web access to URL tcpip-lab.edu/index.html. What actually happens in the network? A simple TCP/IP Example

4 HTTP Request and HTTP response Web browser runs an HTTP client program Web server runs an HTTP server program HTTP client sends an HTTP request to HTTP server HTTP server responds with an HTTP response

5 HTTP Request GET /example.html HTTP/1.1 Accept: image/gif, */* Accept-Language: en-us Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 Host: Connection: Keep-Alive

6 HTTP Response HTTP/ OK Date: Sat, 25 May :10:32 GMT Server: Apache/ (Unix) Last-Modified: Sat, 25 May :51:33 GMT ETag: " ceff955" Accept-Ranges: bytes Content-Length: 81 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html Internet Lab Click here for the Internet Lab webpage. How does the HTTP request get from Argon to Neon ?

7 From HTTP to TCP To send request, HTTP client program establishes a TCP connection to the HTTP server Neon. The HTTP server at Neon has a TCP server running

8 Resolving hostnames and port numbers Since TCP does not work with hostnames and also would not know how to find the HTTP server program at Neon, two things must happen: 1. The name “neon.tcpip-lab.edu” must be translated into a 32-bit IPv4 address. (now that IPv6 is increasingly being adopted addresses may be 128 bits) 2. The HTTP server at Neon must be identified by a 16-bit port number.

9 Translating a hostname into an IP address The translation of the hostname neon.tcpip-lab.edu into an IP address is done via a database lookup The distributed database used is called the Domain Name System (DNS) All machines on the Internet have an IP address: argon.tcpip-lab.edu neon.tcpip-lab.edu

10 Finding the port number Note: Most services on the Internet are reachable via well- known ports. For example, all HTTP servers on the Internet can be reached at port number “80”. So: Argon simply knows the port number of the HTTP server at a remote machine. On most Unix systems, the well-known ports are listed in a file with name /etc/services. The well-known port numbers of some of the most popular services are: ftp21finger79 ssh22http(s) 80/443 smtp 25nntp 119

11 Requesting a TCP Connection The HTTP client at argon.tcpip-lab.edu requests the TCP client to establish a connection to port 80 of the machine with address

12 Invoking the IP Protocol The TCP client at Argon sends a request to establish a connection to port 80 at Neon This is done by asking its local IP module to send an IP datagram to (The data portion of the IP datagram contains the request to open a connection)

13 Sending the IP datagram to an IP router Argon ( ) can deliver the IP datagram directly to Neon ( ), only if it is on the same local network (“subnet”) But Argon and Neon are not on the same local network (Q: How does Argon know this?) So, Argon sends the IP datagram to its default gateway The default gateway is an IP router The default gateway for Argon is Router137.tcpip-lab.edu ( ).

14 The route from Argon to Neon Note that the gateway has a different name for each of its interfaces.

15 Finding the MAC address of the gateway To send an IP datagram to Router137, Argon puts the IP datagram in an Ethernet frame, and transmits the frame. However, Ethernet uses different addresses, so-called Media Access Control (MAC) addresses (also called: physical address, hardware address) Therefore, Argon must first translate the IP address into a MAC address. The translation of addresses is performed via the Address Resolution Protocol (ARP)

16 Address resolution with ARP

17 Invoking the device driver The IP module at Argon, tells its Ethernet device driver to send an Ethernet frame to address 00:e0:f9:23:a8:20

18 Sending an Ethernet frame The Ethernet device driver of Argon sends the Ethernet frame to the Ethernet network interface card (NIC) The NIC sends the frame onto the wire

19 Forwarding the IP datagram The IP router receives the Ethernet frame at interface , recovers the IP datagram and determines that the IP datagram should be forwarded to the interface with name The IP router determines that it can deliver the IP datagram directly

20 Another lookup of a MAC address The rouer needs to find the MAC address of Neon. Again, ARP is invoked, to translate the IP address of Neon ( ) into the MAC address of neon (00:20:af:03:98:28).

21 Invoking the device driver at the router The IP protocol at Router71, tells its Ethernet device driver to send an Ethernet frame to address 00:20:af:03:98:28

22 Sending another Ethernet frame The Ethernet device driver of Router71 sends the Ethernet frame to the Ethernet NIC, which transmits the frame onto the wire.

23 Data has arrived at Neon Neon receives the Ethernet frame The payload of the Ethernet frame is an IP datagram which is passed to the IP protocol. The payload of the IP datagram is a TCP segment, which is passed to the TCP server Note: Since the TCP segment is a connection request (SYN), the TCP protocol does not pass data to the HTTP program for this packet. Instead, the TCP protocol at neon will respond with a SYN segment to Argon.

24 Wrapping-up the example So far, Neon has only obtained a single packet Much more work is required to establish an actual TCP connection and the transfer of the HTTP Request The example was simplified in several ways: – No transmission errors – The route between Argon and Neon is short (only one IP router) – Argon knew how to contact the DNS server (without routing or address resolution) – ….

25 How many packets were really sent? tcpdump: listening on fxp0 16:54: > : 1+ A? neon.cs. (25) 16:54: > : 1 NXDomain* 0/1/0 (98) (DF) 16:54: > : 2+ (41) 16:54: > : 2 NXDomain* 0/1/0 (109) (DF) 16:54: > : 3+ (38) 16:54: > : 3* 1/1/2 (122) (DF) 16:54: arp who-has tell :54: arp reply is-at 0:e0:f9:23:a8:20 16:54: > : S :607568(0) win 8192 (DF) 16:54: > : S : (0) ack win (DF) 16:54: > :. ack 1 win 8760 (DF) 16:54: > : P 1:60(59) ack 1 win (DF) [tos 0x10] 16:54: > :. ack 60 win 8701 (DF)

To see what’s happening: Wireshark 26