Top Banner
COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008
80

COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

COMS/CSEE 4140 Networking Laboratory

Salman Abdul BasetSpring 2008

Page 2: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

2

Agenda Administrivia Introduction to the lab equipment A simple TCP/IP example Overview of important networking

concepts

Page 3: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

3

Course overview

Goals Gain hands-on experience Apply and reinforce important networking

concepts and techniques learned in CS4119 No socket programming

Prerequisites CS4119, ELEN4710, ELEN6761 or equivalent

Organization Weekly lectures review relevant materials Weekly labs

Page 4: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

4

Materials covered (partial list)

Wide area networks Internetworking Static & dynamic routing

RIP, OSPF, BGP UDP & TCP

LAN switching & bridges

DHCP, NAT, DNS, SNMP (and various other 3 & 4 letter acronyms )

Page 5: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

5

Course staff Instructor: Salman Abdul Baset

OHs: Tuesday 10am-12pm CEPSR 720/7LW2 Email: [email protected]

TAs Jong-Yul Kim

OHs: Friday 10:00am – 12pm CEPSR 721 Email: [email protected]

Ankit Malhotra OHs: Thursday 10:30am-12:30pm INTEREST Lab Email: [email protected]

Page 6: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

6

Lectures/labs: when and where? Lectures

When: Mondays: 5:40pm – 6:55pm

Where: CLIC lab (486 CSB)

Labs When: Meeting times depend on groups Where: INTEREST lab Three slots (FCFS policy and/or time

conflicts): Mondays: 7pm-9:30pm Tuesday: 7pm-9:30pm Wednesday: 1pm-3:30pm

Page 7: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

7

Lab organization Groups (3 people)

One report per group Pre-labs and feedback form (optional) to be

completed by each of the students individually

Group selection Find people that you can work with Random selection is also a choice Email group info by Feb 1st to the instructor

Page 8: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

8

Structure of the labs Each lab has four parts:

1. Prelab (individual)2. Lab session (group)3. Lab report (group)4. Feedback forms (individual – optional)

Page 9: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

9

Bibliography & readings TextBook

Mastering Networks: An Internet Lab Manualby Jorg Liebeherr and Magda El ZarkiISBN: 0-201-78134-4. Publisher: Addison-Wesley. Copyright:

2004.Sample Chapters and more info at the authors' Web Site

TCP/IP tutorial and technical overview (IBM Red Book)by A.Rodriguez, J. Gatrell, J. Karas, R.Peschke (online)

Reference books Computer networking: a top-down approach featuring

the Internet by James Kurose and Keith Ross Cisco essentials book and Cisco web site Unix man pages & RFCs

Course web site will be populated with FAQ & links

Page 10: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

10

Grading scheme Pre-lab questions: (20%) (individual)

Lab Reports (40%) (group)

Two exams, each 15% (30%) (individual) Final exam can be replaced by a group project

Class participation (5%) (individual)Lab participation (5%) (individual)(TAs may randomly ask a group member any question related to the lab)

Page 11: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

11

Other requirements CS account

through CRF Swipe access

MICE Facilities->Card Access->Request Access

Level 6 Sponsor: Salman Baset End date: May 15, 2008

USB flash drive One per group

Page 12: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

12

Website, discussion board Website

http://www1.cs.columbia.edu/~salman/4140/

Discussion board, grades, prelab/lab report submissionshttp://courseworks.columbia.edu

Page 13: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

13

Agenda Administrivia Introduction to the lab equipment A simple TCP/IP example Overview of important networking

concepts

Page 14: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

14

Internet Lab Equipment 4 Cisco 2600 Routers

4 Linux PCs(Intel Celeron 2GHz, 256MB Ram, 40GB disk, cdrom, floppy, USB)

2 Ethernet hubs2x 5-port Hub 3Com OfficeConnect Dual Speed (10/100)2x 16-port NETGEAR hub

2 monitors, 2 keyboards, 2 mice

1 KVM switch

Cables

Page 15: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

15

Internet Lab Equipment

PC1

PC2PC3PC4

Router 1Router 2Router 3Router 4

Page 16: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

16

Linux PCs PCs and routers are labeled as:

PC1, PC2, etc, Router1, Router2, etc.

PCs run Linux Fedora Core 5

Each PC has: a floppy drive, a cdrom drive, a serial port, 5x 10/100 Mbps Ethernet

interface cards (NICs) named eth0 – eth4. 2x USB ports

Page 17: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

17

Linux PC

Page 18: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

18

Cisco Routers Routers are labeled: Router1, Router2, Router3,

Router4. Routers run Cisco IOS 12.0 or a later version Each router has:

a console port an auxiliary port two 10/100 Mbps Fast Ethernet interfaces

Page 19: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

19

Ethernet Hubs Each hub has 4 or more RJ-45 ports

Ports can operate at 10 Mbps or 100 Mbps

Page 20: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

20

Connectors DB-9 (DE-9) connector

(serial port)

PS2 Mini DIN 6

DB-25 connector

DE-15/HD-15(VGA connector)

RJ-45 connector

male female

Page 21: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

21

Ethernet Cables Category 5e cable (4 pairs) Straight cable Cross over cable Automatic roll over NICs

Page 22: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

22

Lab Sequence

Core Labs:

Lab 2 - SingleSegment IPNetworks

Lab 1 -Introduction to

the Internet Lab

Lab 3 - StaticRouting

Lab 4 -DynamicRouting

Protocols

Lab 5 -TransportProtocols:

UDP and TCP

Advanced Labs:

Lab 7 - NATand DHCP

Lab 6 - LANswitching

Lab 8 - DomainName System

Lab 9 - SNMPLab 10 - IPMulticast

Page 23: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

23

Core Labs Lab 1 – Introduction to the Internet Lab

Overview of the Internet Lab equipment; introduction to ethereal and tcpdump.

Lab 2 – Single Segment IP Networks

Configuring a network interface for IP networking; address resolution with ARP;

security problems of common Internet applications.

Page 24: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

24

Core Labs (cont.) Lab 3 – Static routing

IP forwarding and routing between IP networks; setup a Linux PC and a Cisco router as an IP router; manual configuration of routing tables.

Lab 4 – Dynamic Routing Protocols Routing protocols RIP, OSPF and BGP.

Lab 5 – Transport  Protocols: UDP and TCP

Data transmissions with TCP and UDP; TCP connection management; TCP flow control; retransmissions in TCP; TCP congestion control.

Page 25: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

25

Advanced Labs Lab 6 - LAN switching

LAN switching in Ethernet networks; forwarding of Ethernet frames between LAN switches/bridges; spanning tree protocol for loop free routing between interconnected LANs.

Lab 7 - NAT and  DHCP Setup of a private network; dynamic assignment of IP addresses with DHCP.

Lab 8 – Domain Name SystemDomain name resolution with DNS; name server hierarchy; setup of a DNS root server.

Lab 10 – IP Multicast Multicast group management with IGMP; IP multicast forwarding; Multicast routing protocols PIM-SM and PIM-DM.

Page 26: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

26

In the Lab:1. Submit Prelab through courseworks2. Bring USB drive, the lab manual3. Reboot Linux PCs4. Complete exercises as described in the lab

manual5. Take measurements as instructed 6. Save data to the USB drive7. Submit lab report through courseworks

Page 27: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

27

Additional notes The equipment of the Internet Lab is not connected to the

Internet. Warning: Do not connect the lab equipment to the Internet.

Each lab has an anonymous feedback sheet. The feedback is used to improve the setup and organization of the labs.

Since you have administrative (root) privileges on the Internet Lab equipment, exercise caution when modifying the configuration of the Internet Lab equipment.

No eating or drinking in the lab.

Bring your laptops to the lab.

Page 28: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

28

Tips for the lab Ethereal is your best friend in 4140!

Each lab session comprises of several [sometimes independent] exercises. Discuss with your group members if you can do the exercise in parallel.

Traffic does not flow! the power is on? connected to the correct interface? interface LED? ethernet wire is behaving correctly? ARP and routing tables? are you observing traffic on the correct interface?

Page 29: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

29

Agenda Administrivia Introduction to the lab equipment A simple TCP/IP example Overview of important networking

concepts

Page 30: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

30

TopologyWeb request

Web page

A user on host argon.netlab.edu (“Argon”) makes web access to URL http://neon.netlab.edu/index.html.

What actually happens in the network?

Web client Web server

Page 31: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

31

HTTP Request and HTTP response

Web server runs an HTTP server program HTTP client Web browser runs an HTTP client

program sends an HTTP request to HTTP server HTTP server responds with HTTP response

Page 32: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

32

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: 192.168.123.144

Connection: Keep-Alive

Page 33: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

33

HTTP ResponseHTTP/1.1 200 OK

Date: Sat, 25 May 2002 21:10:32 GMT

Server: Apache/1.3.19 (Unix)

Last-Modified: Sat, 25 May 2002 20:51:33 GMT

ETag: "56497-51-3ceff955"

Accept-Ranges: bytes

Content-Length: 81

Keep-Alive: timeout=15, max=100

Connection: Keep-Alive

Content-Type: text/html

<HTML>

<BODY>

<H1>Internet Lab</H1>

Click <a href="http://www.netlab.net/index.html">here</a> for the Internet Lab webpage.

</BODY>

</HTML>

• How does the HTTP request get from Argon to Neon ?

Page 34: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

34

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

HTTP client

TCP client

Argon

HTTP server

TCP server

Neon

HTTP request / HTTP response

TCP connection

Page 35: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

35

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

Page 36: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

36

Translating a hostname into an IP address

The translation of the hostname neon.netlab.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.netlab.edu 128.143.137.144neon.netlab.edu 128.143.71.21

Page 37: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

37

Finding the port number Note: Most services on the Internet are reachable via well-known

ports. E.g. 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:

ftp 21 finger 79telnet 23 http 80smtp 25 nntp 119tftp 69 ssh 23ntp 123

Page 38: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

38

Requesting a TCP Connection

The HTTP client at argon.netlab.edu requests the TCP client to establish a connection to port 80 of the machine with address 128.141.71.21

Page 39: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

39

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 128.143.71.21

(The data portion of the IP datagram contains the request to open a connection)

Page 40: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

40

Sending the IP datagram to an IP router

Argon (128.143.137.144) can deliver the IP datagram directly to Neon (128.143.71.21), 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.netlab.edu (128.143.137.1).

Page 41: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

41

The route from Argon to Neon

Note that the gateway has a different name for each of its interfaces.

Page 42: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

42

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 128.143.137.1 into a MAC address.

The translation of addressed is performed via the Address Resolution Protocol (ARP)

Page 43: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

43

Address resolution with ARP

Page 44: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

44

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

Page 45: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

45

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

Page 46: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

46

Forwarding the IP datagram

The IP router receives the Ethernet frame at interface 128.143.137.1, recovers the IP datagram and determines that the IP datagram should be forwarded to the interface with name 128.143.71.1

The IP router determines that it can deliver the IP datagram directly

Page 47: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

47

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 (128.143.71.21) into the MAC address of neon (00:20:af:03:98:28).

Page 48: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

48

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

Invoking the Device Driver at the Router

Page 49: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

49

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.

Page 50: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

50

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

Page 51: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

51

Wrapping up the example Data traverses a sequence of layers

Each layer has protocols to handle the packets

Page 52: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

52

Agenda Administrivia Introduction to the lab equipment A simple TCP/IP example Overview of important networking

concepts

Page 53: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

53

TCP/IP Suite and OSI Reference Model

ApplicationLayer

ApplicationLayer

PresentationLayer

SessionLayer

TransportLayer

NetworkLayer

(Data) LinkLayer

PhysicalLayer

TransportLayer

NetworkLayer

OSIReference

Model

(Data) LinkLayer

TCP/IP Suite

The TCP/IP protocol stack does not define the lower layers of a complete protocol stack

Page 54: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

54

Functions of the Layers Data Link Layer:

Service: Reliable transfer of frames over a linkMedia Access Control on a LAN

Functions: Framing, media access control, error checking

Network Layer: Service: Move packets from source host to destination

host Functions: Routing, addressing

Transport Layer: Service: Delivery of data between hosts Functions: Connection establishment/termination, error

control, flow control Application Layer:

Service: Application specific (delivery of email, retrieval of HTML documents, reliable transfer of file)

Functions: Application specific

Page 55: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

55

Assignment of Protocols to Layers

NetworkLayer

Routing Protocols

PIM

OSPF

RIP

ApplicationLayer

Data LinkLayer

IP

ARP Ethernet

NetworkInterface

TransportLayer

TCP UDP

SNMPFTP DNSHTTP

ICMP

IGMP

pingapplication Telnet

DHCP

Page 56: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

56

Layered Communications An entity of a particular layer can only

communicate with:1. a peer layer entity using a common protocol (Peer Protocol)2. adjacent layers to provide services and to receive services

N+1 LayerEntity

N+1 LayerEntity

N+1 Layer ProtocolN+1 Layer

N-1 LayerEntity

N-1 LayerEntity

N-1 Layer ProtocolN-1 Layer

N LayerEntity

N LayerEntity

N Layer ProtocolN Layer

layer N+1/Ninterface

layer N/N-1interface

Page 57: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

57

Layered Communications

A layer N+1 entity sees the lower layers only as a service provider

Service Provider

N+1 LayerEntity

N+1 LayerEntity

N+1 Layer Peer Protocol

Request Delivery

IndicateDelivery

Page 58: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

58

Service Access Points A service user accesses services of the

service provider at Service Access Points (SAPs)

A SAP has an address that uniquely identifies where the service can be accessed Layer-N

EntityN Layer

Layer- N-1Entity

N-1Layer

layer N/N-1service interface

LayerN-1SAP

Page 59: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

59

Exchange of Data The unit of data send between peer entities is called a

Protocol Data Unit (PDU) For now, let us think of a PDU as a single packet

Scenario: Layer-N at A sends a layer-N PDU to layer-N at B

What actually happens: A’s layer-N passes the PDU to one the SAPs at layer-N-1 Layer-N-1 entity at A constructs its own (layer-N-1) PDU which it

sends to the layer-N-1 entity at B PDU at layer-N-1 = layer-N-1 Header + layer –N PDU

N LayerEntity

PDU(at layer N)

N LayerEntity

A B

Page 60: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

60

Exchange of Data

Layer-NEntity

N PDU

Layer- N-1Entity

Layer-N PDU and control data issent to SAP of Layer-N-1

SAPs

control

N PDUcontrol

Header(of layer N-1) N PDU

PDU of Layer-N-1

Layer-NEntity

Layer- N-1Entity

A B

Page 61: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

61

Layers in the ExampleHTTP

TCP

IP

argon.tcpip-lab.edu

128.143.137.144

Ethernet Ethernet Ethernet

IP

HTTP

TCP

IP

neon.tcpip-lab.edu128.143.71.21

Ethernet

router71.tcpip-lab.edu

128.143.137.100:e0:f9:23:a8:20

router137.tcpip-lab.edu

128.143.71.1

HTTP protocol

TCP protocol

IP protocol

Ethernet

IP protocol

Ethernet

Page 62: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

62

Layers in the ExampleHTTP

TCP

IP

argon.tcpip-lab.edu

128.143.137.144

Ethernet Ethernet Ethernet

IP

HTTP

TCP

IP

neon.tcpip-lab.edu128.143.71.21

Ethernet

router71.tcpip-lab.edu

128.143.137.100:e0:f9:23:a8:20

router137.tcpip-lab.edu128.143.71.1

Send HTTP Request to neon

Establish a connection to 128.143.71.21 at port 80Open TCP connection to

128.143.71.21 port 80

Send a datagram (which contains a connection request) to 128.143.71.21Send IP datagram to

128.143.71.21

Send the datagram to 128.143.137.1

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 128.143.71.21

Send the datagram to 128.143.7.21

Frame is an IP datagram

Frame is an IP datagram

IP datagram is a TCP segment for port 80

Page 63: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

63

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

Page 64: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

64

Encapsulation and Demultiplexing As data is moving down the protocol

stack, each protocol is adding layer-specific control informationHTTP

TCP

IP

Ethernet

User data

User dataHTTP Header

TCP Header

TCP HeaderIP Header

TCP HeaderIP HeaderEthernetHeader

EthernetTrailer

IP datagram

TCP segment

Ethernet frame

User dataHTTP Header

User dataHTTP Header

User dataHTTP Header

Page 65: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

65

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 00a0 2471 e444 0800 4500 002c 9d08 4000 8006 8bff 808f 8990 808f 4715 065b 0050 0009 465b 0000 0000 6002 2000 598e 0000 0204 05b4

Page 66: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

66

Ethereal

View 1: Summary of

packets

View2: Details of

packet headers

View 3: Packet content in hexadecimal

and ASCII representation

Page 67: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

67

Parsing the information in the frame

version0x4

header length

0x5Type of Service/TOS

0x00total length (in bytes)

0x002cIdentification0x9d08

flags0102

fragment offset00000000000002

cource IP address128.143.137.144

destination IP address128.143.71.21

time-to;ive0x80

protocol0x06

header checksum0x8bff

source port number162710

destination port number8010

sequence number0x0009465b

acknowledgement number0x00000000

header length

0x6unused0000002

flags0000102

window size819210

TCP checksum0x598e

urgent pointer0x0000

maximum segment size146010

option type0x02

option length0x04

destination address00:e0:f9:23:a8:20

source address0:a0:24:71:e4:44

type0x0800

4 bytes

CRC

Ethernetheader

(14 bytes)

IP Header(20 bytes)

TCP Header(24 bytes)

Ethernettrailer

(4 bytes)

Page 68: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

68

Encapsulation and Demultiplexing

Application dataTCP HeaderIP HeaderEthernet Header Ethernet Trailer

Ethernet frame

destination address

source address

type

6 bytes

CRC

4 bytes

Page 69: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

69

00:e0:f9:23:a8:20

0:a0:24:71:e4:44

0x0800

6 bytes

CRC

4 bytes

Encapsulation and Demultiplexing:

Ethernet Header

Application dataTCP HeaderIP HeaderEthernet Header Ethernet Trailer

Ethernet frame

Page 70: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

70

Encapsulation and Demultiplexing:

IP Header

Application dataTCP HeaderEthernet Header Ethernet Trailer

Ethernet frame

IP Header

DS ECNversion(4 bits)

headerlength

Total Length (in bytes)(16 bits)

Identification (16 bits)flags

(3 bits)Fragment Offset (13 bits)

Source IP address (32 bits)

Destination IP address (32 bits)

TTL Time-to-Live(8 bits)

Protocol(8 bits)

Header Checksum (16 bits)

32 bits

Page 71: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

71

Encapsulation and Demultiplexing:

IP Header

Application dataTCP HeaderEthernet Header Ethernet Trailer

Ethernet frame

IP Header

0x0 0x00x4 0x5 4410

9d08 0102 00000000000002

128.143.137.144

128.143.71.21

12810 0x06 8bff

32 bits

Page 72: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

72

Encapsulation and Demultiplexing:

TCP Header

Application dataEthernet Header Ethernet Trailer

Ethernet frame

IP Header TCP Header

Sequence number (32 bits)

Source Port Number Destination Port Number

Acknowledgement number (32 bits)

window sizeheaderlength

0 Flags

TCP checksum urgent pointer

32 bits

length Max. segment sizeoptiontype

Option: maximum segment size

Page 73: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

73

Encapsulation and Demultiplexing:

TCP Header

Application dataEthernet Header Ethernet Trailer

Ethernet frame

IP Header TCP Header

60783510

162710 8010

010

819210610 0000002 0000102

0x598e 00002

32 bits

410 146010210

Page 74: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

74

Encapsulation and Demultiplexing: Application data

Application dataEthernet Header Ethernet Trailer

Ethernet frame

IP Header TCP Header

No Application Data

in this frame

Page 75: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

75

Different Views of Networking Different Layers of the protocol stack have a

different view of the network. This is HTTP’s and TCP’s view of the network.

HTTP client

TCP client

Argon128.143.137.144

HTTPserver

TCP server

Neon128.143.71.21

IP Network

HTTPserver

TCP server

Page 76: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

76

Network View of IP Protocol

128.143.71.21128.143.137.144

Router

128.143.137.0/24Network

128.143.137.1 128.143.71.1

128.143.71.0/24Network

Page 77: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

77

Network View of Ethernet Ethernet’s view of the network

Argon(128.143.137.144)

Router137(128.143.137.1)

Ethernet Network

Page 78: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

78

What a router chassis looks likeCisco CRS-1 Juniper M320

6ft

19”

2ft

Capacity: 1.2 Tb/sPower: 10.92 KWh Weight: 0.5 TonCost: $500K

3ft

2ft

17”

Capacity: 320 Gb/s Power: 3.1 kWh

Page 79: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

79

Cisco CRS-1

Page 80: COMS/CSEE 4140 Networking Laboratory Salman Abdul Baset Spring 2008.

80

Next week Lab 1 & 2 Submit prelab 1 & 2 through courseworks Apply for swipe access Form a group Bring a USB drive

Reading Chapter 0, p1-25, 45-71 Optional: IBM red book, chapter 1.