Computer Networking An Introduction to Computer Networks and Layered Architectures Dr Sandra I. Woolley
Contents Introduction to computer networks Layered architectures OSI and TCP/IP layer models Overview of TCP/IP Application protocols and TCP/IP utilities OSI – Open Systems Interconnection TCP/IP - Transmission Control Protocol/Internet Protocol 8P8C (RJ45) network connectors http://www.flickr.com/photos/kluzz/1694878799/
What is a Communication Network? A communication network is a set of equipment and facilities that provides a communication service. Examples of equipment are routers, servers, switches, multiplexers, hubs and modems. Examples of facilities are copper wires, coaxial cables, optical fiber, ducts, conduits, etc. A cloud is usually used to represent a computer network.
Network Protocols Communications between computers requires very specific unambiguous rules. A protocol is a set of rules that governs how two or more communicating parties are to interact. For example, Internet Protocol (IP) Transmission Control Protocol (TCP) HyperText Transfer Protocol (HTTP) Simple Mail Transfer Protocol (SMTP) http://www.flickr.com/photos/kairin/68086104/
Standards Bodies Internet Engineering Task Force Internet standards development Request for Comments (RFCs): www.ietf.org International Telecommunications Union International telecom standards IEEE 802 Committee Local area and metropolitan area network standards Industry Organizations MPLS Forum, WiFi Alliance, World Wide Web Consortium
Packet vs. Circuit Switching Architectures appear and disappear over time Telegraph (message switching) Telephone (circuit switching) Internet (packet switching) The trend is toward packet switching Cellular voice networks are packet-based. However, large packet flows are easier to manage with circuit-like methods.
Computer Network Evolution 1950s: Telegraph technology adapted to computers 1960s: Dumb terminals access shared host computer SABRE airline reservation system 1970s: Computers connect directly to each other ARPANET packet switching network Ethernet local area network TCP/IP internet protocols 1980s and 1990s: New applications and Internet growth Commercialization of Internet E-mail, file transfer, web, P2P, . . . Internet traffic surpasses voice traffic
ARPANET The Advanced Research Projects Agency Network (ARPANET) of the U.S. Department of Defense was the world's first operational packet switching network, and the progenitor of the global Internet. Previous data communications used circuit switching, where a dedicated circuit is required for the duration of each communication. With packet switching links could be shared and packets routed independently. Heart, F., McKenzie, A., McQuillian, J., and Walden, D., ARPANET Completion Report, Bolt, Beranek and Newman, Burlington, MA, January 4, 1978.
Ethernet Local Area Network In 1980s, affordable workstations available. Need for low-cost, high-speed networks To interconnect local workstations To access local shared resources (printers, storage, servers) Low cost, high-speed communications with low error rate possible using coaxial cable. Ethernet is the standard for high-speed wired access to computer networks. Category 5 Ethernet cable http://www.flickr.com/photos/zinkwazi/474203018/
Ethernet Medium Access Control Network interface cards (NICs) connect workstations to a LAN (Local Area Network.) Each NIC has a globally unique address. Frames are broadcast into coaxial cable. NICs listen to the medium for frames with their address. Transmitting NICs listen for collisions with other stations, and abort and reschedule retransmissions. Transceivers
Internet An internet is a network of networks. The Internet has a capital I ( … or does it? See right.) Routers (gateways) interconnect different networks. Host computers prepare Internet Protocol (IP) packets and transmit them over their attached network. Routers forward IP packets across networks. IP provides a “best-effort” service. 08:14 AM Aug. 16, 2004 PT Effective with this sentence, Wired News will no longer capitalize the "I" in internet. At the same time, Web becomes web and Net becomes net. Net 1 Net 2 Router
Internet Addressing and Routing IP uses a hierarchical address space: Network ID + Host ID IP packets (datagrams) are routed according to the Network ID IP routers use routing tables to direct the transfer of packets. G Net 1 Net 5 Net 3 Net 4 Net 2 H
Internet Names and IP Addresses Routing is done based on IP addresses. IPv4 has 32-bit addresses. We will consider IPv6 later. Addresses have a dotted-decimal notation. E.g., 128.100.11.1 Hosts are also identified by name Easier to remember Names often have a hierarchical name structure, e.g.www.eee.bham.ac.uk Domain Name System (DNS) provides conversion between names and addresses. Domain names can be purchased, for example, from UK2.net.
Internet Transport Protocols Host computers run two transport protocols on top of IP to enable process-to-process communications. User Datagram Protocol (UDP) enables best-effort transfer. Transmission Control Protocol (TCP) enables reliable transfer. All Internet applications run on TCP or UDP. For example, TCP: HTTP (web); SMTP (e-mail); FTP (file transfer) UDP: DNS, RTP (voice & multimedia) Internet Transport Protocol
Example in Textbook Study the example in the recommended text that describes what happens when a user clicks on a URL. Note: DNS domain name service uses UDP, HTTP uses TCP. Also note the use of port numbers; ephemeral port numbers and well-known port numbers. Browser software uses HyperText Transfer Protocol (HTTP) to send request for document HTTP server waits for requests by listening to a well-known port number (80 for HTTP) HTTP client sends request messages through an “ephemeral port number,” e.g. 1127 HTTP needs a Transmission Control Protocol (TCP) connection between the HTTP client and the HTTP server to transfer messages reliably TCP Connection Request From: 128.100.11.13 Port 1127 To: 64.15.247.200 Port 80 ACK, TCP Connection Request From: 64.15.247.200 Port 80 To:128.100.11.13 Port 1127 ACK
Layer Models
Layers, Services and Protocols The overall communications process between two or more machines connected across one or more networks is very complex. Layering puts similar communication functions into groups that are manageable. Each layer provides a service to the layer above. Each layer operates according to a protocol.
The OSI* Reference Model *Open Systems Interconnection Network architecture: Definition of layers Design of protocols for each layer By the 1970s every computer vendor had developed its own proprietary layered network architecture. Computers from different vendors could not be networked together. Open Systems Interconnection (OSI) was an international effort by the International Organization for Standardization (ISO) to enable multivendor computer interconnection.
The OSI Reference Model Application A Application B Application layer Application layer 7 Presentation layer Presentation layer 6 Session layer Session layer 6 Transport layer Transport layer 4 Communication network Network layer Network layer Network layer Network layer 3 Data link layer Data Link layer Data Link layer Data link layer 2 Physical layer Physical layer Physical layer 1 Physical layer
The OSI Layers Application layer : e-mail, file transfer, network management, etc. Presentation layer : independent representation of data. Session layer : dialogue control. Transport layer : end-to-end transfer of data - controls error control, flow control, connection set-up and release. Network layer : provides packet transfer of packets across the network. The key aspect is routing. Data link layer : transfers frames between network nodes. Inserts address and check bits. Performs flow control. Physical layer : Transfer of bits over the channel. Set up and release of physical connection.
Peer-to-Peer Communication Terminology Processes at layer n (any of the 7 layers) are referred to as layer n entities. Layer n+1 entities make use of layer n services below via a software port called the layer service access point (SAP). Entities exchange protocol data units (PDUs). PDUs contain a header (which contains protocol control information) and a service data unit (SDU) (information requiring communication). n entity n-PDUs
Layer Services n+1 entity n-SDU n-SAP H n entity n-PDU The layer n SDU is the layer n + 1 PDU and is encapsulated in the layer n PDU. The service provided by a layer can be connection-oriented or connectionless.
Headers and Trailers sh Application A Application B Data ah Bits dh dt layer Presentation Session Transport Network Data link Physical Application A Application B Data ah Bits dh dt nh th ph
Segmentation and Reassembly A layer may impose a limit on the size of a data block that it can transfer for implementation or other reasons. Thus a layer-n SDU may be too large to be handled as a single unit by layer-(n-1) Sender side: SDU is segmented into multiple PDUs Receiver side: SDU is reassembled from sequence of PDUs (a) Segmentation n-SDU n-PDU n-PDU n-PDU Reassembly (b) n-SDU n-PDU n-PDU n-PDU
The Internet and TCP/IP
TCP/IP Network Architecture While the OSI standards were being developed the TCP/IP (Transmission Control Protocol/Internet Protocol) network architecture emerged as an alternative. TCP/IP was distributed freely as part of Berkeley UNIX. Numerous applications were developed at various universities and a market for networking software emerged. This led to a global Internet and the dominance of the TCP/IP network architecture. IP provides a connectionless best-effort service for packets of information.
TCP/IP Network Architecture The TCP/IP model does not require strict layering. E.g. Applications can run directly over the internet layer. Application Layer Application Layer Transport Layer Transport Layer Internet Layer Internet Layer Network Interface Network Interface
How the Layers Work Together (Encapsulation Example) HTTP Request TCP Header contains source & destination port numbers TCP header HTTP Request IP Header contains source and destination IP addresses; transport protocol type IP header TCP header HTTP Request Ethernet Header contains source & destination MAC addresses; network protocol type Ethernet header IP header TCP header HTTP Request FCS* *FCS – Frame Check Sequence
TCP/IP Network Architecture The TCP/IP network architecture is a set of protocols that allows communication across multiple diverse networks. It has four layers. The TCP/IP application layer incorporates the functions of the top three OSI layers. Application layer programs (email, file transfer etc.) are intended to run directly over the transport layer. Two basic types of service are offered in the transport layer; Transmission Control Protocol (TCP) - reliable connection-oriented transfer User Datagram Protocol (UDP) - best-effort connectionless transfer. The internet layer handles the transfer of information across multiple networks (e.g., routing and congestion control). A key aspect of the internet layer is the definition of a globally unique address for machines. The internet layer provides a single service of best effort connectionless packet transfer. The network interface layer enables IP communication across different networks. Application Layer Transport Internet Network Interface
Internet Protocol Approach IP packets transfer information across Internet Host A IP → router→ router→ router→ Host B IP IP layer in each router determines next hop (router) Network interfaces transfer IP packets across networks Application layer Transport layer Internet layer Network interface layer Network interface layer Network 1 Network 2 Machine A Machine B Router/gateway
TCP/IP Protocols (ICMP, ARP) HTTP SMTP DNS RTP Reliable stream service UDP Best-effort connectionless packet transfer IP (ICMP, ARP) Network interface 1 Network interface 2 Network interface 3
IP Utilities PING - a simple application to determine if a host is reachable. Makes use of Internet Control Message Protocol (ICMP) messages. The purpose of ICMP is to inform sending hosts about errors encountered by destination hosts or routers. Traceroute - to determine the route that a packet will take to another host. Makes use of ICMP and UDP. The sender sends a UDP datagram with TTL =1 (Time to live in hops = 1) and an invalid port no. to the destination host. The first router sets TTL to 0, discards the datagram and sends an ICMP Time Exceeded message to the sender. This identifies the first machine in the route. TTL is incrementally increased until the destination is reached. The destination then returns an ICMP Port Unreachable message to the sender. Netstat - provides information about the network status. Tcpdump - capture and observe packet exchanges in a link.
Private Study Recommendations Read chapters 1 and 2 (Section 2.4 on sockets is NOT assessed). Study the “nytimes” example in the text. Experiment with Wireshark (previously “Ethereal”). Experiment with utilities, for example: ping at command prompt -Type "command" in "Run" box and then "ping" at prompt – instructions will appear) traceroute – See visual traceroute or 3D traceroute applications at www.snapfiles.com (“tracert” is the command line instruction) Visit www.mycooltools.com for “VisualRoute and “Myspeed”
Thank You