internet protocol stack application: supporting network applications –ftp, smtp, http transport:...

33
Internet protocol stack application: supporting network applications FTP, SMTP, HTTP transport: process-process data transfer TCP, UDP network: routing of datagrams from source to destination IP, routing protocols, link: data transfer between neighboring network elements PPP, Ethernet physical: bits “on the wire” application transport network link physical

Post on 20-Dec-2015

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

Internet protocol stack• application: supporting network applications

– FTP, SMTP, HTTP• transport: process-process data transfer

– TCP, UDP• network: routing of datagrams from source to

destination– IP, routing protocols,

• link: data transfer between neighboring network elements– PPP, Ethernet

• physical: bits “on the wire”

application

transport

network

link

physical

Page 2: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

sourceapplicatio

ntransportnetwork

linkphysical

HtHn M

segment Ht

datagram

destination

application

transportnetwork

linkphysical

HtHnHl M

HtHn M

Ht M

M

networklink

physical

linkphysical

HtHnHl M

HtHn M

HtHn M

HtHnHl M

router

switch

Encapsulationmessage M

Ht M

Hn

frame

Page 3: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

MAC Addresses and ARP

• 32-bit IP address: – network-layer address– used to get datagram to destination IP subnet

• MAC (or LAN or physical or Ethernet) address: – used to get frame from one interface to another

physically-connected interface (same network)– 48 bit MAC address (for most LANs)

burned in the adapter ROM

Page 4: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

LAN Addresses and ARPEach adapter on LAN has unique LAN address

Broadcast address =FF-FF-FF-FF-FF-FF

= adapter

1A-2F-BB-76-09-AD

58-23-D7-FA-20-B0

0C-C4-11-6F-E3-98

71-65-F7-2B-08-53

LAN(wired orwireless)

Page 5: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

LAN Address (more)• MAC address allocation administered by IEEE• manufacturer buys portion of MAC address space

(to assure uniqueness)• Analogy:

(a) MAC address: like Social Security Number

(b) IP address: like postal address• MAC flat address ➜ portability

– can move LAN card from one LAN to another

• IP hierarchical address NOT portable– depends on IP subnet to which node is attached

Page 6: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

ARP: Address Resolution Protocol

• Each IP node (Host, Router) on LAN has ARP table

• ARP Table: IP/MAC address mappings for some LAN nodes

< IP address; MAC address; TTL>

– TTL (Time To Live): time after which address mapping will be forgotten (typically 20 min)

Question: how to determineMAC address of Bknowing B’s IP address?

1A-2F-BB-76-09-AD

58-23-D7-FA-20-B0

0C-C4-11-6F-E3-98

71-65-F7-2B-08-53

LAN

137.196.7.23

137.196.7.78

137.196.7.14

137.196.7.88

Page 7: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

ARP protocol: Same LAN (network)

• A wants to send datagram to B, and B’s MAC address not in A’s ARP table.

• A broadcasts ARP query packet, containing B's IP address – Dest MAC address = FF-

FF-FF-FF-FF-FF– all machines on LAN

receive ARP query • B receives ARP packet,

replies to A with its (B's) MAC address– frame sent to A’s MAC

address (unicast)

• A caches (saves) IP-to-MAC address pair in its ARP table until information becomes old (times out) – soft state: information that

times out (goes away) unless refreshed

• ARP is “plug-and-play”:– nodes create their ARP

tables without intervention from net administrator

Page 8: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

Routing to another LANwalkthrough: send datagram from A to B via R

assume A know’s B IP address

• Two ARP tables in router R, one for each IP network (LAN)• In routing table at source Host, find router 111.111.111.110• In ARP table at source, find MAC address E6-E9-00-17-BB-4B, etc

A

RB

Page 9: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

• A creates datagram with source A, destination B

• A uses ARP to get R’s MAC address for 111.111.111.110

• A creates link-layer frame with R's MAC address as dest, frame contains A-to-B IP datagram

• A’s adapter sends frame

• R’s adapter receives frame

• R removes IP datagram from Ethernet frame, sees its destined to B

• R uses ARP to get B’s MAC address

• R creates frame containing A-to-B IP datagram sends to B

A

RB

Page 10: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

ARP Functionality• There are two main functional parts of the address resolution

protocol: – Determine the destination’s physical address before sending a packet. – Answer requests that arrive for it’s own Physical-to-IP address binding.

• Because of lost/duplicate packets, ARP must handle this to avoid many re-broadcasts.

• Bindings in ARP cache (actual cache table) must be removed after a fixed period of time to ensure validity.

• When a packet is received, the sender’s IP address is stripped and the local table is updated (ARP cache), then the rest of the packet is processed.

• Two types of incoming packets: – Those to be processed (correct destination). – Stray broadcast packets (can be dropped after updating the ARP cache).

• Application programs may request the destination address many times before the binding is complete. This must be handled, by discarding enqueued requests, when the correct binding returns.

Page 11: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

ARP Functionality

• ARP sets the field "TYPE" for the ID of a frame. • ARP packets DO NOT have a fixed format header, so

they can be used with arbitrary physical addresses and arbitrary protocol addresses.

• The lengths of physical addresses may vary up to 48-bits.

Page 12: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

ARP Header Fields• Hardware Type: (16-bits) - the type of interface the sender seeks an answer

for. • Protocol Type: (16-bits) - the high-level software address type provided. • HLEN: (8-bits) - length of arbitrary physical address. • PLEN: (8-bits) - length of arbitrary protocol address. • OPERATION: (16-bits) - the specific type of operation requested.

– ARP.request (1) – ARP.response (2)

• SENDER HA: (6-octets) - the sender’s actual hardware address, scalable up to six bytes.

• SENDER IP: (4-octets) - the sender’s IP address, always 32-bits. • TARGET HA: (6-octets) - the destination node’s hardware address, scalable

up to six bytes. • TARGET IP: (4-octets) - the destination node’s IP address, always 32-bits.

Page 13: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

Ethernet“dominant” wired LAN technology: • cheap $20 for 100Mbs!• first widely used LAN technology• Simpler, cheaper than token LANs and ATM• Kept up with speed race: 10 Mbps – 10 Gbps

Metcalfe’s Ethernetsketch

Page 14: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

Star topology

• Bus topology popular through mid 90s• Now star topology prevails• Connection choices: hub or switch (more later)

hub orswitch

Page 15: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

Ethernet Frame Structure

Sending adapter encapsulates IP datagram (or other network layer protocol packet) in Ethernet frame

Preamble: • 7 bytes with pattern 10101010 followed by one

byte with pattern 10101011• used to synchronize receiver, sender clock rates

Page 16: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

Ethernet Frame Structure (more)

• Addresses: 6 bytes– if adapter receives frame with matching destination

address, or with broadcast address (eg ARP packet), it passes data in frame to net-layer protocol

– otherwise, adapter discards frame

• Type: indicates the higher layer protocol (mostly IP but others may be supported such as Novell IPX and AppleTalk)

• CRC: checked at receiver, if error is detected, the frame is simply dropped

Page 17: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

Ethernet

Ethernet FrameEthernet Frame

Page 18: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

Encapsulating the Packet• The Ethernet protocol defines the frame format.

• Adds headers and trailers around the Layer 3 packet.

Page 19: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

Encapsulating the Packet• The IEEE 802.3 Ethernet Frame format:

• Minimum Size: 64 Bytes• Maximum Size: 1518 Bytes• If the frame is less than the minimum or greater than the

maximum, it is considered corrupt and will be dropped.

LENGTH OF FIELD IN BYTESLENGTH OF FIELD IN BYTES

7 11 66 66 22 46 – 150046 – 1500 44

PreamblePreambleStart of Start of Frame Frame

DelimiterDelimiter

Destination Destination MAC MAC

AddressAddress

Source Source MAC MAC

AddressAddress

Length Length oror

TypeTypeData and PadData and Pad FCSFCS

HeaderHeaderHeaderHeader TrailerTrailerTrailerTrailer

Page 20: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

Encapsulating the Packet

• Preamble and Start of Frame Delimiter (SFD) – 8 bytes:• Used to synchronize the NIC with the media in

preparation for receiving a frame.• Is not considered part of the frame length.• Will not appear in any capture of the frame.

LENGTH OF FIELD IN BYTESLENGTH OF FIELD IN BYTES

7 11 6 6 2 46 – 1500 4

PreamblePreambleStart of Start of Frame Frame

DelimiterDelimiter

Destination MAC

Address

Source MAC

Address

Length or

TypeData and Pad FCS

Page 21: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

Encapsulating the Packet

• Destination MAC Address – 6 bytes:• Identifies the node that is to receive the frame.• A receiving device compares its MAC address to the

contents of this field.• If the addresses match, the frame is accepted.• Also used by switches to determine the interface to be

used to forward the frame.

LENGTH OF FIELD IN BYTESLENGTH OF FIELD IN BYTES

7 1 66 6 2 46 – 1500 4

PreambleStart of Frame

Delimiter

Destination Destination MAC MAC

AddressAddress

Source MAC

Address

Length or

TypeData and Pad FCS

Page 22: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

Encapsulating the Packet

• Source MAC Address – 6 bytes:• Identifies the node that originated the frame.• Also used by switches to add addresses to their

internal Port / MAC address tables.

LENGTH OF FIELD IN BYTESLENGTH OF FIELD IN BYTES

7 1 6 66 2 46 – 1500 4

PreambleStart of Frame

Delimiter

Destination MAC

Address

Source Source MAC MAC

AddressAddress

Length or

TypeData and Pad FCS

Page 23: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

Encapsulating the Packet

• Length / Type – Length / Type – 2 bytes2 bytes::• DIX used this for DIX used this for typetype, the original IEEE 802.3 standard used it for , the original IEEE 802.3 standard used it for

lengthlength. The later IEEE standard . The later IEEE standard (Ethernet II) (Ethernet II) allows it to be allows it to be used for used for eithereither..

• Ethernet IIEthernet II is the frame type used in TCP/IP networks.is the frame type used in TCP/IP networks.• If the value is greater than 1518 (0x600),If the value is greater than 1518 (0x600), it contains a code identifying it contains a code identifying

the encapsulated upper layer protocol.the encapsulated upper layer protocol.• Any other value defines the length of the frame.Any other value defines the length of the frame.

LENGTH OF FIELD IN BYTESLENGTH OF FIELD IN BYTES

7 1 6 6 22 46 – 1500 4

PreambleStart of Frame

Delimiter

Destination MAC

Address

Source MAC

Address

Length Length oror

TypeTypeData and Pad FCS

Page 24: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

Encapsulating the Packet

• Data and Pad – Data and Pad – 46 to 1500 bytes46 to 1500 bytes::• The encapsulated data from Layer 3.The encapsulated data from Layer 3.• Most commonly an IPv4 packet.Most commonly an IPv4 packet.• If the total frame length is less than 64 bytes, the If the total frame length is less than 64 bytes, the

field is padded to the right with enough null field is padded to the right with enough null characters to meet the minimum frame length.characters to meet the minimum frame length.

LENGTH OF FIELD IN BYTESLENGTH OF FIELD IN BYTES

77 11 66 66 22 46 – 150046 – 1500 4

PreamblePreambleStart of Start of Frame Frame

DelimiterDelimiter

Destination Destination MAC MAC

AddressAddress

Source Source MAC MAC

AddressAddress

Length Length oror

TypeTypeData and PadData and Pad FCS

Page 25: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

Encapsulating the Packet

• Frame Check Sequence (FCS)– Frame Check Sequence (FCS)– 4 bytes4 bytes::• Used to detect errors in a frame that may have Used to detect errors in a frame that may have

occurred during transmission along the media.occurred during transmission along the media.• The result of a Cyclic Redundancy Check (CRC) The result of a Cyclic Redundancy Check (CRC)

is placed in the frame by the sending node.is placed in the frame by the sending node.• The receiving node performs the same CRC and The receiving node performs the same CRC and

compares the values….they should be equal. compares the values….they should be equal.

LENGTH OF FIELD IN BYTESLENGTH OF FIELD IN BYTES

7 1 6 6 2 46 – 1500 44

PreambleStart of Frame

Delimiter

Destination MAC

Address

Source MAC

Address

Length or

TypeData and Pad FCSFCS

Page 26: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

Ethernet MAC Address

• In order for a transmission to be received properly at the In order for a transmission to be received properly at the destination computer, there must be a method of destination computer, there must be a method of uniquelyuniquely identifying that host.identifying that host.

• A unique address is permanently programmed into ROM in A unique address is permanently programmed into ROM in each NIC each NIC ("burned in“ )("burned in“ ) when it is manufactured. when it is manufactured.– Because of this, the MAC Address is often referred to as Because of this, the MAC Address is often referred to as

the the burned inburned in (BIA)(BIA) address or address or physicalphysical address of a address of a machine.machine.

LENGTH OF FIELD IN BYTESLENGTH OF FIELD IN BYTES

7 1 66 66 2 46 – 1500 4

PreambleStart of Frame

Delimiter

Destination Destination MAC MAC

AddressAddress

Source Source MAC MAC

AddressAddress

Length or

TypeData and Pad FCS

Page 27: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

Ethernet MAC Address• 48 bits48 bits in length. in length.

• Expressed asExpressed as12 hexadecimal12 hexadecimaldigitsdigits..

• The first 6 hexadecimal digits, which are administered by the The first 6 hexadecimal digits, which are administered by the IEEE, identify the manufacturer or vendor and thus comprise IEEE, identify the manufacturer or vendor and thus comprise the the Organizational Unique Identifier (OUI)Organizational Unique Identifier (OUI). .

• The remaining The remaining 6 hexadecimal6 hexadecimal digits comprise the digits comprise the interface interface serial numberserial number, or another value administered by the specific , or another value administered by the specific vendor.vendor.

Page 28: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

Ethernet MAC Address

• When a network device matches the destination address to When a network device matches the destination address to the address in the NIC, the NIC passes the frame up the OSI the address in the NIC, the NIC passes the frame up the OSI layers where the decapsulation process takes place.layers where the decapsulation process takes place.

The MAC address is essential to communications on a network. The MAC address is essential to communications on a network. It is the It is the only addressonly address that guarantees that the message will that guarantees that the message will

be accepted by the destination. be accepted by the destination.

LENGTH OF FIELD IN BYTESLENGTH OF FIELD IN BYTES

7 1 66 66 2 46 – 1500 4

PreambleStart of Frame

Delimiter

Destination Destination MAC MAC

AddressAddress

Source Source MAC MAC

AddressAddress

Length or

TypeData and Pad FCS

Page 29: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

Unreliable, connectionless service

• Connectionless: No handshaking between sending and receiving adapter.

• Unreliable: receiving adapter doesn’t send acks or nacks to sending adapter– stream of datagrams passed to network layer can

have gaps– gaps will be filled if app is using TCP– otherwise, app will see the gaps

Page 30: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

10BaseT and 100BaseT• 10/100 Mbps rate; latter called “fast ethernet”• T stands for Twisted Pair• Nodes connect to a hub: “star topology”; 100

m max distance between nodes and hub

twisted pair

hub

Page 31: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

HubsHubs are essentially physical-layer repeaters:

– bits coming from one link go out all other links– at the same rate– no frame buffering– no CSMA/CD at hub: adapters detect collisions– provides net management functionality

twisted pair

hub

Page 32: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

Manchester encoding

• Used in 10BaseT• Each bit has a transition• Allows clocks in sending and receiving nodes to

synchronize to each other– no need for a centralized, global clock among

nodes!• Hey, this is physical-layer stuff!

Page 33: Internet protocol stack application: supporting network applications –FTP, SMTP, HTTP transport: process-process data transfer –TCP, UDP network: routing

Gbit Ethernet

• uses standard Ethernet frame format• allows for point-to-point links and shared

broadcast channels• in shared mode, CSMA/CD is used; short

distances between nodes required for efficiency• uses hubs, called here “Buffered Distributors”• Full-Duplex at 1 Gbps for point-to-point links• 10 Gbps now !