Presentation on theme: "Internet protocol stack"— Presentation transcript:
1 Internet protocol stack application: supporting network applicationsFTP, SMTP, HTTPtransport: process-process data transferTCP, UDPnetwork: routing of datagrams from source to destinationIP, routing protocols,link: data transfer between neighboring network elementsPPP, Ethernetphysical: bits “on the wire”applicationtransportnetworklinkphysical
2 Encapsulation source destination application transport network link messageMapplicationtransportnetworklinkphysicalsegmentHtMHtdatagramHtHnMHnframeHtHnHlMlinkphysicalswitchdestinationnetworklinkphysicalHtHnMHtHnHlMMapplicationtransportnetworklinkphysicalHtHnMHtMHtHnMrouterHtHnHlM
3 MAC Addresses and ARP 32-bit IP address: network-layer addressused to get datagram to destination IP subnetMAC (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
4 LAN Addresses and ARP Each adapter on LAN has unique LAN address 1A-2F-BB AD58-23-D7-FA-20-B00C-C4-11-6F-E3-9871-65-F7-2B-08-53LAN(wired orwireless)Broadcast address =FF-FF-FF-FF-FF-FF= adapter
5 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 addressMAC flat address ➜ portabilitycan move LAN card from one LAN to anotherIP hierarchical address NOT portabledepends on IP subnet to which node is attached
6 ARP: Address Resolution Protocol Question: how to determineMAC address of Bknowing B’s IP address?Each IP node (Host, Router) on LAN has ARP tableARP 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)1A-2F-BB ADLAN71-65-F7-2B-08-5358-23-D7-FA-20-B00C-C4-11-6F-E3-98
7 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 addressDest MAC address = FF-FF-FF-FF-FF-FFall machines on LAN receive ARP queryB receives ARP packet, replies to A with its (B's) MAC addressframe 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 refreshedARP is “plug-and-play”:nodes create their ARP tables without intervention from net administrator
8 Routing to another LAN walkthrough: send datagram from A to B via R assume A know’s B IP addressTwo ARP tables in router R, one for each IP network (LAN)In routing table at source Host, find routerIn ARP table at source, find MAC address E6-E BB-4B, etcARB
9 A R B A creates datagram with source A, destination B A uses ARP to get R’s MAC address forA creates link-layer frame with R's MAC address as dest, frame contains A-to-B IP datagramA’s adapter sends frameR’s adapter receives frameR removes IP datagram from Ethernet frame, sees its destined to BR uses ARP to get B’s MAC addressR creates frame containing A-to-B IP datagram sends to BARB
10 ARP FunctionalityThere 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.
11 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.
12 ARP Header FieldsHardware 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.
13 Ethernet “dominant” wired LAN technology: cheap $20 for 100Mbs! first widely used LAN technologySimpler, cheaper than token LANs and ATMKept up with speed race: 10 Mbps – 10 GbpsMetcalfe’s Ethernetsketch
14 Star topology Bus topology popular through mid 90s Now star topology prevailsConnection choices: hub or switch (more later)hub orswitch
15 Ethernet Frame Structure Sending adapter encapsulates IP datagram (or other network layer protocol packet) in Ethernet framePreamble:7 bytes with pattern followed by one byte with patternused to synchronize receiver, sender clock rates
16 Ethernet Frame Structure (more) Addresses: 6 bytesif adapter receives frame with matching destination address, or with broadcast address (eg ARP packet), it passes data in frame to net-layer protocolotherwise, adapter discards frameType: 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
18 Encapsulating the Packet The Ethernet protocol defines the frame format.Adds headers and trailers around the Layer 3 packet.
19 Encapsulating the Packet The IEEE Ethernet Frame format:Minimum Size: 64 BytesMaximum Size: 1518 BytesIf the frame is less than the minimum or greater than the maximum, it is considered corrupt and will be dropped.LENGTH OF FIELD IN BYTES716246 – 15004PreambleStart of Frame DelimiterDestination MAC AddressSource MAC AddressLength or TypeData and PadFCSHeaderTrailer
20 Encapsulating the Packet LENGTH OF FIELD IN BYTES716246 – 15004PreambleStart of Frame DelimiterDestination MAC AddressSource MAC AddressLength or TypeData and PadFCSPreamble 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.
21 Encapsulating the Packet LENGTH OF FIELD IN BYTES716246 – 15004PreambleStart of Frame DelimiterDestination MAC AddressSource MAC AddressLength or TypeData and PadFCSDestination 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.
22 Encapsulating the Packet LENGTH OF FIELD IN BYTES716246 – 15004PreambleStart of Frame DelimiterDestination MAC AddressSource MAC AddressLength or TypeData and PadFCSSource 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.
23 Encapsulating the Packet LENGTH OF FIELD IN BYTES716246 – 15004PreambleStart of Frame DelimiterDestination MAC AddressSource MAC AddressLength or TypeData and PadFCSLength / Type – 2 bytes:DIX used this for type, the original IEEE standard used it for length. The later IEEE standard (Ethernet II) allows it to be used for either.Ethernet II is the frame type used in TCP/IP networks.If the value is greater than 1518 (0x600), it contains a code identifying the encapsulated upper layer protocol.Any other value defines the length of the frame.
24 Encapsulating the Packet LENGTH OF FIELD IN BYTES716246 – 15004PreambleStart of Frame DelimiterDestination MAC AddressSource MAC AddressLength or TypeData and PadFCSData and Pad – 46 to 1500 bytes:The encapsulated data from Layer 3.Most commonly an IPv4 packet.If the total frame length is less than 64 bytes, the field is padded to the right with enough null characters to meet the minimum frame length.
25 Encapsulating the Packet LENGTH OF FIELD IN BYTES716246 – 15004PreambleStart of Frame DelimiterDestination MAC AddressSource MAC AddressLength or TypeData and PadFCSFrame Check Sequence (FCS)– 4 bytes:Used to detect errors in a frame that may have occurred during transmission along the media.The result of a Cyclic Redundancy Check (CRC) is placed in the frame by the sending node.The receiving node performs the same CRC and compares the values….they should be equal.
26 Ethernet MAC AddressLENGTH OF FIELD IN BYTES716246 – 15004PreambleStart of Frame DelimiterDestination MAC AddressSource MAC AddressLength or TypeData and PadFCSIn order for a transmission to be received properly at the destination computer, there must be a method of uniquely identifying that host.A unique address is permanently programmed into ROM in each NIC ("burned in“ ) when it is manufactured.Because of this, the MAC Address is often referred to as the burned in (BIA) address or physical address of a machine.
27 Ethernet MAC Address 48 bits in length. Expressed as 12 hexadecimal digits.The first 6 hexadecimal digits, which are administered by the IEEE, identify the manufacturer or vendor and thus comprise the Organizational Unique Identifier (OUI).The remaining 6 hexadecimal digits comprise the interface serial number, or another value administered by the specific vendor.
28 Ethernet MAC AddressLENGTH OF FIELD IN BYTES716246 – 15004PreambleStart of Frame DelimiterDestination MAC AddressSource MAC AddressLength or TypeData and PadFCSWhen a network device matches the destination address to the address in the NIC, the NIC passes the frame up the OSI layers where the decapsulation process takes place.The MAC address is essential to communications on a network. It is the only address that guarantees that the message will be accepted by the destination.
29 Unreliable, connectionless service Connectionless: No handshaking between sending and receiving adapter.Unreliable: receiving adapter doesn’t send acks or nacks to sending adapterstream of datagrams passed to network layer can have gapsgaps will be filled if app is using TCPotherwise, app will see the gaps
30 10BaseT and 100BaseT 10/100 Mbps rate; latter called “fast ethernet” T stands for Twisted PairNodes connect to a hub: “star topology”; 100 m max distance between nodes and hubtwisted pairhub
31 Hubs Hubs are essentially physical-layer repeaters: bits coming from one link go out all other linksat the same rateno frame bufferingno CSMA/CD at hub: adapters detect collisionsprovides net management functionalitytwisted pairhub
32 Manchester encoding Used in 10BaseT Each bit has a transition Allows clocks in sending and receiving nodes to synchronize to each otherno need for a centralized, global clock among nodes!Hey, this is physical-layer stuff!
33 Gbit Ethernet uses standard Ethernet frame format allows for point-to-point links and shared broadcast channelsin shared mode, CSMA/CD is used; short distances between nodes required for efficiencyuses hubs, called here “Buffered Distributors”Full-Duplex at 1 Gbps for point-to-point links10 Gbps now !