协议栈我理解就是一组函数和数据结构集合,实现特定功能的一个函数包,给你开放了多个应用函数接口,使一些复杂的开发降低复杂程度。
协议栈实现的功能不同,内容差异很大。
如何开发一个协议栈?先弄懂一个协议栈,写个和他类似的,模仿开始。
知道的就这么多点
协议个人理解就是一个约定的通信规矩。
你要先定义数据格式,然后用函数去实现,去封装。
为什么叫做协议栈
栈的特性是什么?
先进后出
协议有啥特点?
各层透明
最早加上的协议头被封装在了最里面
只有最后解析的时候才被拉出来.
我想,这和栈有一点类似吧.
协议栈 是通信设计、开发、应用领域 分层设计的方式。内容规定了 各层 数据封装规则 ,上下传递 的规则 (因为完成一次两端通信 在一个完整的过程中 总是 信息从一台主机上层传递到到下层(逐层封装),直至 实际传输的物流层实现信号从一台主机到另外一台主机后,然后 逐层向上解包 到达另外一台主机的应用接受端)
一般不会直接开发完整的整个协议栈,而是对其中某个层进根据应用行进一步的实现,比如http和ftp其实都是在tcp/ip 中的具体应用实现。一般开发都是在应用层进行实现。