加载中…
正文 字体大小:

TCP/IP相关协议

(2007-08-13 08:55:21)
标签:

it/科技

    TCP/IP通常被认为是一个四层协议系统,每一层都有相应的协议集合来实现不同的功能,其层次结构和主要网络协议如下图所示。

TCP/IP相关协议

    下面将针一对每一层的具体协议详细分析嵌入式Internet需要实现的协议子集。  

    (1)链路层协议的选择
    链路层主要作用是为其上层协议发送和接收数据包,根据物理层的不同,链
路层有多种协议可以选择。其中主要有以太网、令牌环网、FDDI(光纤分布式数据接口)及RS-232串行线路协议等。
    嵌入式Internet在实现链路层协议的时候,首先应该根据接入Internet所采用的方法来选择合适的协议。我们以以太网接入来加以详细分析。以太网遵循IEEE802.3所规定的CDMA/CD(载波监听多路访问及冲突监测)协议,该协议使同一个局域网上的多台计算机共享同一物理传输介质成为可能。嵌入式Internet要通过以太网络接入Internet就必须实现该协议要求,实现该协议可以采用通用的NIC(网络接口控制)芯片。另外,以太网上数据的传输是采用网络的MAC地址来进行识别的,这就要求系统有实现IP地址到MAC地址的转换的功能,即ARP(地址解析)协议。ARP协议可以细分为ARP请求协议和ARP口向应协议两种,系统要同其它计算机通信,就必须要实现ARP响应协议。ARP请求协议在本地建立了一个IP地址到MAC地址的映射,保证了对外通信的有的放矢。如果嵌入式系统的资源( CPU速度、SAM存储容量)有限,可使用以太网广播帧发送数据分组,这样就可以不用实现ARP请求协议,同时也不需维护IP地址到MAC地址的映射对。这种通信方式虽然对网络造成一定的压力,但可以大大节约嵌入式系统的宝贵资源,用户可根据实际情况考虑使用。
    RARP(逆地址解析)协议主要用于解决如何从MAC地址得到IP地址,主要用于无盘工作站中。嵌入式Internet中可以把IP地址存储于本地存储器中,从而无须从其它服务器得到IP地址,这样就无需实现RARP协议。
    (2)网络层协议的选择
    网络层主要负责处理数据包在网络中的协议封装。在TCP/IP协议族中,网络层协议包括LP协议(网际协议),1CMPP协议(Internet互联网控制报文协议)以及IGMP协议(Internet组管理协议)等。
    IP协议是TCP/IP族的核心协议,它使异构网络之间的通信成为可能。因此如果嵌入式Internet需要跨越不同的网络进行通信就必须要实现IP协议。
    ICMP协议主要用来传递斧错报文以及其他需要注意的信息。我们通常使用的应用程序Ping就是采用ICMP协议来测试网络的连通情况,这种测试对一个网络设各来说是非常重要的。ICMP中规定了多种协议类型和代码,如果完全的实现也要耗费不少的系统资源,对于普通的嵌入式Internet的应用而言,在ICMP协
议中能够测试网络的连通情况即可,因此只需实现ICMP中类型号为0、代码为0的Ping应答协议即可。
    另外,ICMP协议本身是被设计用来传送Internet上的控制报文的,嵌入式系统作为接入lnternet上的一种特殊设备,可以认为是被lnternet上传输的控制报文所控制的。基于这种对ICMP协议的理解力一式,我们可以对ICMP协议进行扩展,从而定制出专用的嵌入式远程控制协议。
    网络层另外一个重要的协议是IGMP(Internet组管理)协议,它卞要用于支持主机和路由器进行组播,IGMP能够让一个物理网络上的所有系统知道主机当前所在的多播组,多播路由器需要这些信息以便知道多播数据报应该向哪些接口转发。嵌入式Internet作为一种专用系统接入Internet的技术,很少需要也不必要采用组播的方式进行通信。因此在通常的嵌入式Internet的设计中可以不考虑实现IGMP协议。
    (3)传输层协议的选择
    传输层主要为两台主机上的应用程序提供端到端的通信。传输层有两种不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。
    TCP为两台主机提供面向连接的、可靠的、无重复的双向数据流传输服务。TCP协议设计了严格的3次建立连接握手过程、4次关闭连接握手过程以及捎带确认信息并进行滑动窗口流控的数据传输过程。这些过程的实现对系统资源的耗费非常大,为了减少系统资源的消耗,我们采用了两种方法,一种是系统不采用TCP协议来保证可靠传输,采用基于ICMP协议扩展的专用控制协议。另一种方法是TCP协议进行一定的简化处理,TCP协议的简化应该遵循两个原则,一是不能改变其面向连接的特性,二是其简化必须能配合其应用层所采用的协议。完整的TCP协议可配合应用层所采用的不同协议,我们的简化力一法是:针对特定的应用协议,制定特定的TCP简化协议。应用层的协议有多种多样,与TCP协议相关的主要有HTTP, Telnet,Rlogin, FTP和SMTP等。通常的嵌入式Internet只需要实现一种或两种应用层协议,因此,我们就可以根据特定的应用层协议来设计专用的TCP协议,例如大多数的嵌入式Internet只需提供基于web方式的访问控制即可,TCP协议就可以只针对HTTP协议进行设计。
    UDP协议是用来提供不面向连接的,尽最大努力传输的数据流传输服务,它
只是简单地把数据报从一台主机发送到另一台主机,但并不保证该数据报能到达另端。任何必需的可靠性必须由应用层来提供。UDP的实现比较简单,它在某些嵌入式Internet的应用场合得以很好地应用,
      (4)应用层协议的选择
    应用层协议是TCP/工P协议族中最大的一个子集,其种类非常繁多。最常用的有Telnet远程登录协议)、FTP(文件传输协议)、SMTP(简单邮件传送协议)、SNMP(简单网络管理协议)、HTTP(超文本传输协议)等。不同嵌入式系统对嵌入式Internet所采用的应用层协议的选择要求都不同,例如系统如果要求采用E-mail来发送自己的信息,那么就需要针对SMTP协议来实现,如果系统要求可以通过浏览器的方式来访问,那么系统就应该实现嵌入式Web Server的相应协议。
    另外,由十我们对链路层的协议也进行了子集划分,因此应用层的协议也必
须和链路层所实现的协议相配套。如果链路层只实现了UDP协议,没有实现TCP协议,那么在应用层就无法实现与TCP有关的协议种类,例如HTTP, FTP, SMTP等。应用层的协议缤纷复杂,系统必须根据自己的需要和链路层的协议实现来选择这些协议。

0

阅读 评论 收藏 转载 喜欢 打印举报
已投稿到:
前一篇:MCU
后一篇:负压力波法
  • 评论加载中,请稍候...
发评论

       

    验证码: 请点击后输入验证码 收听验证码

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

    < 前一篇MCU
    后一篇 >负压力波法
      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有