ip协议范文

时间:2023-11-08 15:30:52

ip协议

ip协议篇1

IPV4:网际协议版本4(英语:Internet Protocol version 4,IPv4),又称互联网通信协议第四版,是网际协议开发过程中的第四个修订版本,也是此协议第一个被广泛部署的版本。IPv4是互联网的核心,也是使用最广泛的网际协议版本,其后继版本为IPv6,直到2011年,IANA IPv4位址完全用尽时,IPv6仍处在部署的初期。

IPV6:IPv6是英文“Internet Protocol Version 6”(互联网协议第6版)的缩写,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址。

由于IPv4最大的问题在于网络地址资源不足,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。

互联网数字分配机构(IANA)在2016年已向国际互联网工程任务组(IETF)提出建议,要求新制定的国际互联网标准只支持IPv6,不再兼容IPv4。

ip协议篇2

TCP/IP协议是网络中使用的基本通信协议。虽然从名字上看它包括两个协议:TCP协议和IP协议,但确切的说,TCP/IP实际上是一组协议,除了最常用的TCP和IP协议外,还包含许多其它的工具性协议、管理协议及应用协议。TCP/IP协议共分为4层,即:应用层、传输层、互连网络层、网络接入层。其中,应用层向用户提供访问Internet的一些高层协议,使用最广泛的有TELNET、FTP、SMTP、DNS等。传输层提供应用程序端到端的通信服务,该层有两个协议:TCP和UDP。互连网络层负责相邻主机之间的通信,该层协议主要有IP和ICMP等。网络接口层是TCP/IP协议软件的最低一层,主要负责数据帧的发送和接收。

典型协议安全性分析与防范

TCP协议

协议工作过程

TCP是基于连接的。为了在主机A和B之间传送TCP数据,必须先通过3次握手机制建立一条TCP连接。若A为连接方、B为响应方,则连接建立过程如下:首先,连接方A发送一个包含SYN标志的TCP报文(即同步报文)给B,SYN报文会指明连接方A使用的端口以及TCP连接的初始序号X; 随后,响应方B在收到连接方A的SYN报文后, 返回一个SYN+ACK的报文(其中SYN是自己的初始序号Y,ACK为确认号X+1,表示客户端的请求被接受,正在等待下一个报文)。最后,连接方A也返回一个确认报文ACK(序列号y+1)给响应方B。到此一个TCP连接完成。

TCP协议的安全问题

在连接过程中,可能受到的威胁如下:攻击者监听B方发出的SYN+ACK报文,然后向B方发送RST包。接着发送SYN包,假冒A方发起新的连接。B方响应新连接,并发送连接响应报文SYN+ACK。攻击者再假冒A方对B方发送ACK包。这样攻击者便达到了破坏连接的作用。若攻击者再趁机插入有害数据包,则后果更严重。

例如,在TCP的3次握手中,假设1个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(即第3次握手无法完成),这种情况下服务器端一般会再次发送SYN+ACK给客户端,并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYN Timeout,一般来说这个时间是分钟的数量级(大约为30秒-2分钟);1个用户出现异常导致服务器的一个线程等待1分钟并不是什么大问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源。服务器端将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求,此时从正常客户的角度看来,服务器失去响应,这种情况我们称作服务器端受到了SYN Flood攻击。

防范方法

对于SYN Flood攻击,目前还没有完全有效的方法,但可以从以下几个方面加以防范:

(1)对系统设定相应的内核参数,使得系统强制对超时的SYN请求连接数据包复位,同时通过缩短超时常数和加长等候队列使得系统能迅速处理无效的SYN请求数据包;

(2)建议在该网段的路由器上做些配置的调整,这些调整包括限制SYN半开数据包的流量和个数;

(3)建议在路由器的前端做必要的TCP拦截,使得只有完成TCP三次握手过程的数据包才可进入该网段,这样可以有效的保护本网段内的服务器不受此类攻击。

IP协议

IP协议的安全问题

IP协议在互连网络之间提供无连接的数据包传输。IP协议根据IP头中的目的地址项来发送IP数据包。也就是说,IP路由IP包时,对IP头中提供的源地址不作任何检查,并且认为IP头中的源地址即为发送该包的机器的IP地址。这样,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。其中最重要的就是利用IP欺骗引起的各种攻击。

以防火墙为例,一些网络的防火墙只允许网络信任的IP数据包通过。但是由于IP地址不检测IP数据包中的IP源地址是否为放送该包的源主机的真实地址,攻击者可以采用IP源地址欺骗的方法来绕过这种防火墙。另外有一些以IP地址作为安全权限分配依据的网络应用,攻击者很容易使用IP源地址欺骗的方法获得特权,从而给被攻击者造成严重的损失。事实上,每一个攻击者都可以利用IP不检验IP头源地址的特点,自己填入伪造的IP地址来进行攻击,使自己不被发现。

防范方法

基于IP欺骗的防范方法有:

(1)抛弃基于地址的信任策略。这是最简单的方法。

(2)进行包过滤。如果网络是通过路由器接入Internet的,那么可以利用路由器来进行包过滤。确认只有内部LAN可以使用信任关系,而内部LAN上的主机对于LAN以外的主机要慎重处理。路由器可以过滤掉所有来自于外部而希望与内部建立连接的请求。

(3)使用加密技术。阻止IP欺骗的一种简单的方法是在通信时要求加密传输和验证。当有多种手段并存时,加密方法可能最为适用。

ICMP协议

ICMP协议的安全问题

ICMP即Internet控制消息协议。用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。Ping就是最常用的基于ICMP的服务。ICMP协议本身的特点决定了它非常容易被用于攻击网络上的路由器和主机。比如,可以利用操作系统规定的ICMP数据包最大尺寸不超过64KB这一规定,向主机发起“Ping of Death”(死亡之Ping)攻击。“Ping of Death” 攻击的原理是:如果ICMP数据包的尺寸超过64KB上限时,主机就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使主机死机。此外,向目标主机长时间、连续、大量地发送ICMP数据包,使得目标主机耗费大量的CPU资源处理,也会最终使系统瘫痪。

防范方法

对于“Ping of Death”攻击,可以采取两种方法进行防范:

(1)路由器上对ICMP数据包进行带宽限制,将ICMP占用的带宽控制在一定的范围内。这样即使有ICMP攻击,它所占用的带宽也是非常有限的,对整个网络的影响非常少;

(2)在主机上设置ICMP数据包的处理规则,最好是设定拒绝所有的ICMP数据包。

ip协议篇3

【关键词】TCP/IP 网络安全

1 TCP/IP的弱点

TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台电脑规定一个地址。TCP/IP协议数据流采用明文传输。TCP/IP 协议组本身存在很多安全性方面的漏洞。这些弱点正导致了攻击者的拒绝服务(DOS)、Connection Hijacking 以及其它一系列攻击行为。

TCP/IP 主要存在以下几个方面的安全问题:

(1)源地址欺骗(Source address spoofing)或IP欺骗(IP spoofing)。

(2)源路由选择欺骗(Source Routing spoofing)。

(3)路由选择信息协议攻击(RIP Attacks)。

(4)鉴别攻击(Authentication Attacks)。

(5)TCP序列号欺骗(TCP Sequence number spoofing)。

(6)TCP序列号轰炸攻击(TCP SYN Flooding Attack),简称SYN攻击。

(7)易欺骗性(Ease of spoofing)等等。

2 对TCP/IP所受的攻击类型

2.1 TCP SYN attacks 或 SYN Flooding

TCP 利用序列号以确保数据以正确顺序对应特定的用户。在三向握手(Three-Way Handshake)方式的连接打开阶段,序列号就 已经建立好。TCP SYN 攻击者利用大多数主机执行三次握手中存在的漏洞展开攻击行为。当主机 B 接收到来自 A 的 SYN 请求,那么它必须以“Listen Queue”跟踪那部分打开的连接,时间至少维持75秒钟,并且一台主机可以只跟踪有限数量的连接。一台非法主机通过向其它主机发送 SYN 请求,但不答复 SYN & ACK,从而形成一个小型的 Listen Queue,而另一台主机则发送返回。这样,另一台主机的 Listen Queue 迅速被排满,并且它将停止接收新连接,直到队列中打开的连接全部完成或超出时间。至少在75秒内将主机撤离网络的行为即属于拒绝服务(Denial-of-Service)攻击,而在其它攻击中也常发生这样的行为,如伪 IP。

IP Spoofing ――伪 IP 技术是指一种获取对计算机未经许可的访问的技术,即攻击者通过伪 IP 地址向计算机发送信息,并显示该信息来自于真实主机。IP 层假设它所接收到的任何 IP 数据包上的源地址都与实际发送数据包的系统 IP 地址(没有经过认证)相同。很多高层协议和应用程序也会作这样的假设,所以似乎每个伪造 IP 数据包源地址的人都可以获得非认证特免。伪IP技术包含多种数据类型,如 Blind 和 Non-Blind Spoofing、Man-in-the-Middle-Attack (Connection Hijacking)等。

2.2 Routing Attacks

该攻击利用路由选择信息协议(RIP:TCP/IP 网络中的基本组成)。RIP 主要用来为网络分配路由选择信息(如最短路径)并将线路传播出局域网络。与 TCP/IP 一样,RIP 没有建立认证机制,所以在无需校验的情况下就可以使用 RIP 数据包中的信息。RIP 攻击会改变数据发送目的地,而不能改变数据源位置。例如,攻击者可以伪造一个 RIP 数据包,并声称他的主机“X”具有最快网外路径。所有从网络中发送出去的数据包可以通过“X”发送,并且进行修改或检查。攻击者还可以通过 RIP 高效模仿任何主机,并导致所有将要发送到那台主机上的通信流量全部发送到了攻击者机器上。

2.3 ICMP Attacks

IP 层通常使用 Internet 控制信息协议(ICMP:Internet Control Message Protocol)向主机发送单行道信息,如“ping”信息。ICMP 中不提供认证,这使得攻击者有机会利用 ICMP 漏洞攻击通信网络,从而导致拒绝服务(Denial of Service)或数据包被截取等攻击。拒绝服务基本上利用 ICMP Time Exceeded 或 Destination Unreachable 信息,使得主机立即放弃连接。攻击者可以伪造其中一个 ICMP 信息,然后将它发送给通信主机双方或其中一方,以取消通信双方之间的连接。

2.4 ARP欺骗

在局域网中,是通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的。ARP协议对网络安全具有极其重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞。

ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。

3 总结

TCP/IP协议常见的攻击方法利用了协议中存在的安全缺口来实施攻击技术强、难度大,但突破率高、危害性极大。目前,致力于该问题的研究已取得了显著的成效,针对协议本身做了很多改进。相信随着网络的发展和安全技术应用的深入,TCP/IP将不断的改进和完善。

作者单位

ip协议篇4

近年来,我们一直采用第二代互联网IPv4技术,地址总量在40亿左右。随着整个互联网的飞速发展,尤其是移动互联网的兴起,使得IPv4地址资源呈现枯竭态势。为了更好的解决IP地址分配的问题,下一代的互联网IPv6技术应运而生。IPv6的启用将彻底解决互联网IP地址不足的问题。由此,由IPv6技术的运用所带来的海量IP地址,使得今后的用户与IP唯一绑定起来,从而让网络实名制下的互联网身份证/VleID得以实现。简单的说,就是每个人对应一个IP地址,IP地址不再有共用的形式。

IPv6技术的上线,不仅仅影响于互联网,同时也是对移动互联网、3G、物联网等强烈冲击。海量的IP地址甚至可以用来确定其他的硬件设备,如家用电器、传感器、远程照相机、汽车等。同时,IPv6技术运用到物联网当中,使得物联网内的每一个物品都被赋予了一个IPv6地址,可以实现对于物品的实时追踪和溯源。

从IPv4时代向IPv6时代过渡。3G、移动互联网、云计算、物联网发展迅猛,IPv6地址技术的标准统一,将会很好的满足科技潮流的发展。而IPv6技术究竟是一个怎样的新型IP地址技术?它又能够给互联网带来哪些技术优势?

什么是IPv6?

提到IPv6就不得不先提到现在中国正广泛使用过IPv4。IPv4,是互联网协议(InternetProtocol,IP)的第四版,也是第一个被广泛使用,构成现今互联网技术的基石的协议。1981年JonPostel在RFC791中定义了IP,IPv4可以运行在各种各样的底层网络上,比如端对端的串行数据链路(PPP协议和SLIP协议),卫星链路等等。IPv4是一种无连接的协议,操作在使用分组交换的链路层(如以太网)上。此协议会尽最大努力交付分组,意即它不保证任何分组均能送达目的地,也不保证所有分组均按照正确的顺序无重复地到达,由上层的传输协议(如传输控制协议)处理。

“IPv6是InternetProtocoIVersion6的缩写,其中InternetProtocol译为“互联网协议”。IPv6是IETF(互联网工程任务组,InternetEngineeringTaskForce)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议。形象的说IPv4与IPv6的关系就是“沧海之一粟”。如果IPv4是“一粟”的话,那么IPv6便是“沧海”。因为IPv6能提供的IP地址远远超过了IPv4。

IPv6的lP地址域为128比特,拥有2128巨大的地址空间。理论上这一规模能够对地球表面的每一平方米提供6.6×10^23个网络地址。和IPv4相同,因地址分层运用,实际可用的总数要小得多。但保守的估计每平方米也有1600个IP地址。IPv6的目标是:通过10^12个网络连接10^15台计算机。采用IPv6地址后,不仅每个人拥有一个IP地址,就连未来的电话、冰箱等每一台信息家电设备都能分到一个IP地址。

IPv6的技术优势

IPv6具有长达128位的地址空间,可以彻底解决IPv4地址不足的问题,除此之外,IPv6还采用分级地址模式、高效IP包头、主机地址自动配置、服务质量、内置认证和加密等许多新技术。IPv6带来的巨大的地址空间和端到端通信特性为互联网的发展创造了良好的网络通信条件和能力拓展,具体表现为以下几个方面:

(1)扩展的编址丰富互联需求

IPv6采用128位地址长度,几乎可以不受限制地提供IP地址,解决IP地址耗尽危机,每件物品都可以直接编址,从而确保了端到端连接的可能性。

(2)自动配置便于即插即用

随着移动互联网络上语音、视频、数据等服务的发展,对即插即用自动配置和地址重新编号的需求已经变得日益重要。IPv6的内置地址自动配置功能使大量IP物联网终端不用任何手动配置就可以轻松发现网络,并获得新的、全球唯一的IPv6地址。这使利用因特网的物联网设备实现了即插即用。

(3)简化的报头格式

提供高效的传输由于IPv6的数据包远远超过64K字节,应用程序可以利用最大传输单元,获得更快、更可靠的数据传输。同时在设计上改进了选路结构,采用简化的报头定长结构和更合理的分段方法,更方便与采用硬件来实现转发,使路由器加快数据包处理速度,提高了转发效率,从而提高网络的整体吞吐量。

(4)强制的安全机制

保障端到端的传输安全在IPv4中IPSec为可选项,而在IPv6协议族中则是强制的一部分。IPv6内置的安全扩展包头使端到端、网络到网络的通信加密、验证实施变得更加容易。通过提供全球唯一地址与嵌入式安全,IPv6能够在提供诸如访问控制、机密性与数据完整性等端到端安全服务的同时,减少对网络性能的影响。

(5)增强的移动IP支持满足物联网

移动应用物物间的互联,除了任意时间还需要能在任何地点进行互联,包含移动终端在网间切换时能不必脱离其现有连接即可自由移动,这是一种日益重要的网络功能。与IPv4不同的是,IPv6的移动性是使用内置自动配置获取转交地址,因而无需外地。此外,这种内联机制使通信节点能够与移动节点直接通信,从而避免了在IPv4中所要求的三角路由选择的额外系统开销。其结果是,在IPv6中,移动IP结构的效率大为提高。

增强的QoS服务保证传输服务质量IPv6报头中的业务级别和流标记通过路由器的配置可以实现优先级控制和QoS保障。属于同一传输流,且需要特别处理或需要服务质量的数据包,可以通过流标签标记。增强的QoS服务一方面能满足物联网应用中的实时性、优先级等服务质量需求,另外还可以根据传感器数据传输需求特点,实行差异化服务,合理分配网络带宽。

IPv6技术发展规划

我国IPv6推进将分三步走。

2011-2013年为试商用阶段:启动网络和平台支持IPv6的改造,确定网络及业务过渡方案、现网商业化试点,基本具备引入IPv6业务的网络条件:

2014-2015年为规模商用阶段:IPv4/IPv6网络和业务共存,网络和平台规模改造,业务逐步迁移,新型应用和用户规模持续扩大:

2016-2020年为全面商用阶段:新型应用占据主导,IPv4网络和业务平台逐步退出。

IPv6物联网应用前景

作为下一代网络协议,IPv6凭借着丰富的地址资源以及支持动态路由机制等优势,能够满足物联网对通信网络在地址、网络自组织以及扩展性等诸多方面的要求。然而,在物联网中应用IPv6,并不能简单地“拿来就用”,而是需要进行一次适配。

IPv6不能够直接应用到传感器设备中,而是需要对IPv6协议栈和路由机制进行相应的精简,以满足对网络低功耗、低存储容量和低传送速率的要求。由于IPv6协议栈过于庞大复杂,并不匹配物联网中互联对象,尤其是智能小物体的特点,因此虽然IPv6可为每一个传感器分配一个独立的IP地址,但传感器网需要和外网之间进行一次转换,起到IP地址压缩和简化翻译的功能。

目前,相关标准化组织已开始积极推动精简IPv6协议栈的工作。例如,IETF已成立了6LowPAN和RoLL两个工作组进行相关技术标准的研究工作。相比较传统方式,能支持更大的节点组网,但对传感器节点功耗、存储、处理器能力要求更高,因而成本要更高。另外,目前基于IEEE802.15.4的网络射频芯片还有待进一步的开发来支持精简IPv6协议栈。

总体上,物联网应用IPv6可按照“三步走”策略来实施。首先,承载网支持IPv6;其次,智能终端、网关逐步应用IPV6;最后,智能小物体(传感器节点)逐步应用IPv6。

IPv6物联网应用方案

在多种IPv6应用中,物联网应用覆盖了智慧农业、智能环保、智能建筑、智能交通等广泛领域,提供“无所不在的连接和在线服务”,包括在线监测、定位追溯、报警联动、指挥调度、远程维保等服务。IPv6的商用和推广将显著改善物联网的发展环境,促进更多符合用户要求的创新应用产生。

智慧农业

中国电信在湖南省农业厅下属的湖南省优质果茶良种繁育场进行试点示范应用,建设了国内基于IPv6的典型物联网应用。该应用充分利用IPv6技术的优点,在传感网侧采用了基于IPv6的低功耗组网技术6LowPAN,各种传感和控制量通过6LowPAN网络传输至支持双栈的移动网络网关设备,可以在具备IPv6环境的移动网络中实现全IPv6的数据采集和远程控制。在手机客户端侧,该应用也通过合作研发完成了数款具备双栈能力的手机终端,并在手机终端上研发了双栈手机客户端,成功打通了智慧农业应用基于双栈的应用整体部署的各个环节。截至目前,中国电信依托其基于IPv6的智慧农业应用服务已经先后完成浙江“智能水产”、北京“天润草莓园”、山东“智能蘑菇大棚”、陕西杨林“智慧农业”等各类应用服务,实现了数千标准监测点的服务和管理。

IDC温湿度监控

中国移动利用轻量级IPv6技术进行IDC机房温湿度监控,覆盖3000平方米机房面积,取得较好效果。物联网对于IP地址消耗量大,非常适合应用IPv6。但物联网的传感器功能相对简单,处理能力低,而IPv6包头较大、耗用资源多。网关由于计算能力有限,需要对IP协议栈进行剪裁,现有产品对IP协议栈的剪裁方式多种多样,导致严重互通问题。从这点出发,中国移动认为需要制定统一的轻量级协议标准予以规范,从而实现物联网的规模发展,因此力推轻量级IPv6传感器应用。据悉,产业界采用轻量级协议标准已经开发了部分产品,并在中国移动现网进行了部署和试验,经验证技术可行。

智能大棚

智能大棚,综合利用IPv6、无线传感网、IEEE1888等技术,通过实时传感采集和历史数据存储功能,可摸索出农作物生长对温、湿、光、土壤的需求规律,提供精准的科研实验数据;通过智能分析与联动控制功能,及时精确地满足农作物生长对环境各项指标要求,达到高幅增产的目的:通过光照和温度的智能分析和精确干预,使农作物完全遵循人工调节等高效、实用的农业生产效果。目前,该技术已经在黑龙江农垦总局、湖南农科院、北京草莓园和花卉基地、海南良种培育基地、陕西杨林农业示范区部署。

楼宇节能

ip协议篇5

1 引言

ipv4在设计之初并没有考虑http://到终端设备的移动性,所以连网设备移动时需要从互联网上断开,而在另外一个地方重新连接时,还需要重新配置系统的新的ip地址、正确的子网掩码和新的默认路由器(网关)才能继续通信。

这种新的ip地址就是mobile ip(移动ip)。mobile ip有两种:一种是移动mobile ipv4(简写mipv4),另一种是mobile ipv6(简写mipv6)。为了支持互联网上的移动设备,ietf(internet engineering task force:internet工程任务组)推出了移动ip的新标准(mobile ipv6)来使用户保留不变的永久ip地址,而不管他们是否连接在网上。

2 工作原理

2.1 mipv4工作原理

基于ipv4的移动ip定义三种功能实体:移动节点(mibile node)、归属(home agent,也可称之家乡或本地)和外埠(foreign agent也可称为外地)。归属和外埠又统称为移动。mipv4技术的基本通信流程如下:

(1)远程通信实体通过标准ip路由机制,向移动节点发出一个ip数据包;

(2)移动节点的归属截获该数据包,将该包的目标地址与自己移动绑定表中移动节点的归属地址比较,若与其中任一地址相同,继续下一步,否则丢弃;

(3)归属用封装机制将该数据包封装,采用隧道操作发给移动节点的转发地址;

(4)移动节点的拜访地收到该包后,去其包封装,采用空中信道发给移动节点;

(5)移动节点收到数据后,用标准ip路由机制与远程通信实体建立连接。wWW.133229.Com

在mipv4协议中,每个移动节点在“归属链路”上都有一个唯一的“归属地址”。与移动节点通信的节点称为“通信节点” cn(correspondent node),通信节点可以是移动的,也可以是静止的。与移动节点通信时,通信节点总是把数据包发送到移动节点的归属地址,而不考虑移动节点的当前位置情况。一个归属可同时为多个移动节点提供服务。

在mipv4网络中,mn移动到外地网络时要使用外地的ip地址作为mn的转交地址。这样,当通信对端(cn)向mn发送分组时,分组按ipv4 的寻路机制首先到达mn的归属本地网络。本地(ha)拦截后用隧道技术将分组转发给mn的转交地址,外地解隧道封装后再将分组转发给mn,而mn发给cn的分组通过标准的ip寻路机制直接转发给cn,形成cn与mn通信中的“三角路由”问题,严重影响了分组转发的效率。

2.2 mipv6工作原理

移动ipv6(mipv6)在新功能和新服务方面可提供更大的灵活性。每个移动设备设有一个固定的家乡地址(home address),这个地址与设备当前接入互联网的位置无关。当设备在家乡以外的地方使用时,通过一个转交地址(care-of address)来提供移动节点当前的位置信息。移动设备每次改变位置,都要将它的转交地址告诉给家乡地址和它所对应的通信节点。在家乡以外的地方,移动设备传送数据包时,通常在ipv6报头中将转交地址作为源地址。

移动节点在家乡以外的地方发送数据包时,使用一个家乡地址目标选项。目的是通过这个选项把移动节点的家乡地址告诉给包的接收者。由于在该数据包里包含家乡地址的选项,接收方通信节点在处理这个包时就可以用这个家乡地址替换包内的转交地址。因此发送给移动节点的ipv6包就透明地选路到该节点的转交地址处。对通信节点和转交地址之间的路由进行优化就使网络的利用率更高。

通信过程则如图2所示。

(1)mn采用ipv6版的路由器搜索确定它的转交地址。

(2)mn将它获得的转交地址通知给ha。

(3)mn将它的转交地址通知它的cn。

(4)mipv6采用隧道和源路由技术向连接在外地链路上的mn传送数据包

(5)在相反方向,mn送出的数据包采用特殊的机制被直接路由到它们的目的地。

在转交地址和归属的帮助下,mn经过以上过程,将数据发送到目的地,从而完成了数据发送的全部过程。

3 两者比较

3.1概念比较

如表1所示:

转贴于 http://

3.2 技术比较

从技术层面上对比,主要有以下方面:

(1)地址数量 http://

ipv4地址空间为32位,地址数量有限,而ipv6为128位,ipv6有着巨大的地址空间,将为全球用户提供足够多的地址,网络地址转换(nat)将不再使用,这将使mipv6的部署更加直接简单。ipv6网络中ip地址将会实现实名制。

(2)安全性更好

ipv4是通过叠加的解决方案来实现安全。而ipv6是将安全作为标准的有机组成部分,其中ipv6中的ipsec(ip安全协议)可以对ip层上(也就是运行在ip层上的所有应用)的通信提供加密/授权。

(3)地址自动配置

mipv6通信节点采用邻居发现机制自动获取独一无二的全球可路由地址,这种即插即用的地址配置方式不需要用户或者运营商进行人工干预,非常符合移动设备的上网要求。

(4)服务质量(qos)

ipv6与ipv4相比,增加的优点是能提供差别服务,前者能够确定并区别对待某个ip地址的数据流,还可以通过提供永远连接、防止服务中断以及提高网络性能,而更好的网络和服务质量将改善客户的满意度。

(5)移动ipv6的移动性更好

移动ip需要为每个设备提供一个全球唯一的ip地址。ipv4没有足够的地址空间可以为在公共互联网上运行的每个移动终端分配一个这样的地址。从另外的角度讲,mipv6能够通过简单的扩展,实现了完整的ip层的移动性,满足大规模移动用户的需求,能在全球范围内解决有关网络和访问技术之间的移动性问题。

(6)mipv6的结构部署比mipv4更加简单并且容易

由于每个ipv6的主机都必须具备通信节点(cn)的功能,当与运行mipv6的主机通信时,每个mipv6主机都可以执行路由的优化,从而避免“三角路由” 问题。另外,与mipv4不同的是,mipv6中不再需要外地(fa)。ipv6地址的自动配置还简化了移动节点care-of-address(cos)的分配。

4 结论

ip协议篇6

引言

Internet现已成为社会重要的信息流通渠道。如果嵌入式系统能够连接到Internet上面,则可以方便、低廉地将信息传送到几乎世界上的任何一个地方。可以预言,嵌入式设备与Internet的结合代表着嵌入式系统和网络技术的真正未来。随着IPv6的应用,设备都可能获得一个全球唯一的IP地址,通过IP地址和互联网相连成为一个网络设备。但是传统的TCP/IP协议在实现实时性方面做得不够好,它把大量的精力花在保证数据传送的可靠性以及数据流量的控制上。而在实时性要求比较高的嵌入式领域中,传统的TCP/IP不能满足其实时要求。另外,传统TCP/IP的实现过于复杂,需占用大量系统资源,而嵌入式应用的系统资源往往都很有限。因此,需要把传统TCP/IP在不违背协议标准的前提下加以改进实现,使其实现性得到提高,占用的存储空间尽可能少,以满足嵌入式应用的要求。

在大型企业自动化系统中,上层企业管理层和生产监控层一般采用的都是以太网和PC机,而在下层车间现场都是采用现场总线和单片机测控设备。上下两层的沟通,通常采用工业控制机加以太网卡,再加上PC机插槽上的接口卡和并行打印口EPP接口卡来实现。这种连接方式成本高,开发周期长。针对这些情况,本文提出了一种单独的嵌入式CAN-以太网网关互连系统的设计方案,成功地实现以太网和现有的CAN总线网的直接数据传输。

1 异构网络互联系统结构设计

CAN总线是一个设备互连总线型控制网络。在CAN总线上可以挂接多达110个设备节点,各设备间可以自主相互通信,实现复杂网络控制系统。但设备信息层无法直接到达信息管理层,要想设备信息进入信息管理层就要通过一种数据网关。

这里设计了一个SX52网关,用于CAN总线与以太网的互连。图1所示的系统总体结构分为三部分:现场测控网络(CAN网络)、嵌入式透明SX52网关和以太网信息管理终端(如监控平台和网络数据库等)。以太网信息管理终端与CAN总线上的CAN节点通过Ethernet、SX52网关、CAN总线相互通信,其中SX52网关起核心异构网络的互连作用。

协议转换是异构网络互连的技术关键和难点。协议转换一般遥相呼应采用分层转换的方法,自低向上逐层进行。目前互连大都是在网络层或网络层展开的,因而必须对互连层以下各层协议逐层向上转换。这种转换方法的依据是协议分层的基本原理,即低层支持高层,高层调用低层,低层断开连接后,高层连接也随之断开,但高层断开连接却不会影响低层。从网络的分层结构上来看我们设计的互连系统具有如图2所示的分层结构。以太网上运行TCP/IP协议,它具有应用层、传输层、网络层以太网数据链路层和物理层;CAN总线具有应用层、数据链路层和物理层,其中应用层由用户自己定义,数据链路层和物理层由CAN协议所定义;SX52数据网关具有物理层、数据链路层和应用层,其应用层也就是Ethernet与CAN的信息数据交换层,SX52微控制器在此层相互解释并转发这两种不同协议的数据。

在本设计中,SX52网关被设计成了一个透明数据网关。也就是在以太网应用层构建和解析完整的CAN协议数据包。CAN协议数据包作为TCP/IP网络的应用层的数据进行传输。对通信数据的具体实际意义不做任何解释。

透明式网关由通信处理器、CAN总线控制器和以太网控制器三个部分组成。其中SX52单片机为核心处理器,实现CAN控制网络与以太网之间的协议转换。以太网信息管理 层的控制指令发送到嵌入式透明SX52网关,经过它将TCP/IP协议包数据转换为CAN协议形式发送至CAN控制网络中的指定设备节点,完成信息管理层对现场设备层的控制。同样地,当CAN网络上的设备数据(如定时采样数据或报警信息)要传输到信息管理层时,可将数据发送到嵌入式透明SX52网关,再通过网关协议转换程序将CAN协议数据封装成TCP/IP协议的以太网数据帧发送至以太网上的监控计算机。

2 SX52中TCP/IP协议栈的设计

按照层次结构思想,对计算机网络模块化的研究结果是,形成了一组从上到下单向依赖关系的协议栈(protocol stack),也叫协议族。在标准的TCP/IP协议族中有很多协议。这里SX52中TCP/IP协议栈层次结构如图3所示。

2.1 SX52 ARP协议的设计与实现

地址解析协议ARP(Address Resolution Protocol)可以实现逻辑地址到物理地址的动态映射。它提供了一种使以太网络节点可以传输一个IP数据包到目的地址的映射机制。

在SX52中,ARP协议是通过一个“IP地址对应以太网地址”的单登记实现的。当远程主机需要知道它的物理地址时,远程主机会向它发送ARP请求。这时它就会响应这个远程主机的请求,告诉对方自己的物理地址。当然,当应用层需要传输IP数据包时,SX52 ARP协议也可以请求远程目的物理地址。

    要传输的Internet数据包在以太网控制器的发送缓冲区中被构建,它使用最近接收到的数据包的目的以太网地址作为发送数据包的目的地址。当然,这可能不是正确的以太网地址,因此,在实际发送数据包之前,ARP协议将检查发送数据包中的IP地址是否存在于ARP核中。如果发送数据中包中的IP地址在这个核中,在以太网发送缓冲区中的数据包将使用ARP核中的以太网地址更新;如果不在,ARP协议将发送一个ARP请求包,然后等待一个应答。一旦这个ARP应答接收到,这个ARP核将使用刚接收到的目标以太网地址更新,接着,等待发送的数据包也将使用这个以太网地址更新,然后被发送出去。如果发送的ARP请求包没有应答,导致ARP定时器超时,这时等待发送的数据包将被废弃,正常的协议栈继续运行。使用的变量有:ARP核中的IP地址{hostlIP3,hostlIP2,hostlIP1,host1IP0};ARP核中的以太网物理地址{host1Eth0,host1Eth1,host1Eth2,host1Eth3,host1Eth4,host1Eth5};ARP协议的定时器{arpTimerMSB,arpTimerLSB}等。使用涉及的函数有:ARPInit(),ARPCheckCache(),ARPSendResponse(),ARPUpdateEthAddr(),ARPCheckIfIs(),ARPCompare4(),ARPSendStPacket(),ARPSendCommon(),ARPSendRequest()。

2.2 SX52 IP协议的设计与实现

IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输。IP提供不可靠、无连接的数据报传送服务。本设计中的IP协议是针对特殊的应用环境下的合理简化。CAN总线的控制网络是一种短帧(每个数据帧为8字节)的实时网络,所以,IP数据包无须分片(MF=DF=0),同时,设置IP为服务类型为一般类型,其头长为20字节,寿命TTL设置为64。使用的变量有:目的IP地址{remoteIP3,remoteIP2,remoteIP1,remoteIP0};源IP地址{myIP3,myIP2,myIP1,myIP0};IP校验和{ipCheckSumMSB,ipCheckSumLSB};IP数据包长度{ipLengthMSB,}ipLengthLSB};上层使用的协议ipProtocol,IP标识{ipIdentMSB,ipIdentLSB}。使用涉及的函数有:TCPIPInit(),CheckIPDatagram(),CheckIPDestAddr(),IPStartPktOut()等。

2.3 SX52 ICMP协议的设计与实现

为了让互联网中的路由器报告或提供有关意外情况的信息,在TCP/IP协议系列中加入了一个专门用于发送差错报文的协议——互联网控制报文协议ICMP(Internet Control Message Protocol)。ICMP是IP的一部分在每个IP实现中都必须用到它。像其它所有的通信业务一样,ICMP报文是放在一个IP数据报的数据部分中传送的。ICMP报文的最终目的不是应用程序或目的机器上的用户,而是该机上处理它的Internet协议软件模块。也就是说:Internet控制报文协议允许路由器向其它路由器或主机发送差错或控制报文;ICMP在两台主机的Internet协议软件之间提供通信。

每个ICMP报文都以相同的3个字节开始:1个8位整数的报文类型(TYPE)字段用来识别报文,1个8位代码(CODE)字段提供有关报文类型的进一步信息,1个16位校验和字段。此外,ICMP报文还总是包括产生问题的数据报首部及其开头的64位数据。

ICMP使用IP来传送每一个差错报文。当路由器有一个ICMP报文要传递时,它会创建一个IP数据报并将ICMP报文封装其中,也就是说,ICMP报文被置于IP数据报的数据区中,然后这一数据报像通常一样被转发。即整个数据报被封装进帧中进行传递。

每一个ICMP报文的产生总是对应于一个数据报。路由器将一个ICMP报文将回给产生数据报的主机。在这里,只实现了ICMP的回应请求/应答服务,主要用于PING程序测试通信链路的畅通性,即只处理接收的报文类型为0x08的ICMP帧,发送的ICMP报文类型为0x00。它没有自己专有的变量,涉及的函数也只有ICMPGenCheckSum()和ICMPProcPktIn()。

2.4 SX52 UDP协议的设计与实现

UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报。UDP不提供可靠性,它把应用程序传给IP层的数据发送出去,但是并不保证它们能到达目的地。由于缺乏可靠性,我们似乎觉得要避免使用UDP,而使用一种可靠的协议,如TCP。但分析发现,UDP在我们的互连设计中有很多的优点:其一,UDP协议传输效率高,无须TCP通信前的连接开销;第二,UDP协议简单,无须复杂的状态机传输机制,可以很好地避免SX52网关死机复位后由于状态不一致而无法正常通信,且上层协议又很难发现的危险。因此,可以使用UDP来实现通信(避免TCP连接的开销),而让许多需要的特征(如动态超和重传、拥塞避免、查错等)放置在应用层设计和实现。使用的变量有:

UDP接收数据报的源端口{udpRxSrcPortMSB,udpRxSrcPortLSB};

UDP接收数据报的目的端口{udpRxDestPortMSB,udpRxDestPortLSB};

UDP接收数据报的长度{udpRxDataLenMSB,udpRxDataLenLSB};

UDP发送数据报的源端口{udpTxSrcPortMSB,udpTxSrcPortLSB};

UDP发送数据报的目的端口{udpTxDestPortMSB,udpTxDestPortLSB};

UDP发送数据报的长度{udpTxDataLenMSB,udpTxDataLenLSB}。

设计的相关函数有:UDPAppInit(),DPGenCheckSum(),UDPStartPktOut(),UDPProcPktIn(),UDPEndPktOut(),UDPAppProcPktIn(),UDPAppProcPktOut()等。

2.5 SX52 TCP协议的设计与实现

传输控制协议TCP(Transmission Control Protocol)是传输层的重要协议。它提供一个完全可靠的(没有数据重复或丢失)、面向连接的、全双工的流传输服务。本设计中,对复杂的TCP协议做了合理的简化:①因为CAN网络传输速度较快,数据量小且10Mbps的以太网传输一般不会发生阻塞,以太网上的主机也会有足够的能力及时处理通信数据,所以可以固定超时与重传的时间为5s。②RTL8019AS上有两个1500字节的接收缓冲区,且CAN网络为控制网,信息量小,所以可以固定接收窗口为1400字节。③因为我们采用一般的TCP服务就可以满足应用,所以可以忽略紧急指针和选项及填充字段的值。通过上述三点简化,实际上大大简化了TCP协议的实现。因为TCP的超时与重传时间的确定和窗口大小的控制有着较复杂的算法和实现机制。

它的实现变量有:tcpState,{tcpTmpSeq4,tcpTmpSeq3,tcpTmpSeq2,tcpTmpSeq1},{tcpTmpAck4,tcpTmpAck3,tcpTmpAck2,tcpTmpAck1},{tcpUnAckMSB,tcpUnAckLSB},tcpRxFlags,{tcpCheckSumMSB,tcpCheckSumLSB},{tcpLengthMSB,tcpLengthLSB},{tcpTmpMSB,TcpTmpLSB},{tcbLocalPortMSB,tcbLocalPortLSB},{tcbRemotePortMSB,tcbRemotePortLSB},{tcbSndUna4,tcbSndUna3,tcbSndUna2,tcbSndUnal},{tcbRcvNxt4,tcbRcvNxt3,tcbRcvNxt2,tcbRcvNxt1},tcbOffset,tcbFlags,{tcbSendWinMSB,tcbSendWinLSB},{tcpTimerMSB,tcpTimerLSB}等。

相关函数有:TCPIPInit(),TCPRxHeader(),TCPProcPktIn(),TCPTransmit(),TCPReTransmit(),TCPAppPassiveOpen(),TCPAppActiveOpen(),CPAppClose(),TCPAddRcvNxt(),TCPIncRcvNxt(),TCPIncSndUna(),TCPCopySeqToNxt(),TCPAckUpdate(),TCPUpdateSeq(),TCPChkSeq(),TCPRestorePrev(),TCPCmpNxtSeq(),TCPSendEmptyPkt(),TCPSendReset(),TCPSendSyn(),TCPSendISN(),TCPSendSynAck()TCPSendAck(),TCPSendFin(),TCPCheckSuminit(),CPCheckSumAcc(),TCPCheckSumAddHdr(),CPTxByte(),TCPStartPktOut(),TCPAppInit(),TCPAPPTxBytes(),TCPAPPTxData(),TCPAPPTxDone(),TCPAppRxBytes(),TCPAppRxData(),等。

2.6 TCP和IP传输层协议的选择

把TCP/IP协议应用到控制网络中如何选择传输层协议类型很关键。如果要与现有的应用程序通信,必须使用与其相同的协议类型。在实际应用时,从可靠性来说,TCP提供了可靠的数据连接,UDP和直接访问IP的一些协议是不可靠的,数据报可能会丢失、损坏或重复;从性能上讲,UDP的性能最快,可靠性、流量控制重组包和连接维护等附加开销降低了TCP的性能。对于速度比较慢的系统来说,如温度、湿度传感器,选择TCP或UDP都无所谓,对于不太重要的传感器选用UDP就可以了;对于可靠性要求较高的传感器,应该选用TCP协议;对于实时性要求高的网络设备,如网络会议系统、IP音响、实时播放的电视等设备,数据传输率较高,应该选用UDP协议;有些有严格要求的同步系统应采用UDP;数据监控系统传输的可靠性要求较高,应采用TCP;Web和Email也应采用了TCP。总之,要根据实际情况来确定选用何种协议。

结语

ip协议篇7

引言

S1C33209是EPSON公司推出的RISC结构的32位高性能CMOS微处理器,具有高速、低功耗、低电压操作、精简指令集等特点,提供乘与累加功能,既可用于办公设备,也特别适用于需要高级数据处理的便携设备,可以进行高速运算、灵活的I/O口控制和高效的数据操作。S1C33209具有8KB的内部RAM,其运算速率可达60MHz,加上优化的多数为单时钟周期的指令集,使S1C33209吞吐量大为提高。S1C33209比常规MCU有更快的运算速度及可靠的性能、可重复编程的结构,使得精简的TCP/IP能够在其中可靠运行。

1 硬件平台结构及设计

信息家电远程访问时,通信数据量不大,10M以太网的通信速率即可满足要求;其次信息家电对实时性的要求不高,可定位在秒级。

在这种情况下,构造了家电网络硬件平台服务器S1C-WebServer,其结构如图1所示。S1C33-WebServer主要由三部分组成,即S1C33209微处理器、RTL8019AS全双工以太网控制器(RealTek公司出品,100脚的TQFP封装,最大速率10Mbps,自带16KB的SRAM,工作在Ethernet II和IEEE802.3、10Base5、10Base2、10BasetT下,全双工,支持8位与16位数据总线,与NE2000兼容)、可擦写Flash(采用Intel的E28F320,容量为4MB)。考虑到Flash的擦写在程序调试中不太方便,所以为S1C33209扩展512KB的SDRAM。在S1C33209中,运行用户程序和S1C33-Stack。在Flash中,存放S1C-WebServer的各种Web资源信息,综可处理Web页面、图像文件等,与PC机上WebServer中的硬盘可以存储大量的不同页面。Flash的容量决定了WebServer的资源文件的大小。RTL9019AS是Ethernet控制器,负责S1C33209与Ethernet的数据传递。在信息家电已具备RS232或相关标准接口的条件下,使用家庭自动化总线HAB(Home Automation Bus)作为S1C33-WebServer与家庭网络协议SHNP(Simple Home Networks Protocol)。家电通过RS232接口与S1C33-WebServer连接,经由EEthernet接入Internet。

经过分析,S1C33209与RTL8019AS读写时序是兼容的,而且MCU的读写时延比RTL8019AS小得多。MCU与RTL8019AS的连接如图2所示。RTL8019AS的工作电压为5V,而S1C33209的工作电压为3.3V,所以RTL8019AS的数据线输出需要电平的转换。选用2个8位(采用16位数据总线)的具有双向数据传输功能的74HC245来完成,由于S1C33209的输出电平符合RTL8019AS输入电平的要求,所以地址线可以直接相连,而不需电平转换,RTL8019AD中断信号(INT0)为高电平有效,在S1C33209中选用端口中断输入的K60端口与之相连。由于S1C33209的中断有效方式(高、低电平或脉冲)可以根据对寄存器的设置调节),所以不用对INT0作反向或电平转换。

2 精简TCP/IP协议栈的实现

构建的S1C33-Stack运行在以S1C33209嵌入式CPU为基础的硬件平台上,是一组可配置的多种Internet协议的组成。这些协议按照分层协议栈的方式组织,包括应用层的HTTP、DHCP、SMTP,传输层的TCP、UDP,网络层的IP/ICMP、ARP,通过链路层和物理层(如Ethernet)进行数据的交互。S1C33-Stack的结构模型如图3所示。S1C33-Stack利用S1C33的高速处理能力处理TCP/IP数据包,避免了在有限容量的RAM中缓存大量数据,使得控制器可以处理比内部RAM总线更多的数据包。利用嵌入的S1C33-Stack,Webserver能通过Hypertext Transfer Protocol(HTTP)与任何浏览器通信,能够提供各种类型的资源,如HTML、图片文件等。这些资源可以使用一种特殊的文件系统URI,被存放在容量为4MB的Flash中。这种文件系统可包含任意多的目录,对URL的长度也没有限制。

考虑到嵌入式系统的可用资源有限,在此采用经过裁减的TCP/IP协议栈—uIP。uIP协议主要包括TCP/IP协议组中的四个基本的协议:ARP、IP、ICMP、TCP。链路层协议,如PPP,则作为设备驱动在uIP底层实现。应用层协议,如HTTP、FTP、SMTP则作为应用程序在uIP上层实现。

(1)地址解析协议ARP

该协议将IP地址映射成以太网MAC地址。在uIP中,ARP的执行依靠维持一张表来完成IP地址和MAC的地址的映射。当有一个IP数据包要发送到以太网上时,从ARP表中查询相应的MAC地址。如果在ARP表中找不到IP地址则送出相应的ARP请求。当目的主机收到ARP请求报文后,发送ARP REPLY报文将请求的MAC地址送出。当收到ARP REPLY后,ARP表被更新。每隔10s,ARP表就被新新一次,旧的ARP表项将被删除。每个ARP表项的生存周期是20min。

(2)网间协议IP

在uIP中,IP层的代码有两个功能:验证到来的IP报文报头的正确性,并且对TCP和ICMP报文实行分流。因为不考虑IP的分片和重组,uIP中IP层的代码非常的精简。

(3)网间报文控制协议ICMP

在uIP中,仅有一种类型的ICMP信息被实现:ICMP ECHO主要用于应用程序ping,检查网络是否连通。在uIP中,ICMP ECHO通常以一种很简单的方式进行处理;将ICMP类型由“ECHO”改为“REPLY”,同时调整ICMP校验,交换发送方和接收方的IP地址。

(4)传送控制协议TCP

为了减少对内存的使用,在uIP中,TCP并不使用滑动窗口来接收和发送数据,到达的TCP报文并不进行缓冲而是立刻交给应用程序处理。但是应用程序本身可以对要发送的程序本身可以对要发送的数据进行缓冲,因为每次连接中通常有若干的TCP报文要发送。uIP网络通信模块结构如图4所示。

网络通信需要要底层RTL8019AS驱动程序的支持,参考RTL8019AS与S1C33209的资料说明文档,编写出针对此系统的RTL8019AS驱动。

uIP并不缓存到达的数据包,当网络上有数据包(在这里专指出太帧)到达网卡时,网卡驱动程序将暂存在网卡缓存中的数据包,一次一个的以DMA形式传送到目标板上的RAM中。这时将会有一段代码将到达目标板RAM中的数据包复制到全局数组uip_

buf[]中,uIP协议栈程序随后对uip_buf[]中的数据进行操作。当上层应用程序或协议栈程序产生了向网络上发送的数据包时,也将数据包放入uip_buf[]。然后调用网卡驱动程序,将uip_buf[]中的数据读到网卡的缓存中,随后发送到网络中。

在此要说明一下协议栈与网卡驱动程序、应用程序之间的同步机制问题。在系统初始化的时候,通过操作系统提供的系统调用vcre_tsk()创建三个任务:任务一(task1),uIP协议栈;任务二(task2),家电监控程序;任务三(idle_task),空闲任务。而网卡驱动程序则作为硬件中断,由“检测到网络上传过来数据包”事件激发。

整个协议栈程序流程图如图5所示。

任务一的优先级最高,任务二次之,任务三的优先级最低。当系统开始运行时,任务一首先进入RUN状态,在任务一中加入系统调用wai_flg(),由于没有网络请求,任务一随后进入WAIT状态。此时任务二进入RUN状态。当网络上有数据包到达,网卡驱动程序作为硬件中断开始执行。在退出中断前,通过系统调用set_flg(),将任务一期望的标志位置位。当中断返回后,由于任务一的等待条件已经满足,任务一的优先级又高于任务二,因此任务一进入RUN状态,即uIP协议开始处理数据。如果网络上一直有数据包到达,则任务一和中断程序不断的切换。当网络任务完成,返回到任务二的断点处继续向下执行。

由于uIP不缓存网络数据,因此在任务一执行的过程中,即uip_buf[]正在作时,将关闭所有中断。这样可以避免数据包被破坏,缺点是实时性差了一些,但是满足本系统要求。

3 操作系统

本系统使用的操作系统是由EPSON公司提供的ROS33V31。ROS33是为S1C33系列MCU提供的一种嵌入式实时操作系统,符合uITRON 3.0标准。使用ROS33可以迅速、有效地开发针对打印机、PDA以及各类控制设备的嵌入式应用程序。

ROS33具有以下特点:

*支持uITRON 3.0标准——符合该标准的S级*最大任务数为255,采用优先级调度机制,支持9种不同的优先级,提供信号灯、邮箱、消息缓冲等多种通信机制:

*内核优先并紧凑——最小可为1.7K;

*响应快——最快调度响应时间为7.8μS(CPU主频为33MHz,下同),最大中断屏蔽时间为4.3μs ;

*高级语言支持——除汇编语言外,还支持基于ANSI标准的C语言编程。

注释:μITRON将系统功能分成四级。R级(必要级)只提供包括实时、多任务OS所需的基本系统调用;S级(标准级)提供所有标准的系统调用;E级(扩展级)包括附加的和扩展的系统功能;C级(CPU依赖级)的系统功能依赖于具体的CPU和系统实现方式。

ROS33基本内核按功能划分为6大部分:

*任务管理——负责系统中任务状态的变迁;

*任务相关的同步管理——通过睡眠/唤醒、挂起/解挂等操作,处理相关任务及任务之间的同步关系;

*同步与通信——通过信号灯、事件、邮箱等通信机制,实现独立任务之间的同步与通信;

*系统管理——对系统环境的管理;

*时钟管理——日历时钟、定时器、定时任务等的管理;

*中断管理——开/关中断。

图6给出了ROS33内核的概念模型。

4 Web服务器及上层应用程序框架

WEB服务器所采用的方式称为uip_connect,比通常在设计中所使用的Socket套接字更适合于嵌入式系统下面即是WEB服务器的大体框架。

#include

void http_listen_init(void){

uip_listen(80);

} //http listen初始化

void listen_init(void){

http_listen_init();

}

void application(void){

if(uip_connected()) //如果当前的连接状态为connected

switch (uip_conn->lport){

case htons(80):

httpd; //如果80 PORT有数据到达,则调用HTTP处理HTML文件的传送

}

}

首先,服务器与客户机建立连接,再通过侦听端口80,判断是否有客户请求到达,若有则将调用应用程序httpd进行相应处理,否则,继续侦听。Httpd是用于处理HTTP请求的应用程序,具体设计在协议栈uIP中有描述。uip.h是协议uIP的一个头文件。

在应用软件上实现简单WEB服务器功能,其主要由两个模块构成:一是用户登陆模块;二是家电监控模块。用户登陆模块需要解决用户的合法性检查,即接收用户输入的用户名和密码,进行校验,合法则进入家单监控页面,非法则发出警告页面。家电监控模块针对各家电的硬件情况,收集信息家电的状态码,并通过网页形式显示。

在两个模块中,有一部分相似的处理,即对输入的数据进行解析。现在定义数组htmlinputs来存放解析后的信息。对表单输入的数据进行解析后,将其name值和value值分别存放在htmlinput_struct.name和htmlinput_struct.value里,便于以后的处理。变量htmlinputcount存放表单里输入变量的个数。定义如下:

struct htmlinput_struct htmlinputs[100];

int htmlinputcount=0;

除此外,定义函数get_inputs()和translate()对输入的数据进行处理。

Int get_inputs();//将从表单输入的数据分别装到对应的name/value数据队中

Void translate(char*sourcestr);//解读编码URL字符

具体程序代码在此就不再多述。

整个上层应用程序的流程图如图7所示。

5 小结

ip协议篇8

亚当·斯密进行的是具体的动机-行为分析,哈耶克则通过抽象的行为-规则分析,来研究自生自发秩序。哈耶克把人的“天赋”/“倾向”和“才能”,统统看作“个人知识”。亚当·斯密所分析的是人在自利心和自然倾向的驱动下,通过交易而产生的分工秩序,哈耶克分析的则是人类在每个人的个人知识基础上不断扩大的合作的扩展秩序。哈耶克的规则分析不再以顾客和面包师之间的交易行为为中心,而是转向交易规则的研究,这种研究必然是历史的和社会的。

哈耶克对自生自发秩序的研究建立在对三种行动和知识的关系的分析上:

1、个人行动与他人知识的关系:一个人无法替他人决策,因为他无法占有他人的全部个人知识,而这种个人知识是和他人特定的时空情景结合在一起的。

2、个人的行动与他自己的知识的关系:一个人无法甚至确切地知道他自己所拥有的知识。对自己的行为,他可能也是“知其然”(know what)而不“知其所以然”(know how)。

3、个人的行动和整个文明累积的知识的关系:一个人对他依照从事的那一套文明社会的普遍抽象规则并不能确切的知道和清晰地表述。这里的普遍抽象规则就是哈耶克意义上的法律,国会或政府的立法并不一定是这种普遍抽象规则的确切表述。这就是哈耶克所谓“法与立法”的二元观。

“法与立法”的二元观带来很多意涵。在哈耶克看来,普通法是一种典型的自生自发秩序。普通法法理学认为,规则并不是制定的,而是发现的。制定法只是法律渊源之一,而不是法本身,法官要通过法律解释和法律推理来发现适用于具体个案的规则。先例制度保证了,正确的解释和推理可以被挑选出来,错误的、不适当的解释和推理能够被剔除,因此普通法是一个不断进化的法律体系,就像民族语言一样。

互联网是最新的自生自发秩序的例子。这一点可以通过TCP/IP协议的“发现”过程来说明:

1、1969年9月,美国加州大学洛杉矶分校第一次把接口信号处理器(IMP)和主机连接起来。1969年12月扩展到4个节点。1969年4月,克洛克发表第一份RFC(征求意见稿),此后成为互联网上开放标准的主要形成方。每个人都可以通过RFC提出建议标准(proposal standard),试行6个月以上,至少开发两种实现,并不断测试,解决所有问题,然后可以变为草案标准(draftstandard),保持4个月,开发和测试更多的实现,才有可能成为互联网标准(Internetstandard)。1970年12月,克洛克领导网络工作小组制定出最初的主机-主机协议NCP.

2、1974年,文顿·瑟夫发表“分组网络互连的一个协议”,提出TCP协议。后来分成TCP和IP两个协议,合称TCP/IP.目前,TCP/IP已经发展成一个分层的协议簇,包含着上千个协议。现在的协议的标准化由互联网协会协调维护,由志愿者组成的IAB(Internet ArchitectureBoard)是ISOC的技术顾问组。这是一个非官方的完全公开的自愿组织,任何人都可以成为它的会员,参与其讨论,参加它的邮件列表没有任何限制。

3、1983年1月1日,NCP由于没有TCP/IP强大,停止使用。

4、80年代,TCP/IP遇到了官方的挑战。ISO(国际标准化组织)正式提出了一个官方的协议OSI.OSI虽然得到了美国、欧洲政府的支持,但过于学术化,而且没有得到实际应用的检验。在这场官方标准和事实上的工业标准之争中,开放自由的TCP/IP标准战胜了官方标准OSI.

上述事实可以给我们许多启示。TCP/IP是一种自由开放的标准,不断地被人们发现,不断地优胜劣汰-甚至淘汰官方制定的标准,并且不断地演化。在互联网这个自生自发秩序中,“标准只能被发现,不能被制定”。

中国互联网近些年来发展迅速。从官方到民间一直有呼声对互联网的发展进行规制。最近中国政府出台了一系列的行政法规和行政规章:9月25日,国务院《电信条例》和《互联网信息服务管理办法》;11月6日,信息产业部《互联网电子公告服务管理规定》;同日,信息产业部、国务院新闻办《互联网网站从事登载新闻业务管理暂行规定》。这些着眼于贯彻政府意志的行政法规和规章对中国的互联网发展带来沉重打击。

不过,中国的互联网法律有制定的部分,也有“发现”的部分,当前人们讨论的基本只是中国互联网制定的这一部分,往往忽视可能价值更高的“发现”的那一部分。近来中国有一系列关于互联网的法律纠纷。由于没有现成的法律,对这些案子的判决都需要法官去发现规则。比如,在易家诉国网案中,法官确定了“对将知名商标注册为域名构成域名抢注”。在陈卫华诉成都《电脑商情报》案中,法官提出了确定网络作品的作者的方法。在瑞得(集团)公司诉宜宾市翠屏区东方信息服务有限公司著作权侵权纠纷案中,法官界定了“网页是著作权意义上的作品”,以及互联网上著作权侵权的司法管辖原则(服务器所在地及终端计算机所在地均可视为复制行为的行为地,瑞得选择自己服务器所在地的北京市海淀区人民法院起诉原在四川的东方公司侵犯著作权并无不当)。在王蒙等六作家诉首都在线案中,法官确定了“网络传播是使用作品的一种方式,作品传播方式的不同,并不影响著作权人对其作品传播的控制权利。”在《大学生》杂志社诉263和李翔个人网页侵权案中,法官确定提供个人主页服务的网络服务提供商的责任。

人类行为的规则并不能完全由政府来制定,规则的发展需要我们每个参与者去发现。网络规则的发展也是如此,正是在水木清华和一塌糊涂这样的BBS站上,我们学会了在网络上行为的各种规则(比如不得挑起校际争端),这是网络世界的习惯法;不要小看这些东西,世界上所有成熟的法律制度都是在习惯法的基础上发展起来的,政府的意志永远代替了不了人类的智慧。

上一篇:债权转让协议范文 下一篇:房屋租赁协议范文