概述
协议定义的是一系列的通信标准, 通信双方需要共同按照这一标准进行正常的数据收发;信的双方需要共同按照这一个标准进行正常的数据收发;(两人,说共同的语言,不然不能交流,一个听不懂外语的和说外语的交流)
协议栈是协议的具体实现形式, 通俗的理解就是用代码实现的函数库, 以便于开发人员调用。
协议栈是通常是一个层级结构。协议栈是网络中各层协议的总和,其形象的反映了 一个网络中文件传输过程;由上层协议到底层协议,再由底层协议到上层协议。
某个协议的实现代码称为协议栈
BLE协议栈主要用来对你的应用数据进行层层封包,以生成一个满足BLE协议的空中数据包,也就是说,把应用数据包裹在一系列的帧头(header)和帧尾(tail)中。
以太网五层模型
“以太网首部”包含数据帧的一些说明项,比如发送者、接收者、数据类型等等;“数据”部分则是数据的具体内容;“以太网尾部”则是 CRC 校验码。“以太网首部”的长度固定为 14 字节。“数据”的长度,最短为 46 字节,最长为 1500 字节。“以太网尾部”的长度固定位 4 字节。因此,整个“帧”最短为 64 字节,最长为 1518 字节。如果数据很长,就必须分割成多个帧进行发送
TCP 协议可以为各种各样的程序传递数据,比如发 Email 用的SMTP(简单邮件管理)协议、网上冲浪用到的 HTTP(超文本传输)协议、下载资料用到的 FTP(文件传送)协议等等,这些应用程序协议就构成了“应用层”
应用这种软件 TCP/IP 协议栈方式实现的比较成熟方案有 ENC28J60,CS8900A,DM9000,当然也有像 STM32F107 这类(内部自带 MAC)+PHY 等方案。
由于软件协议栈操作需要主控 MCU 不断地响应中断,这在很大程度上占用了MCU 的运算/时钟资源。经过测试发现,单线程操作的情况下,MCU 的运行速度和数据的处理速度仅能满足需要,但随着线程增多,MCU 的工作效率直线下降,会严重影响通信质量。
最后
以上就是复杂发卡为你收集整理的简单理解TCP/IP协议栈的全部内容,希望文章能够帮你解决简单理解TCP/IP协议栈所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复