目录
一. 前言
二. 网络模型
2.1. 七层模型(OSI)
2.2. TCP/IP 四层模型
2.3. 网络五层模型
三. 七层模型(OSI)详解
3.1. 应用层(Application Layer)
3.2. 表示层(Presentation Layer)
3.3. 会话层(Session Layer)
3.4. 传输层(Transport Layer)
3.5. 网络层(Network Layer)
3.6. 数据链路层(Data Link Layer)
3.7. 物理层(Physical Layer)
四. 七层模型(OSI)及各层设备
我们需要了解互联网的本质是一系列的网络协议,这个协议就叫做 OSI 协议(开放系统互联,Open System Interconnection),它是由 ISO(国际标准化组织)定义的。对于 OSI,人们按照功能不同,分工不同,人为的将 OSI 的分为七层。实际上这七层是并不存在的,也就是说没有这些概念,而我们今天提到的七层概念,只是人为的划分而已。目的只是为了让大家更好地理解这些都是用来做什么的。
七层模型大而全,但是比较复杂,有模型理论,而没有实际应用。OSI 中的上面4层(应用层、表示层、会话层、传输层)为高层,定义了程序的功能;下面3层(网络层、数据链路层、物理层)为底层,主要是处理面向网络端到端的数据流。
四层模型,是由实际应用发展总结出来的,包含应用层,传输层,网际层,网络接口层。不过从实质讲,TCP/IP 只有最上面三层,最下面一层没有什么具体内容,没有具体描述这一层的实现,只是要求能够给其上层(网络层),一个访问接口,以便在其上传递 IP 分组。
五层模型出现在计算机网络教学中,是对七层和四层模型的一个折中,综合了 OSI 和 TCP/IP 体系结构的优点,既简洁又能将概念阐述清楚。
OSI 是一个理想的模型,因此一般的网络系统只涉及其中的几层,很少有系统能够具有所有的七层,并完全遵循它的规定。在七层模型中每一层提供一个特殊的网络功能。
从功能的角度观察:
简而言之,上三层主要完成资源子网的功能,下四层主要完成通信子网的功能。
应用层,是 OSI 的最高层,它是计算机用户与操作系统之间的接口,其功能是直接向用户提供服务,完成用户在计算机系统上的各种工作。并提供完成用户所提出的各种网络服务及应用所需的监督,管理,和服务等各种协议。
应用层为用户提供的服务和协议有:
上述不同的服务由该层不同的协议和程序完成,不同的操作系统之间在功能、界面、实现技术、对硬件的支持、安全可靠性以及具有的各种应用程序接口等各个方面的差异是很大的(参考Windows 和 Linux)。
应用层的主要功能就是完成用户与操作系统之间的交互。
表示层(Presentation Layer),对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层。
具体功能:
会话层(Session Layer)是用户应用程序和网络之间的接口,它向两个实体的表示层提供建立和使用连接的方法。将不同实体间的表示层的连接成为会话。因此会话层的任务是:组织和协调两个会话进程间的通信,并对数据交换进行管理。
用户可以按照半双工(广播),单工(对讲机)和全双工(电话,网络)的方式建立会话。计算机的上传和下载使用的是两条通道(四根网线),这两条信道上的数据传播速率上传和下载速度。
当建立会话时,用户必须提供他们想要连接的远程地址。而这些地址与 MAC(介质访问控制子层)地址或网络层的逻辑地址不同,他们是为了用户专门设计的,便于用户记忆。域名(DN)就是一种网络上使用的远程。
会话层的具体功能如下:
OSI 的上三层的主要任务是数据处理,下三层的主要任务是数据通信。而传输层是中间的第四层,是通信子网和资源子网的接口和桥梁,起到承上启下的作用。
该层的主要任务是:向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输。传输层的作用是向高层屏蔽下层数据通信的细节,即向用户透明地传送报文。该层常见的协议有 TCP/IP 协议,Novell 网络中的 SPX 协议和微软的 NetBIOS/NetBEUI 协议。
传输层提供会话层和网络层之间的传输服务,这种服务从会话层获得数据,并在必要时,对数据进行分割。然后,传输层将数据传递到网络层,并确保数据能够准确无误地传送到网络层。因此,传输层负责两点之间数据的可靠传输,当两节点的联系确认之后,传输层则负责监督工作。
传输层的主要功能如下:
网络层是 OSI 模型的第三层,它是 OSI 参考模型中最复杂的一层,也是通信子网的最高一层。它在下两层的基础上向资源子网提供服务。
其主要任务是:
一般来说,数据链路层是解决同一网络内节点之间的通信,而网络主要解决不同子网的通信。例如在广域网之间通信,必然会遇到路由(即两节点间可能有多条路径)选择问题。
在实现网络层功能时,需要解决的主要问题如下:
数据链路层是 OSI 模型的第二层,负责模型的第二层,负责建立和管理节点间的链路。
该层的主要功能是:
该层通常又被分为介质访问控制(MAC)和逻辑链路控制(LLC)两个子层:
数据链路层的具体工作是接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层;并且,还负责处理接收端发回的确认帧的消息,以便提供可靠的数据传输。
在 OSI 参考模型中,物理层是最底层,也是 OSI 模型的第一层。
物理层的主要功能是:
透明传送比特流表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路好像是看不见的。
一个设备工作在哪一层,关键看它工作时利用哪一层的数据头部信息。网桥工作时,是以 MAC头部来决定转发端口的,因此显然它是数据链路层的设备。
具体说: