OSI参考模型、TCP/IP协议和数据封装过程

一、为何分层

层次划分的必要性:

旧模型是专有产品,由一个厂商控制应用程序和嵌入的软件

基于标准的模型是多厂商软件,用分层方法

硬件没有统一标准,软件也没有统一标准,因为全球互联网、网络之间需要通信,不同厂商之间的设备也无法通信,于是国际标准化组织(ISO)统一了标准,所有厂商生产的各种型号的计算机,都可以通过TCP/IP协议互相通信

层次划分的方法:

1.网络的每层都具有相对独立的功能,当某功能出现问题,就是那一层出现问题需要处理方便排除错误

2.梳理每层功能之间的关系,使上个功能可以实现为下个功能提供必要的服务,从而形成系统的层次结构,每环相扣形成紧密联系

3.为提高系统的工作效率,相同或相近的功能仅在一个层次中实现,而且尽可能在较高的层次中实现

4.每一层只为相邻的上一层提供服务

层次划分的优点:

1.各层之间相互独立,每一层只用实现一种功能,使问题复杂程度降低,利于针对解决问题

2.灵活性好,各层内部的操作不会影响其他层

3.结构上可分割,各层之间都可以采用最合适的技术来实现

4.易于实现和维护,整个系统被分解成相对独立的子系统

5.能促进标准化工作,每一层功能和所能提供的服务都有精确的说明

二、OSI七层参考模型

OSI开放式系统互联参考模型(ISO):提升了各个厂家的设备兼容性。

互联网的本质就是一系列的网络协议,这个协议就叫OSI协议,按照功能、分工不同,人为分成七层,但是这个七层实际上是不存在的,只是人为的划分,便于清晰的让人理解每层的作用,复杂的事情简单化。

1.发送方

1.应用层(Application):网络服务与最终用户的一个接口(用户操作)人和程序之间的一个交流平台。输入高级语言指令(例:微信、qq、浏览器)

2.表示层(Presentation):数据的表示、安全、压缩。将人类使用的高级语言翻译成二进制语言,并指定数据的存储格式、加密格式、解密、压缩等工作

3.会话层(Session):建立、管理、终止会话。管理多个对话,保证消息正确到达指定的地方,通过一些协议判断两个软件之间是否可以进行通信

4.传输层(Transport):定义传输数据的协议端口号以及流控和差错校验。确定传输的协议:tcp/udp(数据传输协议:协商、议定),发送数据时按照某种特定格式发,接收方也按照某种特定格式接收。tcp:传输慢但稳定(例:网站)udp:传输快但不稳定(例:直播)在网络传输中,通过端口号的不同来区分应用程序(通过端口号确定来发给哪个应用程序,说白了传输层就像选择哪家快递公司)

5.网络层(Network):进行逻辑地址寻址,实现不同网络之间的路径选择。选择数据的最佳传输路线(ip地址)

6.数据链路层(Data Link):建立逻辑连接,进行硬件地址寻址、差错校验等功能。二次确认数据是否正确到达指定目的地(mac地址:全球唯一性的)

7.物理层(Physical):建立、维护或断开物理连接(定义了一些物理接口的标准)将二进制数据转换成电信号传输出去。说白了就是插上或拔下网线。

2.接收方

1.物理层(Physical):将收到的电信号转换成二进制

2.数据链路层(Data Link):对比自己的Mac地址和接受的数据包里面的mac地址做对比查看是否一致,若一致就接收,不一致就丢弃

3.网络层(Network):再次对比ip地址是否正确

4.传输层(Transport):通过端口号找到对应的程序

5.会话层(Session):通过特定的会话通道到达表示层

6.表示层(Presentation):将二进制语言转化成高级语言

7.应用层(Application):显示在应用程序中

OSI参考模型、TCP/IP协议和数据封装过程_第1张图片

3.OSI七层总结

层次模型 作用 数据单元 主要设备
应用层 网络服务与最终用户的一个接口 message
表示层 数据的表示、压缩、格式化、加密 message
会话层 建立、管理、中止会话 message
传输层 定义传输数据的协议端口号,以及流量和差错校验 数据段
网络层 进行逻辑地址寻址,实现不同网络之间的路径选择 数据包 路由器
数据链路层 进行硬件地址寻址,差错校验等功能 数据帧 交换机
物理层 建立、维护、断开物理连接 比特流 网卡

PDU(Protocol Data Unit)协议数据单元:对等层次之间传递的数据单元

物理层PDU:数据位(bit)

数据链路层PDU:数据帧(frame)

网络层PDU:数据包(packet)

传输层PDU:数据段(segment)

其他更高层次PDU:消息(message)

应用层、表示层、会话层是高三层---面向客户

网络层、数据链路层、物理层是低三层---面向硬件

(应用层7表示层6会话层5传输层4网络层3数据链路层2物理层1)

数据链路层最典型的设备就是交换机(二层交换机原理根据mac地址转发数据),网络层最典型的设备就是路由器(三层原理根据ip地址转发数据),传输层最典型的设备就是防火墙(四层原理根据协议和端口号),应用层最典型的设备就是计算机pc(七层协议控制真实数据转发文件),物理层最典型的设备就是网卡

每层的原理:

二层:交换机,根据mac地址转发数据

三层:根据ip地址转发数据

四层:根据协议和端口号

七层:根据协议控制真实数据转发文件

四层代理和七层代理的区别在于:四层快但是功能少,七层慢但是功能多

注:网络层及以下的通信为点对点通信(主机与主机),传输层的通信为端到端通信(端口-端口)

三、TCP/IP参考模型

TCP/IP(Transmission Control Protocol/Internet Protocol):传输控制协议/网际协议

TCP/IP是指能够在多个不同网络间实现信息传输的协议簇,TCP/IP不仅仅指的是TCP和IP两个协议,其实还有FTP、SMTP、TCP、UDP、IP等协议构成的协议簇,只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

OSI参考模型与TCP/IP模型都采用了分层体系结构,将庞大而复杂的问题转化为多个易于处理的子问题。TCP/IP参考模型最多划分了5个层次,将OSI参考模型中的高三层合并为一层统称应用层,在层次结构上,都采用了分层体系结构,但是TCP/IP参考模型比OSI参考模型更简化。如图:

OSI参考模型、TCP/IP协议和数据封装过程_第2张图片

四、TCP/IP协议簇的组成

模型层 协议
应用层 HTTP、FTP、TFTP、SMTP、SNMP、DNS
传输层 TCP、UDP
网络层 IP(ICMP、IGMP、ARP、RARP)
数据链路层

Point-to-Point Protocol

物理层 IEEE802.3有线局域网(以太网),IEEE802.11无线局域网标准

网络层协议:

ICMP协议:检测主机双向联通性,程序ping/tracert

ARP(Address Resolution Protocol)地址解析协议:将ip转换成mac地址的协议

应用层协议:

http:超文本传输协议(就是平时看的网页、网页协议)---默认使用tcp的80端口

https:超文本加密版(是http协议的加密版)---默认使用tcp的443端口

ftp:文件传输协议(vsftpd/filezila用ftp协议使用的软件)---默认使用tcp的20,21端口

tftp:简单文件传输协议---默认使用的udp的69端口

注:协议的体现形式是软件,像nginx用的就是http协议

五、数据封装与解封过程

OSI参考模型、TCP/IP协议和数据封装过程_第3张图片

tcp/udp头部:选择TCP端口或UDP端口

IP地址头部:源IP地址和目的IP地址

MAC地址头部:源mac和目的mac

解装过程和封装过程相反:

封装:原始数据-数据段-数据包-数据帧-比特流

解装:比特流-数据帧-数据包-数据段-原始数据

六、单工、半双工和全双工的区别和联系

1.单工

单工数据传输只支持数据在一个方向上传输,在同一时间只有一方能接受或发送信息,不能实现双向通信。例:电视、广播等

2.半双工

半双工数据传输支持数据在两个方向上传输,但是在某一时刻,只支持数据在一个方向上传输,实际上是一种切换方向的单工通信,在同一时间只能有一方发送或接收信息,但是区别于单工的是半双工可以实现双向通信。例:对讲机

3.全双工

全双工数据通信允许数据同时在两个方向上传输,因此全双工通信是两个单工通信方式的结合,全双工要求的是发送设备和接收设备都有独立的接收和发送能力,可以在同一时间同时接收和发送信息,实现双向通信。例:电话通信

OSI参考模型、TCP/IP协议和数据封装过程_第4张图片

你可能感兴趣的:(tcp/ip,网络,服务器)