ip协议范例6篇

前言:中文期刊网精心挑选了ip协议范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。

ip协议

ip协议范文1

关键词:ip协议IP地址分配路由选择路由分类路由算法IPV6协议

1引言

随着“信息高速公路”的提出和Internet的迅猛发展,人们的交流方式,获取信息的途径,工作,学习,生活,娱乐的方式都发生了重大的变革,各种新的信息交流,信息获取的方式应运而生。如电子邮件,电子商务,VOD视频点播,网上股票交易,网上购物,远程教育,远程医疗,各种公共信息查询等,都迫切要求我们有志于IT事业的青年,全面的了解Internet的核心协议—IP协议。

2网际协议IP

众所周知,网络互连离不开协议。Internet正是依靠TCP/IP协议实现网络互联的,可以毫不夸张的说,没有TCP/IP协议,就没有如今高速发展的Internet,因此TCP/IP是Internet的基础和核心。网际协议IP是TCP/IP体系中重要的协议之一,它主要为数据提供打包和编址服务。IP协议能够识别本地或远程主机。如果通向目的网络的通道使用不同大小的分组,IP协议将分组分片,以便能够无错的传输。分组抵达目的主机后,IP协议再将数据的分组重新组合。[1]最后,IP协议将处理好的分组传递给上层的协议。

2.1IP地址

Internet的IP协议使用特定的地址唯一标识网络上的连接设备。IP的地址遵循IP协议的一种网络地址的描述方式,Internet上的每一个节点都依靠唯一的IP地址互相区分和相互联系。他是目前Internet上使用的网络地址,是最为通用和流行的寻址方式。

2.1.1IP地址表示方法

所谓IP地址就是给每一个连接在Internet上的主机分配一个在全世界范围是唯一的32bit地址,它包括了网络地址和主机地址。[2]每个网络拥有一个唯一的网络ID(net-id)和主机ID(host-id)。我们可以先按IP地址的网络号net-id把网络找到,再按主机号host-id把主机找到。所以IP地址并不只是一个简单的计算机号,他指出了连接到某个网络上的某台计算机。

2.1.2IP地址的分类

IP地址是一种层次地址,通用个视为:M——类的等级号,NET——网络号,HOST——主机号。按类别的等级号,IP地址分为五类:A,B,C,D,E。[3]常用的A类,B类和C类地址都由两个字段组成,即网络号字段和主机号字段,网络号和主机号随不同等级在32位中所占的位数不同。表2-1描述了A,B和C类地址的二进制表示形式,其中N表示网络字段的比特数,H表示主机字段的比特数。A类地址使用第一个8位组表示网络字段,于3个8位组,即24比特用于表示主机号字段。B类地址使用前两个8位组表示网络号字段,其余2个8位组表示主机号字段,各有16比特。C类地址使用前三个8位组,24比特比表示网络号字段,最后1个8位组,即8比特用于表示主机号字段。如表2.1所示,它给出了标准网络号字段和主机号字段的长度。D类地址和E类地址并不支持通常意义的主机编址。D类地址是多播地址,主要是留给Internet体系结构委员会IAB(InternetArchitectureBoard)使用。E类地址保留为试验用途。表2.2给出了IP地址的使用范围和容量。

表2.1标准网络号字段和主机号字段的长度

地质类别第一个8位组第二个8位组第三个8位组第四个8位组

ANNNNNNNNHHHHHHHHHHHHHHHHHHHHHHHH

BNNNNNNNNNNNNNNNNHHHHHHHHHHHHHHHH

CNNNNNNNNNNNNNNNNNNNNNNNNHHHHHHHH

表2.2IP地址使用范围和容量

地址类别第一个8位组最大网络数每个网络中的最大主机地址数

A1——12612616777214

B128——1911638465534

C192——2232097152254

D224——239————

E240——254————

2.1.3特殊地址

除了一般的标识一台主机的IP地之外,还有几种特殊形式的IP地址。

1.广播地址

TCP/IP协议规定,主机号全为“1”的网络地址用于广播,即同时向网络上所有主机同时发送报文(必须知道本网的网络号),叫做广播地址,也成直接广播地址(directedbroadcastingaddress)。

2.有线广播地址

TCP/IP规定,32比特全为“1”的网间网地址用于本网内部广播(可不知本网的网络号),该地址叫做有线广播地址(limitedbroadcastingaddress)。

3.“0”地址

TCP/IP协议规定,各位全为“0”的网络号被解释为“本”网络。

4.回送地址

A类网络地址127是一个保留地址,用于网络软件以及本地机间通信,叫做回送地址(loopbackaddress).不管是什么程序,一旦使用回送地址发送数据,协议软件立即返回,不进行任何网络传输。

主机号全为“0”和全为“1”的地址,不能用作一台计算主机的有效地址。

2.1.4子网掩码

子网掩码——IP地址的屏蔽码,它使用一连串的二进制1来识别或屏蔽出IP地之中的网络地址,使用子网掩码的目的是识别网络的长度和数值。IP协议使用本地的子网掩码和本地主机IP地址来识别本地网络。

TCP/IP体系结构用一个32位的子网掩码来表示子网号字段的长度。具体做法是:子网掩码由一连串的“1”和一连串的“0”组成。“1”对应于网络号和子网号字段,而“0”对应与主机号字段。例如:子网掩码为0XFFFFFFE0,她的二进制表示形式为11111111111111111111111111100000可见子网号有11位,而主机号有5位。子网掩码的意义如图2-1示。根据IP地址可以判断它是A,B或C类地址中的哪一类,而根据子网掩码可以划分子网号和主机号的界限。不过,多划分出一个子网号字段浪费了大量的IP地址。

10net-idhost-id

B类地址

10net-idsubnet-idhost-id

增加了子网掩码

11111111111111111111111111100000

子网掩码

图2-1子网掩码的意义

3路由的选择

路由就是基于网络层的选择传送数据包路径的过程。路由器则是执行路由功能的设备。它的主要工作是为经过路由器的每个数据帧寻找一条最佳的传输路径,并将数据有效的传送到目的站点。可见,路由器的关键所在就是选择最佳路径的策略,即路由算法。为了完成这项工作,路由器中保存了各种传输路径的相关数据——路由表(RoutingTable),供路由选择时使用。

3.1路由器的功能

路由器是所有大型TCP/IP网络的重要组件,没有路由器,因特网就无法运行。众所周知,IP地址用网络号来描述本地目标主机或远程目标主机,而路由器是通过网络号来识别目的网络。下面来进一步说明路由器的功能:

a)路由器用来连接不同的网络,接受来自它连接的某个网络的数据;

b)路由器是专门用来转发分组的,将数据向上传递到协议栈的Internet层,即路由器舍弃网络访问层的首标信息,并且(必要时)重新组合IP数据包;

c)路由器检查IP首标中的目的地址;

d)传送数据到另一个网络,路由器自动查询路由表,确保数据转发到目的地址;

e)路由器确定哪个适配器负责接收数据后,它就通过相应网络访问层软件传递数据,以便通过网络来传送数据。

3.2路由选择分类

路由选择的两个主要类形式根据他们从何处获得路由表信息而得名的:

静态路由选择——要求网络管理员人工输入路由信息。

动态路由选择——根据使用路由选择协议获得的路由信息动态的建立路由表。

3.2.1静态路由

当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息。静态路由信息在缺省的情况下是私有的,不会传递个其他路由器。静态路由一般适用于比较简单的网络环境,在这样的环境中,网络管理员易于了解本地网络的拓扑结构,便于设计正确的路由信息,而且网络安全保密性高。

3.2.2动态路由

动态路由是址路由器能够自动的建立自己的路由表,并且能够根据实际情况的变化适时的进行调整。动态路由机制的运作依赖路由器的两个基本功能:对路由表的保护;路由器之间适时的路由信息交换。[3]交换路由信息的最终目的在于通过路由表找到一条数据交换的“最佳”路径。

3.3IP选路算法

3.3.1传统分类IP路由算法

尽管绝大多数路由器和许多主机都可以在无分类IP网络中实现路由,但是仍有一些路由器和主机依赖目的的网络分类进行路由。分类路由算法如下:

DatagramRoutingTable

从数据报中提取目的地址D,并计算网络前缀N(即目的站的网络号)

ifN与任何直接相接的地址匹配

then通过该网络把数据报交付澳目的地D(其中涉及到把D转换成一个

物理地址,转装数据报并发送该帧)

elseif表中包含特定于具体主机的一个到D的路由

then把数据报发送到表中指定的下一跳

elseif表中包含到网络N的一个路由

then把数据报发送到表中指定的下一跳

elseif网络包含一个默认路由

then把数据报发送到表中指定的默认路由器

else宣布选路出错

3.3.2无分类路由

无分类路由的IP路由算法不断更新以适应对任意大小IP网络地址空间寻径的支持。[5]路由表的每一项必须包括目的地址与下一跳地址,以及附加的掩码以限定该项所描述的地址空间。路由表中引入掩码,实现算法中路由表查询的部分要比原分类路由算法复杂,但整体的算法反而简化了。无分类IP路由算法如下:

对于任何给定的目的地IP地址

搜索路由表,寻找与改地址匹配的前缀最长的目的地址

析取该项的下一跳地址

发送分组包至下一跳

if寻找匹配项失败

报告目的地地址不可达

Endif

4下一代网络IP协议

当前,给予Internet的各种应用正如火如荼的迅猛发展着,而与此热闹场面截然不同的是Internet当前使用的IP协议版本IPV4正因为自身的缺陷而举步维艰。因此,IPV6应运而生了。

4.1IPV4的缺陷

现在互联网上普遍采用IPV4的标准,它是目前Internet中正在运行的非常成功的协议,有着广泛的应用基础,但它自身也有很多不足。

IPV4使用的是32位的寻址方式,理论上IPV4可以支持40亿个地址。然而,由于先前的低效地址分配,由将近一半的地址已被之皮,剩余地址也仅有一小部分可利用。由预测表明,以目前Internet发展速度计算,所有IP地址将在2005——2010年间完全耗尽完毕。因此,IPV4协议所能够提供的域名最终将全部耗尽,从而阻碍了整个互联网的向前发展。

IPV4不仅存在存储空间的局限信,还存在性能上的问题。IPV4制定之初,主要目的在于为在一种网络间进行数据的可靠和高效传输探索最佳机制,从而实现不同计算机的互操作。在很大程度上,IPV4实现了此目标,但这并不意味着IPV4可以继续保持这种实力,它在设计方面需要进一步完善。再次是安全性,人们认为安全性议题在网络协议栈的低层并不重要,应用安全性的责任仍交给应用层。在许多情况下IPV4设计只具备最少的安全性选项,但安全性已经成为IP的下一版本可以发挥作用的地方。最后是自己配置对于IPV4的节点的配置非常复杂,而用户跟喜欢即插即用。IP主机移动性的增强和使用不同网络接入点时能提供更好的配置支持。

4.2IPV6协议

4.2.1较IPV4的变更之处

IPV6对IPV4做了多处改进,这些改进使该协议更为灵活,可靠,而且提供了几乎无限的地址空间。一下列出由IPV4到IPV6的改进:

1)扩大了选路和编址容量:IPV6把IP地址所占比特数由32比特增加到128比特。该方案能够支持的编制层次更多,而且可编址的节点数也大为增加。

2)增加了多播地址:IPV6创建了一种新的地址类型——任意播地址(anycastaddress),以表示一系列节点,发任意播的数据包可以递交给这组节点中的任意一个。

3)简化了首部格式:IPV4首部中的某些子段被丢弃不用或改为可选,减少了处理数据包的开销,是带宽额外开销尽可能低。

4)改良了对选项的支持:新的IP首部队选项的编码方式进行了改良,提高了转发效率,对选项长度的限制更少,也增加新选项的灵活性。

5)增加了对服务质量的支持能力:IPV6可以对属于某种特定通信流的数据报加标号,表明发送方要求对这些数据加以的特殊处理。

6)增加了鉴别和保密能力:IPV6还包括扩展定义,能支持鉴别数据完整性以及机密性等功能。

5结束语

了更好的适应Internet的不断发展,IP协议应不断的更新其设计上的技术。IPV6是下一代的IP协议,IPV4向IPV6的转变不可能一夜之间完成,它们之间的过渡需要很长的时间,是一个逐步完善的过程。

参考文献

1[美]RobScrimger等著《TCP/IP宝典》[M]电子工业出版社2002年4月

2谢希仁著《计算机网络》[M]电子工业出版社2003年1月

3白建军等著《Internet路由结构分析》[M]人民邮电出版社2002年5月

ip协议范文2

关键词:卫星通信;动态路由协议;RIP

1.动态路由研究背景

传统的卫星网中常使用静态路由来实现IP业务通信。静态路由需人工干预配置的路由信息。在网络结构或者链路流量发生变化时,操作人员需重新配置相关路由器的路由信息。静态路由的特点决定了它使用时会有局限性。

动态路由则由路由器动态更新路由表,能够根据网络运行情况的实际变化智能地进行调整。动态路由依靠路由器对路由表的维护及路由器之间适时的路由信息交换来动态获得路由信息。因此动态路由技术在卫星通信IP业务中能够提供更佳的解决方案。

2.RIP协议简述和IP业务模型

RIP是基于距离矢量算法得出最佳路径的动态理由协议。大部分厂商路由器都支持RIP动态路由协议,其配置简单,适用于小型网络(小于15跳)等特点。RIP有两个版本:RIPvl和RIPv2。RIPvl不支持变长子网掩码和无分类域间路由,RIPv2则都支持。

RIP通过UDP数据包对RIP分组信息进行接收和发送。RIP规定,网关以30s为间隔通过广播方式发送一次报文。为了防止出现网络拥塞,发送后续的分组时会增加随机延时,如果在180s内未收到相邻路由器RIP信息,则认为该路由器的路径无效,会从路由表中删除该路由器路由信息。

如图1所示,IP业务模型,宽带MODEM,IP加速器和以太网交换机在卫星通信IP业务中不具备IP报文的寻路工作,只做比特流的透传和差错控制。可以将地面站IP业务模式进行简化,简化为通过两个路由器wAN口冗余备份互联的两个网络。IP双链路互为备份,两个链路正常工作,均衡分载IP数据流量。其中一个链路发生故障时,另外一个链路仍然有效,从而提高IP业务传输的可靠性。路由aWAN口之间依靠动B路由协议交互路由信息。

3.模型规划和动态路由协议的应用

路由器的WAN口实现与对端路由器wAN口互联,本地划分多个vLAN,实现与本地面站IP业务互联。这里划分3个VLAN,VLAN100为video视频网络,VLAN200为IP话音网络,VLAN300为IP数据的局域网。

如图1所示,将模型划分为两个自治逻辑区域。两个逻辑区域通过卫星通信链路进行连接。两个逻辑区域自己的路由器均使用RIP协议。RIP协议使用V2版本,支持变长子网掩码和无分类域间路由,使用组播uDP协议传递路由信息,能节约网络资源。

卫星地球站A和卫星地球站B中对路由器RIP动态路由配置和路由表的显示(以卫星地球站A为例)如下.

ROUTER 1路由配置和路由显示

Router RIP(启动RIP协议)version 2(运用RIP V2协议)

network201.201.1.0 network 201.201.2.0

(网络互联KIF0/0,F0/1的网段)

Network201.201.11.onetwork201.201.12.0network201.201.13.0

路由表中c代表本地直连的网段。Rf代表通过RIP获得的网段,[120/1]表示路由管理距离为120,路由的度量数值即跳数是1,第四部分表示下一路由IP地址,第五部分表示经路由器wAN口的接口。

由此路由表可以得到,Routerl通过RIP动态路由协议得知了与Router2直连的3个网段,除此之外,还有5个直连网段。Router2与Routerl的路由表类似。卫星地面站A与B所连接IP网段都可以通过路由表找到相应的路由信息,从而实现IP业务的通信。

ip协议范文3

关键词 城域网 客户网络 BGP

1 客户需求

目前,大部分电信城域网通过汇聚路由器运行IBGP协议来承载用户路由,而部分客户网络则需要通过双上行接入电信城域网,并要求双上行的链路在路由上实现冗余且能够自动切换。从安全角度考虑,城域网汇聚路由器一般不与客户网络运行IGP协议,但如果汇聚路由器与客户网络运行静态路由,再将静态路由引入到城域网的BGP协议,此方式在链路接入正常Down|UP的时候没有问题,但是当链路出现“单通”且静态路由不会消失的情况下,就会导致业务的中断。虽然配置静态路由可以考虑使用BFD协议来监测“单通”的问题,但是需要客户网络的设备支持BFD协议,否则无法实现。

2 建议方案

为了实现客户网络双上行冗余链路的路由自动切换,可以考虑在客户网络和某城域网之间运行BGP协议。但是根据电信城域网相关规范,城域网汇聚路由器在收到客户网络的EBGP路由后,核心路由器在向163、CN2等EBGP发送路由时,需将这部分路由过滤掉。

下面是根据上述问题和需求给出的一个参考建议方案。

(1)建议方案一 (设客户网络AS号为64959)

如图,客户网络的AS设置为64959与某电信汇聚路由器运行EBGP协议,某电信路由器下发缺省路由到客户网络,同时通过前缀列表严格控制从客户网络接收的用户路由,并增加Community属性65***:9999和no-export。客户网络发送自身网段地址到某城域网汇聚路由器,同时从某城域网汇聚路由器接收缺省路由。

配置脚本:

某电信路由器汇聚路由器:

ip prefix-list CustomerRoute seq 5 permit xx.xx.yy.0/28

ip prefix-list CustomerRoute seq 10 permit xx.xx.zz.0/28

!

route-map FromCustomer permit 10

match ip address prefix-list CustomerRoute

set community 65***:9999 no-export //对客户接收到的路由设置Community属性65***:9999和no-export

router bgp 65***

bgp router-id xx.xx.xx.xx //汇聚路由器 Loopback

bgp log-neighbor-changes

neighbor xx.xx.xx.xx remote-as 64959 //与客户互联的接口地址

neighbor xx.xx.xx.xx activate

neighbor xx.xx.xx.xx default-originate //向客户网络下发默认路由

neighbor xx.xx.xx.xx route-map FromCustomer in //设置策略只接收客户网络特定路由

no auto-summary

no synchronization

exit-address-family

!

客户端设备:

ip route xx.xx.yy.0 255.255.255.240 yy.yy.yy.1 //通过静态、动态、Null0

ip route xx.xx.zz.0 255.255.255.240 yy.yy.yy.1

router bgp 654959

bgp router-id xx.xx.xx.xx //客户网络Loopback

bgp log-neighbor-changes

neighbor xx.xx.xx.xx remote-as 65*** //与客户互联的接口地址

address-family ipv4

neighbor xx.xx.xx.xx activate

network xx.xx.yy.0 mask 255.255.255.240 //客户网段到某城域网路由器

network xx.xx.zz.0 mask 255.255.255.240

no auto-summary

no synchronization

exit-address-family

(2)建议方案二

通过方案一的实施,客户网络路由不发送到其他AS,但是在城域网内部还是可以看到64959这个AS号,而且将来若城域网分配这个AS号给其他业务使用的时候也会造成在本地城域网上该AS64959的混淆。因此我们也可以考虑和客户之间通过接口建立IBGP关系。

如上图,如果客户网络和某城域网汇聚路由器之间使用IBGP建立邻居关系的话,客户网络的路由,将不能从汇聚路由器到城域网的核心路由器和其他设备,这将导致可客户网络不可达。因此为了打破这个限制,我们需要在城域网的汇聚路由器上增加设置,将城域网RR设置为汇聚路由器的route-reflector-client,也就是说RR和汇聚路由器互相指定为对方为自己路由发射器的客户端。某电信路由器下发缺省路由到客户网络,同时通过前缀列表严格控制从客户网络接收的用户路由,并增加Community属性65***:9999。客户网络发送自身网段地址到某城域网汇聚路由器,同时从某城域网汇聚路由器接收缺省路由。

配置脚本:

ip协议范文4

关键词: 嗅探器;IP 漏洞;TCP 劫持;拒绝服务攻击

中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)16-21230-04

TCP/IP Protocol Loophole Analysis and Prevention

WANG Xian-feng

(The Department of the Information Engineering of Lu'an Vocational and Technical College,Lu'an 237158,China)

Abstract:his paper is TCP/ IP's application to secure area.It analyzes several problems about a few of critical parts within,TCP/IP in details,discloses its security leakage and gives some constructive solutions in order to pave a basis on the further research.

Key words: Sniffer;IP Leakage;TCP Hijacking;Denial of Service attacks

Internet/ Intranet 是基于TCP/IP 协议簇的计算机网络。尽管TCP/IP 技术获得了巨大的成功,但也越来越暴露出它在安全上的不足之处,这是由于TCP/ IP 协议簇在设计初期基本没有考虑到安全性问题而只是用于科学研究。但随着应用的普及,它不仅用于一些要求安全性很高的军事领域,也应用于商业领域,因而对其安全性的要求也越来越高。下面从TCP/IP协议簇本身逐层来看它的安全漏洞。

1 TCP/IP 协议组的基本原理

TCP/IP分为4个层次,分别是应用层、传输层、网际层和物理网络接口层,如下图所示。

其中物理网络接口层相当于OSI的物理层和数据链路层;网际层与OSI 的网络层相对,但由于它考虑到了网际网环境,因而具有更强的网际环境通信能力,在网际层包含有四个重要的协议,它们是IP、ICMP、ARP、RARP;传输层与OSI 的传输层相对应,包含TCP 和UDP 两个协议;应用层相对于OSI的会话层、表示层和应用层功能,主要定义了FTP、TELNET、及E-MAIL 等应用服务。下面我们简要分析中间两层的有关协议。

2 链路层存在的安全漏洞

在以太网中,信道是共享的,数据在网络上是以很小的称为“帧”的单位传输的。如果局域网是由一条粗网或细网连接成的,那么数字信号在电缆上传输信号就能够到达线路上的每一台主机。当使用集线器的时候,发送出去的信号到达集线器,由集线器再发向连接在集线器上的每一条线路,这样在物理线路上传输的数字信号也就能到达连接在集线器上的每个主机了。也就是说任何主机发送的每一个以太帧都会到达别的与该主机处于同一网段的所有主机的以太网接口。当数字信号到达一台主机的网络接口时,根据CSMA/ CD 协议,正常状态下网络接口对读入数据进行检查,如果数据帧中携带的物理地址是自己的或者物理地址是广播地址,那么就会将数据帧交给IP 层软件。当数据帧不属于自己时,就把它忽略掉。如果稍做设置或修改,使主机工作在监听模式下的话就可以使以太网卡接受不属于它的数据帧。或者采用虚拟设备开发技术,动态加载虚拟网络设备(VxD 或WDM) 驱动模块,驻留内存,实施侦听使网卡捕获任何经过它的数据。从而达到非法窃取他人信息(如密码、口令等) 的目的。这类软件被称为嗅探器(Sniffer),如NeXRay,Sniffit,IPMan 等。解决该漏洞的对策是:改用交换式网络拓扑结构,在交换式以太网中,数据只会被发往目的地址的网卡,其它网卡接收不到数据包。但交换机的成本比较高。或者采用加密传输数据,使对方无法正确还原窃取的数据。同时可以安装检测软件,查看是否有Sniffer 在网络中运行,做到防范于未然。

3 ICMP漏洞

ICMP是“Internet Control Message Protocol”(Internet控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。我们在网络中经常会使用到ICMP协议,只不过我们觉察不到而已。比如我们经常使用的用于检查网络通不通的Ping命令,这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。

ICMP协议对于网络安全具有极其重要的意义。ICMP协议本身的特点决定了它非常容易被用于攻击网络上的路由器和主机. 例如,在1999年8月海信集团“悬赏”50万元人民币测试防火墙的过程中,其防火墙遭受到的ICMP攻击达334050次之多,占整个攻击总数的90%以上!可见,ICMP的重要性绝不可以忽视!

比如,可以利用操作系统规定的ICMP数据包最大尺寸不超过64KB这一规定,向主机发起“Ping of Death”(死亡之Ping)攻击。“Ping of Death” 攻击的原理是:如果ICMP数据包的尺寸超过64KB上限时,主机就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使主机死机。此外,向目标主机长时间、连续、大量地发送ICMP数据包,也会最终使系统瘫痪。大量的ICMP数据包会形成“ICMP风暴”,使得目标主机耗费大量的CPU资源处理,疲于奔命。

虽然ICMP协议给黑客以可乘之机,但是ICMP攻击也并非无药可医。只要在日常网络管理中未雨绸缪,提前做好准备,就可以有效地避免ICMP攻击造成的损失。

对于“Ping of Death”攻击,可以采取两种方法进行防范:第一种方法是在路由器上对ICMP数据包进行带宽限制,将ICMP占用的带宽控制在一定的范围内,这样即使有ICMP攻击,它所占用的带宽也是非常有限的,对整个网络的影响非常少;第二种方法就是在主机上设置ICMP数据包的处理规则,最好是设定拒绝所有的ICMP数据包。

设置ICMP数据包处理规则的方法也有两种,一种是在操作系统上设置包过滤,另一种是在主机上安装防火墙。

4 IP漏洞

IP 协议运行于网络层。在TCP/ IP 协议中, IP 地址是用来作为网络节点的惟一标志,但是节点的IP 地址又不是固定的,是一个公共数据,因此攻击者可以直接修改节点的IP 地址,冒充某个可信节点的IP 地址攻击,或者编程(如Raw Socket) ,实现对IP 地址的伪装。

4.1 TCP 劫持

也许对连接于Internet的服务器的最大威胁是TCP劫持入侵(即我们所知的主功嗅探),尽管顺序号预测法入侵和TCP劫持法有许多相似之处,但TCP劫持之不同在于黑客将强迫网络接受其IP地址为一个可信网址来获得访问,而不是不停地猜IP地址直至正确。TCP劫持法的基本思想是,黑客控制了一台连接于入侵目标网的计算机,然后从网上断开以让网络服务器误以为黑客是实际的客户端。下图显示了一个黑客怎样操作一个TCP劫持入侵。

成功地劫持了可信任计算机之后,黑客将用自己的IP地址更换入侵目标机的每一个包的IP地址,并模仿其顺序号。安全专家称顺序号伪装为“IP模仿”,黑客用IP模仿在自己机器上模拟一个可信系统的IP地址,黑客模仿了目标计算机之后,便用灵巧的顺序号模仿法成为一个服务器的目标。

黑客实施一个TCP劫持入侵后更易于实施一个IP模仿入侵,而且TCP劫持让黑客通过一个一次性口令请求响应系统(如共享口令系统),再让一个拥有更高安全性的主机妥协。通过口令系统也让黑客穿过一个操作系统而不是黑客自己的系统。

最后,TCP劫持入侵比IP模仿更具危害性,因为黑客一般在成功的TCP劫持入侵后比成功的IP模仿入侵后有更大的访问能力。黑客因为截取的是正在进行中的事务而有更大访问权限,而不是模拟成一台计算机再发起一个事务。

4.2 源路由选择欺骗

TCP/ IP 协议中,为测试目的,IP数据包设置了一个选项―――IP Source Routing,该选项可以直接指明到达节点的路由。攻击者可以冒充某个可信节点的IP 地址,构造一条通往某个服务器的直接路径和返回的路径,利用可信用户作为同往服务器的路由中的最后一站,对其进行攻击。在TCP/IP协议的两个传输层协议TCP 和UDP中,由于UDP 是面向非连接的,不需初始化的连接过程,所以UDP 更容易被欺骗。

4.3 非同步入侵

TCP 连接需要同步数据包交换,实际上,如果由于某种原因包的顺序号不是接收机所期望的,接收机将遗弃它,而去等待正确顺序号的数据包。黑客可以探明TCP协议对顺序号的要求以截取连接。在这种情况下,黑客或骗取或迫使双方终止TCP 连接并进入一个非同步状态,以使双方再也不能直接交换数据。黑客再用第三方主机(另一个连接于物理媒介并运行TCP 包的计算机)来截获实际中的数据包,经过窜改或伪造,第三方产生的数据包就可以模仿连接中的系统本应交换的数据包,从而以假乱真了。其过程如下图所示。

过程图在非同步状态下,客户端A 向服务器发送的数据包其序列号不是服务器所期望的,服务器便将其抛弃。而黑客主机C拷贝(截获) 服务器丢弃的包,修改其中的数据,并配以正确的序列号,以A 的名义发送出去,服务器便会接收。当然从服务器B到客户端A也存在同样的情况。从而黑客便相当于在客户和服务器之间充当的角色,来往于客户和服务器之间的数据都要经过它。

4.4 Land 攻击

land 攻击是一种使用相同的源和目的主机和端口发送数据包到某台机器的攻击。结果通常使存在漏洞的机器崩溃。在Land攻击中,一个特别打造的SYN包中的原地址和目标地址都被设置成某一个服务器地址,这时将导致接受服务器向它自己的地址发送SYN一ACK消息,结果这个地址又发回ACK消息并创建一个空连接,每一个这样的连接都将保留直到超时掉。对Land攻击反应不同,许多UNIX实现将崩溃,而 Windows NT 会变的极其缓慢(大约持续五分钟)。

4.5 SYN 洪水攻击

拒绝服务攻击的一种,使用TCP SYN 报文段淹没服务器。利用TCP建立连接的三个步骤的缺点和服务器

端口允许的连接数量的限制,窃取不可达IP 地址作为源IP地址,使得服务器得不到ACK而使连接处于半开状态,从而阻止服务器响应别的连接请求。尽管半开的连接会因为过期而关闭,但只要攻击系统发送的SpoofedSYN 请求的速度比过期的快就可达到攻击的目的。此方法是一种重要的攻击ISP ( Internet Service Provider) 方法,这种攻击并不会损坏服务,而是削弱服务器的功能。

4.6 防范措施

(1)对于来自网络外部的欺骗来说,可以在局部网络的对外路由器上加一个限制,做到只要在路由器里面设置不允许声称来自于内部网络中的机器的数据包通过就行了。当然也应该禁止(过滤) 带有不同于内部资源地址的内部数据包通过路由器到别的网上去,以防止内部员工对别的站点进行IP 欺骗。

(2)当实施欺骗的主机在同一网络内时,不容易防范。可以运用某些入侵检测软件或是审计工具来查看和分析自己的系统是否受到了攻击。

(3)对IP 包进行加密,加密后的部分作为包体,然后再附上一个IP 头构成一个新的IP 包。

(4)提高序列号的更新速率,或是增强初始序列号的随机性,使攻击者无法猜测出正确的序列号。

(5)对于源路由选项欺骗,因该禁止带有源路由的IP包进入内部网。

(6)对于Land 攻击,可以通过配置路由器或防火墙将外部接口上到达的含有内部源地址的数据包过滤掉。

(7)对于SYN 的洪水攻击,可以给内核加一个补丁程序或使用一些工具对内核进行配置。一般的做法是,使允许的半开连接的数量增加,允许连接处于半开状态的时间缩短。但这些并不能从根本上解决问题。实际上在系统内存中有一个专门的队列包含所有的半开连接,这个队列的大小是有限的,因此只要有意使服务器建立过多的半开连接就可以使服务器的这个队列溢出,从而无法响应其它客户的连接请求。

5 ARP欺骗

Arp是一种将IP转化成以IP对应的网卡的物理地址的一种协议,或者说ARP协议是一种将IP地址转化成MAC地址的一种协议,它靠维持在内存中保存的一张表来使IP得以在网络上被目标机器应答。ARP就是IP地址与物理之间的转换,当你在传送数据时,IP包里就有源IP地址、源MAC地址、目标IP地址,如果在ARP表中有相对应的MAC地址,那么它就直接访问,反之,它就要广播出去,对方的IP地址和你发出的目标IP地址相同,那么对方就会发一个MAC地址给源主机。而ARP欺骗就在此处开始,侵略者若接听到你发送的IP地址,那么,它就可以仿冒目标主机的IP地址,然后返回自己主机的MAC地址给源主机。因为源主机发送的IP包没有包括目标主机的MAC地址,而ARP表里面又没有目标IP地址和目标MAC地址的对应表。所以,容易产生ARP欺骗。例如:我们假设有三台主机A,B,C位于同一个交换式局域网中,监听者处于主机A,而主机B,C正在通信。现在A希望能嗅探到B->C的数据, 于是A就可以伪装成C对B做ARP欺骗――向B发送伪造的ARP应答包,应答包中IP地址为C的IP地址而MAC地址为A的MAC地址。 这个应答包会刷新B的ARP缓存,让B认为A就是C,说详细点,就是让B认为C的IP地址映射到的MAC地址为主机A的MAC地址。 这样,B想要发送给C的数据实际上却发送给了A,就达到了嗅探的目的。我们在嗅探到数据后,还必须将此数据转发给C, 这样就可以保证B,C的通信不被中断。克服此问题的方法是:让硬件地址常驻内存,并可以用ARP 命令手工加入(特权用户才可以那样做);也可以通过RARP服务器来检查客户的ARP 欺骗。因为RARP 服务器保留着网络中硬件地址和IP 的相关信息。

6 路由欺骗

路由协议(RIP) 用来在局域网中动态路由信息,但是各节点对接收到的信息是不检查它的真实性的(TCP/ IP 协议没有提供这个功能),因此攻击者可以在网上假的路由信息,利用ICMP 的重定向信息欺骗路由器或主机,伪造路由表,错误引导非本地的数据报。另外,各个路由器都会定期向其相邻的路由器广播路由信息,如果使用RIP 特权的主机的520 端口广播非法路由信息,也可以达到路由欺骗的目的。解决这些问题的办法是:通过设置主机忽略重定向信息可以防止路由欺骗;禁止路由器被动使用RIP和限制被动使用RIP的范围。

7 结束语

通过对TCP/IP 协议的分析,我们不难发现其在设计和实现上存在的种种缺陷,这是由于TCP/IP协议在设计初期只是用于科学研究,而未考虑到当今会如此广泛地被应用。黑客或黑客工具往往利用这些漏洞,对网络进行破坏。了解这些漏洞并熟悉相应的对策,做到知己知彼,我们才能构建一个安全稳固的网络。

参考文献:

[1] 张小斌,严望佳.黑客分析与防范技术[M].北京:清华大学出版社,2005.

[2] 闫宏生.计算机网络安全与防护[M].北京: 电子工业出版社,2007.

ip协议范文5

目前最完成,最被大众接受的通信协议标准就是TCP/IP协议。它的存在能使不相同的硬件结构,操作系统的计算机互相通信。在20世纪60年代末,美国政府出资近资助了一个分组(包)交换网络研究项目ARPAnet,这就是TCP/IP的最初样貌。最初ARPAnet使用的是租用的以点对点为主的通信线路,在后面当通信网和卫星通信系统发展起来之后,它最初开发的网络协议在通信可靠性较差的通信子网络中产生了很多问题,为了解决这些问题,TCP/IP协议就应运而生。作为一个开放的协议,有很多不同的厂家生产了很多型号的计算机,他们各自有完全不同的操作系统,但是在TCP/IP协议组件下,他们能进行通信。在如今的社会,TCP/IP已经成为一个由成千上万的计算机和其使用者组成的全球化网络,此时的ARPAnet也就顺理成章的变成了Internet。TCP/IP是Internet的基础。TCP/IP协议是以套件的形式推出的,在这个套件中包括有一组互相补充、互相配合的协议。在TCP/IP协议族中就包含有IP(互联网协议)、TCP(传输控制协议)和其他协议,在网络通讯中,只有这些协议相互配合,才能实现网络上的信息传输。IP和TCP的组合不仅仅只是表示两个协议,还指整个协议套件,TCP和IP只是作为其中最主要的两个协议,读者应该更好省核此术语的真正含义。TCP/IP协议如果在严格上来说只是人们习惯的说法,更为专业的说法应该称其为Internet协议。同时在国际上,TCP/IP协议也不是ITU-T或OSI的标准,但是它作为一种事实的标准被执行着,并且完全独立于任何硬件或者软件厂商,可以运行在不同体系的计算机上。它采用通用的寻址方案,通过寻址的方法,一个系统能访问到任何其他系统,就算在Internet这样庞大的全球性网络内,寻址的运行也可以说是游刃有余。不管是局域网,还是广域网,TCP/IP都是其中的最大协议最广的使用协议。

二管理TCP/IP的组织机构

Internet因为其开放性,所以不受任何政府部门或者组织所拥有和控制,因此没有统一的管理机构,但是还有非营利机构管理其标准化过程。这些机构承担Internet的管理职责,建立和完善TCP/IP和相关协议标准。与TCP/IP协议相关的组织机构简介如下:

1ISOCISOC为Internet的国际化提供支持、并且是一个非营利性的组织,同时也作为上级组织管理所有Internet委员会及任务组。

2IABIAB是ISOC的技术顾问,主要负责处理Internet技术,协议和研究。

3IETF与IESGIETF制定草案,提出建议,维护Internet标准都是其负责的。IESG在Internet制定标准以及IETF的各项活动中负责。

4IRTF与IRSGIRTF,在Internet发展中所遇到的技术问题,并且处理与TCP/IP相关的协议和一般体系结构研究活动。IRSG则是作为IRTF的指导小组,指导其工作。

ip协议范文6

关键词:TCP/IP;8051MCU;HTML

中图分类号:TP36文献标识码:A文章编号:1009-3044(2008)31-0863-04

Transplant and Application of TCP/IP Protocol Based on 8051MCU

WANG Xiao-min, NA Wen-peng

(Information Science & Enginneering College, Liaoning University of Techology, Jinzhou 121001, China)

Abstract: A WEBSERVER is designed by transplanting TCP/IP protocol to 8 bit MCU and transmitting file with HTML code.The WEBSERVER is used to control a LED.This system in which RS232,RS485,CAN bus is replaced by UTP-5 cable can be universally used in Embedded System.

Key words: TCP/IP; 8051MCU; HTML

1 引言

随着电子信息技术的迅猛发展,嵌入式系统已经在社会生活的各个方面得到广泛的应用。为了实现多个嵌入式系统的互联,工程师们利用RS232、RS485及CAN等进行组网。这样组成的网络覆盖范围有限,而且成本也较高。另一方面,INTERNET技术飞速发展,它已成为社会最主要的信息基础设施,它具有覆盖范围广,技术成熟,数据传输速度快,价格低廉等优点。针对这种情况,我们设计一个系统,将应用最广泛的INTERNET协议即TCP/IP协议移植到8位MCU上,同时在传输的文件中加入HTML代码,实现了一个WEBSERVER,并用其对一个液晶显示屏进行控制和监视。这一系统保证了数据传输的可靠性,提高了数据传输的速度,利用了分布广泛的INTERNET,同时也为用户提供了一个友好的操作界面,可以很方便的利用PC机上的浏览器对MCU进行远程控制。

2 系统的硬件结构

系统结构如图1所示。STC89C516RD+是一款高性能的MCU,它具有64K的片内FLASH和1280BYTE的片内RAM,最高时钟频率可达80M。与之相连的RTL8019AS是以太网控制器,它为系统提供最基本的网络物理层接口。HM62256是32K的外部RAM,主要用于存放网络上来的数据和即将发送到网络上的数据。RS232接口用于下载程序和调试程序。外部设备指一些被系统控制着的设备,如传感器,液晶屏等,本文系统使用的是液晶屏。

3 系统的工作流程

系统上电后首先初始化液晶显示器,根据最初的显示参数调用display( )函数控制液晶屏的显示,接着初始化TCP/IP协议栈和RTL8019AS,之后MCU开始监听80端口,若收到请求则发送一个登录页面给客户端,继续监听,用户在浏览器输入用户名及密码发送,MCU收到正确用户名和密码后发送主页面,主页面中包含液晶显示器状态及配置选项。MCU收到配置信息后修改显示参数并调用display( )控制液晶屏的显示,然后发送修改过的主页面给客户端,客户可以在浏览器中的显示状态区看到配置后的显示状态以确定配置是否生效。流程图如图2所示。

4 RTL8019AS简介

RTL8019AS是由台湾REALTEK公司生产的以太网控制芯片。

RTL8019AS由接收逻辑控制器、接收CRC校验、接收计数器、FIFO逻辑队列、发送逻辑控制器、发送CRC校验、内部总线、IO缓冲区等组成。它的工作流程是:接收逻辑在接收时钟的控制下将串行数据组成字节送到FIFO和CRC,发送逻辑将FIFO送来的字节在发送时钟的控制下逐位移出并送到CRC,CRC逻辑在接收是对输入的数据进行CRC校验并将结果与帧尾的CRC比较,如不同该帧数据将被抛弃,在发送时CRC对帧数据产生CRC校验码并附加在数据尾传送,地址识别逻辑对接收帧的目的地址与预先设置的物理地址(又叫MAC地址)

进行比较,如不同且不是广播地址,该帧将被抛弃。

RTL8019AS片内有16KB的RAM,地址为0X4000―0X7FFF,每256个字节称为一页,共64页。页的地址就是地址的高8位,页地址为0X40―0X7F。这16K的RAM一部分用来存放接收的数据包,一部分用来存储待发送的数据包。RTL8019AS还提供32个IO端口地址,地址偏移量为00H―1FH。其中,00H―1FH为特殊功能寄存器地址,10H―17H为DMA地址,18H―1FH为复位端口。特殊功能寄存器分为四页,我们只用到前三页。下面介绍几个重要的寄存器。

CR是控制寄存器,其各位的定义如下所示。

PS1和PS0用来选择寄存器页,例如:写入10表示选择第二页。

RD2、RD1、RD0表示执行的功能,如表1所示。

TXP在发送数据包时置1,发送完成自动置0。

最后两位用来启动和停止命令。

CURR和BNRY用来控制缓冲区的存取过程,保证能顺次写入和读出。

PAR0―PAR5用来存放MAC地址。

10H―17H为DMA地址,只需取一个进行使用,我们取10H,向10H中写数据就是向16K的RAM写数据。

18H―1FH复位端口,对其中的偶数地址读或写数据,都会引起芯片复位,可以通过读或写这个端口来软件复位。

本系统中RTL8019AS的IO端口的基地址为240H(对网卡来说),对应的MCU寻址地址为8000H―8F00H。MCU与RTL8019AS连接如图3所示。

5 TCP/IP协议的移植

TCP/IP是一个庞大的协议栈,8位MCU资源有限,这里我们选择移植部分协议,移植的协议有ARP协议,IP协议,ICMP协议,TCP协议,HTTP协议以及为以上各协议服务的以太网协议。

5.1 以太网协议

以太网协议直接对以太网芯片进行操作并为上层协议提供服务,本文使用DIX ETHERNET V2帧结构,如下所示。

以太网协议提供一个函数query_8019( ),主函数调用query_8019( )时,query_8019( )检查CURR=BNRY+1是否成立,若成立则说明无新到数据包,若不成立则说明有新到的数据包。若有新到数据包,主函数调用以太网协议提供的rcve_frame( )函数为以太帧分配存储空间并将其读入,之后调用太网协议提供的

eth_rcve( )函数,该函数对帧类型字段进行检查,把符合要求的帧去掉帧头后送给IP或ARP协议处理。发送数据时,eth_send( )函数为上层来的数据包增加帧头,并调用send_frame( )函数通过远程DMA写操作将帧发送出去。

5.2 IP协议

IP协议提供的是一种无连接不可靠的数据传输方式,它只提供传输服务,可靠性由TCP保证。IP协议调用ip_rcve( )函数对网络上来的IP包进行校验,比较IP地址,检测协议类型,然后转到TCP或ICMP进一步处理。IP协议调用ip_send( )函数为上层来的数据包增加IP数据报报头,然后交给以太网协议处理。

5.3 ARP协议

ARP协议实现从IP地址到MAC地址的对应,当系统要发送一个IP包时,首先到ARP地址缓存中查询该IP地址对应的MAC地址,然后才能生成以太网帧发送出去。ARP报文格式如下所示:

当收到一个ARP请求,ARP协议调用arp_send( )发送一个ARP应答,并检查地址缓存中是否有请求方的IP和MAC,若没有则将其加入。当发送一个IP数据包时,系统首先在地址缓存中查找IP地址对应的MAC地址,若找到则用该MAC地址生成以太网帧,若没找到则发送ARP请求,然后等待ARP应答,若收到应答则将其加入地址缓存,若经过一个等待时间后没收到应答则重发请求,经两次重发还没收到应答则放弃这一次IP包的发送。

5.4 ICMP协议

本系统的ICMP协议用于实现PING功能,当用户要检查系统是否连接正常时,可以用PING命令向系统发送ICMP包,系统收到后则发回一个ICMP应答包,用户据此可以判断系统是否连通。ICMP报文格式如下所示。

5.5 TCP协议

TCP协议是面向连接的协议,它采用三次握手建立连接。

TCP将用户数据打包构成报文段,它发送后启动一个定时器,另一端对收到的数据进行确认,对失序的数据重新排序,丢失重复数据,TCP计算和验证一个端到端的检验和以保证传输的可靠。

5.6 HTTP协议

系统启动后,等候浏览器的请求报文。浏览器发出的HTTP请求报文格式如下所示。

请求行中包含方法字段、统一资源标识字段和HTTP版本字段,其中方法字段包括GET和POST等。GET方法取回由统一资源标识标识的信息。POST方法可以请求服务器接收包含在请求中的实体信息,可以用于提交信息。系统在HTTP报文中检查方法字段,若方法为GET则发送HTML网页代码。若方法为POST则根据接收到的参数调用与参数对应的函数调整对设备的控制,并修改要发送的HTML网页代码,然后发送。发出的HTTP报文由以下两部分组成。

char code header[] = {

"HTTP/1.1 200 OK\n"

"Cache-control: no-cache\n"

"Connection: Keep-Alive\n"

"Content-Length: TAG:LEN1\n"

"Content-Type: text/html\r\n\r\n" };

char code web_page[] = {……………..}

header[]是HTTP报文头,其中的TAG:LEN需要由HTML代码的长度来替换,web_page[]是报文主体,省略的部分是HTML代码。

6 HTML的应用

在浏览器输入WEBSERVER的IP后首先得到的是如下的登录界面。

图4 登录界面

其HTML代码如下

<html>

<head><title>输入用户姓名</title></head>

<body>

<form >

请输入你的姓名:

<input type=tex name=yourname><br>

请输入你的密码:

<input type=text name=password>

<input type=submit value=提交>

</form>

</body>

</html>

用户提交名字和密码后点击提交,WEBSERVER检查其正确与否,若错误则发回一个网页提示用户重新输入,若正确则发送如下的HTML代码

<html>

<body>

显示屏状态:<br>

<table width="350" border="1">

<tr>

<th align="center">显示参数类型</th>

<th align="center">参数值</th>

</tr>

<tr>

<td align="left">文字内容</td>

<td align="right">text</td>

</tr>

<tr>

<td align="left">字体大小</td>

<td align="right">size</td>

</tr>

<tr>

<td align="left">移动方向</td>

<td align="right">direction</td>

</table><br><br><br>

显示屏参数设置:

<form >

文字内容:

<input type=text name=neirong><br>

字体大小:

<input type=text name=daxiao><br>

移动方向:

<input type=text name=fangxiang><br>

<input type=submit value=提交>

</form>

</body>

</html>

浏览器收到后显示如图5参数设置和状态显示页面。

用户输入参数并提交,WEBSERVER收到参数后调用显示函数对液晶屏进行控制并发回一个网页,在此网页中的显示屏状态栏中的text等参数将被替换为用户设置的参数。

7 结束语

本系统完成了TCP/IP协议在8051MCU中的移植,实现了通过浏览器这一广泛使用的工具对液晶屏的远程控制,对系统稍作修改就可以将其应用到其他各种各样的控制系统中,它具有很好的稳定性和很高的传输速度,由于其基于广泛使用的INTERNET,所以其组网的成本也比较低廉,可以取代传统的总线,具有很好的应用前景。

参考文献:

[1] 周晓峰.单片机上简单TCP/IP协议的实现[J].微电子学与计算机,2004(2):100-102.