# OSI七层网络模型
OSI(Open System Interconnect)即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。互联网的本质就是一系列的网络协议,按照功能不同,分工不同,人为的分层七层。
每一层都运行不同的协议。每一层实现各自的功能和协议,并完成与相邻层的接口通信。OSI的服务定义详细说明了各层所提供的服务。某一层的服务就是该层及其下各层的一种能力,它通过接口提供给更高一层。各层所提供的服务与这些服务是怎么实现的无关。
实际上还有人把它划成五层、四层。
七层划分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
五层划分为:应用层、传输层、网络层、数据链路层、物理层。
四层划分为:应用层、传输层、网络层、网络接口层。
# 简介
它们由低到高分别是物理层(Physical Layer),数据链路层(Data Link Layer),网络层(Network Layer),传输层(Transport Layer),会话层(Session Layer),表示层(Presentation Layer)和应用层(Application Layer)。
第一层到第三层属于OSI参考模型的低三层,负责创建网络通信连接的链路;第四层到第七层为OSI参考模型的高四层,具体负责端到端的数据通信。
每层完成一定的功能,每层都直接为其上层提供服务,并且所有层次都互相支持,而网络通信则可以自上而下(在发送端)或者自下而上(在接收端)双向进行。
# OSI划分层次的原则
- 网络中各结点都有相同的层次
- 不同结点相同层次具有相同的功能
- 同一结点相邻层间通过接口通信
- 每一层可以使用下层提供的服务,并向上层提供服务
- 不同结点的同等层间通过协议来实现对等层间的通信
# 各层划分
# 1. 物理层
物理层(PhysicalLayer)的主要作用是为通信提供传输媒介;中间的物理链接可以是光缆、电缆、双绞线、无线电波。中间传的是电信号,即 010101
这些二进制位。发送及接收都按照8位一组来划分.
主要设备:中继器、集线器。
# 2. 数据链路层
数据链路层(DataLinkLayer)在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,并进行各电路上的动作系列。
该层的作用包括物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
数据链路层协议的代表包括:SDLC、HDLC、PPP、STP、帧中继等。
数据链路层主要设备:二层交换机、网桥
早期的时候,数据链路层就是来对电信号来做分组的。以前每个公司都有自己的分组方式,非常的乱,后来形成了统一的标准,即以太网协议Ethernet。
Ethernet规定一组电信号称之为一个数据包,或者叫做一个帧, 每一数据帧分成报头head和数据data两部分.
# head
Head(固定18个字节)
- 发送者(源地址,6个字节)
- 接收者(目标地址,6个字节)
- 数据类型(6个字节)
# data
data包含数据包的具体内容(最短46字节,最长1500字节)
head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送。
# 3. 网络层
网络层(Network layer)通过IP寻址来建立两个节点之间的连接,为源端的运输层送来的分组,选择合适的路由和交换节点,正确无误地按照地址传送给目的端的运输层。就是通常说的IP层。这一层就是我们经常说的IP协议层。IP协议是Internet的基础。
在这一层,数据的单位称为数据包(packet)。
网络层协议的代表:IP、IPX、RIP、OSPF等。
网络层主要功能:
网络层为建立网络连接和为上层提供服务,应具备以下主要功能:
路由选择和中继 激活,终止网络连接
在一条数据链路上复用多条网络连接,多采取分时复用技术差错检测与恢复 排序,流量控制 服务选择 网络管理
网络层主要设备:路由器
# 4. 传输层(Transport layer)
传输层的由来:网络层的ip帮我们区分子网,以太网层的mac帮我们找到主机,然后大家使用的都是应用程序,你的电脑上可能同时开启qq,暴风影音,等多个应用程序,
那么我们通过ip和mac找到了一台特定的主机,如何标识这台主机上的应用程序,答案就是端口,端口即应用程序与网卡关联的编号。
传输层协议的代表:TCP、UDP、SPX等。
传输层功能:建立端口到端口的通信
# 补充内容
tcp协议
可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。
udp协议:
不可靠传输,”报头”部分一共只有8个字节,总长度不超过65,535字节,正好放进一个IP数据包。
# 7. 应用层
是的你没有看错, 没有5, 6 层, 因为他不重要(未被实现或以合并的方式实现)见图1
应用层(Application layer)是OSI参考模型中最靠近用户的一层,是为计算机用户提供应用接口,也为用户直接提供各种网络服务。
我们常见应用层的网络服务协议有:HTTP,HTTPS,FTP,POP3、SMTP等。
HTTP协议详解 →