Lecture 3 Overview Protocol • An agreed upon convention for communication • both endpoints need to understand the protocol. • Protocols must be formally defined and unambiguous! • Protocols define • format, • order of msgs sent and received among network entities, • actions taken on msg transmission, receipt • We will study lots of existing protocols and perhaps develop a few of our own. Lecture 3: Protocol Layers 2 Client - Server • A server is a process - not a machine ! • A server waits for a request from a client • A client is a process that sends a request to an existing server and (usually) waits for a reply • Servers are generally more complex • Basic types of servers: Iterative - server handles one client at a time Concurrent - server handles many clients at a time Lecture 3: Protocol Layers 3 OSI 7 Layer Model: 7 6 5 4 3 2 1 Application Presentation Session Transport Network Data-Link Physical High level protocols TCP/IP Model Low level protocols Lecture 3: Protocol Layers 4 The Physical Layer • Responsibility: – transmission of raw bits over a communication channel • Issues: – mechanical and electrical interfaces – time per bit – distances Lecture 3: Protocol Layers 5 The Data Link Layer • Responsibility: – provide an error-free communication link – Sublayers • Data Link Control • Medium Access Control • Issues: – framing (dividing data into chunks) • header & trailer bits – addressing 10110110101 Lecture 3: Protocol Layers 01100010011 10110000001 6 The Network Layer • Responsibilities: – path selection between end-systems (routing). – flow control. – fragmentation & reassembly – translation between different network types. • Issues: – packet headers – virtual circuits Lecture 3: Protocol Layers 7 The Transport Layer • Responsibilities: – provides virtual end-to-end links between peer processes. – end-to-end flow control • Issues: – headers – error detection – reliable communication Lecture 3: Protocol Layers 8 The Application Layer • Responsibilities: – anything not provided by any of the other layers – TCP/IP model • Session and Presentation Layer functions • Issues: – application level protocols – appropriate selection of “type of service” Lecture 3: Protocol Layers 9 Layering & Headers • Each layer needs to add some control information to the data in order to do it’s job. • This information is typically prepended to the data before being given to the lower layer. • Once the lower layers deliver the data and control information - the peer layer uses the control information. Lecture 3: Protocol Layers 10 What are the headers? Physical: – no header - just a bunch of bits Data Link: – address of the receiving endpoints – address of the sending endpoint – length of the data – checksum Lecture 3: Protocol Layers 11 What are the headers? • Network: – – – – – – – – – – Protocol Protocol version type of service packet identifier time to live source network address destination network address length of the data fragment number header checksum Lecture 3: Protocol Layers 12 Lecture 4 TCP / IP model Lecture 1 Internet CPE 401 / 601 Computer Network Systems slides are modified from Dave Hollinger Ethernet • Data Link Layer protocol • Ethernet (IEEE 802.3) is widely used • Supported by a variety of physical layer implementations • Multi-access (shared medium) TCP/IP model 14 CSMA/CD • Carrier Sense Multiple Access with Collision Detection • Carrier Sense – can tell when another host is transmitting • Multiple Access – many hosts on 1 wire • Collision Detection – can tell when another host transmits at the same time. TCP/IP model 15 An Ethernet Frame • The preamble is a sequence of alternating 1s and 0s used for synchronization. Preamble 8 bytes Destination Source Address Address 6 6 DATA Len 2 0-1500 CRC 4 • CRC is Cyclic Redundency Check TCP/IP model 16 Ethernet Addressing • Every Ethernet interface has a unique 48 bit address (a.k.a. hardware address). – Example: C0:B3:44:17:21:17 – The broadcast address is all 1’s. – Assigned to vendors by a central authority • Each interface looks at every frame and inspects the destination address. – If the address does not match the hardware address of the interface (or the broadcast address), the frame is discarded. TCP/IP model 17 Internet Protocol • IP is the network layer – packet delivery service (host-to-host). – translation between different data-link protocols • IP provides connectionless, unreliable delivery of IP datagrams. – Connectionless: each datagram is independent of all others. – Unreliable: there is no guarantee that datagrams are delivered correctly or even delivered at all. TCP/IP model 18 IP Addresses • IP addresses are not the same as the underlying data-link (MAC) addresses. • IP is a network layer - it must be capable of providing communication between hosts on different kinds of networks Why ? – different data-link implementations • The address must include information about what network the receiving host is on – This is what makes routing feasible. TCP/IP model 19 IP Addresses • IP addresses are logical addresses – not physical • • • • IPv4 (version 4) 32 bits Includes a network ID and a host ID Every host must have a unique IP address IP addresses are assigned by a central authority – American Registry for Internet Numbers for North America TCP/IP model 20 The four formats of IP Addresses Class A 0 NetID HostID 128 possible network IDs, over 4 million host IDs per network ID B 10 NetID HostID 16K possible network IDs, 64K host IDs per network ID C 110 HostID NetID Over 2 million possible network IDs, 256 host IDs per network ID D 1110 8 bits TCP/IP model Multicast Address 8 bits 8 bits 8 bits 21 Network and Host IDs • A Network ID is assigned to an organization by a global authority. • Host IDs are assigned locally by a system administrator. • Both the Network ID and the Host ID are used for routing. TCP/IP model 22 IP Addresses • IP Addresses are usually shown in dotted decimal notation: 1.2.3.4 00000001 00000010 00000011 00000100 • cse.unr.edu is 134.197.40.3 • 10000110 11000101 00101000 00000010 CSE has a class B network TCP/IP model 23 Host and Network Addresses • A single network interface is assigned a single IP address called the host address • A host may have multiple interfaces – therefore multiple host addresses • Hosts that share a network all have the same IP network address (the network ID) • An IP address that has a host ID of all 0s is called a network address and refers to an entire network TCP/IP model 24 Subnet Addresses • An organization can subdivide it’s host address space into groups called subnets • The subnet ID is generally used to group hosts based on the physical network topology 10 TCP/IP model NetID SubnetID HostID 25 Subnetting router Subnet 1 134.197.1.x TCP/IP model Subnet 2 134.197.2.x Subnet 3 134.197.3.x 26 Subnetting • Subnets can simplify routing • IP subnet broadcasts have a hostID of all 1s • It is possible to have a single wire network with multiple subnets TCP/IP model 27 Mapping IP to Hardware Addresses • IP Addresses are not recognized by hardware. • If we know the IP address of a host, how do we find out the hardware address ? • The process of finding the hardware address of a host given the IP address is called Address Resolution TCP/IP model 28 ARP • Address Resolution Protocol is used by a sending host when it knows the IP address of destination but needs the Ethernet address • ARP is a broadcast protocol – every host on the network receives the request – Each host checks the request against it’s IP address • the right one responds • Hosts remember the hardware addresses of each other TCP/IP model 29 ARP conversation HEY - Everyone please listen! Will 128.213.1.5 please send me its Ethernet address? not me Hi Green! I’m 128.213.1.5, and my Ethernet address is 87:A2:15:35:02:C3 TCP/IP model 30 IP Datagram 1 byte 1 byte 1 byte 1 byte VERS HL Service Fragment Length Datagram ID FLAG Fragment Offset TTL Protocol Header Checksum Source Address Destination Address Options (if any) Data TCP/IP model 31 IP Datagram Fragmentation • Packets are fragmented due to link’s Maximum Transmission Unit (MTU) • Each fragment (packet) has the same structure as the IP datagram • IP specifies that datagram reassembly is done only at the destination – not on a hop-by-hop basis • If any of the fragments are lost – the entire datagram is discarded TCP/IP model 32