Intro

Network: " ... communication system for connecting end-systems"

End-systems (a.k.a. hosts):

- PCs, workstations
- dedicated computers
- network components

## Multiaccess vs. Point-to-point

- Multiaccess means shared medium.
  - many end-systems share the same physical communication resources (wire, frequency, ...)
  - There must be some arbitration mechanism.
- Point-to-point
  - only 2 systems involved
  - no doubt about where data came from !

## LAN - Local Area Network

- connects computers that are physically close together ( < 1 mile).
- high speed
- multi-access
- Technologies:
  - Ethernet 10 Mbps
  - Token Ring 16 Mbps
  - FDDI 100 Mbps

## WAN - Wide Area Network

- connects computers that are physically far apart. (long-haul network).
- typically slower than a LAN.
- typically less relaiable than a LAN.
- point-to-point
- Technologies:
  - telephone lines
  - Satellite communications

## MAN - Metropolitan Area Network

- Larger than a LAN and smaller than a WAN
- Technologies:
  - coaxial cable
  - microwave

## Internetwork

- Connection of 2 or more distinct (possibly dissimiliar) networks.
- Requires some kind of network device to facilitate the connection.

## OSI Reference Model

Layered model:

- 7. Application
- 6. Presentation
- 5. Session
- 4. Transport
- 3. Network
- 2. Data Link
- 1. Physical

## The Physical Layer

- Responsibility:
  - transmission of raw bits over a communication channel.
- Issues:
  - mechanical and electrical interfaces
  - time per bit
  - distances

## The Data Link Layer - Data Link Control

- Responsibility:
  - provide an error-free communication link
- Issues:
  - framing (dividing data into chunks)
  - header & trailer bits
  - addressing

## The Data Link Layer - The MAC sublayer

- Medium Access Control - needed by mutiaccess communications.
- MAC provides DLC with Òvirtual wiresÓ on multiaccess networks.

## The Network Layer

- Responsibilities:
  - path selection between end-systems (routing).
  - subnet flow control.
  - translation between different network types.
- Issues:
  - packet headers
  - virtual circuits

## The Transport Layer

- Responsibities:
  - provides virtual end-to-end links between peer processes.
  - fragmentation & reassembly
  - end-to-end flow control
- Issues:
  - headers
  - error detection
  - reliable communication

## The Session Layer

- Responsibilities:
  - establishes, manages, and terminates sessions between applications.
  - service location lookup
- Many protocol suites do not include a session layer.

## The Presentation Layer

- Responsibilities:
  - data encryption
  - data compression
  - data conversion
- Many protocol suites do not include a Presentation Layer.

## The Application Layer

- Responsibities:
  - anything not provided by any of the other layers
- Issues:
  - application level protocols
  - appropriate selection of Òtype of serviceÓ

## 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 lower layers.
- Once the lower layers deliver the the data and control information - the peer layer uses the control information.

## Headers

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.

## Network layer header

- protocol suite version
- type of service
- length of the data
- packet identifier
- fragment number
- time to live

## Connecting Networks

- Repeater: physical layer
- Bridge: data link layer
- Router: network layer
- Gateway: network layer and above.

## Repeater

- Copies bits from one network to another
- Does not look at any bits
- Allows the extension of a network beyond physical length limitations

## Bridge

- Copies frames from one network to another
- Can operate selectively - does not copy all frames (must look at data-link headers).
- Extends the network beyond physical length limitations.

## Router

- Copies packets from one network to another.
- Makes decisions about what route a packet should take (looks at network headers).

## Gateway

- Operates as a router
- Data conversions above the network layer.
- Conversions:
  - encapsulation - use an intermediate network
  - translation - connect different application protocols
  - encrpyption - could be done by a gateway

## Encapsulation Example

- Provides service connectivity even though intermediate network does not support protocols.

## Translation

- Translate from red protocol to brown protocol

## Encryption gateway

## Hardware vs. Software

- Repeaters are typically hardware devices.
- Bridges can be implemented in hardware or software.
- Routers & Gateways are typically implemented in software so that they can be extended to handle new protocols.
- Many workstations can operate as routers or gateways.

## Byte Ordering

- Different computer architectures use different byte ordering to represent multibyte values.

## Network Byte Order

- Conversion of application-level data is left up to the presentation layer.
- But hold on !!! How do lower level layers communicate if they all represent values differently ? (data length fields in headers)
- A fixed byte order is used (called network byte order) for all control data.

## Multiplexing

- Many processes sharing a single network interface.
- A single process could use multiple protocols.
- More on this when we look at TCP/IP.

## Modes of Service

- connection-oriented vs. connectionless
- sequencing
- error-control
- flow-control
- byte stream vs. message based
- full-duplex vs. half-duplex.

## Connection-Oriented vs. Connectionless

- A connection-oriented service includes the establishment of a logical connection between 2 processes.
  - establish logical connection
  - transfer data
  - terminate connection.
- Connectionless services involve sending of independent messages.

## Sequencing

- Sequencing provides support for an order to communications.
- A service that includes sequencing requires that messages (or bytes) are received in the same order they are sent.

## Error Control

- Some services require error detection (it is important to know when a transmission error has occured).
- Checksums provide a simple error detection mechanism.
- Error control sometimes involves notification and retransmission.

## Flow Control

- Flow control prevents the sending process from overwhelming the receiving process.
- Flow control can be handled a variety of ways - this is one of the major research issues in the development of the next generation of networks (ATM).

## Byte Stream vs. Message

- Byte stream implies an ordered sequence of bytes with no message boundaries.
- Message oriented services provide communication service to chunks of data called datagrams.

## Full- vs. Half-Duplex

- Full-Duplex services support the transfer of data in both directions.
- Half-Duplex services support the transfer of data in a single direction.

## End-to-End vs. Hop-toHop

- Many service modes/features such as flow control and error control can be done either: between endpoints of the communication. -or- between every 2 nodes on the path between the endpoints.

## End-to-End

## Hop-by-Hop

## Buffering

- Bufferring can provide more efficient communications.
- Buffering is most useful for byte stream services.

## Addresses

- Each communication endpoint must have an address.
- Consider 2 processes communicating over an internet:
  - the network must be specified
  - the host must be specified
  - the process must be specified.

## Addresses

- Physical Layer - no address necessary
- Data Link Layer - address must be able to select any host on the network.
- Network Layer - address must be able to provide information to enable routing.
- Transport Layer - address must identify the destination process.

## Broadcasts

- Many networks support the notion of sending a message from one host to all other hosts on the network.
- A special address called the Òbroadcast addressÓ is often used.
- Some popular network services are based on broadcasting (YP/NIS, rup, rusers )

## Bridge Software

- A bridge connects networks and forwards frames from one network to another. Selective Forwarding
- If A sends a frame to E - the frame must be forwarded by the bridge.
- If A sends a frame to B - there is no reason to forward the frame.

## Bridge Database

- The bridge needs a database that contains information about which hosts are on which network.
- The realistic options are:
  - The system administrator can create and maintain the database.
  - The bridge can acquire the database on the fly.

## Learning the host mapping

- The bridge forwards packets for which it does not know which network the destination is on.
- Everytime the bridge forwards a packet it can record the network on which the sender is located.
- Each host mapping expires when it is unused for a ÒlongÓ period of time.

## Learning Bridge

- A host can be moved to another network.
- New hosts can be added at any time.
- Requires no setup information from humans.
- One MAJOR flaw: What is the problem ?