网络:OSI七层


互联网的核心就是由一堆协议组成,协议就是标准。

人们按照分工不同把互联网协议从逻辑上划分了层级,大部分常见的模型都是由OSI七层模型进行提炼的。

OSI七层:应用层表示层会话层传输层网络层数据链路层物理层

物理层:

利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。物理层的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。

“透明传送比特流”表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路好像是看不见的。物理层关系的是信号,接口和传输介质。

(实现网络的连接)

传输数据单元:比特(Bit)

典型的设备:网线,网卡,集线器,中继器,调制解调器

数据链路层

数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。

为达到这一目的,数据链路必须具备一系列相应的功能,主要有:   

  • 如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;
  • 如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;
  • 以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。

物理链路(物理线路):是由传输介质与设备组成的。原始的物理传输线路是指没有采用高层差错控制的基本的物理传输介质与设备。


数据链路(逻辑线路):在一条物理线路之上,通过一些规程或协议来控制这些数据的传输,以保证被传输数据的正确性。实现这些规程或协议的硬件和软件加到物理线路,这样就构成了数据链路。

从数据发送点到数据接收点(点到点 point to point)所经过的传输途径。
当采用复用技术时,一条物理链路上可以有多条数据链路。

(以太网协议和负责数据的传输)

传输数据单元:帧 (Frame)

典型的设备:网桥,交换机

网络层

网络层是OSI模型中的第三层(TCP/IP模型中的网际层)。网络层提供路由和寻址的功能,使两终端系统能够互连且决定最佳路径,并具有一定的拥塞控制和流量控制的能力。

由于TCP/IP协议体系中的网络层功能由IP协议规定和实现,故又称IP层。

它主要有两个功能,一个是寻址,一个是路由。

  • 寻址:对网络层而言使用IP地址来唯一标识互联网上的设备,网络层依靠IP地址进行相互通信(类似于数据链路层的MAC地址)
  • 路由:在同一个网络中的内部通信并不需要网络层设备,仅仅靠数据链路层就可以完成相互通信,对于不同的网络之间相互通信则必须借助路由器等三层设备。

(利用IP地址对网络进行分层)

传输数据单元:数据包(Packet )

典型的设备:路由器,网关,防火墙、三层交换机

传输层

传输层(Transport Layer)是OSI模型的第4层。因此该层是通信子网和资源子网的接口和桥梁,起到承上启下的作用。

该层的主要任务是:向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输。

传输层的作用是向高层屏蔽下层数据通信的细节,即向用户透明地传送报文。该层常见的协议:TCP/IP中的TCP协议、Novell网络中的SPX协议和微软的NetBIOS/NetBEUI协议。

传输层的主要功能如下:

  • 传输连接管理:提供建立、维护和拆除传输连接的功能。传输层在网络层的基础上为高层提供“面向连接”和“面向无接连”的两种服务。
  • 处理传输差错:提供可靠的“面向连接”和不太可靠的“面向无连接”的数据传输服务、差错控制和流量控制。在提供“面向连接”服务时,通过这一层传输的数据将由目标设备确认,如果在指定的时间内未收到确认信息,数据将被重发。
  • 监控服务质量。

TCP协议(面向连接):可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。

UDP协议(公屏):不可靠传输,”报头”部分一共只有8个字节,总长度不超过65,535字节,正好放进一个IP数据包。

传输层实现端到端的连接,进程到进程的连接。

(端口即应用程序与网卡关联的编号。传输层的作用就是帮我们建立端到端的通信。)

(补充:端口范围0-65535,0-1023为系统占用端口)

传输数据单元:数据段 (Segment)

典型的设备:进程和端口

会话层

会话层(Session Layer)是用户应用程序和网络之间的接口,主要任务是:

  • 向两个实体的表示层提供建立和使用连接的方法。
  • 将不同实体之间的表示层 的连接称为会话。

因此会话层的任务就是组织和协调两个会话进程之间的通信,并对数据交换进行管理。

用户可以按照半双工、单工和全双工的方式建立会话。当建立会话时,用户必须提供他们想要连接的远程地址。

而这些地址与MAC(介质访问控制子层)地址或网络层的逻辑地址不同,它们是为用户专门设计的,更便于用户记忆。

会话层的具体功能如下:

  • 会话管理:允许用户在两个实体设备之间建立、维持和终止会话,并支持它们之间的数据交换。例如提供单方向会话或双向同时会话,并管理会话中的发送顺序,以及会话所占用时间的长短。
  • 会话流量控制:提供会话流量控制和交叉会话功能。
  • 寻址:使用远程地址建立会话连接。
  • 出错控制:从逻辑上讲会话层主要负责数据交换的建立、保持和终止,但实际的工作却是接收来自传输层的数据,并负责纠正错误。会话控制和远程过程调用均属于这一层的功能。(但应注意,此层检查的错误不是通信介质的错误,而是磁盘空间、打印机缺纸等类型的高级错误。)

表示层

表示层(Presentation)为不同终端的上层用户提供数据和信息正确的语法表示变换方法。

如文本文件的ASCII格式和EBCDIC,用于表示数字的1S或2S补码表示形式。

表示层的主要功能

  • 数据语法转换
  • 语法表示
  • 连接管理
  • 数据处理
    • 数据加密和解密
    • 数据压缩和解压
    • 数据编码和解码

应用层

应用层(Application Layer)是OSI参考模型的最高层,它是计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作。

它在其他6层工作的基础上,负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系,并完成网络用户提出的各种网络服务及 应用所需的监督、管理和服务等各种协议。

此外,该层还负责协调各个应用程序间的工作。