1 CS 4396 Computer Networks Lab TCP/IP Networking An Example.

Slides:



Advertisements
Similar presentations
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Advertisements

Review of Important Networking Concepts
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Communicating over the Network Network Fundamentals – Chapter 2.
COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.
Introduction & Lab I Lab Equipment & Organization Shlomo Hershkop Columbia University Fall 2006.
1 Application TCPUDP IPICMPARPRARP Physical network Application TCP/IP Protocol Suite.
Networking and Internetworking: Standards and Protocols i206 Fall 2010 John Chuang Some slides adapted from Coulouris, Dollimore and Kindberg.
1 Review of Important Networking Concepts Introductory material. This module uses the example from the previous module to review important networking concepts:
Institute of Technology Sligo - Dept of Computing Semester 2 Chapter 9 The TCP/IP Protocol Suite Paul Flynn.
Defining Network Protocols Application Protocols –Application Layer –Presentation Layer –Session Layer Transport Protocols –Transport Layer Network Protocols.
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.
Process-to-Process Delivery:
Module 10. Internet Protocol (IP) is the routed protocol of the Internet. IP addressing enables packets to be routed from source to destination using.
Local Area Networks/School of Engineering in Computer Science/ LAN basics  Networking basics The Internet.
CT 320: Network and System Administration Fall 2014 * Dr. Indrajit Ray Department of Computer.
The Network Layer. Network Projects Must utilize sockets programming –Client and Server –Any platform Please submit one page proposal Can work individually.
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.
1 Chapter Overview TCP/IP DoD model. 2 Network Layer Protocols Responsible for end-to-end communications on an internetwork Contrast with data-link layer.
COMT 429 The Internet Protocols COMT 429. History 1969First version of a 4 node store and forward network, the ARPAnet 1972Formal demonstration of ARPAnet.
Computer Networks (CS 132/EECS148) General Networking Example Karim El Defrawy Donald Bren School of Information and Computer Science University of California.
Chap 9 TCP/IP Andres, Wen-Yuan Liao Department of Computer Science and Engineering De Lin Institute of Technology
Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 17 This presentation © 2004, MacAvon Media Productions Multimedia and Networks.
Internet Ethernet Token Ring Video High Speed Router Host A: Client browser: REQUEST:http//mango.ee.nogradesu.edu/c461.
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 5 Internet Protocol (IP) Basics.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Routers and Routing Basics CCNA 2 Chapter 10.
ECE 526 – Network Processing Systems Design Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008.
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.
Network Protocols A network protocol defines the structure of messages sent over the network We will only talk about the Internet Network protocols need.
© Jörg Liebeherr, Organization Addresses TCP/IP Protocol stack Forwarding Internet.
CPS 356: Introduction to Computer Networks Lecture 2: Network Architectures Xiaowei Yang Reference: Chapter 1 of [PD]
CSE 6590 Department of Computer Science & Engineering York University 111/9/ :26 AM.
Presented by Rebecca Meinhold But How Does the Internet Work?
Networking Basics CCNA 1 Chapter 11.
Lecture 4 Overview. Ethernet Data Link Layer protocol Ethernet (IEEE 802.3) is widely used Supported by a variety of physical layer implementations Multi-access.
1 Introduction to TCP/IP. 2 OSI and Protocol Stack OSI: Open Systems Interconnect OSI ModelTCP/IP HierarchyProtocols 7 th Application Layer 6 th Presentation.
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 Bus topology network. 2 Data is sent to all computers, but only the destination computer accepts 02608c
1. Layered Architecture of Communication Networks: TCP/IP Model
Transmission Control Protocol (TCP) Internet Protocol (IP)
Page 12/9/2016 Chapter 10 Intermediate TCP : TCP and UDP segments, Transport Layer Ports CCNA2 Chapter 10.
Network Basics CS490 - Security in Computing Copyright © 2005 by Scott Orr and the Trustees of Indiana University.
J. Liebeher (modified by M. Veeraraghavan) 1 Introduction Complexity of networking: An example Layered communications The TCP/IP protocol suite.
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.
- 1 - DPNM Review of Important Networking Concepts J. Won-Ki Hong Dept. of Computer Science and Engineering POSTECH Tel:
Communication Networks NETW 501 Tutorial 2
Introduction to TCP/IP
Layered Architectures
TCP/IP Transmission Control Protocol / Internet Protocol
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
Process-to-Process Delivery:
Review of Important Networking Concepts
TCP/IP Networking An Example
TCP/IP Protocol Suite: Review
1 TRANSMISSION CONTROL PROTOCOL / INTERNET PROTOCOL (TCP/IP) K. PALANIVEL Systems Analyst, Computer Centre Pondicherry University, Puducherry –
Network Architecture Models: Layered Communications
Process-to-Process Delivery: UDP, TCP
Review of Important Networking Concepts
Transport Layer 9/22/2019.
Presentation transcript:

1 CS 4396 Computer Networks Lab TCP/IP Networking An Example

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

3 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 HTTP response

4 HTTP Request GET /index.html HTTP/1.1 Accept: image/gif, */* Accept-Language: en-us Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 Host: neon.tcpip-lab.edu Connection: Keep-Alive

5 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 ?

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

7 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 IP address. 2. The HTTP server at Neon must be identified by a 16-bit port number.

8 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

9 Finding the port number Note: Most services on the Internet are reachable via well- known ports. E.g. 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 telnet23http80 smtp 25nntp 119

10 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

11 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)

12 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 (see next slide) (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 ( ).

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

14 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)

15 Address resolution with ARP

16 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

17 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

18 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

19 Another lookup of a MAC address The router 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).

20 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

21 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.

22 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.

23 DNS: The IP address of “neon.tcpip-lab.edu ” is ARP: What is the MAC address of ? Sending a packet from Argon to Neon DNS: What is the IP address of “neon.tcpip-lab.edu ” ? ARP: The MAC address of is 00:e0:f9:23:a8: is not on my local network. Therefore, I need to send the packet to my default gateway with address frame is on my local network. Therefore, I can send the packet directly. ARP: The MAC address of is 00:20:af:03:98:28 ARP: What is the MAC address of ? frame

24 Assignment of Protocols to Layers

25 Layers in the Example

26 Layers in the Example Send HTTP Request to neon Establish a connection to at port 80 Open TCP connection to port 80 Send a datagram (which contains a connection request) to Send IP datagram to Send the datagram to Send Ethernet frame to 00:e0:f9:23:a8:20 Send Ethernet frame to 00:20:af:03:98:28 Send IP data-gram to Send the datagram to Frame is an IP datagram IP datagram is a TCP segment for port 80

27 Layers and Services Service provided by TCP to HTTP: –reliable transmission of data over a logical connection Service provided by IP to TCP: –unreliable transmission of IP datagrams across an IP network Service provided by Ethernet to IP: –transmission of a frame across an Ethernet segment Other services: –DNS: translation between domain names and IP addresses –ARP: Translation between IP addresses and MAC addresses

28 Encapsulation and Demultiplexing As data is moving down the protocol stack, each protocol is adding layer-specific control information

29 Encapsulation and Demultiplexing in our Example Let us look in detail at the Ethernet frame between Argon and the Router, which contains the TCP connection request to Neon. This is the frame in hexadecimal notation. 00e0 f923 a820 00a e c 9d bff 808f f b b e b4

30 Parsing the information in the frame version 0x4 header length 0x5 Type of Service/TOS 0x00 total length (in bytes) 0x002c Identification 0x9d08 flags fragment offset cource IP address destination IP address time-to-live 0x80 protocol 0x06 header checksum 0x8bff source port number destination port number sequence number 0x b acknowledgement number 0x header length 0x6 unused flags window size TCP checksum 0x598e urgent pointer 0x0000 maximum segment size option type 0x02 option length 0x04 destination address 00:e0:f9:23:a8:20 source address 0:a0:24:71:e4:44 type 0x bytes CRC Ethernet header (14 bytes) IP Header (20 bytes) TCP Header (24 bytes) Ethernet trailer (4 bytes)

31 Encapsulation and Demultiplexing

32 Encapsulation and Demultiplexing: Ethernet Header

33 Encapsulation and Demultiplexing: IP Header

34 Encapsulation and Demultiplexing: IP Header

35 Encapsulation and Demultiplexing: TCP Header Option: maximum segment size

36 Encapsulation and Demultiplexing: TCP Header

37 Encapsulation and Demultiplexing: Application data No Application Data in this frame