互联网人太勤奋(juan)了,不管你到哪都必须是一个全栈程序员才行。
经常会有人(mianshiguan)问你,熟悉网络么,给我简单说一下网络中的OSI模型吧。如果不懂,可能连OSI是个啥玩意都不知道,熟悉一点的可能只会说出每层的名字,只有网络大佬才能把提问题的人给唬住。
七层模型概要
七层模型,亦称OSI(Open System Interconnection)。参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。 它是一个七层的、抽象的模型体,不仅包括一系列抽象的术语或概念,也包括具体的协议。 援引自百度百科
从顶层到底层的七层模型分别为:
- 应用层: 主要是为应用程序提供服务,包含的协议有:HTTP,FTP,TFTP,SMTP,SNMP,DNS,TELNET,HTTPS,POP3,DHCP。
- 表示层: 主要是数据的表示、安全、压缩。格式有JPEG,ASCII,DECOIC,加密等。
- 会话层: 用来建立、管理、终止会话。对应主机进程,本地主机与远程主机正在进行的会话。
- 传输层: 定义传输数据的协议端口号以及流控和差错校验,协议有TCP、UDP,数据包一旦离开网卡即进入网络传输层。
- 网络层: 进行逻辑地址寻址,实现不同网络之间的路径选择,协议有ICMP、IGMP、IP(IPV4,IPV6)、ARP、RARP。
- 数据链路层: 建立逻辑连接、进行硬件地址寻址,差错校验。将bit组合成字节进而组成帧,用MAC地址访问介质,错误发现但不能纠正。
- 物理层: 建立、维护和断开物理连接。
一般来说,OSI下三层主要任务是数据通信,上三层的主要任务是数据处理。
附几张网络截图,如有侵权,告知必删
七层模型详解
1.应用层
定义
应用层是OSI参考模型的最高层,它是计算机用户以及各种应用程序和网络之间的接口,向应用程序提供服务,完成用户的各种工作。
功能
在其他6层的基础上,负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系,并完成网络用户提出的各种网络服务以及应用所需的监督、管理和服务等各种协议,负责协调各个应用程序之间的工作。 应用层为用户提供的服务有文件服务、目录服务、文件传输服务、远程登录服务、电子邮件服务、打印服务、安全服务。网络管理服务、数据库服务等。 提供的常用的协议有:
- HTTP: 超文本传输协议,是一个简单的请求-响应协议,通常运行在TCP之上,它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
- FTP: 文件传输协议,是TCP/IP协议族中的协议之一,其包括两部分:客户端和服务器。端口号通常为20和21,其中服务器用来存储文件,客户端可以用来发送和浏览文件。
- TFTP: 简单文件传输协议,用来在客户端和服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务,端口号为69,基于UDP协议而实现。
- SMTP: 一种可靠且有效的电子邮件传输协议,建立在FTP的基础之上,主要用于系统之间的邮件信息传递,并提供有关来信的通知。
- SNMP: 简单网络管理协议, 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。
- DNS: 域名系统,是一个能够将域名和IP地址相互映射的分布式数据库系统,端口为53。
- TELNET: 远程登录服务,是TCP/IP协议族中的一员,是Internet远程的登录服务的主要方式,为用户提供了在本地计算机上完成远程主机工作的能力。
- HTTPS: 以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。
- POP3: 邮局协议版本3,主要用于支持使用客户端远程管理服务器上的电子邮件。
- DHCP: 动态主机配置协议,是一个局域网的网络协议,指由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获取服务器分配的IP地址和子网掩码。
2.表示层
定义
是OSI模型的第6层,它对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定格式传送给会话层。
功能
- 数据格式处理: 协商和建立数据交换的格式,解决各应用程序之间在数据格式表示上的差异。
- 语法转换: 将抽象的语法转换成传送语法,并在对方实现相反的转换,涉及的内容有代码转换,字符集转换,数据格式的修改,以及对数据结构操作的适应、数据压缩和解压缩、加解密等。
3.会话层
定义
会话层是建立在传输层之上,利用传输层提供的服务,使应用建立和维持会话,并能使会话获得同步。会话层使用校验点可使通信失效时从校验点继续恢复通信,这对于大文件传输很有用。
功能
- 为会话实体间建立连接
1.将会话地址映射为运输地址。 2.选择需要的运输服务质量参数, 3.对会话参数进行协商。 4.识别各个会话连接。 5.传送有限的透明用户数据。 - 数据传输转换
- 出错控制
逻辑上会话层主要负责数据交换的建立、保持和终止,但实际上是接受来自传输层的数据并纠正错误,会话控制和远程过程调用均属于这一层的功能。
4.传输层
定义
传输层建立了主机端到端的连接,负责向两个主机中进程之间的通信提供服务。
功能
- 分割与重组数据
- 按端口号寻址
- 连接管理
- 差错控制和流量控制,纠错功能
传输层要向会话层提供通信服务的可靠性,避免报文的出错、丢失、延迟时间紊乱、重复、乱序等差错。
5.网络层
定义
介于传输层和数据链路层之间,它在数据链路层提供的功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向传输层提供最基本的端到端的数据传送服务。
功能
- 分组与分组交换: 把从传输层接收到的数据报文封装成组(package,也称为包),再向下传送到数据链路层。
- **路由:**通过路由选择算法为分组通过通信子网选择最适当的路径。
- **网络连接复用:**为分组在通信子网中节点之间的传输创建逻辑链路,在一条数据链路上复用多条网络连接。
- **差错检测与恢复:**一般用分组中的头部校验和进行差错校验,使用确认和重传机制来进行差错恢复。
- **服务选择:**网络层可为传输层提供数据报和虚电路两种服务。
- **网络管理:**管理网络中的数据通信过程,将数据设法从源端经过若干个中间节点传送到目的端,为传输层提供最基本的端到端的数据传送服务。
- **流量控制:**通过流量整形技术来实现流量控制,以防止通信量过大造成通信子网的性能下降。
- 拥塞控制:
- **网络互联:**把一个网络与另一个网络互相连接起来,在用户之间实现跨网络的通信。
- **分片与重组:**如果要发送的分组超过了协议数据单元允许的长度,则源节点的网络层就要对该分组进行分片,分片到达目的主机之后,由目的节点的网络层再重新组装成原分组。
6.数据链路层
定义
是OSI模型的第二层,负责建立和管理节点间的链路。负责将源自物理层的数据可靠的传输到相邻节点的目标机网络层。
功能
通过各种控制协议,在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法。
7.物理层
物理层的主要功能就是利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。
|