OSI and TCP/IP models
| OSI | Five-layer | TCP/IP | ||
|---|---|---|---|---|
| APDU | Application | Application | Software | |
| PPDU | Presentation | |||
| SPDU | Session | |||
| TPDU | Transport (תעבורה, תובלה) | Hardware/Software | ||
| (Network) Packet | Network | Internet (or Network) | Hardware | |
| Frame | Data Link (קו, ערוץ) | Link (or Network Access) (קשר, ערוץ) | ||
| Bit | Physical | |||
layer 1
-
Ethernet hub (or active hub, network hub, repeater hub, multiport repeater, hub)
-
(Ethernet) IEEE 802.3
- 10 Mbps (“Standard Ethernet”)
- 10BASE5 (Thick Ethernet, DIX Standard, 802.3, 1983) and 10BASE2 (Thin Ethernet, 802.3a, 1988)
- bus topology
- coax cable
- CSMA/CD
- one collision domain
- 10BASE-T (802.3i, 1990)
- twisted pair cable
- star topology
- (802.3x, 1997)
- full duplex
- 10BASE5 (Thick Ethernet, DIX Standard, 802.3, 1983) and 10BASE2 (Thin Ethernet, 802.3a, 1988)
- Fast Ethernet (100 Mbps)
- (802.3u, 1995)
- Gigabit Ethernet (1 Gbps)
- 10 Gigabit Ethernet
- 40 Gigabit Ethernet (40GbE) and 100 Gigabit Ethernet (100GbE)
- Terabit Ethernet (TbE)
- 10 Mbps (“Standard Ethernet”)
layer 2
-
The data link layer (or layer 2)
-
media access control (MAC) (or medium access control) may refer to:
- a sublayer of the data link layer
- a frame structure
-
data link control (DLC) can refer to:
- the service provided by the data link layer
- A specific protocol in the transport layer with the name Data Link Control.
-
The IEEE 802 divides the OSI data link layer into two sub-layers:
- logical link control (LLC)
- error control
- flow control
- framing
- media access control (MAC) (only in broadcast links)
- channel access method
- addressing
- switching
- Store-and-forward switching or cut-through switching
- VLANs
- QoS control
- logical link control (LLC)
-
IEEE 802.1
- (802.1D-1990)
- MAC Bridges
- (802.1D-1990)
-
network bridge
-
network interface controller (NIC)
-
network switch (or switching hub, bridging hub, Ethernet switch, MAC bridge)
- acts as N-port bridge (where N is number of stations)
layer 3
-
The network layer (or layer 3, and in TCP/IP, the internet layer)
-
(IP) datagram (or network packet or (IP) packet)
-
IP supports fragmentation and reassembly
-
packet loss
-
multilayer switch (MLS)
layer 4
-
The transport layer (or layer 4)
- “The transport layer performs end-to-end error control and end-to-end flow control” (West, 2021)
- protocols:
- Transport PDUs (TPDU) are typically called segments
- UDP datagram
- TCP segment
-
client-server (model/paradigm/architecture)
- client
- server
- downstream: the direction from the server to the client
- upstream: the direction from the client to the server
-
port number
- well-known port numbers
- ephemeral port number
- ICANN ranges:
- Well-known ports
- 0 to 1023
- assigned and controlled by ICANN
- Registered ports
- 1024 to 49,151
- Dynamic ports
- 49,152 to 65,535
- (neither controlled nor registered)
- Well-known ports
-
socket
-
sequence number
-
remote procedure call (RPC)
- SunRPC, DCE-RPC, gRPC
-
Real-time Transport Protocol (RTP)
Protocol data units
- protocol data unit (PDU)
- “The combination of data from the next higher layer and control information” (Stallings, 2013)
- “Another name for a packet or frame”. (Peterson, 2020)
- “A PDU at layer is a message sent between protocols at layer . It consists of layer header information and an encapsulated message from layer , which is called both the layer SDU and the layer PDU”. (Kozierok, 2005)
- service data unit (SDU)
- (packet) can refer to:
- a generic term used to describe unit of data at all levels of the protocol stack. (RFC 1594)
- (IP) packet - a PDU in the Internet (Network) layer
- segment
- PDU in the TCP protocol
- datagram can refer to:
- (user) datagram - PDU in the UDP protocol
- (IP) datagram - PDU in the IP protocol
- a PDU in any connectionless communication packet-switched network
- ”A self-contained, independent entity of data carrying sufficient information to be routed from the source to the destination computer without reliance on earlier exchanges between this source and destination computer and the transporting network”. (RFC 1594)
- (frame)
- “A packet at the data-link layer is normally called a frame.” (Forouzan, 2012)
terms
-
encapsulation
-
decapsulation or (deencapsulation (or de-encapsulation))
-
local area network (LAN)
- virtual local area network (VLAN)
- wireless LAN (WLAN)
-
wide area network (WAN)
- wireless wide area network (WWAN)
-
last mile
-
backbone
-
point-to-point link
-
broadcast link
-
piggybacking
-
best-effort service
-
frame
-
framing
-
frame size
- fixed-size framing
- (e.g., ATM (cells))
- variable-size framing
- the end of a frame is identified using:
- length field
- (use examples: Ethernet)
- end delimiter
- there is a need for stuffing
- length field
- the end of a frame is identified using:
- fixed-size framing
-
reliable and unreliable
- a reliable protocol notifies the sender whether data has been received correctly
- reliable protocols typically bear more overhead
- a reliable protocol notifies the sender whether data has been received correctly
-
Reliable Data Transfer
-
flow control
- ”A technique to control the rate of flow of frames (packets or messages).” (Forouzan, 2012)
- “Flow control is required to assure that the source does not overwhelm the destination by sending data faster than they can be processed and absorbed.” (Stallings, 2013)
-
acknowledgment (ACK) (also positive acknowledgment)
-
stop-and-wait
- ”A protocol in which the sender sends one frame, stops until it receives confirmation from the receiver, and then sends the next frame” (Forouzan, 2012)
-
automatic repeat request (ARQ) (or automatic repeat query)
- “ARQ is used to achieve reliable data transmission over an unreliable communication channel” (Wikipedia)
connection/connectionless
- Connection-oriented (service/protocol/communication)
- “A service for data transfer involving establishment and termination of a connection.” (Forouzan, 2012)
- Connectionless (service/protocol/communication)
- “A service for data transfer without connection establishment or termination.” (Forouzan, 2012)
- Connectionless-mode Network Service (CLNS) (or simply Connectionless Network Service)
switching
-
circuit switching
- always connection-oriented (e.g., POTS)
-
packet switching
- datagram (connectionless) (e.g., IP, UDP)
- virtual circuit (connection-oriented) (e.g., TCP, ATM)
-
forwarding techniques:
- store-and-forward switching
- cut-through switching
virtual circuit
-
virtual circuit (VC)
- virtual circuit identifier (VCI)
- table:
- incoming interface
- incoming VCI
- outgoing interface
- outgoing VCI
- types:
- permanent virtual circuit (PVC)
- “A virtual circuit transmission method in which the same virtual circuit is used between source and destination on a continual basis.” (Forouzan, 2012)
- switched virtual circuit (SVC)
- “A virtual circuit transmission method in which a virtual circuit is created and in existence only for the duration of the exchange.” (Forouzan, 2012)
- permanent virtual circuit (PVC)
-
virtual circuit connection (VCC)
-
virtual path (VP)
-
transmission path (TP)
-
virtual-path identifier (VPI)
stuffing
bit stuffing
\begin{array}{|c|} \hline 011111{\phantom{0}}1010011111{\phantom{0}}01 \\ \hline \end{array} \\ \boldsymbol{\vert }\\ \text{bit stuffing} \\ \boldsymbol{\downarrow} \\ \begin{array}{|c|c|c|c|c|} \hline \overset{\text{Flag}}{01111110} & \text{Header} & 011111{\boldsymbol{\color{#d92e7e}{0}}}1010011111{\boldsymbol{\color{#d92e7e}{0}}}01 & \text{Trailer} & \overset{\text{Flag}}{01111110} \\ \hline \end{array} \end{gathered}$$ - **bit stuffing** - "A technique used to distinguish control sequences and data on the bit level." [@Peterson, 2020] - "In a bit-oriented protocol, the process of adding an extra bit in the data section of a frame to prevent a sequence of bits from looking like a flag." [@Forouzan, 2012] - **bit-oriented protocol** - "A protocol in which the data frame is interpreted as a sequence of bits" [@Forouzan, 2012] - (e.g. [[HDLC|HDLC]]) ### byte stuffing $$\begin{gathered} \begin{array}{|c|c|c|c|c|c|c|c|c|} \hline \dots & \phantom{ESC} & \text{FLAG} & \dots & \phantom{ESC} & \text{ESC} & \dots \\ \hline \end{array} \\ \boldsymbol{\vert }\\ \text{byte stuffing} \\ \boldsymbol{\downarrow} \\ \begin{array}{|c|c|c|c|c|} \hline \text{Flag} & \text{Header} & \dots & \boldsymbol{\color{#d92e7e}{\text{ESC}}} & \text{FLAG} & \dots & \boldsymbol{\color{#d92e7e}{\text{ESC}}} & \text{ESC} & \dots & \text{Trailer} & \text{Flag} \\ \hline \end{array} \end{gathered}$$ - **byte stuffing** - "The process of adding one extra byte whenever there is a flag or escape character in the text." [@Forouzan, 2012] - "In a byte-oriented protocol, the process of adding an extra byte in the data section of a frame to prevent a byte from looking like a flag." [@Forouzan, 2012] - **byte-oriented protocol** - "A protocol in which the data section of the frame is interpreted as a sequence of bytes (characters)." [@Forouzan, 2012] - (e.g. [[PPP|PPP]]) # IEEE 802  - (active) working groups - 802.1 - Higher Layer LAN Protocols Working Group - [[Ethernet|802.3]] - Ethernet - [[Wireless communication#wi-fi|802.11]] - Wireless LAN (WLAN) & Mesh (Wi-Fi certification) - 802.15 - Wireless PAN - **service access point** (**SAP**) - LSAP - MSAP - PSAPReferences
- West, Jill (2021). Data Communication and Computer Networks. Course Technology.
- Stallings, W. (2013). Data and Computer Communications.
- Peterson, Larry L. (2020). Computer Networks. Elsevier Science & Technology.
- Kozierok, C. M. (2005). The TCP/IP guide: A Comprehensive, Illustrated Internet Protocols Reference. No Starch Press.
- Forouzan, B. A. (2012). Data Communications and networking. McGraw-Hill Education.