新闻中心

EEPW首页>嵌入式系统>设计应用> 基于SX单片机实现WebServer和网络协议栈

基于SX单片机实现WebServer和网络协议栈

作者: 时间:2012-03-14 来源:网络 收藏

二、栈的

通常分不同层次进行开发,每一层分别负责不同的通信功能。一个族,比如TCP/IP,是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个四层协议系统,如图3所示。每一层负责不同的功能。

(1)数据链路层,有时也称为接口层。通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。

(2)网络层,有时也称作互联网层。处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(网际协议)、ICMP 协议(Internet互联网控制报文协议)以及IGMP 协议(Internet组管理协议)。这里主要讨论IP协议。

(3)传输层主要为两台主机上的应用程序提供端到端的通信。TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。

(4)应用层负责处理特定的应用程序细节。几乎各种不同的TCP/IP都会提供下面这些应用:

  ① HTTP超文本传输控制协议;

  ② TELNET远程登录;

  ③ FTP文件传输协议;

  ④ SMTP简单邮件传送协议;

  ⑤ SNMP简单网络管理协议。


因为数据链路层主要是网络接口卡及驱动,由RTL8019AS来,所以下面讨论网络层、传输层和应用层协议栈的实现。

1. 网络层

(1) IP协议

IP是TCP/IP 协议族中最为核心的协议。Internet所有的数据都以IP 数据报格式传输。IP协议最大的特点是提供不可靠的和无连接的数据包传送服务。

35.jpg

不可靠(unreliable)的意思是它不能保证IP数据报能成功地到达目的地。IP仅提供最好的传输服务。若发生某种错误时,如某个路由器暂时用完了缓冲区,IP有一个简单的错误处理算法:丢弃该数据报,然后发送ICMP(Internet控制报文协议)消息报给信源端。任何要求的可靠性必须由上层来提供(如TCP)。

无连接(connectionless)的意思是IP并不维护任何关于后续数据报的状态信息。每个数据报的处理是相互独立的。这也说明,IP数据报可以不按发送顺序接收。如果一信源向相同的信宿发送两个连续的数据报(先是A,然后是B),每个数据报都是独立地进行路由选择,可能选择不同的路线,因此, B可能在A到达之前先到达。

IP数据包的格式如图4所示。

版本是指IP协议的版本号。目前的协议版本号是4, 因此IP也称作IPV4。

36.jpg



评论


相关推荐

技术专区

关闭