- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式网络那些事:LwIP协议深度剖析与实战演练(阅读笔记)
嵌入式 网络那些事 :LwIP协议深度剖析与实战演练 (阅读笔记 )
T P/IP协议模型可以分为4层 (从下到上 ):网络接口层 (Network Interface Layer )、网络层 (Internet Layer )、传输层 (Transport
Layer )、应用层 (Application Layer )
网络接口层 :
主要负责网络上数据帧的发送和接收。一方面将上层 (网络层 )的数据组装成自己特定的数据帧并发送 ,另一方面接收网络中的发给自己
的数据帧 ,并解析出帧中的数据后递交上层 (网络层 )。
网络层 :
主要负责主机之间的通信中选择数据报的传输路径 ,即路由。一方面 ,当网络层接收到来自于上层 (传输层 )的数据分组后封装在IP数据
报中 ,使用路由器算法来确定是直接交付数据报还是传递给路由器。另一方面判断是否为给本机的数据报 ,是则去除首部后递交给上层(传
输层) ,否则转发给路由器。
传输层 :
主要提供应用程序之间的通信服务 ,即端到端通信。为保证提供可靠的传输服务 ,可采用协商、确认、重发等机制。
应用层 :
利用传输层提供的数据传输功能发送字节的数据到对方。
应用层 DNS、DHCP、HTTP、SNMP、API、BSD Socket
传输层 TCP、UDP
网络层 IPv4 、IPv6、ICMP、IGMP、ARP
网络接口
PPP、SLIP、以太网、回环接口
层
第五章 【在无操作系统模拟层环境下移植LwIP】
1.LwIP是T P/IP协议一种独立、简单的实现。一般其运行需要几十KB的RAM和40KB的ROM。
2.使用的版本是1.3.2.主要功能有 :
①ARP协议 ,以太网地址解析协议 ;
②IP协议 ,包括IPv4和IPv6 ,支持IP分片和重装 ,支持多网络接口下的数据包转发 ;
③I MP协议 ,用于网络调试与维护
④IGMP协议 ,用于网络组管理 ,可以实现多播数据的接收 ;
⑤UDP协议 ,用户数据报协议 ;
⑥T P协议 ,支持T PT P拥塞控制 ,RTT估计 ,快速恢复与重传等 ;
⑦提供三种用户编程接口方式 :raw/callback API、sequential API、BSD-style socket API ;
⑧DNS ,域名解析 ;
⑨SNMP ,简单网络管理协议 ;
⑩DH P ,动态主机配置协议 ;
⑪AUTOIP ,IP地址自动配置 ;
⑫PPP ,点对点协议 ,支持PPPoE。
3.以太网中数据帧格式 :前两个字段由网卡在物理层上发送以太网数据时添加上去的
前同步码 SFD 目的地址 源地址 长度/类型 数据和填 CRC
7字节 1字节 6字节 6字节 2字节 46字节~15 字节 4字节
目的地址分为 :单播地址、多播地址、广播地址
单播地址 :第一个字节的bit0为0
多播地址 :第一个字节的bit0为1
广播地址 :48位全为1
长度或类型字段 :
小于1518表示长度 ,大于1518表示上层协议类型 ,0x800表示IP数据包 ,0x806表示ARP数据包
数据和填充字段 :
最小长度为46字节 ,最大长度为1500字节
4.LwIP在ethernetif.c文件中给出了5个函数为 :
⑴static void low_level_init(struct netif *netif)
⑵static err_t low_level_input(struct netif *netif,struct pbuf *p)
⑶static struct pbuf *low_level_input(struct netif *netif)
⑷static void ethernetif_input(struct netif *netif)
⑸err_t ethernetif_init(struct netif *netif)
low_level_init为网卡初始化函数 ,它主要用来完成网卡复位及参数初始化 ,同时根据实际的网卡特性 ,还需设置协议栈网络接口管理结构
netif中网卡属性相关字段 ,例如网卡MA 地址长度等 ;
low_level_output为网卡数据包发送函数 ,它将内核数据结构pbuf描述的数据包发送出去 ;
low_l
您可能关注的文档
- 园林景观施工(硬景)培训.ppt
- 国外大功率拖拉机新技术新结构和发展趋势的研究_倪向东.pdf
- 国内残膜回收机械研究现状及发展趋势_张佳.pdf
- 国内外高强韧性低密度钢的研发进展_章小峰.pdf
- 国文基础阅读(诗歌部分)背诵篇目.pdf
- 国有林区林业产业化的指导思想.docx
- 国际企业 石墨烯.docx
- 国际大都市科技创新与金融_双中心_建设的经验与启示_以纽约_伦敦为例.pdf
- 园路园桥工程-1.pptx
- 国际金融中心成长的理论分析.pdf
- 2025年设备监理师模拟题和答案分析.docx
- 江苏省无锡市锡山区2025届九年级上学期1月期末考试数学试卷(含答案).docx
- 手术室消防安全知识.pptx
- 2025年设备监理师全真模拟测试带答案.docx
- 江苏省无锡市梁溪区2024-2025学年八年级上学期期末考试数学试卷(含答案).docx
- 2025年设备监理师题库汇编带答案解析.docx
- 江苏省无锡市新吴区2024-2025学年八年级上学期期末考试数学试卷(含答案).docx
- 江苏省无锡市锡山区2024-2025学年八年级上学期1月期末考试数学试卷(含答案).docx
- 2025年设备监理师重点试题带答案(精编).docx
- 江苏省无锡市宜兴市2025届九年级上学期1月期末考试数学试卷(含解析).docx
文档评论(0)