OSI model: Difference between revisions

Content deleted Content added
BG19bot (talk | contribs)
m WP:CHECKWIKI error fix for #61. Punctuation goes before References. Do general fixes if a problem exists. - using AWB (10242)
Replaced no longer existing webpage reference link with web archive version
 
Line 1:
{{Short description|Model of communication of seven abstraction layers}}
{{OSIstack}}
{{Use British English|date=March 2020}}
The '''Open Systems Interconnection model''' ('''OSI''') is a [[conceptual model]] that characterizes and standardizes the internal functions of a [[communication system]] by partitioning it into [[abstraction layer]]s. The model is a product of the [[Open Systems Interconnection]] project at the [[International Organization for Standardization]] (ISO), maintained by the identification ISO/IEC 7498-1.
{{Use dmy dates|date=April 2019}}
{{OSI model}}
 
The '''Open Systems Interconnection''' ('''OSI''') '''model''' is a [[reference model]] developed by the [[International Organization for Standardization]] (ISO) that "provides a common basis for the coordination of standards development for the purpose of systems interconnection."<ref name="ISO-7498-1">{{cite ISO standard |date=June 1999|title=ISO/IEC 7498-1:1994 Information technology — Open Systems Interconnection — Basic Reference Model: The Basic Model |csnumber=20269 |at=Introduction |access-date=26 August 2022}}</ref>
The model groups communication functions into seven logical layers. A layer serves the layer above it and is served by the layer below it. For example, a layer that provides error-free communications across a network provides the path needed by applications above it, while it calls the next lower layer to send and receive packets that make up the contents of that path. Two instances at one layer are connected by a horizontal connection on that layer.
 
In the OSI reference model, the components of a communication system are distinguished in seven [[abstraction layer]]s: Physical, Data Link, Network, Transport, Session, Presentation, and Application.<ref>{{Cite web |date=2018-08-10 |title=What is the OSI Model? |url=https://web.archive.org/web/20220324014026/https://www.forcepoint.com/cyber-edu/osi-model |access-date=2022-05-20 |website=Forcepoint |language=en}}</ref>
[[File:OSI-model-Communication.svg|thumb|400px|Communication in the OSI-Model (example with layers 3 to 5)]]
 
The model describes communications from the physical implementation of transmitting [[bit]]s across a [[transmission medium]] to the highest-level representation of data of a [[distributed application]]. Each layer has well-defined functions and semantics and serves a class of functionality to the layer above it and is served by the layer below it. Established, well-known [[communication protocol]]s are decomposed in software development into the model's hierarchy of function calls.
 
The [[Internet protocol suite]] as defined in {{IETF RFC|1122}} and {{IETF RFC|1123}} is a model of networking developed contemporarily to the OSI model, and was funded primarily by the U.S. Department of Defense. It was the foundation for the development of the [[Internet]]. It assumed the presence of generic physical links and focused primarily on the software layers of communication, with a similar but much less rigorous structure than the OSI model.
 
In comparison, several networking models have sought to create an intellectual framework for clarifying networking concepts and activities,{{citation needed|date=April 2022}} but none have been as successful as the OSI reference model in becoming the standard model for discussing and teaching networking in the field of [[information technology]]. The model allows transparent communication through equivalent exchange of [[protocol data unit]]s (PDUs) between two parties, through what is known as [[peer-to-peer networking]] (also known as peer-to-peer communication). As a result, the OSI reference model has not only become an important piece among professionals and non-professionals alike, but also in all networking between one or many parties, due in large part to its commonly accepted user-friendly framework.<ref name="guide-to-networking-essentials">{{cite book|url=https://www.cengage.com/c/guide-to-networking-essentials-7e-tomsho/9781305105430PF/|title=Guide to Networking Essentials|edition=7th|first=Greg|last=Tomsho|publisher=Cengage|date=2016|access-date=2022-04-03}}</ref>
 
[[File:OSI-model-Communication.svg|thumb|400px|Communication in the OSI model (example with layers 3 to 5)]]
 
==History==
The development of the OSI model started in the late 1970s to support the emergence of the diverse computer networking methods that were competing for application in the large national networking efforts in the world (see [[OSI protocols]] and [[Protocol Wars]]). In the 1980s, the model became a working product of the Open Systems Interconnection group at the [[International Organization for Standardization]] (ISO). While attempting to provide a comprehensive description of networking, the model failed to garner reliance during the design of the [[Internet]], which is reflected in the less prescriptive [[Internet Protocol Suite]], principally sponsored under the auspices of the [[Internet Engineering Task Force]] (IETF).
Work on a layered model of network architecture was started and the [[International Organization for Standardization]] (ISO) began to develop its OSI framework architecture. OSI had two major components: an ''abstract model'' of networking, called the Basic Reference Model or seven-layer model, and a set of specific protocols.
 
In the early- and mid-1970s, networking was largely either government-sponsored ([[NPL network]] in the UK, [[ARPANET]] in the US, [[CYCLADES]] in France) or vendor-developed with proprietary standards, such as [[IBM]]'s [[Systems Network Architecture]] and [[Digital Equipment Corporation]]'s [[DECnet]]. [[Public data network]]s were only just beginning to emerge, and these began to use the [[X.25]] standard in the late 1970s.<ref name=":3" /><ref name=":2">{{cite journal|last1=Roberts|first1=Dr. Lawrence G.|date=November 1978|title=The Evolution of Packet Switching|url=http://www.ece.ucf.edu/~yuksem/teaching/nae/reading/1978-roberts.pdf|journal=IEEE Invited Paper|access-date=February 26, 2022}}</ref>
The concept of a seven-layer model was provided by the work of [[Charles Bachman]], Honeywell Information Services. Various aspects of OSI design evolved from experiences with the [[ARPANET]], the fledgling Internet, NPLNET, EIN, [[CYCLADES]] network and the work in IFIP WG6.1. The new design was documented in ISO 7498 and its various addenda. In this model, a networking system was divided into layers. Within each layer, one or more entities implement its functionality. Each entity interacted directly only with the layer immediately beneath it, and provided facilities for use by the layer above it.
 
The [[Packet switching#EPSS|Experimental Packet Switched System]] in the UK {{circa|1973}}–1975 identified the need for defining higher-level protocols.<ref name=":3">{{Cite book|last1=Davies|first1=Howard|url=https://books.google.com/books?id=DN-t8MpZ0-wC&pg=PA3|title=A History of International Research Networking: The People who Made it Happen|last2=Bressan|first2=Beatrice|date=2010-04-26|publisher=John Wiley & Sons|isbn=978-3-527-32710-2|pages=2–3|language=en}}</ref> The UK [[National Computing Centre]] publication, ''Why Distributed Computing'', which came from considerable research into future configurations for computer systems,<ref>{{Cite book|url=https://books.google.com/books?id=fbm7AAAAIAAJ|title=Why distributed computing?: An NCC review of potential and experience in the UK|last1=Down|first1=Peter John|last2=Taylor|first2=Frank Edward|date=1976|publisher=NCC Publications|isbn=9780850121704|language=en}}</ref> resulted in the UK presenting the case for an international standards committee to cover this area at the ISO meeting in [[Sydney]] in March 1977.<ref>{{cite book |last=Radu |first=Roxana |doi=10.1093/oso/9780198833079.003.0003 |chapter=Revisiting the Origins: The Internet and its Early Governance |title=Negotiating Internet Governance |isbn=9780191871405 |date=2019 |pages=43–74 |publisher=Oxford University Press}}</ref><ref name="ieee201703">{{cite magazine|author=Andrew L. Russell|date=30 July 2013|title=OSI: The Internet That Wasn't|url=https://spectrum.ieee.org/osi-the-internet-that-wasnt|magazine=[[IEEE Spectrum]]|volume=50|issue=8}}</ref>
Protocols enabled an entity in one host to interact with a corresponding entity at the same layer in another host. Service definitions abstractly described the functionality provided to an (N)-layer by an (N-1) layer, where N was one of the seven layers of protocols operating in the local host.
 
Beginning in 1977, the ISO initiated a program to develop general standards and methods of networking. A similar process evolved at the [[International Telegraph and Telephone Consultative Committee]] (CCITT, from French: ''Comité Consultatif International Téléphonique et Télégraphique''). Both bodies developed documents that defined similar networking models. The British [[Department of Trade and Industry (United Kingdom)|Department of Trade and Industry]] acted as the secretariat, and [[universities in the United Kingdom]] developed [[prototype]]s of the standards.<ref>{{Cite journal |last1=Campbell-Kelly |first1=Martin |last2=Garcia-Swartz |first2=Daniel D |date=2013 |title=The History of the Internet: The Missing Narratives |url=https://papers.ssrn.com/abstract=867087 |journal=Journal of Information Technology |language=en |volume=28 |issue=1 |pages=18–33 |doi=10.1057/jit.2013.4 |ssrn=867087 |s2cid=41013 |issn=0268-3962|url-access=subscription }}</ref>
The OSI standards documents are available from the ITU-T as the X.200-series of recommendations.<ref>
[http://www.itu.int/rec/T-REC-X/en ITU-T X-Series Recommendations]</ref> Some of the protocol specifications were also available as part of the ITU-T X series. The equivalent ISO and ISO/IEC standards for the OSI model were available from ISO, but only some of them without fees.<ref>{{cite web|url=http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html |title=Publicly Available Standards |publisher=Standards.iso.org |date=2010-07-30 |accessdate=2010-09-11}}</ref>
 
The OSI model was first defined in raw form in [[Washington, D.C.]], in February 1978 by French software engineer [[Hubert Zimmermann]], and the refined but still draft standard was published by the ISO in 1980.<ref name="ieee201703" />
==Description of OSI layers==
The recommendation X.200 describes seven layers, labeled 1 to 7. Layer 1 is the lower layer in this model.
 
The drafters of the reference model had to contend with many competing priorities and interests. The rate of technological change made it necessary to define standards that new systems could converge to rather than standardizing procedures after the fact; the reverse of the traditional approach to developing standards.<ref>{{Cite book|last=Sunshine|first=Carl A.|url=https://books.google.com/books?id=Hzj2BwAAQBAJ&pg=PA35|title=Computer Network Architectures and Protocols|publisher=Springer Science & Business Media|year=1989|isbn=978-1-4613-0809-6|pages=35|language=en}}</ref> Although not a standard itself, it was a framework in which future standards could be defined.<ref>{{Cite book|last=Hasman|first=A.|url=https://books.google.com/books?id=u2KyQjiwwTUC&pg=PA251|title=Education and Training in Health Informatics in Europe: State of the Art, Guidelines, Applications|date=1995|publisher=IOS Press|isbn=978-90-5199-234-2|pages=251|language=en}}</ref>
{| class="wikitable" style="margin: 1em auto 1em auto;"
|-
! colspan="5" | OSI Model
|-
!
!Data unit
!Layer
!style="width:30em;"|Function
|-
!rowspan="4"|Host<br />layers
| style="background:#d8ec9c;" rowspan="3"|[[Data (computing)|Data]]
| style="background:#d8ec9b;"| 7. [[Application layer|Application]]
| style="background:#d8ec9c;"|<small>Network process to application</small>
|-
| style="background:#d8ec9b;"|6. [[Presentation layer|Presentation]]
| style="background:#d8ec9b;"|<small>Data representation, encryption and decryption, convert machine dependent data to machine independent data </small>
|-
| style="background:#d8ec9b;"|5. [[Session layer|Session]]
| style="background:#d8ec9b;"|<small>Interhost communication, managing sessions between applications</small>
|-
| style="background:#e7ed9c;"|[[Packet segmentation|Segments]]
| style="background:#e7ed9c;"|4. [[Transport layer|Transport]]
| style="background:#e7ed9c;"|<small>Reliable delivery of packets between points on a network.</small>
|-
!rowspan="3"|Media<br />layers
| style="background:#eddc9c;"|[[Network packet|Packet]]/[[Datagram]]
| style="background:#eddc9c;"|3. [[Network layer|Network]]
| style="background:#eddc9c;"|<small>Addressing, routing and (not necessarily reliable) delivery of datagrams between points on a network.</small>
|-
| style="background:#e9c189;" |[[Bit]]/[[Frame (networking)|Frame]]
| style="background:#e9c189;"|2. [[Data link layer|Data link]]
| style="background:#e9c189;"|<small>A reliable direct point-to-point data connection.</small>
|-
| style="background:#e9988a;"|[[Bit]]
| style="background:#e9988a;"|1. [[Physical layer|Physical]]
| style="background:#e9988a;"|<small>A (not necessarily reliable) direct point-to-point data connection.</small>
|}
<!----- {{Clear}} ------->
 
In May 1983,<ref>{{Cite web |title=ISO/OSI (Open Systems Interconnection): 1982 - 1983 {{!}} History of Computer Communications |url=https://historyofcomputercommunications.info/section/11.10/ISO-OSI-(Open-Systems-Interconnection)-1982-1983/ |access-date=2024-07-12 |website=historyofcomputercommunications.info}}</ref> the CCITT and ISO documents were merged to form ''The Basic Reference Model for Open Systems Interconnection'', usually referred to as the ''Open Systems Interconnection Reference Model'', ''OSI Reference Model'', or simply ''OSI model''. It was published in 1984 by both the ISO, as standard ISO 7498, and the renamed CCITT (now called the Telecommunications Standardization Sector of the [[International Telecommunication Union]] or [[ITU-T]]) as standard X.200.
At each level (''N''), two entities (layer N peers) exchange [[protocol data unit]]s (PDUs) by means of a layer-N protocol. A [[service data unit]] (SDU) is the payload of a PDU, transmitted unchanged to a peer.
 
OSI had two major components: an abstract model of networking, called the Basic Reference Model or seven-layer model, and a [[OSI protocols|set of specific protocols]]. The OSI reference model was a major advance in the [[standardisation]] of network concepts. It promoted the idea of a consistent model of protocol layers, defining interoperability between network devices and software.
The SDU is a unit of data that has been passed down from an OSI layer to the next-lower layer, and which the lower layer encapsulates into a PDU. Layer N-1 adds a header or a footer, or both, to the SDU, composing a PDU of layer N-1. The added framing make it possible to get the data from a source to a destination. The PDU at a layer N becomes the SDU of layer N-1.
 
The concept of a seven-layer model was provided by the work of [[Charles Bachman]] at [[Honeywell Information Systems]].<ref>{{cite web|url=https://history.computer.org/pioneers/bachman.html|author=J. A. N. Lee|title=Computer Pioneers by J. A. N. Lee|publisher=IEEE Computer Society}}</ref> Various aspects of OSI design evolved from experiences with the NPL network, ARPANET, CYCLADES, [[Packet switching#EIN|EIN]], and the [[International Network Working Group]] ([[IFIP]] WG6.1). In this model, a networking system was divided into layers. Within each layer, one or more entities implement its functionality. Each entity interacted directly only with the layer immediately beneath it and provided facilities for use by the layer above it.
Some orthogonal aspects, such as management and security, involve every layer.
 
The OSI standards documents are available from the ITU-T as the X.200 series of recommendations.<ref>
[[Security service (telecommunication)|Security services]] are not related to a specific layer: they can be related by several layers, as defined by [[ITU-T]] X.800 Recommendation.<ref name="x800"/>
{{cite web| url = http://www.itu.int/rec/T-REC-X/en| title = ITU-T X-Series Recommendations}}</ref> Some of the protocol specifications were also available as part of the ITU-T X series. The equivalent ISO/IEC standards for the OSI model were available from ISO. Not all are free of charge.<ref>{{cite web|url=http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html |title=Publicly Available Standards |publisher=Standards.iso.org |date=30 July 2010 |access-date=11 September 2010}}</ref>
 
OSI was an industry effort, attempting to get industry participants to agree on common network standards to provide multi-vendor interoperability.<ref>{{Cite book|url=https://books.google.com/books?id=OVpzAwAAQBAJ&q=Open+Standards+and+the+Digital+Age:+History,+Ideology,+and+Networks|title=Open Standards and the Digital Age: History, Ideology, and Networks|last=Russell|first=Andrew L.|date=2014-04-28|publisher=Cambridge University Press|isbn=978-1-139-91661-5|language=en}}</ref> It was common for large networks to support multiple network protocol suites, with many devices unable to interoperate with other devices because of a lack of common protocols. For a period in the late 1980s and early 1990s, engineers, organizations and nations became [[Protocol Wars|polarized over the issue of which standard]], the OSI model or the [[Internet protocol suite]], would result in the best and most robust computer networks.<ref name="ieee201703" /><ref>{{Cite journal|url=https://courses.cs.duke.edu//common/compsci092/papers/govern/consensus.pdf|title=Rough Consensus and Running Code' and the Internet-OSI Standards War|last=Russell|first=Andrew L.|journal=IEEE Annals of the History of Computing|volume=28|issue=3|date=July–September 2006|pages=48–61|doi=10.1109/MAHC.2006.42}}</ref><ref>{{Cite web|date=2006|title=Standards Wars|url=https://courses.cs.washington.edu/courses/csep590a/06au/projects/standards-wars.pdf}}</ref> However, while OSI developed its networking standards in the late 1980s,<ref>{{Cite book|url=https://books.google.com/books?id=CRMEAAAAMBAJ|title=Network World|date=1988-02-15|publisher=IDG Network World Inc|language=en}}</ref>{{page needed|date=July 2024}}<ref>{{Cite book|url=https://books.google.com/books?id=dBMEAAAAMBAJ&pg=PA50|title=Network World|date=1988-10-10|publisher=IDG Network World Inc|language=en}}</ref>{{page needed|date=July 2024}} [[TCP/IP]] came into widespread use on multi-vendor networks for [[internetworking]].
These services are aimed to improve the [[Information Security|CIA triad]] ([[confidentiality]], [[integrity]], and [[availability]]) of transmitted data. In practice, the availability of communication service is determined by the interaction between [[network design]] and [[network management]] protocols. Appropriate choices for both of these are needed to protect against [[denial of service]].{{citation needed|date=April 2013}}
 
The OSI model is still used as a reference for teaching and documentation;<ref>{{Cite web|title=The OSI model explained: How to understand (and remember) the 7 layer network model|url=https://www.networkworld.com/article/3239677/the-osi-model-explained-how-to-understand-and-remember-the-7-layer-network-model.html|last=Shaw|first=Keith|date=2018-10-22|website=Network World|language=en|access-date=2020-05-16|archive-date=4 October 2020|archive-url=https://web.archive.org/web/20201004172259/https://www.networkworld.com/article/3239677/the-osi-model-explained-how-to-understand-and-remember-the-7-layer-network-model.html|url-status=dead}}</ref> however, the [[OSI protocols]] originally conceived for the model did not gain popularity. Some engineers argue the OSI reference model is still relevant to [[cloud computing]].<ref>{{Cite web|title=An OSI Model for Cloud|url=https://blogs.cisco.com/cloud/an-osi-model-for-cloud|date=2017-02-24|website=Cisco Blogs|language=en-US|access-date=2020-05-16}}</ref> Others say the original OSI model does not fit today's networking protocols and have suggested instead a simplified approach.<ref>{{Cite web|title=Why it's time to let the OSI model die|url=https://www.networkworld.com/article/2276158/why-it-s-time-to-let-the-osi-model-die.html|last1=Taylor|first1=Steve|last2=Metzler|first2=Jim|date=2008-09-23|website=Network World|language=en|access-date=2020-05-16}}</ref><ref name="Crawford"/>
===Layer 1: physical layer===
The [[physical layer]] has the following major functions:
* it defines the [[electrical]] and physical specifications of the data connection. It defines the relationship between a device and a physical [[transmission medium]] (e.g., a copper or [[optical fiber cable|fiber optical cable]]). This includes the layout of [[Lead (electronics)|pins]], [[voltage]]s, line [[Characteristic impedance|impedance]], [[cable]] [[specification]]s, signal timing, [[network hub|hub]]s, [[repeater]]s, [[network card|network adapter]]s, [[host adapter|host bus adapter]]s (HBA used in [[storage area network]]s) and more.
* it defines the protocol to establish and terminate a [[electrical connector|connection]] between two directly connected nodes over a [[communication]]s [[transmission medium|medium]].
*it may define the protocol for [[flow control (data)|flow control]].
*it defines a protocol for the provision of a (not necessarily reliable) connection between two directly connected nodes, and the [[modulation]] or conversion between the representation of [[digital data]] in user equipment and the corresponding signals transmitted over the physical communications [[channel (communications)|channel]]. This channel can involve physical cabling (such as copper and [[optical fiber]]) or a wireless [[electromagnetic wave#Radio waves|radio link]].
 
==Definitions==
The physical layer of [[Parallel SCSI]] operates in this layer, as do the physical layers of [[Ethernet]] and other local-area networks, such as [[Token Ring]], [[Fiber Distributed Data Interface|FDDI]], [[G.hn|ITU-T G.hn]], and [[IEEE 802.11]], as well as personal area networks such as [[Bluetooth]] and [[IEEE 802.15#Task group 4: Low Rate WPAN|IEEE 802.15.4]].
{{More citations needed section|date=November 2019}}
[[Communication protocol]]s enable an entity in one host to interact with a corresponding entity at the same layer in another host. Service definitions, like the OSI model, abstractly describe the functionality provided to a layer ''N'' by a layer ''N−1'', where ''N'' is one of the seven layers of protocols operating in the local host.
 
At each level ''N'', two entities at the communicating devices (layer N ''peers'') exchange [[protocol data unit]]s (PDUs) by means of a layer N ''protocol''. Each PDU contains a payload, called the [[service data unit]] (SDU), along with protocol-related headers or footers.
===Layer 2: data link layer===
The [[data link layer]] provides a [[reliability (computer networking)|reliable]] link between two directly connected nodes, by detecting and possibly correcting errors that may occur in the physical layer.
The data link layer is divided into two sublayers:
* [[Media Access Control]] (MAC) layer - responsible for controlling how computers in the network gain access to data and permission to transmit it.
* [[Logical Link Control]] (LLC) layer - control error checking and packet synchronization.
The [[Point-to-Point Protocol]] (PPP) is an example of a data link layer in the TCP/IP protocol stack.
 
Data processing by two communicating OSI-compatible devices proceeds as follows:
The [[ITU-T]] [[G.hn]] standard, which provides high-speed local area networking over existing wires (power lines, phone lines and coaxial cables), includes a complete [[data link layer]] which provides both error correction and flow control by means of a [[selective repeat|selective-repeat]] [[sliding window protocol|sliding-window protocol]].
# The data to be transmitted is composed at the topmost layer of the transmitting device (layer ''N'') into a ''[[protocol data unit]]'' (''PDU'').
# The ''PDU'' is passed to layer ''N−1'', where it is known as the ''[[service data unit]]'' (''SDU'').
# At layer ''N−1'' the ''SDU'' is [[concatenated]] with a header, a footer, or both, producing a ''layer N−1 PDU''. It is then passed to layer ''N−2''.
# The process continues until reaching the lowermost level, from which the data is transmitted to the receiving device.
# At the receiving device the data is passed from the lowest to the highest layer as a series of ''SDU''s while being successively stripped from each layer's header or footer until reaching the topmost layer, where the last of the data is consumed.
 
===LayerStandards 3: network layerdocuments===
The OSI model was defined in ISO/IEC 7498 which consists of the following parts:
The [[network layer]] provides the functional and procedural means of transferring variable length [[data]] sequences (called datagrams) from one node to another connected to the same ''network.'' A network is a medium to which many nodes can be connected, on which every node has an ''address'' and which permits nodes connected to it to transfer messages to other nodes connected to it by merely providing the content of a message and the address of the destination node and letting the network find the way to deliver ("route") the message to the destination node. In addition to message [[routing]], the network may (or may not) implement message delivery by splitting the message into several fragments, delivering each fragment by a separate route and reassembling the fragments, report delivery errors, etc.
*ISO/IEC 7498-1 The Basic Model
*ISO/IEC 7498-2 Security Architecture
*ISO/IEC 7498-3 Naming and addressing
*ISO/IEC 7498-4 Management framework
 
ISO/IEC 7498-1 is also published as ITU-T Recommendation X.200.
Datagram delivery at the network layer is ''not'' guaranteed to be ''reliable''.
 
==Layer architecture==
A number of layer-management protocols, a function defined in the ''management annex'', ISO 7498/4, belong to the network layer. These include routing protocols, multicast group management, network-layer information and error, and network-layer address assignment. It is the function of the payload that makes these belong to the network layer, not the protocol that carries them.
The recommendation X.200 describes seven layers, labelled 1 to 7. Layer 1 is the lowest layer in this model.
{{OSI model table}}
 
===Layer 41: transportPhysical layer===
{{main|Physical layer}}
The [[transport layer]] provides the functional and procedural means of transferring variable-length data sequences from a source to a destination host via one or more networks, while maintaining the quality of service functions.
The physical layer is responsible for the transmission and reception of unstructured raw data between a device, such as a [[network interface controller]], [[Ethernet hub]], or [[network switch]], and a physical [[transmission medium]]. It converts the digital bits into electrical, radio, or optical signals (analogue signals). Layer specifications define characteristics such as voltage levels, the timing of voltage changes, physical data rates, maximum transmission distances, modulation scheme, channel access method and physical connectors. This includes the layout of [[Lead (electronics)|pins]], [[voltage]]s, line [[Characteristic impedance|impedance]], cable specifications, signal timing and frequency for wireless devices. Bit rate control is done at the physical layer and may define transmission mode as [[Simplex communication|simplex]], [[half duplex]], and [[full duplex]]. The components of a physical layer can be described in terms of the [[network topology]]. Physical layer specifications are included in the specifications for the ubiquitous [[Bluetooth]], [[Ethernet physical layer|Ethernet]], and [[USB]] standards. An example of a less well-known physical layer specification would be for the [[CAN bus|CAN]] standard.
 
The physical layer also specifies how encoding occurs over a physical signal, such as electrical voltage or a light pulse. For example, a 1 bit might be represented on a copper wire by the transition from a 0-volt to a 5-volt signal, whereas a 0 bit might be represented by the transition from a 5-volt to a 0-volt signal. As a result, common problems occurring at the physical layer are often related to the incorrect media termination, EMI or noise scrambling, and NICs and hubs that are misconfigured or do not work correctly.
An example of a transport-layer protocol in the standard Internet protocol stack is TCP, usually built on top of the IP protocol.
 
===Layer 2: Data link layer===
The transport layer controls the reliability of a given link through flow control, [[Packet segmentation|segmentation/desegmentation]], and error control. Some protocols are state- and connection-oriented. This means that the transport layer can keep track of the segments and retransmit those that fail. The transport layer also provides the acknowledgement of the successful data transmission and sends the next data if no errors occurred. The transport layer creates packets out of the message received from the application layer. Packetizing is a process of dividing the long message into smaller messages.
{{main|Data link layer}}
The data link layer provides [[node-to-node data transfer]]—a link between two directly connected nodes. It detects and possibly corrects errors that may occur in the physical layer. It defines the protocol to establish and terminate a connection between two physically connected devices. It also defines the protocol for [[flow control (data)|flow control]] between them.
 
[[IEEE 802]] divides the data link layer into two sublayers:<ref>{{cite book|title=IEEE Std 802-2014, ''IEEE Standard for Local and Metropolitan Area Networks: Overview and Architecture''|publisher=ieee|section=5.2 RM description for end stations|doi=10.1109/IEEESTD.2014.6847097|isbn=978-0-7381-9219-2}}</ref>
OSI defines five classes of connection-mode transport protocols ranging from class 0 (which is also known as TP0 and provides the fewest features) to class 4 (TP4, designed for less reliable networks, similar to the Internet). Class 0 contains no error recovery, and was designed for use on network layers that provide error-free connections. Class 4 is closest to TCP, although TCP contains functions, such as the graceful close, which OSI assigns to the session layer. Also, all OSI TP connection-mode [[Communications protocol|protocol]] classes provide expedited data and preservation of record boundaries. Detailed characteristics of TP0-4 classes are shown in the following table:<ref>{{cite web
* [[Medium access control]] (MAC) layer – responsible for controlling how devices in a network gain access to a medium and permission to transmit data.
| title = ITU-T Recommendation X.224 (11/1995) ISO/IEC 8073
* [[Logical link control]] (LLC) layer – responsible for identifying and encapsulating network layer protocols, and controls error checking and frame synchronization.
| url = http://www.itu.int/rec/T-REC-X.224-199511-I/en/
}}</ref>
 
The MAC and LLC layers of IEEE 802 networks such as [[802.3]] [[Ethernet]], [[802.11]] [[Wi-Fi]], and [[802.15.4]] [[Zigbee]] operate at the data link layer.
{| class="wikitable"
 
|-
The [[Point-to-Point Protocol]] (PPP) is a data link layer protocol that can operate over several different physical layers, such as [[synchronous serial communication|synchronous]] and [[asynchronous serial communication|asynchronous]] serial lines.
! Feature Name
 
! TP0
The [[ITU-T]] [[G.hn]] standard, which provides high-speed local area networking over existing wires (power lines, phone lines and coaxial cables), includes a complete data link layer that provides both [[error correction]] and flow control by means of a [[selective repeat|selective-repeat]] [[sliding window protocol|sliding-window protocol]].
! TP1
 
! TP2
Security, specifically (authenticated) encryption, at this layer can be applied with [[MACsec]].
! TP3
 
! TP4
===Layer 3: Network layer===
{{main|Network layer}}
The network layer provides the functional and procedural means of transferring [[network packet|packets]] from one node to another connected in "different networks". A network is a medium to which many nodes can be connected, on which every node has an ''address'' and which permits nodes connected to it to transfer messages to other nodes connected to it by merely providing the content of a message and the address of the destination node and letting the network find the way to deliver the message to the destination node, possibly [[routing]] it through intermediate nodes. If the message is too large to be transmitted from one node to another on the data link layer between those nodes, the network may implement message delivery by splitting the message into several fragments at one node, sending the fragments independently, and reassembling the fragments at another node. It may, but does not need to, report delivery errors.
 
Message delivery at the network layer is not necessarily guaranteed to be reliable; a network layer protocol may provide reliable message delivery, but it does not need to do so.
 
A number of layer-management protocols, a function defined in the ''management annex'', ISO 7498/4, belong to the network layer. These include routing protocols, multicast group management, network-layer information and error, and network-layer address assignment. It is the function of the payload that makes these belong to the network layer, not the protocol that carries them.<ref>{{cite ISO standard|csnumber = 14258|title = ISO/IEC 7498-4:1989 – Information technology – Open Systems Interconnection – Basic Reference Model: Management framework|date = 15 November 1989|access-date = 16 November 2024|website = ISO Standards Maintenance Portal|publisher = ISO Central Secretariat.|author = International Organization for Standardization|author-link = International Organization for Standardization}}</ref>
 
===Layer 4: Transport layer===
{{main|Transport layer}}
The transport layer provides the functional and procedural means of transferring variable-length data sequences from a source host to a destination host from one application to another across a network while maintaining the quality-of-service functions. Transport protocols may be connection-oriented or connectionless.
 
This may require breaking large protocol data units or long data streams into smaller chunks called "segments", since the network layer imposes a maximum packet size called the [[maximum transmission unit]] (MTU), which depends on the maximum packet size imposed by all data link layers on the network path between the two hosts. The amount of data in a data segment must be small enough to allow for a network-layer header and a transport-layer header. For example, for data being transferred across [[Ethernet]], the MTU is 1500 bytes, the minimum size of a TCP header is 20 bytes, and the minimum size of an IPv4 header is 20 bytes, so the maximum segment size is 1500−(20+20) bytes, or 1460 bytes. The process of dividing data into segments is called [[packet segmentation|segmentation]]; it is an optional function of the transport layer. Some connection-oriented transport protocols, such as [[Transmission Control Protocol|TCP]] and the OSI connection-oriented transport protocol (COTP), perform segmentation and reassembly of segments on the receiving side; connectionless transport protocols, such as [[User Datagram Protocol|UDP]] and the OSI connectionless transport protocol (CLTP), usually do not.
 
The transport layer also controls the reliability of a given link between a source and destination host through flow control, error control, and acknowledgments of sequence and existence. Some protocols are state- and [[connection-oriented]]. This means that the transport layer can keep track of the segments and retransmit those that fail delivery through the acknowledgment hand-shake system. The transport layer will also provide the acknowledgement of the successful data transmission and sends the next data if no errors occurred.
 
Reliability, however, is not a strict requirement within the transport layer. Protocols like UDP, for example, are used in applications that are willing to accept some packet loss, reordering, errors or duplication. [[Streaming media]], real-time multiplayer games and [[voice over IP]] (VoIP) are examples of applications in which loss of packets is not usually a fatal problem.
 
The OSI connection-oriented transport protocol defines five classes of connection-mode transport protocols, ranging from class 0 (which is also known as TP0 and provides the fewest features) to class 4 (TP4, designed for less reliable networks, similar to the Internet). Class 0 contains no error recovery and was designed for use on network layers that provide error-free connections. Class 4 is closest to TCP, although TCP contains functions, such as the graceful close, which OSI assigns to the session layer. Also, all OSI TP connection-mode [[Communication protocol|protocol]] classes provide expedited data and preservation of record boundaries. Detailed characteristics of TP0–4 classes are shown in the following table:<ref>{{cite web |title=ITU-T Recommendation X.224 (11/1995) ISO/IEC 8073, ''Open Systems Interconnection – Protocol for providing the connection-mode transport service'' |publisher=ITU|url=http://www.itu.int/rec/T-REC-X.224-199511-I/en/}}</ref>
 
{| class="wikitable" style="margin:0 auto;"
! Feature name
! TP0 !! TP1 !! TP2 !! TP3 !! TP4
|-
| Connection-oriented network
| {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
|-
| Connectionless network
| {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{Yes}}
|-
| Concatenation and separation
| {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}
| {{No}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
|-
| Segmentation and reassembly
| {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
|-
| Error recovery
| {{No}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}
| {{No}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
|-
| Reinitiate connection (if an excessive number of [[Protocol data unit{{smallsup|PDUs]] are unacknowledged)a}}
| {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{No}}
| {{No}}
| {{Yes}}
| {{No}}
| {{Yes}}
| {{No}}
|-
|style="padding-right:1.0em;"| Multiplexing and {{\}}demultiplexing over a single [[virtual circuit]]
| {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}}
| {{No}}
| {{No}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
|-
| Explicit flow control
| {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{Yes}}
| {{No}}
| {{No}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
|-
| Retransmission on timeout
| {{No}} || {{No}} || {{No}} || {{No}} || {{Yes}}
| {{No}}
| {{No}}
| {{No}}
| {{No}}
| {{Yes}}
|-
| Reliable transport service
| {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Yes}}
| {{No}}
|-
| {{Yes}}
|colspan="6" style="font-size:90%;"| {{sup|a}} If an excessive number of [[Protocol data unit|PDUs]] are unacknowledged.
| {{No}}
| {{Yes}}
| {{Yes}}
|}
 
An easy way to visualize the transport layer is to compare it with a post office, which deals with the dispatch and classification of mail and parcels sent. Do remember, however, that aA post office managesinspects only the outer envelope of mail to determine its delivery. Higher layers may have the equivalent of double envelopes, such as cryptographic presentation services that can be read by the addressee only. Roughly speaking, [[tunnelingtunnelling protocol]]s operate at the transport layer, such as carrying non-IP protocols such as [[IBM]]'s [[IBM Systems Network Architecture|SNA]] or [[Novell]]'s [[Internetwork Packet Exchange|IPX]] over an IP network, or end-to-end encryption with [[IPsec]]. While [[Generic Routing Encapsulation]] (GRE) might seem to be a network-layer protocol, if the encapsulation of the payload takes place only at the endpoint, GRE becomes closer to a transport protocol that uses IP headers but contains complete Layer 2 frames or Layer 3 packets to deliver to anthe endpoint. [[layer 2 Tunneling Protocol|L2TP]] carries [[Point-to-Point Protocol|PPP]] frames inside transport packetsegments.
 
Although not developed under the OSI Reference Model and not strictly conforming to the OSI definition of the transport layer, the [[Transmission Control Protocol]] (TCP) and the [[User Datagram Protocol]] (UDP) of the Internet Protocol Suite are commonly categorized as layer- 4 protocols within OSI.
 
[[Transport Layer Security]] (TLS) does not strictly fit inside the model either. It contains characteristics of the transport and presentation layers.<ref name="ccnp">{{cite book
===Layer 5: session layer ===
|last1 = Hooper
The [[session layer]] controls the dialogues (connections) between computers. It establishes, manages and terminates the connections between the local and remote application. It provides for [[Duplex (telecommunications)|full-duplex]], [[half-duplex]], or [[Simplex communication|simplex]] operation, and establishes checkpointing, adjournment, termination, and restart procedures. The OSI model made this layer responsible for graceful close of sessions, which is a property of the [[Transmission Control Protocol]], and also for session checkpointing and recovery, which is not usually used in the Internet Protocol Suite. The session layer is commonly implemented explicitly in application environments that use [[remote procedure call]]s.
|first1 = Howard
|title = CCNP Security VPN 642-648 Official Cert Guide
|date = 2012
|publisher = Cisco Press
|isbn = 9780132966382
|page = 22
|edition = 2
|url = https://books.google.com/books?id=5PJisOKJ0k8C&pg=PA22
}}</ref><ref name="stackex_layer">{{cite web|url=https://security.stackexchange.com/a/93338|title=What layer is TLS?|website=Information Security Stack Exchange|first1=Andrew|last1=Spott|first2=Tom |last2=Leek|display-authors=etal}}</ref>
 
===Layer 65: presentationSession layer===
{{main|Session layer}}
The [[presentation layer]] establishes context between application-layer entities, in which the application-layer entities may use different syntax and semantics if the presentation service provides a mapping between them. If a mapping is available, presentation service data units are encapsulated into session protocol data units, and passed down the TCP/IP stack.
The session layer creates the setup, controls the connections, and ends the [[teardown (communications)|teardown]], between two or more computers, which is called a "session". Common functions of the session layer include user logon (establishment) and user logoff (termination) functions. Including this matter, authentication methods are also built into most client software, such as FTP Client and NFS Client for Microsoft Networks. Therefore, the session layer establishes, manages and terminates the connections between the local and remote applications. The session layer also provides for [[full-duplex]], [[half-duplex]], or [[Simplex communication|simplex]] operation,{{citation needed|date=April 2024}} and establishes procedures for checkpointing, suspending, restarting, and terminating a session between two related streams of data, such as an audio and a video stream in a web-conferencing application. Therefore, the session layer is commonly implemented explicitly in application environments that use [[remote procedure call]]s.
 
===Layer 6: Presentation layer===
This layer provides independence from data representation (e.g., [[encryption]]) by translating between application and network formats. The presentation layer transforms data into the form that the application accepts. This layer formats and encrypts data to be sent across a network. It is sometimes called the syntax layer.<ref>{{cite book | last = Grigonis | first = Richard | title = Computer telephony encyclopedia | publisher = CMP | year = 2000 | ___location = | pages = 331 | url = http://books.google.com/?id=cUYk0ZhOxpEC&printsec=frontcover&dq=computer+telephony+encyclopedia#v=onepage&q&f=false | isbn = 9781578200450}}</ref>
{{main|Presentation layer}}
The presentation layer establishes data formatting and data translation into a format specified by the application layer during the encapsulation of outgoing messages while being passed down the [[protocol stack]], and possibly reversed during the deencapsulation of incoming messages when being passed up the protocol stack. For this very reason, outgoing messages during encapsulation are converted into a format specified by the application layer, while the conversion for incoming messages during deencapsulation are reversed.
 
The originalpresentation layer handles protocol conversion, data encryption, data decryption, data compression, data decompression, incompatibility of data representation between operating systems, and graphic commands. The presentation layer transforms data into the form that the application layer accepts, to be sent across a network. Since the presentation layer converts data and graphics into a display format for the application layer, the presentation layer is sometimes called the syntax layer.<ref name="Grigonis 2000">{{cite encyclopedia |last=Grigonis |first=Richard |title=Open Systems Interconnection (OSI) Model |encyclopedia=Computer Telephony Encyclopedia |publisher=CMP Books |publication-place=New York |year=2000 |isbn=978-1-929629-51-0 |oclc=48138823 |page=[https://archive.org/details/computertelephon0000grig/page/330/mode/2up 331]}}</ref> For this reason, the presentation layer negotiates the transfer of syntax structure usedthrough the [[Basic Encoding Rules]] of [[Abstract Syntax Notation One]] (ASN.1), with capabilities such as converting an [[EBCDIC]]-coded text [[computertext file|file]] to an [[ASCII]]-coded file, or [[serialization]] of [[object (computer science)|object]]s and other [[data structure]]s from and to [[XML]].<ref name="guide-to-networking-essentials" />
 
===Layer 7: applicationApplication layer===
{{main|Application layer}}
The [[application layer]] is the OSI layer closest to the end user, which means both the OSI application layer and the user interact directly with the software application. This layer interacts with software applications that implement a communicating component. Such application programs fall outside the scope of the OSI model. Application-layer functions typically include identifying communication partners, determining resource availability, and synchronizing communication. When identifying communication partners, the application layer determines the identity and availability of communication partners for an application with data to transmit. When determining resource availability, the application layer must decide whether sufficient network or the requested communication exists. In synchronizing communication, all communication between applications requires cooperation that is managed by the application layer. Some examples of application-layer are implementations also include:
The application layer is the layer of the OSI model that is closest to the end user, which means both the OSI application layer and the user interact directly with a software application that implements a component of communication between the client and server, such as [[File Explorer]] and [[Microsoft Word]]. Such application programs fall outside the scope of the OSI model unless they are directly integrated into the application layer through the functions of communication, as is the case with applications such as [[web browser]]s and [[email program]]s. Other examples of software are Microsoft Network Software for File and Printer Sharing and Unix/Linux Network File System Client for access to shared file resources.
* On OSI stack:
** [[FTAM]] File Transfer and Access Management Protocol
** [[X.400]] Mail
** [[Common Management Information Protocol]] (CMIP)
* On TCP/IP stack:
** [[Hypertext Transfer Protocol]] (HTTP),
** [[File Transfer Protocol]] (FTP),
** [[Simple Mail Transfer Protocol]] (SMTP)
** [[Simple Network Management Protocol]] (SNMP)...
 
Application-layer functions typically include file sharing, message handling, and database access, through the most common protocols at the application layer, known as HTTP, FTP, SMB/CIFS, TFTP, and SMTP. When identifying communication partners, the application layer determines the identity and availability of communication partners for an application with data to transmit. The most important distinction in the application layer is the distinction between the application entity and the application. For example, a reservation website might have two application entities: one using [[HTTP]] to communicate with its users, and one for a remote database protocol to record reservations. Neither of these protocols have anything to do with reservations. That logic is in the application itself. The application layer has no means to determine the availability of resources in the network.<ref name="guide-to-networking-essentials" />
== Cross-layer functions ==
{{confusing|"datagram service model" reference in MPLS|date=January 2012}}
There are some functions or services that are not tied to a given layer, but they can affect more than one layer. Examples include the following:
* [[Security service (telecommunication)]]<ref name=x800>[http://www.itu.int/rec/T-REC-X.800-199103-I/e X.800 : Security architecture for Open Systems Interconnection for CCITT applications]</ref> as defined by [[ITU-T]] X.800 recommendation.
* Management functions, i.e. functions that permit to configure, instantiate, monitor, terminate the communications of two or more entities: there is a specific application-layer protocol, [[common management information protocol]] (CMIP) and its corresponding service, [[common management information service]] (CMIS), they need to interact with every layer in order to deal with their instances.
* [[Multiprotocol Label Switching]] (MPLS) operates at an OSI-model layer that is generally considered to lie between traditional definitions of layer 2 (data link layer) and layer 3 (network layer), and thus is often referred to as a "layer-2.5" protocol. It was designed to provide a unified data-carrying service for both circuit-based clients and packet-switching clients which provide a [[datagram]]-based service model. It can be used to carry many different kinds of traffic, including IP packets, as well as native ATM, SONET, and Ethernet frames.
* [[Address Resolution Protocol|ARP]] is used to translate IPv4 addresses (OSI layer 3) into Ethernet MAC addresses (OSI layer 2).
 
==Cross-layer functions==
==Interfaces==
{{Further|Cross-layer optimization}}
Neither the OSI Reference Model nor OSI protocols specify any programming interfaces, other than as deliberately abstract service specifications. Protocol specifications precisely define the interfaces between different computers, but the software interfaces inside computers, known as [[network socket]]s are implementation-specific.
<!--Portions of this section have been duplicated in an external source after their placement here. Please see note towards the bottom of the top of the talk page.-->
Cross-layer functions are services that are not tied to a given layer, but may affect more than one layer.<ref name="Mao 2009">{{cite book |last1=Mao |first1=Stephen |editor-first1=Alexander |chapter=Chapter 8: Fundamentals of communication networks |editor-last1=Wyglinski |editor-first2=Maziar |editor-last2=Nekovee |editor-first3=Thomas |editor-last3=Hou |title=Cognitive Radio Communications and Networks: Principles and Practice |year=2009 |publisher=Elsevier |page=[{{GBurl |id=d3HBCmFEmicC |pg=PA201}} 201] |isbn=978-0-08-087932-1 |id={{OCLC|635292718|528550718}}}} [{{GBurl |id=d3HBCmFEmicC}} Partial preview] at [[Google Books]].</ref> Some orthogonal aspects, such as management and [[Security service (telecommunication)|security]], involve all of the layers (See [[ITU-T]] X.800 Recommendation<ref name="x800"/>). These services are aimed at improving the [[Information security|CIA triad]]—[[confidentiality]], [[data integrity|integrity]], and [[availability]]—of the transmitted data.
Cross-layer functions are the norm, in practice, because the availability of a communication service is determined by the interaction between [[network design]] and [[network management]] protocols.
 
Specific examples of cross-layer functions include the following:
For example [[Microsoft Windows]]' [[Winsock]], and [[Unix]]'s [[Berkeley sockets]] and [[UNIX System V|System V]] [[Transport Layer Interface]], are interfaces between applications (layer 5 and above) and the transport (layer 4). [[Network Driver Interface Specification|NDIS]] and [[Open Data-Link Interface|ODI]] are interfaces between the media (layer 2) and the network protocol (layer 3).
* [[Security service (telecommunication)]]<ref name=x800>{{cite web|url=http://www.itu.int/rec/T-REC-X.800-199103-I/e|title=ITU-T Recommendation X.800 (03/91), ''Security architecture for Open Systems Interconnection for CCITT applications''|publisher=ITU|access-date=14 August 2015}}</ref> as defined by [[ITU-T]] X.800 recommendation.
* Management functions, i.e. functions that permit to configure, instantiate, monitor, terminate the communications of two or more entities: there is a specific application-layer protocol, [[Common Management Information Protocol]] (CMIP) and its corresponding service, [[Common Management Information Service]] (CMIS), they need to interact with every layer in order to deal with their instances.
* [[Multiprotocol Label Switching]] (MPLS), ATM, and X.25 are 3a protocols. OSI subdivides the Network Layer into three sublayers: 3a) Subnetwork Access, 3b) Subnetwork Dependent Convergence and 3c) Subnetwork Independent Convergence.<ref name="Hegering, Abeck, & Neumair 1999">{{cite book |last1=Hegering |first1=Heinz-Gerd |last2=Abeck |first2=Sebastian |last3=Neumair |first3=Bernhard |chapter=Fundamental Structures of Networked Systems |chapter-url=https://archive.org/details/integratedmanage0000hege/page/12/mode/2up |chapter-url-access=registration |title=Integrated management of networked systems: concepts, architectures, and their operational application |url=https://archive.org/details/integratedmanage0000hege/page/12/mode/2up |url-access=registration |publisher=Morgan Kaufmann |publication-place=San Francisco, Calif. |year=1999 |isbn=978-1-55860-571-8 |oclc=1341886747 |page=[https://archive.org/details/integratedmanage0000hege/page/54/mode/2up 54] |via=Internet Archive}}</ref> It was designed to provide a unified data-carrying service for both circuit-based clients and packet-switching clients which provide a [[datagram]]-based service model. It can be used to carry many different kinds of traffic, including IP packets, as well as native ATM, SONET, and Ethernet frames. Sometimes one sees reference to a Layer 2.5.
* Cross MAC and PHY Scheduling is essential in wireless networks because of the time-varying nature of wireless channels. By scheduling packet transmission only in favourable channel conditions, which requires the MAC layer to obtain channel state information from the PHY layer, network throughput can be significantly improved and energy waste can be avoided.<ref name="Miao & Song 2014">{{cite book |last1=Miao |first1=Guowang |author1-link=Guowang Miao |last2=Song |first2=Guocong |title=Energy and spectrum efficient wireless network design |url=https://archive.org/details/energyspectrumef0000mia |url-access=registration |publisher=Cambridge University Press |publication-place=New York |year=2014 |isbn=978-1-139-62677-4 |oclc=898138775 |page= |via=Internet Archive}}</ref>{{page needed |date=July 2024}}
 
==Programming interfaces==
Interface standards, except for the physical layer to media, are approximate implementations of OSI service specifications.
Neither the OSI Reference Model, nor any [[OSI protocols|OSI protocol]] specifications, outline any programming interfaces, other than deliberately abstract service descriptions. Protocol specifications define a methodology for communication between peers, but the software interfaces are implementation-specific.
 
For example, the [[Network Driver Interface Specification]] (NDIS) and [[Open Data-Link Interface]] (ODI) are interfaces between the media (layer 2) and the network protocol (layer 3).
==Examples==
{| class="wikitable"
|-
!colspan="2"| Layer
!rowspan="2"| [[Open Systems Interconnection|OSI]] protocols
 
==Comparison to other networking suites==
The table below presents a list of OSI layers, the original OSI protocols, and some ''approximate'' modern matches. This correspondence is rough: the OSI model contains idiosyncrasies not found in later systems such as the IP stack in modern Internet.<ref name="Crawford">{{cite web |last1=Crawford |first1=JB |title=The actual OSI model |url=https://computer.rip/2021-03-27-the-actual-osi-model.html |date=2021-03-27}}</ref>
 
{| class="wikitable nowraplinks" style="line-height:1.3em;"
!colspan="2"| Layer
!rowspan="2" style="width:16.0em;"| [[Open Systems Interconnection|OSI]] protocols
!rowspan="2"| [[Internet Protocol Suite|TCP/IP protocols]]
!rowspan="2" style="width:9.0em;"| [[Signaling System 7|Signaling<br />System 7]]<ref>[{{cite web|url=http://www.itu.int/rec/T-REC-Q.1400/en/ |title=ITU-T Recommendation Q.1400 (03/1993)], ''Architecture framework for the development of signaling and OA&M protocols using OSI concepts'', pp |pages=4, 7.|publisher=ITU}}</ref>
!rowspan="2"| [[AppleTalk]]
!rowspan="2"| [[IPX]]
!rowspan="2"| [[Systems Network Architecture|SNA]]
!rowspan="2"| [[UMTS]]
!rowspan="2"| Misc.[[HTTP]]-based examplesprotocols
!rowspan="2"| Miscellaneous examples
|-
! No. !! Name
! #
! Name
|-
 
| 7
|style="text-align:center;"| 7
| Application
| {{hlist |[[FTAM]], |[[X.400]], |[[X.500]], |[[Directory Access Protocol|DAP]], |[[Remote Operations Service Element protocol|ROSE]], |RTSE, |[[Association Control Service Element|ACSE]]<ref> name="ITU Rec.-T X.227">{{cite (ISOweb 8650),|title=ITU-T X.217227 (ISO 864904/1995) |website=ITU-T Recommendations
|date=1995-04-10 |url=https://www.itu.int/itu-t/recommendations/rec.aspx?rec=X.227 |access-date=2024-07-12}}</ref><ref name="ITU-T X.217">{{cite web |title=ITU-T X.217 |website=Open Systems Interconnection |date=1995-04-10 |url=https://www.itu.int/rec/T-REC-X.217-199504-I |access-date=2024-07-12}}</ref> |[[Common management information protocol|CMIP]]<ref name="X.700">{{cite web |title=X.700: Management framework for Open Systems Interconnection (OSI) for CCITT applications |website=ITU |date=1992-09-10 |url=https://www.itu.int/rec/T-REC-X.700-199209-I |access-date=2024-07-12}}</ref><ref name="X.711">{{cite web |title=X.711 |website=Open Systems Interconnection |date=2014-05-15 |url=https://www.itu.int/rec/T-REC-X.711/en |access-date=2024-07-12}}</ref><ref name="9596-1:1998(en)">{{cite web |title=ISO/IEC 9596-1:1998(en) |website=ISO |url=https://www.iso.org/obp/ui/#iso:std:iso-iec:9596:-1:ed-3:v1:en |access-date=2024-07-12}}</ref><ref name="9596-2:1993(en)">{{cite web |title=ISO/IEC 9596-2:1993(en) |website=ISO |url=https://www.iso.org/obp/ui/#iso:std:iso-iec:9596:-2:ed-1:v1:en |access-date=2024-07-12}}</ref>}}
</ref> [[Common management information protocol|CMIP]]<ref>X.700 series of recommendations from the ITU-T (in particular X.711), and ISO 9596</ref>
| {{hlist |[[HTTP]]| [[HTTPS]] |[[FTP]] |[[SMTP]]}}
| [[Network News Transfer Protocol|NNTP]], [[Session Initiation Protocol|SIP]], [[Simple Sensor Interface protocol|SSI]], [[Domain Name System|DNS]], [[File transfer protocol|FTP]], [[Gopher (protocol)|Gopher]], [[HTTP]], [[Network File System (protocol)|NFS]], [[Network Time Protocol|NTP]], [[Dynamic Host Configuration Protocol|DHCP]], [[Short Message Peer-to-Peer Protocol|SMPP]], [[Simple Mail Transfer Protocol|SMTP]], [[Simple network management protocol|SNMP]], [[Telnet]],
| {{hlist |[[INAP]] |[[Mobile Application Part|MAP]] |[[Transaction Capabilities Application Part|TCAP]] |[[ISDN User Part|ISUP]] |[[Telephone User Part|TUP]]}}
[[Border Gateway Protocol|BGP]], [[Fibre Channel over IP|FCIP]]
| {{hlist |[[Apple Filing Protocol|AFP]] |[[Zone Information Protocol|ZIP]] |[[Routing Table Maintenance Protocol|RTMP]] |[[AppleTalk#Name Binding Protocol|NBP]]}}
| [[INAP]], [[Mobile Application Part|MAP]], [[Transaction Capabilities Application Part|TCAP]], [[ISDN User Part|ISUP]], [[Telephone User Part|TUP]]
| {{hlist |[[Service Advertising Protocol|SAP]]}}
| [[Apple Filing Protocol|AFP]], [[Zone Information Protocol|ZIP]], [[Routing Table Maintenance Protocol|RTMP]], [[AppleTalk|NBP]]
| {{hlist |Transaction Services |Presentation Services}}
| [[Service Advertising Protocol|SAP]]
| [[IBM Advanced Program-to-Program Communication|APPC]]
|
| {{hlist |[[Web Browser]] |[[WebDAV]] |[[SOAP]] |[[OpenID]] |[[REST API]] |[[OAuth]] |[[GraphQL]] |[[ActivityPub]] |[[Git]] |[[DNS over HTTP]]}}
| [[HL7]], [[Modbus]]
| {{hlist |[[HL7]] |[[Modbus]]|[[WebSocket]]|[[CoAP]]}}
|-
 
| 6
|style="text-align:center;"| 6
| Presentation
| {{hlist |ISO/IEC&nbsp;8823, |X.226, |<br />ISO/IEC&nbsp;9576-1, |X.236}}
| {{hlist |[[MIME]], |[[Secure Sockets Layer|SSL/TLS]], [[Transport Layer Security|TLS]], [[External Data Representation|XDR]]}}
|
| {{hlist |[[Apple Filing Protocol|AFP]]}}
|
| Presentation Services
|
| {{hlist |[[XML]] |[[JSON]] |[[MIME]] |[[Percent-encoding]] |[[base64]] |[[gzip]] |[[brotli]]}}
|
| {{hlist |[[Tabbed Document Interface|TDI]], |[[ASCII]], |[[EBCDIC]], |[[Musical Instrument Digital Interface|MIDI]], |[[MPEG]]}}
|-
 
| 5
|style="text-align:center;"| 5
| Session
| {{hlist |ISO/IEC&nbsp;8327, |X.225, |<br />ISO/IEC&nbsp;9548-1, |X.235}}
| [[Network socket|Sockets.]] Session{{small|(session establishment in [[Transmission Control Protocol|TCP]], {{\}}[[Real-time Transport Protocol|RTP]], {{\}}[[PPTP]])}}
|
| {{hlist |[[AppleTalk#AppleTalk Session Protocol|ASP]], |[[AppleTalk#AppleTalk Data Stream Protocol|ADSP]], |[[PasswordAppleTalk#Printer authenticationAccess protocolProtocol|PAP]]}}
| {{hlist |[[NWLink]]}}
| [[{{hlist |Presentation Services |Data LinkFlow Control|DLC]]?}}
|
| {{hlist |HTTP [[List of HTTP header fields|headers]], including [[HTTP cookie|cookies]] |[[CSRF token]]s |[[WebSocket]]}}
| [[Named pipes]], [[NetBIOS]], [[Session Announcement Protocol|SAP]], [[half duplex]], [[full duplex]], [[simplex]], [[Remote Procedure Call|RPC]], [[SOCKS]]
| {{hlist |[[Named pipes]] |[[NetBIOS]] |[[Session Announcement Protocol|SAP]] |[[Remote Procedure Call|RPC]] |[[SOCKS]]}}
|-
 
| 4
|style="text-align:center;"| 4
| Transport
| {{hlist |ISO/IEC&nbsp;8073, |TP0, |TP1, |TP2, |TP3, |TP4 &nbsp;(X.224), |ISO/IEC&nbsp;8602, |X.234}}
| {{hlist |[[Transmission Control Protocol|TCP]], |[[User Datagram Protocol|UDP]], |[[Stream Control Transmission Protocol|SCTP]], |[[DatagramQUIC]] Congestion Control Protocol|[[DCCP]]}}
|
| {{hlist |[[Datagram Delivery Protocol|DDP]]}}
| {{hlist |[[Sequenced packet exchange|SPX]]}}
| {{hlist|Data Flow Control |Transmission Control}}
|
| {{hlist |[[HTTP]]/[[HTTP/2]]/[[HTTP/3]] |[[WebSocket]] |[[DTLS]]}} Port number can be specified.
| [[Datagram Delivery Protocol|DDP]], [[Sequenced packet exchange|SPX]]
| {{hlist |[[NetBIOS Frames|NBF]]}}
|
|
| [[NetBIOS Frames protocol|NBF]]
|-
 
| 3
|style="text-align:center;"| 3
| Network
| {{hlist |ISO/IEC&nbsp;8208, |[[X.25]] &nbsp;([[Packet-LaISOLayer Protocol|PLP]]) |<br /> ISO/IEC&nbsp;8878, |[[CONS|X.223]], |ISO/IEC&nbsp;8473-1, |[[CLNS|CLNP]] &nbsp;X.233. |ISO/IEC&nbsp;10589 |[[IS-IS]]}}
| {{hlist |[[Internet Protocol|IP]], |[[IPsec]], |[[Internet Control Message Protocol|ICMP]], |[[Internet Group Management Protocol|IGMP]], |[[Open Shortest Path First|OSPF]], |[[Routing Information Protocol|RIP]]}}
| {{hlist |[[Signalling Connection Control Part|SCCP]], |[[Message Transfer Part|MTP]]}}
| [[AppleTalk#AppleTalk Transaction Protocol|ATP]] {{small|([[TokenTalk]] or {{\}}[[EtherTalk]])}}
| {{hlist |[[IPX]]}}
| {{hlist |Transmission Control |Path Control}}
|
| {{hlist |[[Radio Resource Control|RRC]] ([[Radio Resource Control]]) and {{\}}[[Broadcast/Multicast Control|BMC]] ([[Broadcast/Multicast Control]])}}
| Out of scope. [[IP address]]es can be used instead of [[___domain names]] in [[URL]]s.
| [[NetBIOS Frames protocol|NBF]], [[Q.931]], [[Nortel Discovery Protocol|NDP]], [[Address resolution protocol|ARP]] (maps layer 3 to layer 2 address), [[IS-IS]]
| {{hlist |[[NetBIOS Frames|NBF]] |[[Q.931]] }}
|-
 
| 2
|style="text-align:center;"| 2
| Data link layer
| Data link
| ISO/IEC&nbsp;7666, [[X.25]] ([[LAPB]]), [[Token Bus]], X.222, ISO/IEC&nbsp;8802-2 [[IEEE 802.2|LLC]] Type 1 and 2<ref name=Cisco>[http://www.cisco.com/en/US/docs/internetworking/technology/handbook/Intro-to-Internet.html#wp1020669 CISCO Cisco Systems, Inc. Internetworking Technology Handbook OSI Model Physical layer]</ref>
| {{hlist |ISO/IEC&nbsp;7666 |[[X.25]]&nbsp;([[LAPB]]) |<br />[[Token Bus]] |X.222 |ISO/IEC&nbsp;8802-2 |[[IEEE 802.2|LLC]]&nbsp;(type 1{{\}}2)<ref name=Cisco>{{cite web|url=http://www.cisco.com/en/US/docs/internetworking/technology/handbook/Intro-to-Internet.html#wp1020669|title=Internetworking Technology Handbook – Internetworking Basics [Internetworking]|date=15 January 2014|work=Cisco|access-date=14 August 2015}}</ref>}}
| [[Point-to-Point Protocol|PPP]], [[SBTV]], [[SLIP]]
| {{hlist |[[Point-to-Point Protocol|PPP]] |[[SBTV]] |[[Serial Line Internet Protocol|SLIP]]}}
| [[Message Transfer Part|MTP]], [[Message Transfer Part|Q.710]]
| {{hlist |[[Message Transfer Part|MTP]] |[[Message Transfer Part|Q.710]]}}
| [[LocalTalk]], [[AppleTalk Remote Access]], [[Point-to-Point Protocol|PPP]]
| {{hlist |[[LocalTalk]] |[[AppleTalk Remote Access|ARA]] |[[Point-to-Point Protocol|PPP]]}}
| [[IEEE 802.3]] framing, [[Ethernet II framing]]
| [[IEEE 802.3|IEEE 802.3 framing]]<br />[[Ethernet II framing]]
| [[Synchronous Data Link Control|SDLC]]
| {{hlist |Path Control | [[Data Link Control]]}}
| [[PDCP|Packet Data Convergence Protocol]] (PDCP),<ref name=TS36300>[http://www.3gpp.org/ftp/Specs/html-info/36300.htm 3GPP TS 36.300 : E-UTRA and E-UTRAN Overall Description, Stage 2, Release 11]</ref> [[Logical Link Control|LLC]] (Logical Link Control), [[Media Access Control|MAC]] (Media Access Control)
| {{hlist |[[PDCP]]<ref name="TS36300">{{cite web|url=http://www.3gpp.org/ftp/Specs/html-info/36300.htm|title=3GPP specification: 36.300|work=3gpp.org|access-date=14 August 2015}}</ref> |[[Logical Link Control|LLC]] |[[Medium access control|MAC]]}}
| [[Ethernet|802.3 (Ethernet)]], [[IEEE 802.11|802.11a/b/g/n MAC/LLC]], [[IEEE 802.1Q|802.1Q (VLAN)]], [[Asynchronous Transfer Mode|ATM]], [[Hopling Discovery Protocol|HDP]], [[FDDI]], [[Fibre Channel]], [[Frame Relay]], [[HDLC]], [[Cisco Inter-Switch Link|ISL]], [[Point-to-Point Protocol|PPP]], [[Q.921]], [[Token Ring]], [[Cisco Discovery Protocol|CDP]], [[G.hn|ITU-T G.hn DLL]] <br>[[Cyclic redundancy check|CRC]], [[Bit stuffing]], [[Automatic repeat-request|ARQ]], [[DOCSIS|Data Over Cable Service Interface Specification (DOCSIS)]], [[Link aggregation#Aggregation Modes in Linux .28Bonding Modes.29 .5B6.5D|interface bonding]]
| Out of scope.
| {{hlist |[[Address resolution protocol|ARP]] | [[Neighbor Discovery Protocol|NDP (Neighbor Discovery Protocol)]] | [[Automatic repeat-request|ARQ]] | [[Asynchronous Transfer Mode|ATM]] | [[Bit stuffing]] | [[Cisco Discovery Protocol|CDP]] | [[DOCSIS]] | [[FDDI]]| [[Foundry Discovery Protocol|FDP]] | [[Fibre Channel]] | [[Frame Relay]] | [[HDLC]] | [[Ethernet|IEEE 802.3]] [[Medium access control|MAC]] | [[IEEE 802.11]] [[Medium access control|MAC]] |[[IEEE 802.1Q]] | [[Cisco Inter-Switch Link|ISL]] | [[G.hn|ITU-T G.hn DLL]] | [[Link aggregation#Linux bonding driver|Linux interface bonding]] | [[Point-to-Point Protocol|PPP]] |Q.921 |[[Token Ring]]|[[Nortel Discovery Protocol|NDP (Nortel Discovery Protocol)]] |[[IS-IS]]}}
|-
 
| 1
|style="text-align:center;"| 1
| Physical
| {{hlist |[[X.25]] ([[X.21bis]], |[[EIA/TIA-232]], |[[EIA/TIA-449]], |[[EIA-530]], |[[G.703]])<ref name="Cisco"/>}}
| <small>TCP/IP stack does not care about the physical medium, as long as it provides a way to communicate octets</small>
|
| {{hlist |[[Message Transfer Part|MTP]], |[[Message Transfer Part|Q.710]]}}
| {{hlist |[[RS-232]], |[[RS-422]], [[Shielded twisted pair|STP]], [[PhoneNet]]}}
|
| {{hlist |Physical}}
| [[Twinaxial cabling|Twinax]]
| [[Universal Mobile Telecommunications System#Air interfaces|UMTS Physical layer orair L1interfaces]]
| Out of scope.
| [[RS-232]], [[Full duplex]], [[8P8C|RJ45]], [[V.35 (recommendation)|V.35]], [[V.34 (recommendation)|V.34]], [[I.430]], [[I.431]], [[T-carrier|T1]], [[E-carrier|E1]], [[10BASE-T]], [[100BASE-TX]], [[1000BASE-T]], [[Plain old telephone service|POTS]], [[Synchronous optical networking|SONET]], [[Synchronous digital hierarchy|SDH]], [[Digital Subscriber Line|DSL]], [[IEEE 802.11|802.11a/b/g/n PHY]], [[G.hn|ITU-T G.hn PHY]], [[Controller Area Network]], [[DOCSIS|Data Over Cable Service Interface Specification (DOCSIS)]], [[DWDM]]
| {{hlist |[[RS-232]] |[[8P8C|RJ45 (8P8C)]] |[[ITU-T V.35|V.35]] |[[ITU-T V.34|V.34]] |[[I.430]] |[[I.431]] |[[T-carrier|T1]] |[[E-carrier|E1]] |[[IEEE 802.3 PHY]] ([[10BASE-T]] |[[100BASE-TX]] |[[1000BASE-T]]) |[[Plain old telephone service|POTS]] |[[SONET]] |[[Bluetooth]] |[[Synchronous digital hierarchy|SDH]] |[[DSL]] |[[IEEE 802.11|IEEE 802.11 PHY]] |[[G.hn|ITU-T G.hn PHY]] |[[DOCSIS]] |[[DWDM]] |[[Optical Transport Network|OTN]]}}
|}
 
===Comparison with TCP/IP model===
{{See also|Internet protocol suite#Comparison of TCP/IP and OSI layering}}
In the [[TCP/IP model]] of the Internet, protocols are deliberately not as rigidly designed into strict layers as in the OSI model.<ref>RFC 3439</ref> RFC 3439 contains a section entitled "Layering [[considered harmful]]".<ref>http://tools.ietf.org/html/rfc3439#section-3</ref> However, TCP/IP does recognize four broad layers of functionality which are derived from the operating scope of their contained protocols: the scope of the software application; the end-to-end transport connection; the internetworking range; and the scope of the direct links to other nodes on the local network.<ref>
The design of protocols in the [[TCP/IP model]] of the Internet does not concern itself with strict hierarchical encapsulation and layering. {{IETF RFC|3439}} contains a section entitled "Layering [[considered harmful]]".<ref>{{cite IETF|rfc=3439|title=Some Internet Architectural Guidelines and Philosophy|section=3|sectionname=Layering Considered Harmful|date=December 2002|access-date=25 April 2022}}</ref> TCP/IP does recognize four broad layers of functionality which are derived from the operating scope of their contained protocols: the scope of the software application; the host-to-host transport path; the internetworking range; and the scope of the direct links to other nodes on the local network.<ref>
[http://www.exa.unicen.edu.ar/catedras/comdat1/material/TP1-Ejercicio5-ingles.pdf]</ref>
{{cite book|title=The Illustrated Network: How TCP/IP Works in a Modern Network|author=Walter Goralski|year=2009|page=26|isbn=978-0123745415|publisher=[[Morgan Kaufmann]]|url=http://www.exa.unicen.edu.ar/catedras/comdat1/material/TP1-Ejercicio5-ingles.pdf}}</ref>
 
EvenDespite thoughusing thea different concept isfor differentlayering fromthan the OSI model, these layers are nevertheless often compared with the OSI layering scheme in the following waymanner:
* The Internet [[application layer]] includesmaps to the OSI application layer, presentation layer, and most of the session layer.
*Its end-to-endThe TCP/IP [[transport layer]] includesmaps to the graceful close function of the OSI session layer as well as the OSI transport layer.
* The internetworking layer ([[Internetinternet layer]]) isperforms functions as those in a subset of the OSI network layer (see above).
* The [[link layer]] includescorresponds to the OSI data link layer and may include similar functions as the physical layerslayer, as well as partssome protocols of the OSI's network layer.
These comparisons are based on the original seven-layer protocol model as defined in ISO 7498, rather than refinements in such things as the internal organization of the network layer document.{{citation needed|date=November 2013}}
 
The [[OSI protocols|OSI protocol suite]] that was specified as part of the OSI project was considered by many as too complicated and inefficient, and to a large extent unimplementable.<ref name="Tanenbaum 2023">{{cite book |last=Tanenbaum |first=Andrew S. |author-link=Andrew S. Tanenbaum |title=Computer networks |publisher=Prentice Hall PTR |publication-place=Upper Saddle River, NJ |year=2003 |isbn=978-0-13-066102-9 |oclc=50166590 |page=}}</ref>{{page needed|date=July 2024}} Taking the "forklift upgrade" approach to networking, it specified eliminating all existing networking protocols and replacing them at all layers of the stack. This made implementation difficult and was resisted by many vendors and users with significant investments in other network technologies. In addition, the protocols included so many optional features that many vendors' implementations were not interoperable.<ref name="Tanenbaum 2023"/>{{page needed|date=July 2024}}
The presumably strict peer layering of the OSI model as it is usually described does not present contradictions in TCP/IP, as it is permissible that protocol usage does not follow the hierarchy implied in a layered model. Such examples exist in some routing protocols (e.g., OSPF), or in the description of [[tunneling protocol]]s, which provide a link layer for an application, although the tunnel host protocol might well be a transport or even an application-layer protocol in its own right.{{citation needed|date=November 2013}}
 
Although the OSI model is often still referenced, the [[Internet protocol suite]] has become the standard for networking. TCP/IP's pragmatic approach to computer networking and to independent implementations of simplified protocols made it a practical methodology.<ref name="Tanenbaum 2023"/>{{page needed|date=July 2024}} Some protocols and specifications in the OSI stack remain in use, one example being [[IS-IS]], which was specified for OSI as ISO/IEC 10589:2002 and adapted for Internet use with TCP/IP as RFC 1142.<ref name="RFC 1142">{{cite IETF |rfc=1142 |title=OSI IS-IS Intra-___domain Routing Protocol |website=IETF Datatracker |access-date=2024-07-12}}</ref>
 
==See also==
{{div col}}
* [[Government Open Systems Interconnection Profile]]
* [[Hierarchical internetworking model]]
* [[InternetHistory protocolof suitethe Internet]]
* [[Layer 8]]
* [[List of information technology initialisms]]
* [[Protocol stack]]
* [[Management plane]]
* [[Recursive Internetwork Architecture]]
* [[Service layer]]
* [[TCP/IPSession modelmultiplexing]]
{{div col end}}
* [[X.25 protocol suite]]
* [[WAP protocol suite]]
* [[List of information technology acronyms]]
* [[IBM Systems Network Architecture]]
 
==References==
{{Reflist|33em}}
 
==Further reading==
*{{cite book |last=Day |first=John D. |author-link=John Day (computer scientist) |title=Patterns in Network Architecture: A Return to Fundamentals |publisher=Pearson Education |publication-place=Upper Saddle River, N.J. |year=2008 |isbn=978-0-13-225242-3 |oclc=213482801}}
*{{cite book |last=Dickson |first=Gary |last2=Lloyd |first2=Alan |title=Open Systems Interconnection |publisher=Prentice Hall |publication-place=New York |year=1992 |isbn=978-0-13-640111-7 |oclc=1245634475 |url=https://archive.org/details/opensystemsinter0000dick |url-access=registration |via=Internet Archive}}
*{{cite book |last=Piscitello |first=David M. |last2=Chapin |first2=A. Lyman |title=Open systems networking : TCP/IP and OSI |publisher=Addison-Wesley Pub. Co. |publication-place=Reading, Mass. |year=1993 |isbn=978-0-201-56334-4 |oclc=624431223 |url=https://archive.org/details/opensystemsnetwo0000pisc |url-access=registration |via=Internet Archive}}
*{{cite book |last=Rose |first=Marshall T. |author-link=Marshall Rose |title=The Open Book: A Practical Perspective on OSI |publisher=Prentice Hall |publication-place=Englewood Cliffs, N.J. |year=1990 |isbn=978-0-13-643016-2 |oclc=1415988401 |url=https://archive.org/details/openbookpractica00rose |url-access=registration |via=Internet Archive}}
*{{cite book |last=Russell |first=Andrew L. |title=Open Standards and the Digital Age: History, Ideology, and Networks |date=2014 |publisher=Cambridge University Press |isbn=978-1-139-91661-5 |oclc=881237495}} [{{GBurl |id=OVpzAwAAQBAJ}} Partial preview] at [[Google Books]].
* {{cite journal |last=Zimmermann |first=Hubert |title=OSI Reference Model — The ISO Model of Architecture for Open Systems Interconnection |journal=IEEE Transactions on Communications |volume=28 |issue=4 | date=April 1980 |pages=425–432 |doi=10.1109/TCOM.1980.1094702 |citeseerx=10.1.1.136.9497 |s2cid=16013989 |issn=0090-6778 |oclc=5858668034}}
 
==External links==
{{Sister project links |wikt= |c= |n=no |q=no |s=no |b= |v=}}
{{commons category}}
*{{cite web |title=Windows network architecture and the OSI model |website=Microsoft Learn |date=2024-02-02 |url=https://learn.microsoft.com/en-us/windows-hardware/drivers/network/windows-network-architecture-and-the-osi-model |access-date=2024-07-12}}
* [http://standards.iso.org/ittf/PubliclyAvailableStandards/s020269_ISO_IEC_7498-1_1994(E).zip ISO/IEC standard 7498-1:1994] ([[Portable Document Format|PDF document]] inside [[ZIP (file format)|ZIP archive]]) (requires [[HTTP cookies]] in order to accept licence agreement)
*{{cite ISO standard |csnumber=20269 |title=ISO/IEC standard 7498-1:1994 - Service definition for the association control service element |website=ISO Standards Maintenance Portal |access-date=2024-07-12}} ([[Portable Document Format|PDF document]] inside [[ZIP archive]]) (requires [[HTTP cookies]] in order to accept licence agreement)
* [http://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-X.200-199407-I!!PDF-E&type=items ITU-T X.200 (the same contents as from ISO)]
*{{cite web |url=http://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-X.200-199407-I!!PDF-E&type=items |title=ITU Recommendation X.200 |website=International Telecommunication Union |date=1998-06-02 |access-date=2024-07-12}}
* [http://infchg.appspot.com/usr?at=1263939371 The ISO OSI Reference Model , Beluga graph of data units and groups of layers]
*{{cite web |url=https://infchg.appspot.com/usr?at=1263939371 |url-status=dead |archive-url=https://web.archive.org/web/20120526075133/http://infchg.appspot.com/usr?at=1263939371 |archive-date=26 May 2012 |title=INFormation CHanGe Architectures and Flow Charts powered by Google App Engine |website=infchg.appspot.com}}
* {{cite journal | id = {{citeseerx|10.1.1.136.9497}} | title = OSI Reference Model — The ISO Model of Architecture for Open Systems Interconnection | first = Hubert | last = Zimmermann | journal = IEEE Transactions on Communications | volume = 28 | issue = 4 | month = April | year = 1980 | pages = 425–432 | doi = 10.1109/TCOM.1980.1094702 }}
*{{cite web |title=Internetworking Technology Handbook |website=docwiki.cisco.com |date=2015-07-10 |url=http://docwiki.cisco.com/wiki/Internetworking_Technology_Handbook |archive-url=https://web.archive.org/web/20150906053851/http://docwiki.cisco.com/wiki/Internetworking_Technology_Handbook |archive-date=2015-09-06 |url-status=dead}}
* [http://docwiki.cisco.com/wiki/Internetworking_Technology_Handbook Cisco Systems Internetworking Technology Handbook]
*{{cite web |last=EdXD |last2=Saikot |first2=Mahmud Hasan |title=7 Layers of OSI Model Explained |website=ByteXD |date=2021-11-25 |url=https://bytexd.com/osi-model/ |access-date=2024-07-12}}
 
{{ISO standards}}
{{Authority control}}
 
 
{{DEFAULTSORT:Osi Model}}
[[Category:OSI model| ]]
[[Category:Computer-related introductions in 1977]]
[[Category:ISO standards]]
[[Category:ISO/IEC 7498]]
[[Category:ITU-T recommendations]]
[[Category:NetworkITU-T architectureX Series Recommendations]]
[[Category:OSI protocols]]
[[Category:Reference models]]
[[Category:Computer networking]]
 
{{Link GA|de}}