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:
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 ?