References:
- Andrew S. Tanenbaum,
Computer Networks,
Prentice Hall, 1981.
Old, but good, fundamental discussion of OSI.
- Andrew S. Tanenbaum,
Modern Operating Systems, Chapter 10,
Prentice Hall, 1992.
- Craig Hunt,
TCP/IP Network Administration,
O'Reilly, 1992.
- OSI seven layer model
- Connected: An Internet Encyclopedia by Brent Baccala.
- Request For Comment index for Internet standards.
- Topical core: Pages focusing on major Internet concepts and features.
Open Systems Interconnect (OSI)
Seven layer
model:
- The Physical Layer describes the physical properties of the various
communications media, as well as the electrical properties and interpretation
of the exchanged signals. E.g.: this layer defines the size of Ethernet
coaxial cable, the type of BNC connector used, and the termination method.
- The Data Link Layer describes the logical organization of data
bits transmitted on a particular medium. E.g.: this layer defines the framing,
addressing and checksuming of Ethernet packets.
- The Network Layer describes how a series of exchanges over
various data links can deliver data between any two nodes in a network.
E.g.: this layer defines the addressing and routing structure of the Internet.
- The Transport Layer describes the quality and nature of the
data delivery. E.g.: this layer defines if and how
retransmissions will be used to ensure data delivery.
- The Session Layer describes the organization of data sequences
larger than the packets handled by lower layers. E.g.: this layer describes
how request and reply packets are paired in a remote procedure call.
- The Presentation Layer describes the syntax of data being
transferred. E.g.: this layer describes how floating point numbers can be exchanged
between hosts with different math formats.
- The Application Layer describes how real work actually gets done.
E.g.: this layer would implement file system operations.
Mnemonic: "Please Do Not Throw Salami Pizza Away"
TCP/IP Protocol Architecture
DoD Four-Layer Model:
- The Network Access Layer is responsible for delivering data over the particular
hardware media in use. Different protocols are selected from this layer, depending
on the type of physical network.
- The Internet Layer is responsible for delivering data across a series of different
physical networks that interconnect a source and destination machine. Routing
protocols are most closely associated with this layer, as is the IP Protocol, the
Internet's fundamental protocol.
- The Host-to-Host Layer handles connection rendezvous, flow control,
retransmission of lost data, and other generic data flow management. The mutually
exclusive TCP and UDP protocols are this layer's most important members.
- The Process Layer contains protocols that implement user-level functions, such as
mail delivery, file transfer and remote login.
Network Access Layer
Encapsulate IP datagrams into frames transmitted by the network.
Map IP addresses to physical addresses used by the network.
-
Example RFCs:
- RFC 826,
Address Resolution Protocol (ARP), maps IP --> Ethernet addresses.
- RFC 894,
A Standard for the Transmission of IP Datagrams over Ethernet Networks.
Internet Layer
RFC 791,
Internet Protocol (IP). Notice the dates :-)
Is this message for me?
Functions include:
- Defining the
datagram;
- Defining the Internet addressing scheme;
- Moving data between Network Access Layer and the Host-to-Host Transport Layer;
- Routing datagrams to remote hosts;
- Performing fragmentation and re-assembly of datagrams.
IP is a connectionless protocol
IP is an unreliable protocol because it contains no error detection and recovery
IP Datagram format (after Hunt, Fig. 1.5.; see also zytracx
--- b i t s ---
| 1 1 2 2 2 3|
|0 |4 |8 |2 |6 |0 |4 |8 1|
+-------+-------+---------------+-------------------------------+
W 1|version| IHL | TypeOfService | Total Length |
+-------+-------+---------------+-------+-----------------------+
o 2| Identification | Flags | Fragmentation offset |
+---------------+---------------+-------+-----------------------+
r 3| TimeToLive | Protocol | Header Checksum |
+---------------+---------------+-------------------------------+
d 4| Source Address |
+---------------------------------------------------------------+
s 5| Destination Address |
+---------------------------------------------------------------+
6| Options | Padding |
+---------------------------------------------------------------+
| data begins here ... |
Routing a datagram:
Host A1 Host C1
Application Application
Transport Gateway G1 Gateway G2 Transport
Internet Internet Internet Internet
Network Access Network Access Network Access Network Access
v ^ v ^ v ^
`--->--------' `--->------' `--->------'
Network A Network B Network C
RFC 792,
Internet Control Message Protocol:
- Flow control
- Detecting unreachable destinations
- Redirecting routes
- Checking remote hosts
Host-to-Host Transport Layer
Which app gets this message? Ports
- Supports
-
User Datagram Protocol (UDP). Unreliable, connectionless, fast, especially for
"query-response" applications.
UDP header
-
Transmission Control Protocol (TCP). Reliable, connection-oriented, byte-stream.
TCP header
Process (Application) Layer
E.g.
|