Netcentric Fundamentals (ITT501) Chapter 2 - Network Communication PDF
Document Details
Uploaded by WellRoundedNovaculite544
Tags
Summary
This document provides an overview of network communication concepts, including topics like the OSI model, data link layer, internetworking, transport layer, and network standards. It also discusses distributed systems, and network structure.
Full Transcript
Netcentric Fundamentals (ITT501) Chapter 2 - Overview of Network Communication Topic Outline Introduction OSI Layer model Overview of Physical and Data Link Layer Data Link layer access control concepts Internetworking and routing Overview...
Netcentric Fundamentals (ITT501) Chapter 2 - Overview of Network Communication Topic Outline Introduction OSI Layer model Overview of Physical and Data Link Layer Data Link layer access control concepts Internetworking and routing Overview of Transport Layer services Network standards and standardization bodies Distributed System (Network & Communication) A closer look at network structure: network edge: mobile network – hosts: clients and servers – servers often in data centers global ISP access networks, home ❖ network physical media: wired, regional ISP wireless communication links ❖ network core: ▪ interconnected routers ▪ network of networks institutional network Introduction 1-4 MAC Addresses MAC addresses function at the lowest (Data Link) networking level. If a host does not know the MAC address of another host on a local area network, it uses the operating system to discover the MAC address. 5 IP Addresses All the protocols of the TCP/IP suite identify a device on the Internet or an intranet by its IP address. An IP address is 32 bits long, made up of 4 bytes separated by periods. Within an IP address, each of the four numbers separated by periods is called an octet. The first part of an IP address identifies the network, and the last part identifies the host. 00000000.00000000.0000000.0000000 6 Classes of IP Addresses IP addresses that can be used by companies and individuals are divided into three classes: Class A, Class B, and Class C, based on the number of possible IP addresses in each network within each class. The group of IP addresses assigned to an organization are unique to all other IP addresses on the Internet and are available for use on the Internet. 7 Private IP Addresses Private IP addresses are IP addresses that are assigned by a network administrator for use on private intranets that are isolated from the Internet. The IP addresses available to the Internet are called public IP addresses. 8 Dynamically Assigned IP Addresses Instead of IP addresses permanently being assigned to computers (called static IP addresses), an IP address is assigned for the current session only (called a dynamic IP address). Internet service providers (ISPs) are organizations through which individuals and businesses connect to the Internet. 9 Network Address Translation If the hosts on a network using private IP addresses need to access the Internet, a problem arises because the private IP addresses are not allowed on the Internet. The solution is to use NAT (Network Address Translation), which uses a single public IP address to access the Internet on behalf of all hosts on the network using other IP addresses. 10 The network core mesh of interconnected routers packet-switching: hosts break application-layer messages into packets – forward packets from one router to the next, across links on path from source to destination – each packet transmitted at full link capacity Introduction 1-11 How do loss and delay occur? packets queue in router buffers packet arrival rate to link (temporarily) exceeds output link capacity packets queue, wait for turn packet being transmitted (delay) A B packets queueing (delay) free (available) buffers: arriving packets dropped (loss) if no free buffers Introduction 1-12 Alternative core: circuit switching end-end resources allocated to, reserved for “call” between source & dest: In diagram, each link has four circuits. – call gets 2nd circuit in top link and 1st circuit in right link. dedicated resources: no sharing – circuit-like (guaranteed) performance circuit segment idle if not used by call (no sharing) Commonly used in traditional telephone networks Introduction 1-13 Packet switching versus circuit switching packet switching allows more users to use network! circuit-switching: – 10 users N users packet switching: 1 Mbps link – with 35 users, probability > 10 active at same time is less than.0004 * * Check out the online interactive exercises Introduction for more examples 1-14 Packet switching versus circuit switching is packet switching a “slam dunk winner?” great for bursty data – resource sharing – simpler, no call setup excessive congestion possible: packet delay and loss – protocols needed for reliable data transfer, congestion control Q: How to provide circuit-like behavior? – bandwidth guarantees needed for audio/video apps Introduction 1-15 History of the OSI model OSI stands for Open System Interconnection is a reference model that describes how information from a software application in one computer moves through a physical medium to the software application in another computer. Developed by representatives of major computer and telecommunication companies beginning in 1983, OSI was originally intended to be a detailed specification of actual interfaces. Instead, the committee decided to establish a common reference model that others could then use to develop detailed interfaces, which, in turn, could become standards governing the transmission of data packets. The OSI architecture was officially adopted as an international standard by the International Organization for Standardization (ISO) in 1984. Protocols at the Application, Presentation, and Session Layers The first three layers of the OSI model are handled by the protocol specific to the application using it and are best treated as a single group rather than unique layers. Web browsers, e-mail, chat rooms, and FTP software are examples of the applications that use the Internet. 18 Protocols at the Transport Layer A TCP/IP network has two protocols that work at the Transport layer; one protocol guarantees delivery and the other does not. With TCP/IP, the protocol that guarantees delivery is TCP and the protocol that does not is UDP (User Datagram Protocol). TCP is used for client and server requests and responses. 19 Protocols at the Transport Layer (Continued) Because TCP establishes a connection, it is called a connection-oriented protocol. UDP is a protocol that sends data without caring about whether the data is received. It does not establish a connection first; thus, it is called a connectionless protocol. 20 Protocols at the Network Layer TCP and UDP communicate with the Network layer, which is sometimes called the Internet layer. Some of the other supporting protocols include – ARP (Address Resolution Protocol), responsible for locating a host on a LAN; – RARP (Reverse Address Resolution Protocol), responsible for discovering the Internet address of a host on a LAN; – ICMP (Internet Control Message Protocol), responsible for communicating problems with transmission to devices that need to know about these problems. 21 Protocols at the Data Link and Physical Layers PPP (Point-to-Point Protocol) is used over telephone lines, and allows a computer to connect to a network using a modem. PPP is the most popular protocol for managing network transmission from one modem to another. 22 Link layer terminology: hosts and routers: nodes communication channels that global ISP connect adjacent nodes along communication path: links – wired links – wireless links – LANs layer-2 packet: frame, encapsulates datagram data-link layer has responsibility of transferring datagram from one node to physically adjacent node over a link Link Layer 5-23 Link layer: context datagram transferred by transportation analogy: different link protocols over trip from Princeton to Lausanne different links: – limo: Princeton to JFK – plane: JFK to Geneva – e.g., Ethernet on first link, – train: Geneva to Lausanne frame relay on tourist = datagram intermediate links, 802.11 transport segment = on last link communication link Each link protocol provides transportation mode = link different services layer protocol – e.g., may or may not travel agent = routing provide rdt over link algorithm Link Layer 5-24 Link layer services framing, – encapsulate datagram into frame, adding header, trailer link access: – channel access if shared medium “MAC” addresses used in frame headers to identify source, dest different from IP address! Link Layer 5-25 Link layer services (more) flow control: – pacing between adjacent sending and receiving nodes error detection: – errors caused by signal attenuation, noise. – receiver detects presence of errors: signals sender for retransmission or drops frame error correction: – receiver identifies and corrects bit error(s) without resorting to retransmission Link Layer 5-26 Where is the link layer implemented? in each and every host link layer implemented in “adaptor” (aka network interface card NIC) or on a chip application transport – Ethernet card, 802.11 card; network cpu memor y Ethernet chipset link – implements link, physical host bus control layer link ler (e.g., PCI) attaches into host’s system physical physical buses transmission combination of hardware, network adapter software, firmware card Link Layer 5-27 A data link layer frame has the following parts: Frame Header: It contains the source and the destination addresses of the frame and the control bytes. Payload field: It contains the message to be delivered. Trailer: It contains the error detection and error correction bits. It is also called a Frame Check Sequence (FCS). Flag: Two flag at the two ends mark the beginning and the end of the frame. Multiple access links, protocols two types of “links”: point-to-point – PPP for dial-up access – point-to-point link between Ethernet switch, host broadcast (shared wire or medium) – old-fashioned Ethernet – upstream HFC – 802.11 wireless LAN shared wire (e.g., shared RF shared RF humans at a cabled Ethernet) (e.g., 802.11 WiFi) (satellite) cocktail party (shared air, acoustical) Link Layer 5-29 Multiple access protocols single shared broadcast channel two or more simultaneous transmissions by nodes: interference – collision if node receives two or more signals at the same time multiple access protocol distributed algorithm that determines how nodes share channel, i.e., determine when node can transmit communication about channel sharing must use channel itself! – no out-of-band channel for coordination Link Layer 5-30 MAC protocols: taxonomy three broad classes: channel partitioning – divide channel into smaller “pieces” (time slots, frequency, code) – allocate piece to node for exclusive use random access – channel not divided, allow collisions – “recover” from collisions “taking turns” – nodes take turns, but nodes with more to send can take longer turns Link Layer 5-31 Error detection EDC= Error Detection and Correction bits (redundancy) D = Data protected by error checking, may include header fields Error detection not 100% reliable! protocol may miss some errors, but rarely larger EDC field yields better detection and correction otherwise Link Layer 5-32 Methods 1. Parity Checking single bit parity: detect single bit errors two-dimensional bit parity: detect and correct single bit errors 1. Checksum detect “errors” (e.g., flipped bits) in transmitted packet (note: used at transport layer only) 1. Cyclic redundancy check CRC field is appended to the message as the last field in the message by sending device. The receiving device recalculates a CRC during receipt of the message, and compares the calculated value to the actual value If the two values are not equal, it results in an error. Link Layer 5-33 Network layer application transport segment from transport network sending to receiving host data link physical network network on sending side encapsulates data link data link network physical physical data link segments into datagrams physical network network data link data link physical physical on receiving side, delivers network network segments to transport layer data link physical network data link physical network layer protocols in data link physical every host, router application network transport data link network network physical router examines header network data link data link data link physical physical physical fields in all IP datagrams passing through it Network Layer 4-34 The Internet network layer host, router network layer functions: transport layer: TCP, UDP routing protocols IP protocol path selection addressing conventions RIP, OSPF, datagram format network BGP packet handling layer conventions forwarding table ICMP protocol error reporting router “signaling” link layer physical layer Network Layer 4-35 Two key network-layer services forwarding: move analogy: packets from router’s ❖ routing: process of input to appropriate planning trip from source router output to dest ❖ forwarding: process of routing: determine getting through single route taken by packets interchange from source to dest. – routing algorithms Network Layer 4-36 Interplay between routing and forwarding routing algorithm routing algorithm determines end-end-path through network local forwarding table header value output link forwarding table determines 0100 3 local forwarding at this router 0101 2 0111 2 1001 1 value in arriving packet’s header 0111 1 3 2 Network Layer 4-37 Transport Layer application ❖ provide logical communication transport network data link between app processes physical running on different hosts ❖ transport protocols run in end systems ▪ send side: breaks app messages into segments, passes to network layer ▪ recv side: reassembles segments into messages, application transport passes to app layer network data link ❖ more than one transport physical protocol available to apps ▪ Internet: TCP and UDP Transport Layer 3-38 Transport Layer sevices provides mechanisms – error control – flow control – congestion control to keep track of the data packets, – check for errors and duplication – resend the information that fails delivery. Transport Layer 3-39 Transport-layer protocols application reliable, in-order transport network delivery (TCP) data link physical network – congestion control network data link data link physical physical – flow control network data link physical – connection setup network unreliable, unordered data link physical network delivery: UDP data link physical network – no-frills extension of data link physical application transport network “best-effort” IP data link physical network data link services not available: physical – delay guarantees – bandwidth guarantees Transport Layer 3-40 Transport-layer protocols (cont.) UDP and TCP responsibility is to extend IP’s delivery service between two end systems to a delivery service between two processes running on the end systems. Extending host-to-host delivery to process-to- process delivery is called transport-layer multiplexing and demultiplexing. Transport vs. network layer ❖network layer: household analogy: logical communication 12 kids in Ann’s house sending letters to 12 kids in Bill’s between hosts house: ❖transport layer: hosts = houses logical processes = kids communication app messages = letters in envelopes between processes transport protocol = Ann’ ▪ relies on, enhances, multiplexing and Bill’ network layer demultiplexing to in-house services siblings network-layer protocol = postal service Transport Layer 3-42 Multiplexing/demultiplexing multiplexing at sender: handle data from multiple demultiplexing at receiver: use header info to deliver sockets, add transport header received segments to (later used for demultiplexing) correct socket Transport Layer 3-43 How demultiplexing works ❖ host receives IP datagrams 32 bits ▪ each datagram has source IP address, destination IP address source port # dest port # ▪ each datagram carries one transport- layer segment ▪ each segment has source, destination port number other header fields ❖ host uses IP addresses & port numbers to direct segment to appropriate socket application data (payload) TCP/UDP segment format Transport Layer 3-44 UDP: User Datagram Protocol [RFC 768] “no frills,” “bare bones” ❖ UDP use: Internet transport protocol ▪ streaming multimedia “best effort” service, UDP apps (loss tolerant, rate segments may be: sensitive) – lost ▪ DNS – delivered out-of-order to ▪ SNMP app connectionless: ❖ reliable transfer over – no handshaking between UDP: UDP sender, receiver ▪ add reliability at – each UDP segment application layer handled independently ▪ application-specific error of others recovery! Transport Layer 3-45 UDP: segment header length, in bytes of UDP 32 bits segment, including source port # dest port # header length checksum why is there a UDP? ❖ no connection application establishment (which can data add delay) (payload) ❖ simple: no connection state at sender, receiver ❖ small header size UDP segment format ❖ no congestion control: UDP can blast away as fast as desired Transport Layer 3-46 TCP: Overview full duplex data: point-to-point: – bi-directional data flow in – one sender, one receiver same connection – MSS: maximum segment reliable, in-order byte size (536, 1460) – MSS is set based on MTU steam: (MSS = MTU – 40) – no “message boundaries” – Path MTU Discovery connection-oriented: pipelined: – handshaking (exchange of – TCP congestion and flow control msgs) init’s sender, receiver state before data control set window size exchange send & receive buffers flow controlled: – sender will not overwhelm receiver 3-47 TCP segment structure 32 bits URG: urgent data counting (generally not used) source port # dest port # by bytes sequence number of data ACK: ACK # valid acknowledgement number (not segments!) head not PSH: push data now len used UA P R S F Receive window (generally not used) # bytes checksum Urg data pnter rcvr willing RST, SYN, FIN: to accept Options (variable length) connection estab (setup, teardown commands) application Internet data checksum (variable length) (as in UDP) Transport Layer 3-48 TCP seq. #’s and ACKs Seq. #’s: Host A Host B – byte stream “number” of first User byte in segment’s types data ‘C’ host ACKs ACKs: receipt of – seq # of next byte ‘C’, echoes expected from back ‘C’ other side – cumulative ACK host ACKs Q: how receiver handles receipt out-of-order segments of echoed ‘C’ – A: TCP spec doesn’t say, - up to implementor time simple telnet scenario Transport Layer 3-49 TCP reliable data transfer TCP creates rdt service Retransmissions are on top of IP’s unreliable triggered by: service – timeout events Pipelined segments – duplicate acks Cumulative acks Initially consider TCP uses single simplified TCP sender: – ignore duplicate acks retransmission timer – ignore flow control, congestion control Transport Layer 3-50 TCP Connection Management Recall: TCP sender, receiver Three way handshake: establish “connection” before exchanging data Step 1: client host sends TCP segments SYN segment to server initialize TCP variables: – specifies initial seq # – seq. #s – no data – buffers, flow control Step 2: server host receives info (e.g. RcvWindow) SYN, replies with SYNACK client: connection initiator segment Socket clientSocket = new – server allocates buffers Socket("hostname","port – specifies server initial number"); seq. # server: contacted by client Step 3: client receives SYNACK, Socket connectionSocket = welcomeSocket.accept(); replies with ACK segment, which may contain data Transport Layer 3-51 TCP Connection Management (cont.) Closing a connection: client server client closes socket: close clientSocket.close(); Step 1: client end system sends TCP FIN control close segment to server Step 2: server receives FIN, replies with ACK. Closes timed wait connection, sends FIN. closed Transport Layer 3-52 TCP Connection Management (cont.) Step 3: client receives FIN, client server replies with ACK. closing – Enters “timed wait” - will respond with ACK to received FINs Step 4: server, receives ACK. closing Connection closed. Note: with small modification, can handle simultaneous timed wait FINs. closed closed Transport Layer 3-53 Networking Standards Organizations Standards are documented agreements containing technical specifications ANSI (American National Standards Institute) is an organization composed of more than a thousand representatives from industry and government who together determine standards for the electronics industry and other fields, such as chemical and nuclear engineering, health and safety, and construction Network + 54 Networking Standards Organizations (continued) EIA (Electronic Industries Alliance) is a trade organization composed of representatives from electronics manufacturing firms across the United States Network + 55 Networking Standards Organizations (continued) TIA (Telecommunications Industry Association) Focuses on standards for information technology, wireless, satellite, fiber optics, and telephone equipment TIA/EIA alliance are its guidelines for how network cable should be installed in commercial buildings, known as the “TIA/EIA 568-B Series.” Network + 56 Networking Standards Organizations (continued) IEEE (Institute of Electrical and Electronics Engineers), or “I-triple-E,” is an international society composed of engineering professionals IEEE goals are to promote development and education in the electrical engineering and computer science fields Network + 57 Networking Standards Organizations (continued) ISO (International Organization for Standardization), headquartered in Geneva, Switzerland, is a collection of standards and organizations representing 148 countries ISO’s goal is to establish international technological standards to facilitate global exchange of information and barrier-free trade Network + 58 Networking Standards Organizations (continued) The ITU (International Telecommunication Union) is a specialized United Nations agency that regulates international telecommunications, including radio and TV frequencies, satellite and telephony specifications, networking infrastructure, and tariffs applied to global communications Network + 59 Networking Standards Organizations (continued) ISOC (Internet Society), founded in 1992, is a professional membership society that helps to establish technical standards for the Internet ISOC oversees groups with specific missions, such as the IAB and IETF Network + 60 Networking Standards Organizations (continued) IAB (Internet Architecture Board) is a technical advisory group of researchers and technical professionals interested in overseeing the Internet’s design and management IETF (Internet Engineering Task Force), the organization that sets standards for how systems communicate over the Internet—in particular, how protocols operate and interact Network + 61 Networking Standards Organizations (continued) IANA and ICANN Every computer / host on a network must have a unique address Internet Assigned Numbers Authority (IANA) kept records of available and reserved IP addresses and determined how addresses were issued out Internet Corporation for Assigned Names and Numbers (ICANN), a private, nonprofit corporation and is now ultimately responsible for IP addressing and domain name management Network + 62 References Computer Networking: A Top-Down Approach (7th Edition) – Chapter 1 – Chapter 3 – Chapter 4 – Chapter 5 – Chapter 6