OSI模型

 

 

OSI参考模型

    OSIOpen System Interconnect),即开放式系统互联。一般都叫OSI参考模型,是ISO国际标准化组织)组织在1985年研究的网络互联模型。该体系结构标准定义了网络互连的七层框架(物理层数据链路层网络层传输层会话层表示层应用层),即ISO开放系统互连参考模型。在这一框架下进一步详细规定了每一层的功能,以实现开放系统环境中的互连性、互操作性和应用的可移植性。在OSI中,采用了三级抽象,即体系结构、服务定义和协议规定说明。

ISO/OSI参考模型并没有提供一个可以实现的方法。ISO/OSI参考模型只是描述了一些概念,用来协调进程间通信标准的制定。在OSI范围内,只有在各种的协议是可以被实现的而各种产品只有和OSI的协议相一致才能互连。这也就是说,OSI参考模型并不是一个标准,而只是一个在制定标准时所使用的概念性的框架。

最早的时候网络刚刚出现的时候,很多大型的公司都拥有了网络技术,公司内部计算机可以相互连接。可是却不能与其它公司连接。因为没有一个统一的规范。计算机之间相互传输的信息对方不能理解。所以不能互联。ISO为了更好的使网络应用更为普及,就推出了OSI参考模型。其含义就是推荐所有公司使用这个规范来控制网络。这样所有公司都有相同的规范,就能互联了。

OSI七层模型

第七层:应用层数据用户接口,提供用户程序“接口”。
第六层:表示层数据 数据的表现形式,特定功能的实现,如数据加密。
第五层:会话层数据 允许不同机器上的用户之间建立会话关系,如WINDOWS
第四层:传输层实现网络不同主机上用户进程之间的数据通信,可靠
与不可靠的传输,传输层的错误检测,流量控制等。
第三层:网络层 提供逻辑地址(IP)、选路,数据从源端到目的端的
传输
第二层:数据链路层将上层数据封装成帧,用MAC地址访问媒介,错误检测与修正。
第一层:物理层比特流 设备之间比特流的传输,物理接口,电气特性等。

 

7层应用层OSI中的最高层。为特定类型的网络应用提供了访问OSI环境的手段。应用层确定进程之间通信的性质,以满足用户的需要。应用层不仅要提供应用进程所需要的信息交换和远程操作,而且还要作为应用进程的用户代理来完成一些为进行信息交换所必需的功能。它包括:文件传送访问和管理FTAM虚拟终端VT、事务处理TP、远程数据库访问RDA、制造报文规范MMS目录服务DS等协议;应用层能与应用程序界面沟通,以达到展示给用户的目的。 

6层表示层:主要用于处理两个通信系统中交换信息的表示方式。为上层用户解决用户信息的语法问题。它包括数据格式交换、数据加密与解密数据压缩终端类型的转换。

5会话层负责在网络中的两节点之间建立和维持通信。 会话层的功能包括:建立通信链接,保持会话过程通信链接的畅通,同步两个节点之间的对话,决定通信是否被中断以及通信中断时决定从何处重新发送。

4传输层 OSI模型中最重要的一层传输协议同时进行流量控制或是基于接收方可接收数据的快慢程度规定适当的发送速率。除此之外,传输层按照网络能处理的最大尺寸将较长的数据包进行强制分割。

3网络层其主要功能是将网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接收方。除了选择路由之外,网络层还负责建立和维护连接,控制网络上的拥塞以及在必要的时候生成计费信息。

2数据链路层:它控制网络层与物理层之间的通信。它的主要功能是如何在不可靠的物理线路上进行数据的可靠传递(差错控制)。为了保证传输,从网络层接收到的数据被分割成特定的可被物理层传输的帧。帧是用来移动数据的结构包,它不仅包括原始数据,还包括发送方和接收方的网络地址以及纠错和控制信息。其中的地址确定了帧将发送到何处,而纠错和控制信息则确保帧无差错到达。本层指定拓扑结构并提供硬件寻址。常用设备有网桥、交换机;

1层物理层:处于OSI参考模型的最底层。物理层的主要功能是利用物理传输介质为数据链路层提供物理连接,以便透明的传送比特流。常用设备有(各种物理设备)网卡、集线器、中继器、调制解调器、网线、双绞线、同轴电缆。

 

 

TCP协议中的三次握手和四次挥手

建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:

                                                                        三次握手

 

                                                                                                       

 

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。

 

第二次握手:服务器收到syn包,必须确认客户的SYNack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

 

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHEDTCP连接成功)状态,完成三次握手。

     为什么要三次握手

     为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。        

                                                                                                     ————谢希仁的《计算机网络》

四次挥手

 

1TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送。

2) 服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。

3) 服务器关闭客户端的连接,发送一个FIN给客户端。

4) 客户端发回ACK报文确认,并将确认序号设置为收到序号加1

 

为什么要四次挥手

TCP协议是一种面向连接的、可靠的、基于字节流的运输层通信协议。TCP是全双工模式,这就意味着,当主机1发出FIN报文段时,只是表示主机1已经没有数据要发送了,主机1告诉主机2,它的数据已经全部发送完毕了;但是,这个时候主机1还是可以接受来自主机2的数据;当主机2返回ACK报文段时,表示它已经知道主机1没有数据发送了,但是主机2还是可以发送数据到主机1的;当主机2也发送了FIN报文段时,这个时候就表示主机2也没有数据要发送了,就会告诉主机1,我也没有数据要发送了,之后彼此就会愉快的中断这次TCP连接。

 

 

几个基本概念

SYN:

Synchronous  建立联机

ACK:

Acknowledgement  确认

PSH:

Push  传送

FIN:

Finish  结束

RST:

Reset 重置

URG:

Urgent  紧急

CLOSED:

表示初始状态。

LISTEN:

表示服务器端的某个SOCKET处于监听状态,可以接受连接了。

SYN_RCVD:

这个状态表示接受到了SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂,基本上用netstat是很难看到这种状态的,除非特意写了一个客户端测试程序,故意将三次TCP握手过程中最后一个ACK报文不予发送。因此这种状态时,当收到客户端的ACK报文后,它会进入到ESTABLISHED状态。

SYN_SENT:

这个状态与SYN_RCVD呼应,当客户端SOCKET执行CONNECT连接时,它首先发送SYN报文,因此也随即它会进入到了SYN_SENT状态,并等待服务端的发送三次握手中的第2个报文。SYN_SENT状态表示客户端已发送SYN报文。

ESTABLISHED

表示连接已经建立。

 

### OSI模型在汽车网络中的应用 #### 背景介绍 OSI模型是一种用于描述计算机网络通信的标准框架,其定义了七个层次的结构来组织和分类不同的网络功能[^3]。这些层次分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每一层都有特定的功能,并通过标准化接口与其他层进行交互。 在汽车领域,随着车辆智能化和联网化的快速发展,车载网络逐渐复杂化,涉及多种通信需求和技术标准。因此,OSI模型被广泛应用于汽车网络的设计与实现中,特别是在信息交换的安全性和可靠性方面发挥了重要作用[^5]。 --- #### 汽车网络中的具体应用 1. **物理层** 物理层主要负责信号的传输介质及其电气特性,在汽车网络中通常表现为CAN(Controller Area Network)、LIN(Local Interconnect Network)、FlexRay、MOST(Media Oriented Systems Transport)以及以太网等总线技术。例如,CAN总线作为汽车内部最常用的通信方式之一,提供了可靠的低延迟消息传递能力[^1]。 2. **数据链路层** 数据链路层的任务是对来自物理层的数据帧进行封装并确保无误地传送到目标节点。对于现代汽车而言,这一层可能涉及到MAC地址分配或者错误检测机制等方面的内容。比如,在基于IEEE 802.3标准构建的车载以太网上,每台设备都需要拥有唯一的硬件地址来进行识别和寻址操作[^4]。 3. **网络层** 网络层的核心作用在于路由选择与包转发,这使得不同子网之间能够互联互通成为现实。针对复杂的车内环境来说,采用IP协议族成员IPv4/IPv6可以有效支持多播组播业务场景;同时配合NAT(Network Address Translation)技术还能进一步增强隐私保护水平。另外值得注意的是,为了防止不必要的广播风暴影响整体性能表现,实际部署过程中往往会运用到VLAN(Virtual Local Area Networks),从而把整个系统分割成若干逻辑独立的小型局域网单元。 4. **传输层** 在此层面之上运行着TCP(Transmission Control Protocol)/UDP(User Datagram Protocol)两种主流通讯模式供开发者选用——前者强调连接稳定性而后者则更注重速度优势。考虑到实时性要求较高的场合下(如ADAS高级驾驶辅助系统),往往倾向于优先考虑后者所提供的简单快速的服务形式[^2]。 5. **会话层及以上三层 (会话层, 表示层, 应用层)** 这些高层级更多关注于如何满足最终用户的实际应用场景需求。例如,通过SOAP(Simple Object Access Protocol) 或 RESTful API 来简化远程调用过程; 利用SSL/TLS 加密通道保障敏感资料在网络上传输期间不会遭到窃听篡改威胁等等措施均属于此类范畴之内 。 此外 ,Telematics teleservice 平台也是典型代表案例之一 , 它允许车主借助智能手机应用查看 ```python def osi_in_automotive(): layers = ["Physical", "Data Link", "Network", "Transport", "Session", "Presentation", "Application"] applications = { "Physical": "CAN, LIN, FlexRay", "Data Link": "MAC addressing in Ethernet", "Network": "Routing with VLANs and IP protocols", "Transport": "Use of UDP for real-time systems like ADAS", "Session/Presentation/Application": "Telematics services using SOAP or REST APIs" } result = {} for layer in layers: if layer.lower() in applications: result[layer] = applications[layer.lower()] else: result[layer] = "Not explicitly detailed but follows general principles." return result print(osi_in_automotive()) ``` --- #### 小结 综上所述,OSI模型不仅为传统意义上的广域网(WAN) 和 局域网(LAN) 提供了一个清晰易懂的概念划分依据,而且同样适用于当今高度集成化的汽车电子控制系统之中。通过对各层职责范围内的深入理解可以帮助工程师们更加高效合理地规划实施相应的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值