物理层:——数据不是靠意念传输的,它是需要实实在在的构建物理通道的,如何把数据转化为可传输的形式,这是物理层要做的
解决传输的通道建立问题
物理层实现在物理媒介上传输比特流(二进制比特流的形式)必须的功能。它定义了接口的机械特性,电气特性,功能特性和规程特性。
机械特性(串口),电气特性(0和1怎么表示,正负3V,还是正负5V)等等。
物理层需要考虑的问题包括:
- 线路配置:设备如何连接?传输线路专用还是共享?线路是否可用?
- 数据通信模式:单工、半双工还是全双工?
- 拓扑结构:网络设备如何安置?直接传输数据还是需要中继设备?
- 信号:在传输中何种信号有用?
- 编码:在可用的信号系统中0、1如何表示?数据如何通过信号表示?(在真正编码中,低电平和高电平不太采用,有很多问题需要考虑)
- 接口:为实现和便利通信过程,在两个紧密相连的设备间需要共享何种数据?共享这类数据的最有效方法是什么?
- 媒介:数据传输的物理环境是什么?
数据链路层 ——针对传输问题的控制,关注的是数据结构本身,范围是点到点
解决点到点传输过程控制问题(发送方与接收方之间可能有多个节点),比如寻址(Mac地址)
数据链路层负责将数据单元(帧)无差错地从一个站点送达下一个相邻站点。它从第三层接受数据,并加上有意义的报文头和尾部来携带地址和其它控制信息。
数据链路层还负责流量控制和差错检测。在报文头和尾部信息中包括同步信息(如起始位、停止位)、序号(特定帧在整个传输中的位置)以及最后一帧是否正确到达。
数据链路层的具体责任是:
- 点到点传递:数据链路层负责相邻结点间的传递。
- 寻址:在本层加入的报文头和尾部信息包含了最近节点和下一 个节点的物理地址。
- 访问控制:当共享介质时,数据链路协议能决定设备的访问控制权。 ()
- 流量控制:为了防止接收方过载,数据链路协议约束了一次可以发送的数据量。同时,数据帧中的序号标识可以用来控制顺序。
- 差错处理:数据链路协议通常通过检错码检错,并通过重传机制恢复差错。
- 帧同步:帧同步即确定每一个数据帧的起始和终止。
在局域网(LAN)中,数据链路层被分为两个子层:逻辑链路控制子层(LLC)和介质访问控制子层(MAC)。
网络层 ——关注的是整个传输过程的实现,但是只是一趟(一个数据包)
网络层负责数据包经过多条链路,由信源到信宿的传递过程。
为实现端到端的传递,网络层提供了两种服务:交换和路由
- 交换是指在物理线路之间建立的临时连接,这将会导致网络传输的链路较长。例如,电话交换。在这种情况下,每个数据包都通过相同的路径传输。
- 路由意味着在有多于一条的路径可选时,选择从一点到另一点发送数据包的最佳路径。在这种情况下,每个数据包都可以通过不同的路由到达目的地,然后重新按照原始顺序组装起来。(根据用户自己确定的原则:最短?最快?)
路由所考虑的因素包括传输速率、费用、距离以及在传输中途改变路径的能力。
路由和交换都需要在原数据上附加包括数据源地址和目的地 址以及其它信息的报文头。这些地址信息与数据链路层中所加的 物理地址信息是不同的。
数据链路层地址信息只包括现在和下一个节点的物理地址。 当数据帧从一个节点传输到另一个节点时,地址信息也随之改变。可变
网络层地址则是信源地址和信宿地址,它们在传输中不会改变,因而被称之为逻辑地址。例如,IP地址。不变
网络层的具体任务是:
- 源到宿传递:通过交换或路由,将数据包尽力地从源节点传输 到目的节点。
- 逻辑寻址:在包头部加入源和宿的逻辑地址。
- 路由:决定一个数据包在多条路径中选择哪一条。有许多路由 选择协议,例如,路由信息协议RIP,开放最短路径优先OSPF等。
- 地址转换:将逻辑地址翻译成对应的物理地址。例如,地址转 换协议ARP和逆向地址转换协议RARP。 (通过ip地址找到mac地址,反过来通过mac地址也可以找到ip地址)。
- 复用:使用同一条物理线路同时传输多路数据。例如,FDM、 TDM、CDM、WDM、DWDM等。
传输层——站在比网络层更高的角度,从全局出发,用户开始可见
传输层负责整个消息从信源到信宿(**端到端**)的传递过程。
可以解决网络层上的差错(端到端的拥塞、流量问题)
和数据链路层有点像局部最优和全局最优,另一方面在前三层提供的服务用户无法选择,但用户需要提出要求,对通信子网无法响应个性化需求,此时需要传输层完成端到端信息传递问题。用户可以加以控制。
传输层保证整个消息(网络层只是独立地处理每个数据包)无差错、按顺序地到达目的,并在信源到信宿的层次上进行差错控制和流量控制。
常常会有多个程序同时在一台计算机上运行。网络层将每个包传送到指定的计算机上,而传输层则将整个消息传送给该台计算机上的指定程序。因此传输层消息报文头就必须包含一种叫做服务点的地址(也叫做端口地址或套接字SOCKET地址。例如,WWW服务的端口地址为80)
IP地址用于识别机器,端口地址用于识别机器上的应用程序。
传输层消息报文头还包括顺序号,或叫分段号、编号。
为了增加安全性,传输层可能在两个传输端点之间建立一条连接,包括连接建立,数据传输,连接释放。所有数据包的传输限制在这条连接上,可以更好地控制顺序、流量以及差错检测和恢复。
传输层的具体任务包括:
-
端到端消息传递:在传输终点监管一个消息中所有数据包的传 输和到达。
-
服务点寻址:在一台运行多道程序的计算机上,保证消息被传 送到正确的程序。
-
拆分和组装:在发送端,将消息分解成可传输的片段并编号; 在接收端根据序号进行重组。编号还可以用来标识和替换传输中 丢失的包。
-
连接控制:决定是否通过一条单独路径来传输所有的数据包。 对应的传输层协议如面向连接的传输控制协议(TCP)和非面向 连接的用户数据报协议(UDP)。(用户数据包协议)
会话层——控制对话,即交互操作,是数据传输开始结束的宏观操控者
会话层是网络对话控制器,它建立、维护和同步通信设备之间的交互操作,保证每次对话都正常关闭而不会突然断开,使用户被挂在一旁。
会话层建立和验证用户之间的连接。会话层同时也控制数据交换的方向。
在会话层中可靠性的实现,通过将同步检查点插入传输流中,将一个会话过程分解成若干个子会话过程来实现。
会话层的具体任务是:
- 会话管理:通过引入同步检查点,将一次会话分解成多个子会 话过程。
- 同步:决定以何种顺序将对话单元传送到传输层,以及在传输 过程中哪一点需要接收端的确认。
- 对话控制:决定哪一方在何时发送的机制。
- 优雅关闭:保证在会话结束前,数据交换已经正确完成。
表示层——关注交互的双方,保证它们在能够彼此格式相同,具有互操作性
表示层保证了通信设备之间的互操作性。它提供了对不同控制码、字符集、图形字符等的解释,从而使得两台设备能以相同方式理解相同的传输内容。
表示层还负责为安全性引入的数据加密解密,以及为提高传输效率必需的数据压缩解压等功能。
在表示层加入的报文头信息包括传输类型和参数信息、传输长度信息。
表示层的具体任务是:
- 翻译:完成发送方格式、传输格式和接收方格式之间的转换。
- 加密:为安全性而对数据进行加密解密。
- 压缩:通过数据压缩和解压技术使传输更有效率。
- 安全性:验证口令和登录码。
应用层——接口,人只需要看着屏幕前的框框与指示实现自己想做的事,而不需要了解实现过程,很成功,不学没人真的了解实现过程
用户层使得用户(人或软件)可以访问网络。它为用户提供了接口,支持电子邮件、远程文件访问和传输、共享数据库管理和其它分布信息服务。
在许多现有的应用服务中包括X.400(消息处理服务)、 X.500(目录服务)和FTAM(文件传输和远程访问)等等。
在应用层不增加任何报文头和尾部信息。
应用层的具体任务是:
- 网络虚拟终端:它是物理终端的软件版本,一个虚拟终端允许 登录到一台远程主机上。
- 文件访问、传输和管理:允许远程计算机和本地计算机之间进 行文件访问、管理和控制。
- 邮件服务:提供电子邮件存储转发的基础。
- 安全性:提供分布式数据库资源以及对不同对象和服务的全局 信息的访问。