在计算机通信诞生之初,每家计算机厂商都发布各自的网络体系结构、各种协议之间互不兼容,无法提供相互正常的通信。为了解决上述问题,ISO制定了一个国际标准OSI参考模型,对通信系统进行标准化,由此产生了OSI参考模型,OSI参考模型虽然没有得到普及,但是却被用于指导方针用于网络协议的制定当中,其中IETF制定的TCP/IP协议就是在OSI模型基础上设计的。通过这些分层,每个分层都接收由它下一层所提供的特定服务,并且负责为自己的上一层提供服务,上下层之间进行交互时所遵循的约定叫做“接口”,同一层之间的交互所遵循的约定叫做“协议”。
注意OSI参考模型和OSI协议的区别:OSI协议是为了让异构的计算机之间能够相互通信,由ISO推进其标准化的一种网络体系结构。
一、OSI参考模型
二、OSI参考模型在各个分层中的大致作用
应用层
为应用程序提供服务并规定应用程序中通信相关的细节。包括文件传输、电子邮件、远程登录(虚拟终端)等协议。
表示层
将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的格式。因此它主要负责数据格式的转换。具体来说,就是将设备固有的数据格式转换为网络标准传输格式。不同设备对同一比特流解释的结果可能会不同。因此,使它们保持一致是这一层的主要作用。
会话层
负责建立和断开通信连接(数据流动的逻辑通路),以及数据的分割等数据传输相关的管理。
传输层
起着可靠传输的作用。只在通信双方节点上进行处理,而无需在路由器上处理。
网络层
将数据传输到目标地址。目标地址可以是多个网络通过路由器连接而成的某一个地址。因此这一层主要负责寻址和路由选择。
数据链路层
负责物理层面上互连的、节点之间的通信传输。例如与 个以太网相连个节点之间的通信。序列划分为具有意义的数据帧传送给对端(数据帧的生成与接收)。
物理层
负责 比特流( 序列)与电压的高低、光的闲灭之间的互换。
各层协议举例(众多分层中的协议发挥各自的作用):
应用层协议:FTP/HTTP/SMTP/DNS/WWW/NFS
表示层协议:JPEF/MPEG/ASII
会话层协议:NFS/SQL/RPC
传输层协议:TCP/UDP/SPX
网络层协议:IP/ICMP/ARP/RARP/RIP
数据链路层协议:PPP/VLAN/MAC
物理层协议:CLOCK/RJ45
三、OSI参考模型各个分层的通信处理
每个分层上,在处理由上一层传过来的数据时可以附上当前分层的协议所必须的“首部”信息,然后接收端对收到的数据进行数据“首部”与“内容”的分离,在转发给上一层,并最终恢复原状。
1. 应用层
收发邮件的软件,我们分成两大类:跟通信无关和跟通信有关。例如用户A从键盘输入“早上好”这一部分跟通信无关,那么将写有“早上好”的内容发送给用户B则是和通信相关。因此,此处的“输入邮件内容并点击发送给目标地址“,也就是相当于应用层,那么点击发送的那一刻,就进入了应用层协议的处理了。
协议会在所需要传送数据的前端附上一个首部信息,首部标明:邮件内容和收件人为B。当数据传输给主机B后,主机B通过收信功能获取内容,并分析其数据首部和数据正文并将邮件保存到硬盘或是非易失性存储器,以便相应处理。但是,如果收件人的邮箱空间爆满了,则会返回一个错误信息给发送方,这类现象其实也是需要应用层解决的问题了。
2. 表示层
表示层将数据从某个计算机特定的数据格式转换为网络通用的标准数据格式,然后再发送出去,接收端主机收到数据以后,将这些网络标准的数据恢复为该计算机特定的数据格式,然后再进行相应的处理。那么可以解决因为所使用的应用软件本身的不同,而导致数据的表现形式截然不同。
3. 会话层
假设用户A新建了五封电子邮件,准备发送给用户B,这五封邮件的发送顺序可以有很多种。例如,可以每发一封邮件时建立一次连接,随后断开连接。也可以建立好连接之后将五封邮件连续发送给对方。也可以同时建立五个连接,将五封邮件同时发送给对方。
会话层的主要责任就是决定采用什么连接方法。
4. 传输层
传输层虽然也有会话层那样的建立连接和断开连接,但是会话层只是负责建立断开的时机,而传输层才是进行实际的建立和断开处理。
如何进行建立连接或断开连接的处理,在两个主机之间创建逻辑上的通信链接,就是传输层的主要作用。传输层是确保所传输的数据能到达目的地址,并在通信的两端计算机之间进行确认,如果数据没有到达,它会负责重发。例如主机A将"早上好"这一数据发送给主机B,期间可能会因为某些原因导致数据被破坏,或者发生网络异常,致使只有一部分数据到达目标地址,例如主机B只收到“早上”这一部分数据,那么主机B会将只收到”早上“这一部分数据事实告诉主机A,主机A得知这个情况,就会将后面的“好”重发给主机B。
由此可见,保证数据的传输的可靠性是传输层的一个重要作用。
5. 网络层
在实际发送数据时,目的地址至关重要,这个地址是进行通讯的网络中唯一指定的讯号,也就是人们生活中并不陌生电话号码。有了这个目标地址,那么就可以在众多计算机中选出该目标地址所对应的计算机发送数据。能在众多计算机中选出目标地址,就是网络层的功劳所在。
网络层的作用是在网络与网络相互连接的环境中,将数据从发送端主机,发送到接收端主机。
6. 数据链路层和物理层
在物理层中,将数据0、1转换为电压和脉冲光传输给物理的传输介质。在数据链路层,就是相互直连的设备之间使用地址实现传输,这种地址被称为MAC地址,采用MAC地址,目的是为了识别连接到同一个传输介质上的设备,总之就是在这些通过传输介质互联的设备之间进行数据处理。
四、网络通信的数据传输方式
1. 面向有连接型与面向无连接型
2. 电路交换与分组交换(其中,分组交换是TCP/IP所使用的技术)
3. 根据接收端数量分为:单播、广播、多播、任播
五、网络通信的地址
通信传输中,发送端和接收端可以被视为通信主体,它们都能由“地址”的信息标识出来,例如:TCP/IP通信中使用MAC地址、IP地址、端口号等信息作为地址标识。
1. 地址具有唯一性。
要想准确通信,必须保证一个通信网络中不允许由两个相同地址的通信主体存在。
2. 地址具有层次性。
IP地址具有层次性,IP地址由网络号和主机号两部分组成。即使通信主体的IP地址不同,若主机号不同,网络号相同,说明它们处于同一网段(LAN内),网络号和主机号是可以通过子网掩码计算出。
MAC地址无层次性,是由设备的制造厂商针对每块网卡进行分别指定。虽然MAC是真正负责最终通信的地址,但在实际寻址过程中,IP地址必不可少。
网络传输中,每个节点都会根据分组数据的地址信息(TCP所分割的),来判断该报文应该由哪个网卡发送出去,为此,各个地址会参考一个发出接口列表。MAC寻址所参考的是地址转发表(位于两层交换机/网桥),IP寻址所参考的叫做路由控制表(位于路由/三层交换机)。MAC地址转发表所记录的是实际的MAC地址本身,而路由控制表记录的IP地址则是集中了的网络号和子网掩码。(这里只是粗略提了一下,要想看这两张表的具体,请参考其它资料)
原文地址:https://www.cnblogs.com/chenloveslife/p/9609104.html