天天看点

OSI七层模型——传输层OSI

文章目录

  • OSI
    • OSI简介
    • OSI之传输层功能

OSI

OSI简介

TCP/IP是计算机最基本的一种网络通信协议,TCP/IP协议基于OSI七层模型的设计思想。OSI是国际标准化组织对互联网通信的一种标准框架,方便对互联网通信进行标准化处理。TCP/IP就是在这种标准下的一簇通信协议。

以下就是OSI模型的7层。

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

OSI之传输层功能

供端到端(最终用户到最终用户)的透明的、可靠的数据传输服务。

传输层的代表协议由TCP、UDP。

这一层中,接收上层传过来的socket数据,然后进行数据的封包,可能根据socket设置的通信协议,封装成UDP或者TCP的包,在封包过程中还会将端口号进行封装,例如TCP协议下主要用到的一些端口。,再进入下一层进行IP协议的封包,传输到另外的端口,

端口号 服务进程 说明
20 FTP 文件传输协议(数据连接)
21 FTP 文件传输协议(控制连接)
23 telnet 网络虚拟终端协议
25 SMTP 简单邮件传输协议
80 HTTP 超文本传输协议
179 BGP 边界路由协议

在传输层中,不同的协议有着不同的处理机制。

UDP协议,接收之后校验失败也不会重传,直接会丢弃;TCP协议则会触发重传机制,在UBOOT当中仅实现了UDP协议,在UDP协议的基础上,实现了TFTP的通信协议。

之前我在UBOOT当中,借助UDP协议,实现了一系列的命令,通过这种方式可以实现在线升级底层软件的功能。

之前没有OSI七层模型的概念,在实现过程中,直接对UDP的包进行了解析,所有的UDP包到达之后,都会进行一个switch的判断,判断完成之后,对环境变量进行配置,在启动脚本中进行变量的判断,然后进行tftp获取文件的请求,将文件写入qspi以此实现网络升级的功能。

现在了解分层概念之后,认为不应该在UDP层面进行switch判断,应实现于更上层,实现一个类似于tftp的应用,来进行数据包的解析,具体接口应研究tftp应用的实现。tftp具体属于哪一层应在后续分析,至少不属于传输层以下的层面,应属于会话层、表示层、应用层。

继续阅读