一、OSI层级模型
OSI模型将网络通信的工作分为了七层,分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,不同的层级分别代表着网络通信过程中的不同的功能。
1、物理层
物理层主要用于定义物理设备的标准,如网线的接口类型、各种传输介质的传输速率等,与此同时将数据流以bit为单位转化为电气电压处理。属于该层级的常见设备:集线器。
2、数据链路层
数据链路层为OSI模型的第二层,用于控制网络层与物理层之间的通信,主要用于如何在不可靠的物理线路上进行数据的可靠传输。为了保证传输,从网络层接受的傲的数据被分割成特定的可被物理层传输的帧。帧是用来移动数据的结构包,不仅包含着原始数据,还包含了发送方和接收方的物理地址及纠错和控制信息。其中的地址确定了帧将发送到何处,而纠错和控制信息则确保帧无差错到达。如果在传送数据时,接收点检测到所传数据中有错误,则通知发送方重发该帧。数据链路层常见的功能包括:物理地址寻址、数据封装成帧、流量控制、数据校验、重发等,代表的协议包括:SDLC、HDLC、PPP、STP、帧中继等等。
3、网络层
网络层的主要功能是将网络地址转换为对应的物理地址,并决定如何将数据从发送方路由到接收方。网络层会通过综合考虑路优先级、网络拥堵程度、qos及可选路由的开销等因素来决定从一个网络中节点A到另一个网络中节点B的最佳路径,另外网络层也负责在源机器和目标机器之间建立相应的路由条目。由于这一层没有任何的错误检测和修复机制,因此要想实现可靠传输,网络层必须得依赖数据链路层所提供的可靠传输服务。网络层可用于两个不同网段之上的计算机系统建立通信,这是因为网络层提供的路由协议所使用的地址与二层所提供的物理地址是分开、独立的;位于两个不同网段的计算机可通过路由协议来建立彼此之间的通信链接。
4、传输层
传输层是OSI模型中最重要的一层。传输协议可进行流量控制或者基于接收方可接受数据的快慢程度规定适当的发送速率。另外,传输层会按照网络能处理的最大尺寸将较长的数据包进行强制分隔,如,以太网无法接受大于1500字节的数据,发送方的传输层将数据分割成较小的数据片,同时对每一数据片添加序列号进行排序,以便数据到达接收方后,能够以正确的顺序充足。工作在传输层的协议为TCP/IP协议套中的TCP和IPX/SPX协议集中的SPX(序列包交换)。
5、会话层
会话层负责在网络中的两个节点之间建立、维护和终止通信。常见功能包括:建立通信链接、保持会话过程通信链接的畅通、同步两个节点之间的对话、决定通信是否被中断以及通信中断时决定从何处重新发送。
6、表示层
表示层为应用层和网络层之间的翻译官,表示层能将数据转换成网络层能理解的格式。表示层通常也负责对数据的解密与加密。另外表示层协议还会对图片、视频、文本等文件格式信息进行解码和编码。
7、应用层
为操作系统或网络应用程序提供访问网络服务的接口,应用层协议包括:ftp、telnet、http、dns等等。
二、TCP/IP协议族
TCP/IP协议起源于六十年代末,发展至现在,其包含的协议数不胜数。TCP/IP协议作为网络通信的核心骨架,其定义了操作系统如何连接进入因特网,以及数据如何在它们之间进行传输。TCP/IP协议通常分为四层,分别为应用层、运输层、网络层及链路层,每一层负责不同的通信功能,每一层也运行着不同的协议。
1、链路层
链路层,又称为数据链路层。通常包含着操作系统中的设备驱动程序和计算机中对应的网卡。链路层负责处理将数字信号转换为电信号并形成特定的数据帧,然后以广播的方式传输给相应的接收方。
2、网络层
网络层又称为互联网层,负责处理以太帧在网络中的活动,如发送、接收、选路等等。另外网络层上使用了Ip地址作为网络层传输的网络地址,其有别与链路层的物理地址,能使得操作系统进行跨网段的互访。网络层主要功能:定义网络地址、划分网段、MAC寻址、数据包路由等。
3、运输层
运输层主要为主机之间的通信提供端到端的通信,其主要功能包括:端口定义、标识应用身份、端口之间的通信等。网络层使用两个不同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。其中TCP为主机之间的通信提供了可靠的数据传输,使用三次握手的机制来建立相应的TCP连接,以确保双方通信的可靠性。而UDP则提供了一种简单的传输方式,而简单也意味着不可靠。
4、应用层
在前面三层的多个协议及功能的支持下,应用层负责处理应用程序的相关数据。应用层定义了各种各样的协议来规范数据格式,并且可以按照对应的格式来解读数据。
三、OSI与TCP/IP 的关系
TCP/IP与OSI的不同点在于,OSI模型是一个理论上的网络通信模型,其为网络通信提供了统一的标准;而TCP/IP协议则是实际运行的网络协议栈,在对应的分层上均有其对应的运行协议。
参考资料:
1、《TCP/IP详解》卷一
2、https://baike.baidu.com/item/开放系统互连参考模型/8851889?fr=aladdin&fromid=9763441&fromtitle=OSI七层模型
3、http://www.baike.com/wiki/TCP/IP协议