Data Communication & Networking Basics

Why we need computer networks

Application TypeExample
Business-to-consumerOrdering books on-line
Business-to-businessCar manufacturer ordering tires from supplier
Government-to-consumerGovernment distributing tax forms electronically
Consumer-to-consumerAuctioning second-hand products on-line
Peer-to-peerFile sharing

Fundamental Problem of Communication

  • Reproduce at one point - either exactly or approximately - a message produced at another point
  • Father of Communication Theory: Claude Shannon (MIT Professor)

Computer networks

  • Number of links required
    • Unidirectional links: n(n1)n (n-1)
    • Bidirectional links: n(n1)/2n (n-1) / 2
    • nn: number of devices
  • need switching nodes

Communication Tasks

  • Transmission system utilization
    • to make efficient use of transmission facilities
  • Interfacing
    • compatible physical and electrical characteristics
  • Signal Generation
    • generate signals capable of propagating through the transmission medium
  • Synchronization
    • receiver should be to determine when a signal begins to arrive and when it ends
  • Exchange management
    • establishment of a connection, communication types, amount of data to be sent at one time
  • Error detection and correction
    • procedures to make the communication reliable
  • Flow control
    • mechanisms required to assure that the source does not overwhelm the destination
  • Addressing
    • each computer must be identified
  • Routing
    • mechanisms to determine the route to use when transferring data from one point to another
  • Recovery
    • mechanisms to recover from fatal errors
  • Message Formatting
    • form of the data to be exchanged or transmitted
  • Security
    • protect the confidentiality of the transferred information
  • Network management
    • oversee the operation of the network

Types of Communication Networks

Classification according to the way the "information flows" are transported to the users

  • Switching Network
    • data are transferred from source to destination through a series of intermediate nodes
  • Broadcast Networks
    • there are no intermediate switching nodes
    • all users are connected on the same medium

Local Area Networks (LANs)

  • It expands over small geographic areas (within a building or close-by buildings)
  • It is usually owned by the same organization
  • the internal data rates are typically much greater than those of WANs
  • typically, they make use of broadcast rather than switching

Examples:

  • Ethernet
  • Token Ring
  • ATM LANs
  • IEEE 802.11
  • HYPERLAN
  • Home RF

Wide Area Networks (WANs)

  • Traditionally, WANs have been implemented using of two technologies
  • Circuit Switching
  • Packet Switching
    • Datagram
    • Virtual Circuit

Internetworking

  • interconnecting multiple networks of different technologies in a seamless manner
  • Uses both hardware and software
    • Extra hardware positioned between networks
    • Software on each attached computer
  • System of interconnected networks is called an Internetwork or Internet

Autonomous System (AS)

  • AS is a set of routers and networks managed by a single organization
  • AS consists of a group of routers exchanging information via a common routing protocol
  • Claiming that an AS is "connected", means that there is always a path between any pair of nodes

Protocols

  • computer networks pass useful information between (two or more entities).

  • the information is produced by "applications"

  • In order for the end-systems and networks to pass the information intelligibly, definition of a set of rules governing the exchange of data between two "entities" is needed

  • these rules constitute the protocols

  • set of mutually acceptable conventions between the communicating entities

  • 3 key elements

  • syntax: data formats and signals levels (formats, fields, order)

  • semantics: control information for coordination and error handling (meaning of things)

  • timing: speed matching and sequencing

Architecture

A structured set of modules that implements the communication function. Provides a flexible, modular structure, developed such that a change in one of the elements within the communications system will require minimal changes in the other elements.

A protocol architecture is accomplished through developing a layered architecture. The upper layer performs some tasks of its own, exchanges data and requests some service from the lower layer. The formatting of the data is independent of the actual implementation, and is not concerned how the lower layer is performing its part.

Example: Three-layer modules

Communications involve three agents:

  • Applications (Application Layer): contains logic needed to support the various user applications
  • Computer (Transport Layer): concerned with the reliable delivery of data
  • Network (Network Access Layer): concerned with the exchange of data between computer and network

Protocol issues

  • Error control: making a channel more reliable, and handling lost or out of sequence messages.
  • Flow control: avoid flooding a slower peer entity.
  • Resource allocation: mediating contention for physical (e.g. buffers) or logical (e.g. data structures) resources
  • Fragmentation (Segmentation): dividing chunks of data into smaller pieces, and subsequent reassembly
  • Multiplexing: combining several higher layer sessions
  • Connection setup: initiating logical communication with peer entity
  • Addressing / naming: managing identifiers
  • Compression: reducing data rate
  • Encryption: provide data security
  • Timer management: bookkeeping and error recovery

Service and Parameters

Image

![Image])(https://3.bp.blogspot.com/-8mB4Jf021XY/VkQfkd9bw6I/AAAAAAAABPw/1MJsXQJcnIo/s1600/Service%2BPrimitives%2Band%2BParameters.png)

  1. Source (N) entity invokes its (N –1) entity with a request primitive including needed parameters, such as the data to be transmitted and the destination address.
  2. The source (N –1) entity prepares an (N –1) PDU to be sent to its peer (N –1) entity.
  3. The destination (N –1) entity delivers the data to the appropriate destination (N) entity via an indication primitive, which includes the data and source address as parameters.
  4. If an ack needed, destination (N) entity issues a response primitive to its (N –1) entity.
  5. The (N –1) entity conveys the acknowledgment in an (N –1) PDU.
  6. The acknowledgment is delivered to the (N) entity as a confirm primitive.

Open System Interconnection (OSI)

  • A reference model developed by the International Organization for Standardization (ISO)
  • Has become the standard model for classifying communication functions
  • has seven layers
  • it is a "theoretical" system delivered too late
  • it has not dominated, TCP / IP is the de facto standard
  • Several reasons:
    • TCP/IP appeared earlier
    • Internet "won" the game
    • OSI has a "complex" structure that could result in "heavy processing"

The OSI reference model is composed of several layers:

  • Application: access to the (File transfer, e-mail, r-login)
  • Presentation: data representation (syntax) (eg. ASCII)
  • Session: control structure between applications. Establish/manage connection
  • Transport: reliable, transparent transport of data between end-points. End-to-end error recovery and error control
  • Network: Responsible for establishing, maintaining, terminating connections (routing, addressing, congestion control, ...)
  • Data link: Reliable transfer of information across physical link
  • Physical: how to transmit a signal (access of the transmission medium; copper, fiber, radio, etc), deals with network hardware, bit encoding.

Pros and Cons

  • bad timing (too much detailed concept before actual applications)
    • it tries to design the "perfect world", which is either difficult or impractical
    • technology and human understanding of how things work (or should work changes)
  • more modular but more processing intensive
  • provides a good architecture for detailed modeling of processes

TCP/IP Protocol Architecture

  • there is no official model as of yet, but there is a working one
  • has 5 layers (compared to 7 for OSI)
  • most used on the Internet

Physical layer

  • concerned with physical interface between computer and network
  • concerned with issues like:
    • characteristics of transmission medium
    • signal levels
    • data rates
    • other related matters

Network Access Layer

  • exchange of data between an system and attached network
  • concerned with issues like:
    • destination address provision
    • invoking specific services like priority
    • access to & routing data across a network link between two attached systems
  • allows layers above to ignore link specifics

Internet Layer (IP)

  • routing functions across multiple networks
  • for systems attached to different networks
  • using IP protocol
  • implemented in end systems and routers
  • routers connect two networks and relay data between them

Host-to-host / Transport Layer

  • common layer shared by all applications
  • provides reliable delivery of data
  • in same order as sent
  • commonly uses TCP

Application Layer

  • Provides support user applications
  • needs a separate module for each type of application

Internet Protocol (IP) v4

  • part of TCP/IP
  • two parts
    • specification of interface with a higher layer (e.g. TCP)
    • specification of actual protocol format and mechanisms
  • is gradually replaced by IPv6

Header fields

  • Version
    • currently IPv4
    • latter IPv6
  • Internet Header Length
    • multiple of 32-bit words (including options)
  • DS/ECN (type of service)
  • Total length of datagram (in octets)
  • Identification
    • sequence number that together with the source address, destination address, and user protocol, identifies a datagram uniquely
  • Flags
    • only 2 of the bits are currently defined
    • "More" bit indicates there are more segments of the packet coming
    • "Don't fragment" bit prohibits packet fragmentation when set
  • Fragmentation offset
    • indicates where in the original datagram this fragment belongs
  • Time to live
    • specifies how long a datagram is allowed to remain in the Internet
  • Protocol
    • next higher layer to receive data field at destination
  • Header checksum
    • re-verified and recomputed at each router
    • 16 bit ones complement sum of all 16 bit words in header
  • Source Address
  • Destination address
  • Options
    • encodes the options requested by the sending user
  • Padding
    • to fill to multiple of 32 bits

IPv6

  • address space exhaustion
    • two-level addressing (network and host) wastes space
    • network addresses used even if not connected
    • growth of networks and the Internet
    • extended use of TCP/IP
    • single address per host
  • requirements for new types of service

Header fields

  • Version (4 bits): IP version number
  • DS/ECN (8 bits) As in IPv4
  • Flow label (20 bits): Labels packets that require special handling by routers within a network
  • Payload length (16 bits): Length of remainder of packet following header
  • Next Header (8 bits): Identifies type of header immediately following IPv6 header
  • Hop Limit (8 bits): Remaining number of allowable hops for this packet
  • Source Address (128 bits): address of originator of the packet
  • Destination Address (128 bits): address of intended recipient of the packet
  • IPv6 header:
    • longer than the mandatory portion of IPv4 header (40 octets versus 20 octets)
    • contains fewer fields (8 vs 12)
    • routers have less processing to do per header (speeds up routing)