文章目录
- 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具体属于哪一层应在后续分析,至少不属于传输层以下的层面,应属于会话层、表示层、应用层。