Chapter 2 Protocols and Architecture CS408/533 Computer Networks Chapter 2 Protocols and Architecture
Characteristics Direct or indirect Monolithic or structured Standard or nonstandard
Direct or Indirect Direct Systems share a point to point link or Systems share a multi-point broadcast link No intervening active agent a hub or switch possible
Direct or Indirect Indirect Switched networks or Internetworks or internets Data transfer depend on functioning other entities
Monolithic or Structured single unit for all communication tasks too complex a small change effects the whole package hard to debug Structured design breaks down problem into smaller units Layered structure
Standard or Nonstandard Nonstandard protocols K sources and L receivers leads to K*L protocols and 2*K*L implementations If common protocol used, K + L implementations needed Customer demand for standard protocols not to stick to a specific vendor
Use of Standard Protocols
Functions Encapsulation Segmentation and reassembly Connection control Ordered delivery Flow control Error control Addressing Multiplexing Transmission services
Encapsulation Addition of control information to data Address information Error-detecting code Protocol control
Segmentation (Fragmentation) Application layer data sequence of blocks of bounded size continuous stream Application layer data may be large Lower level data blocks should be of smaller size Splitting larger blocks into smaller ones is segmentation (or fragmentation in TCP/IP) Restoring the original application data is called “reassembly”
Segmentation (Fragmentation) Why fragmentation? Network limits ATM blocks (cells) are 53 octets long Ethernet blocks (frames) are up to 1526 octets long More efficient error control and recovery Fair access to network facilities Smaller buffers needed Disadvantages Overheads (each PDU needs a header) Increased interrupts at receiver More processing time
Connection Control Connectionless vs. connection oriented data transfer Connection oriented Connection Establishment request/response + negotiation of parameters (e.g. max PDU size) Data transfer data and control (flow and error control) info Connection termination Maybe connection interruption and recovery Sequence numbers used for ordered delivery, flow control and error control
Connection Oriented Data Transfer
Ordered Delivery PDUs may traverse different paths through network PDUs may arrive out of order Sequentially number PDUs to allow for ordering
Flow Control Done by receiving entity Limit amount or rate of data Stop and wait Credit systems Sliding window
Error Control Guard against loss or damage Two phases: error detection and retransmission Error detection Sender inserts error detecting bits Receiver checks these bits If OK, acknowledge If error, discard packet (if cannot be corrected) Retransmission If no acknowledge in given time, re-transmit
Addressing Addressing level Addressing scope Connection identifiers Addressing mode
Addressing level Level in architecture at which entity is named Unique address for each end system (computer) and router Network level address IP or internet address (TCP/IP) Network service access point or NSAP (OSI) Process within the system Port number (TCP/IP) Service access point or SAP (OSI) Network attachment point address e.g. MAC addresses
Address Concepts
Addressing Scope Global vs. local addresses Global addresses e.g. IP addresses Global nonambiguity Global address identifies unique system Local addresses Port or SAP numbers local to a system Network attachment point addresses local to a network
Connection Identifiers Connection oriented data transfer (virtual circuits) Allocate a connection name during the transfer phase Reduced overhead as connection identifiers are shorter than global addresses Routing may be fixed and identified by connection name Entities may want multiple connections - multiplexing State information
Addressing Mode Usually an address refers to a single system Unicast address Sent to one machine or person May address all entities within a domain Broadcast Sent to all machines or users May address a subset of the entities in a domain Multicast Sent to some machines or a group of users
Multiplexing Supporting multiple connections on one machine Multiple TCP connections terminating in a system, each connection is for different port pair Mapping of multiple connections at one level to a single connection at another Upward multiplexing multiple higher level connections onto a single lower level necessary where low level connection is limited Downward multiplexing single higher level connection is divided among several lower-level connections useful when application level reliability and performance is important
Transmission Services Priority some packets should arrive ASAP e.g. control messages can be assigned on message or connection based Quality of service Minimum acceptable throughput Maximum acceptable delay Security
OSI - The Model A layer model Each layer performs a subset of the tasks necessary for communication Each layer relies on the next lower layer to perform more primitive functions Each layer provides services to the next higher layer Changes in one layer should not require changes in other layers Optimum number of layers
The OSI Environment
OSI as Framework for Standardization layer functionalities are described bu ISO, different standards can be developed based on these functionalities
Layer Specific Standards
Elements of Standardization Protocol specification Operates between the same layer on two systems May involve different operating system Protocol specification must be precise Format of data units Semantics of all fields allowable sequence of PDUs Service definition Functional description of what is provided to the next upper layer Addressing Referenced by SAPs
OSI Layers (1) Physical Data Link Physical interface between devices Characteristics Mechanical - interface specs Electrical - voltage levels for bits, transmission rate Data Link Principle service: error detection and control Higher layers may assume error free transmission
OSI Layers (2) Network Transfer of information through comm. network Higher layers do not need to know about underlying networking technology Not needed on direct links If needed network nodes (relays) should perform switching and routing functions
Use of a Relay
OSI Layers (3) Transport Session Exchange of data between end systems In sequence, no losses, no duplicates Quality of service (e.g. accepatable error rates, max. delay) Session Control of dialogues between applications Dialogue discipline (full-duplex, half-duplex) Grouping of data (for batch processing) Checkpointing and recovery
OSI Layers (4) Presentation Application Data formats and coding Data compression Encryption Application Means for applications to access OSI environment
TCP/IP Protocol Suite Most widely used interoperable network protocol architecture Specified and extensively used before OSI OSI was slow Funded by the US Defense Advanced Research Project Agency (DARPA) for its packet switched network (ARPANET) DoD automatically created an enormous market for TCP/IP Used by the Internet and WWW
TCP/IP Protocol Suite TCP/IP does not have an official layer structure But protocols imply one Application layer Host to host or transport layer Internet layer Network access layer Physical layer
Some Protocols in TCP/IP Suite
Physical Layer Physical interface between data transmission device (e.g. computer) and transmission medium or network Characteristics of transmission medium Signal levels Data rates
Network Access Layer Exchange of data between end system and network Destination address must be provided routing in the network Invoking services like priority Different standards (e.g. Ethernet, X.25)
Internet Layer Internet Protocol (IP) Systems may be attached to different networks Routing functions across multiple networks Implemented in end systems and routers
Transport Layer End-to-end data transfer Hides detail of underlying network from applications Transmission Control Protocol (TCP) connection oriented Reliable delivery of data Ordering of delivery User Datagram Protocol (UDP) connectionless service
Application Layer Support for user applications e.g. http, SMTP, telnet
Operation of TCP and IP
PDUs in TCP/IP Dest. Port Sequence number Checksum Dest. Address Source address Dest. Network Address Priority info
Some Protocols in TCP/IP Suite
Standards Required to allow for interoperability between equipment Advantages Ensures a large market for equipment and software Allows products from different vendors to communicate Disadvantages Freeze technology May be multiple standards for the same thing
Standards Organizations Internet Society ISO (International Organization for Standardization) more formal NGO, but most members are from governments ITU-T (formally CCITT) International Telecommunications Union UN agency governmental
Internet Society Internet development and standardization 3 suborganizations IAB (Internet Architecture Board) overall Internet architecture IETF (Internet Engineering Task Force) protocol engineering and development IESG (Internet Engineering Steering Group) monitors IETF standardization efforts Voluntary participation in IETF working groups
Internet Drafts and RFCs Draft document expires in 6 months, if IESG does not approve it as an RFC can be resubmitted published online comments welcome RFC (Request for Comments) final version can obsolete previous RFCs about the same topic actually an RFC can be of any type of document not necessarily a standard
Internet Standards Track Steps involve increasing amount of scrutiny and testing Step 1: Internet Draft Step 2: Proposed standard Internet Draft approved as an RFC by IESG must remain at least six months to advance Step 3: Draft standard at least two independent and interoperable implementations must remain at least 4 months Step 4: Internet standard Significant operational experience key difference between ISOC and others consensus