W5500网络扩展板教程
以太网及硬件TCP/IP协议栈应用
以太网在各个领域和行业有着非常广泛和深入的应用,这主要源于以太网的
高度灵活性和较易实现的特点。因为以太网具有组网简单,成本低廉,兼容性优
秀,连接可靠,以及拓扑调整方便的优点,在作为智能家居,物联网或者无线传
感网络的网关方面有其他的网络技术所不具备的优势,从而得到大力的发展和应
用。本文将详细介绍如何使嵌入式系统接入到以太网,如何采用硬件协议栈的方
式使您的方案或应用快速高效的连接到互联网,如何实现TCP/IP 的通信,以及
如何实现上层应用层协议等等。
1
1
第 章 以太网模型
以太网的实现采用层次结构的概念,每一层都有自己的功能,就像建筑物一
样,每一层都靠下一层支持,每一层也都为上一层功能的实现打好基础。
实际上,用户接触到的只是最上面的一层,根本感觉不到底层的存在。要理
解以太网,必须从最下层开始,自下而上理解每一层的功能。
1.1 五层结构
以太网模型有不同的分层方式,ISO (国际标准组织)提出OSI七层网络模
型,自上而下分别为:应用层、表示层、会话层、传输层、网络层、数据链路层、
物理层。OSI七层网络模型主要是为了解决异种网络互联时所遇到的兼容性问题。
它的最大优点是将服务、接口和协议这三个概念明确地区分开来,也使网络的不
同功能模块承担起不同的职责。由于互联网网络体系结构以TCP/IP协议为核心,
因而基于TCP/IP 的参考模型将以太网可以分成四层,自上而下分别为:应用层、
传输层、网络互联层、网络接口层。
根据我自己的理解,把以太网分成五层比较容易解释。这五层结构不仅符合
OSI结构强调的不同层次承担不同职责的特点,同时也符合TCP/IP协议参考模
型协议之间相互支撑、相互调用的逻辑关系。
图1-1-1以太网五层模型
2
如上图所示,最底下的一层叫做 “物理层”,也叫 “PHY层”,最上面的一层
叫做 “应用层”,中间的三层(自下而上)分别是 “链路层”,也叫 “MAC层”、
“网络层”和 “传输层”。越下面的层,越靠近硬件;越上面的层,越靠近用户。
1.2 层与协议
每一层都有其各自的功能。为了实现这些功能,就需要大家都遵守一个共同
的规则。
那么这个共同的规则,就叫做“协议” (Protocol)。以太网的每一层都定义了
很多协议。这些协议的总称就叫做“互联网协议” (Internet ProtocolSuite)。它
们是互联网的核心,下面介绍每一层的功能,及其中的主要协议。
3
2
第 章 以太网分层概述
下面对以太网的五层结构模型进行详细解释,让大家对网络的通信过程、每
层的具体定义和功能、数据收发机制以及要遵守的协议进行理解。首先,大家要
知道在不同层由于封包机制不同,数据的叫法也不同,这样有利于大家更好的理
解下面的内容。传输层叫数据段(Segment),网络层叫数据报(Datagram),
链路层叫数据帧(Frame)。
2.1 物理层
我们从最底下的一层开始。
物理层也叫“PHY层”,它负责将上层所要发送的信息编码成电流脉冲或其它
信号用于网上传输。
图2-1-1 计算机的网络连接
物理层由计算机和网络介质之间的实际界面组成,可定义电气信号、符号、
线的状态和时钟要求、数据编码和数据传输用的连接器。如最常用的RS-232规
范、10BASE-T的曼彻斯特编码以及RJ-45就属于这一层。所有比物理层高的层
都通过事先定义好的接口而与它通话。
4
2.2 链路层
2.2.1 定义
数据链路层通过物理网络链路提供可靠的数据传输。不同的数据链路层定义
了不同的网络和协议特征,其中包括物理编址、网络拓扑结构、错误校验、帧序
列以及流控。