当前位置: 862彩票 > 互联网 > 正文

问题1:主机是否参与路由选择? Y

  正如不同学生的专业优势,人生经历,兴趣爱好,想法各有不同,不同的艺术院校对作品集要求和期望也不尽相同。就比如有些院校对作品集的格式以及内容都有着严格的制式要求,而有的院校则喜欢看到更多不一样,富有创造性的作品集。这种不确定性往往会让学生制作作品集过程中感到困惑。甚至有时候你的作品集严格的遵循了学校的要求,但评审在看你作品集的时候却认为太过刻板,缺少一些手绘、色彩、手工制作或是创造性,这都是有可能的,所以你在制作作品集的时候,选择好哪一种表现形式也是非常重要的。

  第4章 互联网协议IP 要求: 1、掌握IP协议的特点 2、掌握IP数据报的格式 3、掌握IP数据报分片及重组机制 4、了解IP选项的使用 5、掌握IP数据报选路的原理及算法 6、掌握路由表的一般形式互联网协议IP_互联网_IT/计算机_专业资料。

  第4章 互联网协议IP 要求: 1、掌握IP协议的特点 2、掌握IP数据报的格式 3、掌握IP数据报分片及重组机制 4、了解IP选项的使用 5、掌握IP数据报选路的原理及算法 6、掌握路由表的一般形式及默认路由的概念 7、掌握IP软件对IP数据报的处理 4.1 IP层的地位与特点 1. IP层的地位 IP层是通信子网的最高层,提供无连接的 数据报传输机制。目的是屏蔽底层物理网络 细节,向上提供一致性。 传输协议分组 IP数据报 以太网帧 令牌环帧 2.IP的特点 (1)提供了一种无连接的传递机制。 (2)不保证数据报传输的可靠性。 (3)提供了尽最大努力的投递机制。 4.2 IP数据报 1. 数据报一般格式 首部 20字节固定部分 数据区 0-40字节选项 2. 数据格式(数据结构) 0 34 78 15 16 31 版本 服务类型 总长度 标识符 标志 片偏移量 TTL 协议 首部校验和 源IP地址 目的IP地址 IP选项(可选) 填充 首部长度 数据 …… 版本 字段长度为4比特,用于标识IP协议的版本 ? 对与IPv4,该字段的值为4(0100) ? 对与IPv6,该字段的值为6(0110) ? 首部长度 ? 字段占4比特,4字节计数 ? 最大长度 24-1 = 15,即15 * 4 = 60字节 总长度 ?(首部 + 数据区),字段占2字节 ? 单字节计数,最大长度216-1 = 65535字节 服务类型(TOS) 优先级 ? ? ? ? D T R M 未用 长度:占1字节 功能:指定本数据报的处理方式 优先级:占3比特,8种,0:普通级别~7:网络控制 D(Delay), T(Throughout), R(Reliable), M(Monetary cost)各占1比特,表示本数据报所需的服务类型。 – – – – D比特置1:低时延需求 T比特置1:高吞吐量需求 R比特置1:高可靠性需求 M比特置1:低费用需求 ? ? 最后一个比特未用 说明:TOS不是必须实现的 区分码点服务 码点 未用 区分码点服务(DSCP) (RFC2474、2475):对TOS 的新的定义方式,使用前6比特,可定义64种服务。 ? 设计思想:将码点映射为底层服务,多个码点值可 映射为同一服务。 3组服务: – XXXXX0: IETF分配使用 – XXXX11: 本地使用或用于实验 – XXXX01: 本地使用或用于实验 (将来也可由 IETF分配 ) ? 说明:XXX000对应原来的8个优先级 ? 寿命字段TTL ? 寿命字段TTL:限制数据报在网络中的存活时间。 字段占1个字节(范围为0~255),单位:秒 功能:防止数据报在网中循环流动,或延迟过长; 处理: – 若路由器收到数据报时,TTL值为t1,处理时延为t2,计 ? ? 算t=t1-t2;若t0,丢弃数据包,否则将t置为新的TTL值, 并转发。 – 每经过一个路由器,TTL减1;TTL=0,丢弃数据报,并 向源站发回超时报告(ICMP)。 协议 指明传输层协议的类型 ? TCP:6 UDP:17 ? 数据 ? IP数据报将传输层的协议报文段或分组置于数 据字段中。 源IP地址和目的IP地址 ? 数据报最初发送方和最终接收方的IP地址 IP选项 用于额外的控制和测试 ? 数据报首部可以包括0个或多个选项 ? 填充 保证数据报首部的长度4字节对齐 ? 以0填充 ? 首部校验和 ? 作用:保证数据报首部在传输过程中的完整性。 计算步骤: (1) 16比特分组; (2) 校验和清‘0’ (3) 求所有16比特之和 16 (4) 把求得的和模2 -1 (即高位取出后移加到和中) (5) 在(4)的基础上求二进制反码 校验步骤: 同计算步骤的前4步,结果为‘0’时正确。 校验和例子 ? 发送方将两个16-bit整数相加 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 模216-1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 和 校验和(求反) 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 ? 接收方:求和,为“0”则首部正确。 标识、标志和片偏移 ? 用来对数据报的分片和重组进行控制 4.3 数据报的分片和重组 1.数据报的封装 (以太网帧类型0800H) 数据报首部 帧头 ? 数据报数据区 帧数据区 问题:每个物理网络有固定的MTU,若IP报文长度 大于MTU,怎么办? ? 解决:数据分片 例:IP数据报长度1420字节(假设首部无选项),网 络MTU620字节,如何 分片? 2. 分片控制 分片必须解决三个问题: (1) 如何标识同一个数据报的各个分片? –IP规定:数据报各分片使用与原数据报相同的 标识值 (2) 如何标识同一个数据报分片的顺序? –IP使用片偏移量来指示各分片中数据在原数据 报中的起始位置 (3) 如何标识同一个数据报分片的结束? –IP数据报首部中包含了三个比特的标志字段 标识 DF MF 片偏移量 信源机产生,每个 数据报唯一 解决了:标识同一 数据报的各个分片 标识分片在原 来数据报文中 的位置 解决了:分 片的顺序 DF (Do not Fragment): 不分片位 DF=0,可以分片 DF=1,强制不允许分片 MF (More Fragment):片未完位 MF=0,是最后一片 MF=1,不是最后一片 解决了:分片的结束 首部 数据1(600字节)数据(数据 2( 600字节) 1600 字节) 数据3(200字节) 首部 首部 首部 数据1(600字节) 数据2(600字节) 数据3 (200字节) 分片1 (片偏移量=0,MF=1) 分片2 (片偏移量=75,MF=1) 分片3 (片偏移量=150,MF=0) 问题:分片首部如何设置? 解答:第一个分片的首部复制原IP数据报的首部,并 修改总长度字段,之后的分片首部重新设置。 (1) 首部长度:若无选项,和原数据报相同,否则重新 计算。 (2) 标识、标志域和片偏移量:如上所述。 (3) 总长度:分片首部的长度+分片数据部分的长度。 (4) 校验和:必须重新计算。 (5) 选项:EOL和NOP不可复制,LSRR、SSRR复制 到所有分片中,记录路由和时间戳选项只能复制到第 一个分片中。 IP 数据报分片—举例 例子: ? 4000字节数据报 ? MTU = 1500字节 长度= ID 段标识 4000 =x =0 偏移 =0 一个大数据报变为几个较小的数据报 长度 ID 段标识 =1500 =x =1 偏移 =0 偏移 =185 偏移 =370 在数据字段1480 字节 偏移 =1480/8 长度 ID 段标识 =1500 =x =1 长度 ID 段标识 =1040 =x =0 IP 数据报分片—举例 数据部分共 3980 字节 需分片的 数据报 首部 字节 0 偏移= 0 1480 2960 3979 首部 1 首部 2 1479 首部 3 2959 字节 0 数据报片 1 偏移 = 0/8 = 0 1480 数据报片 2 2960 数据报片 3 3979 偏移 = 1480/8 = 185 偏移 = 2960/8 = 370 3. 分片重组 问题:何处重组分片? 答 案:信宿机 优 点: (1) 不会反复分片/重组 (2) 各分片可独立选路 (3) 路由软件简化 缺点 (1) 可能浪费带宽 (2) 丢失可能性增加 重组过程 ? ? ? ? ? 目的主机收到一个数据报时,根据片偏移量和MF位判断是否 是一个分片; 若片偏移和MF均为0,则是一个完整数据报; 若片偏移和MF至少一个不为0,表明是一个分片,需要重组; 根据首部“标识”字段的值,判断哪些分片属于同一个数据报; 片偏移量用来确定分片在原始数据报中的位置。 IP在重组分片时设置定时器,若所有分片未按时全 部到达,则丢弃该数据报。 分片重组算法(FreeBSD) (1)数据结构(RFC791标准推荐使用) ◆ 储存数据报ID的缓冲区 ◆ 储存第一个分片报头的缓冲区 ◆ 重组表 ◆ 数据缓冲区 ◆ 定时器 ◆ 数据总长度域 问题1:为什么需要存储第一个分片报头的内存缓冲区? 解答:该分片的首部将作为重组后的数据报的首部; 问题2:如何判断一个数据报是否需要重组? 解答:MF位和片偏移量位都为‘0’。 ◆ 用源IP、目的IP、ID、协议域唯一标 识一个IP数据报; ◆ 每个IP数据报都有一个ipq; ◆ 所有数据报的ipq形成一个双链表。 ◆ 同一数据报的每个分片对应一个 ipasfrag结构; ◆ 同一数据报的ipasfrag组成一个 双链表。 ipq 结构 Next Prev IP数据报重 组超时时间 间隔。 ip q_tll ip q_p ip q_next ip q_prev ip q_src ip q_id ip q_dst ipasfrag ◆将TOS的最后一个未用比特重新设置 ◆存放是否需要重组的标志位 ◆需要重组设置为‘1’,否则为‘0’ ip_v ip_hl ipf_mff ip_p ipf_next ipf_prev ip_len ip_off ip_id ip_ttl ip_sum data 分片合并 ◆ 所有分片数据放入数据缓冲区中合并, ◆ 再与第一个分片报头合并。 4.4 IP选项 功能:用于网络测试、调试或控制。包括: (1)记录数据报经过的路由 (2)记录数据报经过的路由和时间 (3)源端指定必须经过的路由 (4)路径MTU发现 1.选项格式 代码(1B) 长度(1B) COPY 数据(不固定) 选项类 选项号 选项号:与选项 类结合,确定使 用的选项。 COPY:控制数据报分片对选项的拷贝 COPY=1,所有分片均复制该选项 COPY=0,仅第一个分片复制该选项 选项类:对选项功能的大分类 (00:数据报或网控,10:测试和度量) 常用的选项 类 0 0 0 2 号 3 7 9 4 含义 宽松源路由 记录路由 严格源路由 Internet时戳 2.记录路由选项 记录从信源到信宿所经过的各路由器IP地址。 用途:测试路由软件等。 过程:信源机设定空表,规定选项长度,各路由器把 自己的地址依次填在表中。 代码(7) 长度 指针 第1个路由器的IP地址 第2个路由器的IP地址 …… 说明:COPY=0,最多只能放9个路由器地址 指针:指向下一个可存放的位置,路由器把自己的地 址写入表中后,指针后移。 3.时间戳选项 用途:分析网络系统吞吐率、拥塞、负载、时延等。 代码(68) 长度 指针 溢出 标志 第1个路由器的IP地址 第1个路由器的时间戳 …… COPY = 0 溢出:由于无空间而未能记下时戳的路由器个数 标志: = 0:只记录时间戳 = 1:记录IP地址和时戳 = 3:发送方填入IP地址,匹配的路由器填写时戳 说明:最多只有4个路由器能记录IP地址和时间戳 4. 源路由选项 用途:信源机规定的数据报必须经过的路径,用于测试 某特定路径,绕开某危险网络等。 严格源路由:指定完备路径 松散源路由:指定路径要点 代码(137/131) 长度 指针 第1个路由器的IP地址 第2个路由器的IP地址 …… 路由器对源路由选项的处理过程:根据下一目标转发 数据报,并用出口IP地址覆盖入口IP地址。 dest=D {#R11,R21,R31} dest=R11 R1 dest=R21 R12 R2 dest=R31 R21 R22 R31 R3 R32 dest=D S {#R21,R31,D} R11 {R12, #R31,D} {R12,R22, #D} {R12,R22,R32#} D 路由器对源路由选项的处理步骤: 1. 发送主机从应用程序接收源站路由清单,将第一个表项去掉 ,将剩余的项前移一个位置,将原来的目的地址作为清单 的最后一项,指针仍然指向清单的第一项; 2. 每个处理数据报的路由器检查其是否为数据报的目的地址, 如果不是,则正常转发数据报; 3. 如果该路由器是最终目的,且指针不大于路径长度,那么: (1) 由指针所指的地址是数据报的最终目的地址; (2) 由外出接口对应的IP地址取代指针所指的地址; (3) 指针加4。 与IP选项相关的命令: ping –r ping –s ping –j ping –k 记录路由 时间戳 松散源路由 严格源路由 ipconfig命令: 查看本机网络配置情况 1. 源路由攻击 原理:截获数据包后,改变包中的路由选项,把数据 包路由到可控的路由器上。 2. 分片攻击 (1) Tiny Fragment:发送极小分片,让TCP报头的端 口号包含在第二个分片中,绕过防火墙或者IDS过滤 系统。(nmap -f) (2) Ping of Death:发送长度超过65535的IP报(封装 了ICMP Echo Request包),目标主机重组分片时会 造成事先分配的65535字节缓冲区溢出,系统通常会 崩溃或者挂起。 (3) teardrop:第二个IP分片偏移量小于第一个分片结 束的位置,出现重叠。 4.5 IP协议的一些安全问题 4.6 选路的概念 1、选路 寻找一条将分组从信源传往信宿的传输路径的过程。 2、直接选路和直接投递 信源和信宿在同一物理网络上。 信宿处于当前路由器直连的网络上。 选路由数据链路层完成,其技术随不同的网络技术不 同。 3、间接选路和间接投递 信源和信宿不在同一物理网络上 或者信宿不在当前路由器直连的网络上。 IP要解决的问题:间接选路 4.7 选路的表示:路由表 1、选路方式: 表驱动:每个主机和路由器都有一张路由表,指明 去往某信宿应该走哪条路径。选路时,查询路由表。 2、路由表格式 信宿地址 不是主机地址, 而是网络地址 去往信宿的路径 不是完整路径,而是(next hop)下一跳地址 目标网络1的网络号 到达网络1的下一跳路由器IP 目标网络2的网络号 到达网络2的下一跳路由器IP … …… 路由表示例 20.0.0.5 网络 10.0.0.0 10.0.0.5 网络 20.0.0.0 20.0.0.6 30.0.0.6 网络 30.0.0.0 40.0.0.7 30.0.0.7 网络 40.0.0.0 20.0.0.0 30.0.0.0 10.0.0.0 直接投递 直接投递 20.0.0.5 40.0.0.0 30.0.0.7 说明: (1) 路由表的内容选择充分体现了“信息隐藏原 理”。 (2) 路由表目少,选路效率高。 (3) 路由表与主机数目无关。 (4) 受互联网拓朴结构改变影响小,对互联网变 化适应性强。 (5) 路由器对网络拓朴的描述是局部的,但对网 络拓朴结构的把握却是全局的。 3、路由表的特殊表目 (1)默认路由: 信息隐藏、保持路由表更小的技术。每一网络到 外部的出口总是非常有限的几个,对很多信宿网络来 说,出口总是同一个。 方法:把不在路由表中列出的网络统一到一个出口。 (2)特定主机路由: 为某个指定主机在路由表中单设一项。 用途:测试网络连通性、路由表正确性、安全性等。 4.8 选路的执行 1、路由选择的依据 (1)网络负载 (2)数据报文的长度 (3)服务类型 实际中:基于最短路径的假设。 2、路由选择的参与者 路由器负责数据在各个不同网络之间的传输时的 路由选择。 问题1:主机是否参与路由选择? Y! 问题2:主机是否应该转发它收到的IP数据报? N! 3、选路总控算法 RouteDatagram(Datagram ,RoutingTable) 从数据报中提取目的IP地址D,并计算网络前缀N; if N与任何直接相连的网络地址匹配 then 通过该网络把数据报交付到目的地 else if 表中包含特定于具体主机的一个到D的路由 then 把数据报发送到表中指定的下一跳 else if 表中包含到网络N的一个路由 then 把数据报发送到表中指定的下一跳 else if 表中包含的一个默认路由 then 把数据报发送到表中指定的默认路由器 else 宣布选路出错 4、IP软件对数据报的处理 主机: 主机不转发数据报。 是自己的:交上层; 不是自己的:丢弃。 路由器: 若是自己的,交上层; 若是邻网,直接投递; 其它的转发。 (TTL –1 ,重新计算校验和) 重要说明:IP协议不涉及选路技术细节,只描述原理 和规则,具体选路技术指路由表的建立与刷新,由专 门的路由协议完成 D N1 R1 N2 R2 N3 路由表 N N3 若有选项 … TTL 改 读 查 首部校验和 源IP 目的IP(N,H) (1)若是自己的,交相应模块 (2) 若是邻网的,直接投递 (3)若是其它,转发 4.9 两个命令 C:\netstat -r C:\route PRINT Active Routes: Network Destination Netmask 0.0.0.0 0.0.0.0 127.0.0.0 255.0.0.0 202.196.48.224 255.255.255.224 202.196.48.228 255.255.255.255 202.196.48.255 255.255.255.255 224.0.0.0 224.0.0.0 255.255.255.255 255.255.255.255 Default Gateway: 202.196.48.254 Gateway Interface Metric 202.196.48.254 202.196.48.228 1 127.0.0.1 127.0.0.1 1 202.196.48.228 202.196.48.228 1 127.0.0.1 127.0.0.1 1 202.196.48.228 202.196.48.228 1 202.196.48.228 202.196.48.228 1 202.196.48.228 202.196.48.228 1

相关文章