IP数据报 TCPP协议定义了一个在因特网上传输的包,称为IP数据报 p datagram.这是一个与硬件无关的虚拟包,由包头和数据 两部分组成,包头中的源地址和目的地址都是IP协议地址 8 16 24 31 Ⅴ ERS HLEN| SERVICE TYPE TOTAL LENGTH IDENTIFICATION FLAGS FRAGMENT OFFSET TIME TO LIVE TYPE HEADER CHECKSUM SOURCE卫 P ADDRESS DESTINATION IP ADDRESS IP OPTIONSMMAY BE OMITTED) PADDING BEGINNING OF DATA
每个IP分组的长度都是4个字节的倍数,各个域的意义如下: 心4位版本号,一般为4 以4个字节为单位的分组头的长度,取值范围5-15(认值5)。 8位的服务类型( Type of Service,T0s),服务类型的前3位设置分组的优先级,数值越大, 则分组越重要。接下来的3位分别表示延迟、吞吐率和可靠性,如果为o则表示常规服务,如 果为1则表示短延迟、高吞吐率和高可靠性。最后两位没有使用。 16字节的总长度,单位是字节,包括分组头和数据的长度 ●标志符 identification)长度16位,唯一地标识该IP分组。IP分组在传输过程中,期间可能 通过一些子网,这些子网间允许的最大协议数据单元(PDU)可能小于该IP分组的长度。为了 处理这种情况,IP协议为一数据报方式传输的IP分组提供了分片和重组的功能。当一个路由 器分割一个IP分组时,要把IP分组头中的大多数数据段复制到分片中,标志符段是必须复制 的数据段。到达目的地之后,目标主机就是通过这个标志符来确定分片属于那个IP分组
3位的标志段,低序两位分别控制IP分组是否可以分片DF位)和是否是最后一个碎片MF 位),还有一位没有定义。 片偏移:占13比特,若有分段时, 用以指出该分段在数据报中的相 ·13位的碎片偏移表示IP碎片在原始分组中的偏移对位置,也就是说,相对于用户 教据字段的起点,该片从何处开 始。片偏移以8字节为偏移单位, 生存时间设置分组在互联网中能够经过的跳数。 每个分片的长度一定是8字节 (64位)的整数倍。 协议( protocol)段指定高层协议的类型,例如:ICM是1、TP是6、mDP是17 校验和( checksum)保证IP分组头的完整性。 分别为32位的源地址和目的地址。 除了以上这些必需项之外,还可能包括一些任选项,例如源路由
片偏移:占13比特,若有分段时, 用以指出该分段在数据报中的相 对位置,也就是说,相对于用户 数据字段的起点,该片从何处开 始。片偏移以8字节为偏移单位, 即每个分片的长度一定是8字节 (64位)的整数倍
么是IPv4? 目前的全球因特网所采用的协议族是Tm以族。IP是TCP/IP协以族中网络层的协议,是TP/IF协以族的核心议。目前IP 协议的版本号是4(简称为Iv4),发展至今已经使用了3多年。 IFy4的地址位数为32位,也就是最多有2的32次方的电脑可以联到 Internet上 近十年来由于互联网的蓬勃发展,IP位址的需求量愈来愈大,使得P位址的发放愈趋严格,各项资料显示全球T位址可能在 20520年间全部发完。 什么是IP6? IP6是下一版本的互联网协议,也可以说是下一代互联网的协议,它的提出最初是因为随着互联网的迅速发展,IFw定义的 有限地址空间将被耗尽,地址空问的不足必将妨碍互联网的进一步发展。为了扩大地址空间,拟通过IP6重新定义地址空间。IP6 采用128位地址长度,几乎可以不受限制地提倛地址。按保守方法估算IPv实际可分配的地址,整个地球的毎平方米面积上仍可分 配10多个地址。在IP的设计过程中除了一劳永逸地解决了地址短缺问题以外,还考虑了在Iv4中解决不好的其它问题,主要有 端到端I连接、服务质量〔qs)、安全性、多播、移动性、即擷即卩用等
IP6与IPv相比有什么精点和优点? ·更大的地址空间。4中规定P地址长度为32,即有2321个地址:面16中T地址的长度:128,有212-个地址 ·更小略出表。6的地址分配记一开始就遵聚类r原则,这使得路出器能在路出表中用一条记录a 表示一片子网,大大减小了路由器中路曲表的长度,提高了路由器转发数据包的速度。 ·增歪的组播 dicast)支持以及对流的支持tn),这使得网络上的多媒体应用有了长足发展的机会,为服务质 量(S)控制提供了良好的网络平台 ·加入了对自动量)的d支持这是对助?物的进和扩展,使得网络(其是局城网的管理更加方 便和快捷 ·更高的安全性在使用1F+网中用户可以对网络层的数据进行加您并对报文进行校验这极大的增强了网络安全
□ Source host datagram Net 1 Header r1 datagram □ Router1 datagram Net 2 Header datagram □ Router2 d anagram Net 3 eader datagram destination host datagram
在分片时,除最后一片外,其他每一片中的数据部分(除IP首部外的其余部分) 必须是8字节的整数倍。在本例中,148)是8的整数倍。 I数据报 P首部 UDP首部 UDP数据(1473字节 x20字节 8字节 IP首部 UDP首部 P首部 20字节 8字节 1472字节 20字节1字节 分组一 分组 图18UDP分片举例
I2)源路由攻击 有关欺骗的一个重要问题是被盗用的地址会收到返回的信息流,而攻击者从来不会接受到 它们。但是对于更高级的攻击,攻击者更愿意看到对话的双方。 为了得到从目的机器返回到源机器的流量,一个方法是攻击者插入到正常情况下流量经过 的通路上。这是非常困难的,因为攻击者必须攻击受害网络上的一台机器,而且不存在任何保 障措施让流量继续通过攻击者的机器。我们知道互联网是采用动态路由的,它每天、每小时, 甚至每分钟都会有变化。有一种方法能够保证数据包会经过一条给定的路径,而且作为一次欺 骗,保证它经过攻击者的机器。这么做需要使用源路由,它被包含在TCP/IP协议组中。源路由 允许指定一条数据包必须经过的路径。它包括两种类型的源路由: 宽松的源路由选择〔LSR): 发送端指明了流量或者数据包必须经过的IP地址清单,但如果它需要,也可以经过一些其 他的地址。换句话说,不用考虑数据包经过的确切地址,只要它经过这些地址就可以。 严格的源路由选择(SRS): 发送端指明IP数据包必须经过的确切地址。如果没有经过这一确切路径,数据包会被丢 弃,并返回一个IC和差错报文。换句话说,必须考虑数据包经过的确切路径,而且如果由于某 种原因没有经过这条路径,这个数据包就不能被发送
基本上源路由的工作过程是这样的:取出源站路由清单中第一个地址,使它成为目的地 址。如果是严格的源路由选择,那么它必须是下一跳如果不是,它就会被丢弃。对于宽松的 源路由选择,在数据包到达清单上指出的地址以前,它经过多少跳是没有关系的。在它到达目 的地址后,它从清单中取出下一个地址,使它变为目的地址。接下来它继续重复这个过程,直 到找到目的地址或者数据包不能被路由为止。 需要指出的重要的一点是如果发送端指定了到达目的地址的源略由,那么目的机器能够自 动地使用源路由返回到发送端,这就是为什么它那么危险的原因,可能不知道有人正在使用 它。可能回答一个数据包,而且如果发送端使用了源路由,就会在未知的情况下使用它。 源路由为欺骗带来了巨大的利益。攻击者使用假園的地址向目的地发送数椐包,但指定了 宽松的源路由选择,并把他的IP地址填λ地址凊单中。那么,当接受端回应时,欻据包返回到 假圜的IP地址处,而不是前面它经过的攻击者的机器。攻击者没有盲目飞行,因为他能看到对 话双方
MTU的基本概念 MTU是 Maximum Transmission Unit的缩写。意思是 网络上传送的最大数据包。MTU的单位是字节。大部分网络 设备的MTU都是1500。如果本机的MTU比网关的MTU大 天的数据包就会被拆开来传送,这样会产生很多数据包碎片 增加丢包率,降低网络速度。把本机的MTU设成比网关的 MTU小或相同,就可以减少丢包。 ●如何检测网关的MTU? 在本机打开dos窗口,执行:ping-f-11472192.168.0.1其 中192.168.0.1是网关卫地,1472是数据包的长度。请注 意,上面的参数是“”(小写的L),而不是 如果 能ping通,表示数据包不需要拆包,可以通过网关发送出 去。 如果出现: Packet needs to be fragmented but DF set.表 示数据包需要拆开来发送。此时,减少数据包长度,再执行上 面的卫in命令从1400到1472之间多试几次,就態找到合适 的数据包长度了。由于一些封包上面的问题,上面这个值再加 上28才是我们所需要的MTU值。如果检测到网关的MTU 值是1500,不需要修改。如果网关有防火墙ping不通,可以 试试直接把MTU设为1400
MTU的基本概念 MTU是Maximum Transmission Unit的缩写。意思是 网络上传送的最大数据包。MTU的单位是字节。 大部分网络 设备的MTU都是1500。如果本机的MTU比网关的MTU大, 大的数据包就会被拆开来传送,这样会产生很多数据包碎片, 增加丢包率,降低网络速度。把本机的MTU设成比网关的 MTU小或相同,就可以减少丢包。 如何检测网关的MTU? 在本机打开dos窗口,执行: ping -f -l 1472 192.168.0.1 其 中192.168.0.1是网关IP地址,1472是数据包的长度。请注 意,上面的参数是“-l”(小写的L),而不是“-1”。 如果 能ping通,表示数据包不需要拆包,可以通过网关发送出 去。 如果出现: Packet needs to be fragmented but DF set. 表 示数据包需要拆开来发送。此时,减少数据包长度,再执行上 面的ping命令。从1400到1472之间多试几次,就能找到合适 的数据包长度了。由于一些封包上面的问题,上面这个值再加 上 28 才是我们所需要的 MTU 值 。 如果检测到网关的MTU 值是1500,不需要修改。 如果网关有防火墙ping不通,可以 试试直接把MTU设为1400