第2讲网络层2.ppt

上传人:本田雅阁 文档编号:2566216 上传时间:2019-04-09 格式:PPT 页数:49 大小:527.51KB
返回 下载 相关 举报
第2讲网络层2.ppt_第1页
第1页 / 共49页
第2讲网络层2.ppt_第2页
第2页 / 共49页
第2讲网络层2.ppt_第3页
第3页 / 共49页
第2讲网络层2.ppt_第4页
第4页 / 共49页
第2讲网络层2.ppt_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《第2讲网络层2.ppt》由会员分享,可在线阅读,更多相关《第2讲网络层2.ppt(49页珍藏版)》请在三一文库上搜索。

1、1/,第12讲 网络层(2),2/,知识回顾,网络层功能 网络互联思想 IP地址分类,3/,本讲教学内容和教学目标,掌握MAC地址与IP地址转换方法 ARP协议 掌握IP数据报格式 理解IP转发分组的方法,4/,IP 地址与硬件地址,TCP 报文,IP 数据报,MAC 帧,应用层数据,首部,首部,尾部,首部,5/,HA1,HA5,HA4,HA3,HA6,主机 H1,主机 H2,路由器 R1,硬件地址,路由器 R2,HA2,IP1,IP2,局域网,局域网,局域网,通信的路径 H1经过 R1 转发再经过 R2 转发H2,查找路由表,查找路由表,路由表应用,6/,HA1,HA5,HA4,HA3,HA

2、6,主机 H1,主机 H2,路由器 R1,硬件地址,路由器 R2,HA2,IP1,IP2,局域网,局域网,局域网,IP1,HA1,HA5,HA4,HA3,HA6,HA2,IP6,主机 H1,主机 H2,路由器 R1,IP 层上的互联网,MAC 帧,IP2,IP4,IP3,IP5,路由器 R2,MAC 帧,MAC 帧,IP 数据报,从协议栈的层次上看数据的流动,7/,HA1,HA5,HA4,HA3,HA6,主机 H1,主机 H2,路由器 R1,硬件地址,路由器 R2,HA2,IP1,IP2,局域网,局域网,局域网,IP1,HA1,HA5,HA4,HA3,HA6,HA2,IP6,主机 H1,主机

3、H2,路由器 R1,IP 层上的互联网,MAC 帧,IP2,IP4,IP3,IP5,路由器 R2,MAC 帧,MAC 帧,IP 数据报,从虚拟的 IP 层上看 IP 数据报的流动,8/,HA1,HA5,HA4,HA3,HA6,主机 H1,主机 H2,路由器 R1,硬件地址,路由器 R2,HA2,IP1,IP2,局域网,局域网,局域网,IP1,HA1,HA5,HA4,HA3,HA6,HA2,IP6,主机 H1,主机 H2,路由器 R1,IP 层上的互联网,MAC 帧,IP2,IP4,IP3,IP5,路由器 R2,MAC 帧,MAC 帧,IP 数据报,在链路上看 MAC 帧的流动,9/,IP1,H

4、A1,HA5,HA4,HA3,HA6,HA2,IP6,主机 H1,主机 H2,路由器 R1,IP 层上的互联网,MAC 帧,IP2,IP4,IP3,IP5,路由器 R2,MAC 帧,MAC 帧,IP 数据报,在 IP 层抽象的互联网上只能看到 IP 数据报 图中的 IP1IP2 表示从源地址 IP1 到目的地址 IP2 两个路由器的 IP 地址并不出现在 IP 数据报的首部中,10/,IP1,HA1,HA5,HA4,HA3,HA6,HA2,IP6,主机 H1,主机 H2,路由器 R1,IP 层上的互联网,MAC 帧,IP2,IP4,IP3,IP5,路由器 R2,MAC 帧,MAC 帧,IP 数

5、据报,路由器只根据目的站的 IP 地址的网络号进行路由选择,11/,IP1,HA1,HA5,HA4,HA3,HA6,HA2,IP6,主机 H1,主机 H2,路由器 R1,IP 层上的互联网,IP2,IP4,IP3,IP5,路由器 R2,IP 数据报,在具体的物理网络的链路层 只能看见 MAC 帧而看不见 IP 数据报,12/,IP1,HA1,HA5,HA4,HA3,HA6,HA2,IP6,主机 H1,主机 H2,路由器 R1,IP 层上的互联网,IP2,IP4,IP3,IP5,路由器 R2,IP 数据报,IP层抽象的互联网屏蔽了下层很复杂的细节 在抽象的网络层上讨论问题,就能够使用 统一的、抽

6、象的 IP 地址 研究主机和主机或主机和路由器之间的通信,13/,地址解析协议 ARP 和 RARP,IP 地址,物理地址,ARP,物理地址,IP 地址,RARP,14/,地址解析协议 ARP,不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。 每一个主机都设有一个 ARP 高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。 当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC

7、 帧,然后通过局域网将该 MAC 帧发往此硬件地址。 测试本机ARP表 Arp a http:/netresearch.ics.uci.edu/kfujii/Jpcap/doc/install.html,安装和演示使用jpcap捕获数据帧,观察IP、MAC构造 Analyzer: A public domain network sniffer,15/,A,Y,X,B,Z,主机 B 向 A 发送 ARP 响应分组,主机 A 广播发送 ARP 请求分组,ARP 请求,ARP 请求,ARP 请求,209.0.0.5,209.0.0.6,00-00-C0-15-AD-18,08-00-2B-00-EE

8、-0A,我是 209.0.0.5,硬件地址是 00-00-C0-15-AD-18 我想知道主机 209.0.0.6 的硬件地址,我是 209.0.0.6 硬件地址是 08-00-2B-00-EE-0A,A,Y,X,B,Z,209.0.0.5,209.0.0.6,00-00-C0-15-AD-18,16/,ARP 高速缓存的作用,为了减少网络上的通信量,主机 A 在发送其 ARP 请求分组时,就将自己的 IP 地址到硬件地址的映射写入 ARP 请求分组。 当主机 B 收到 A 的 ARP 请求分组时,就将主机 A 的这一地址映射写入主机 B 自己的 ARP 高速缓存中。这对主机 B 以后向 A

9、发送数据报时就更方便了。,17/,应当注意的问题,ARP 是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。 如果所要找的主机和源主机不在同一个局域网上,那么就要通过 ARP 找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。,18/,应当注意的问题(续),从IP地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的。 只要主机或路由器要和本网络上的另一个已知 IP 地址的主机或路由器进行通信,ARP 协议就会自动地将该 IP 地址解析为链路层所需要的硬件地址。,19

10、/,使用 ARP 的四种典型情况,发送方是主机,要把IP数据报发送到本网络上的另一个主机。这时用 ARP 找到目的主机的硬件地址。 发送方是主机,要把 IP 数据报发送到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。 发送方是路由器,要把 IP 数据报转发到本网络上的一个主机。这时用 ARP 找到目的主机的硬件地址。 发送方是路由器,要把 IP 数据报转发到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。,20/,为什么我们不直接 使用硬件地址进行通信?,由于全世界存在着各式各

11、样的网络,它们使用不同的硬件地址。要使这些异构网络能够互相通信就必须进行非常复杂的硬件地址转换工作,因此几乎是不可能的事。 连接到因特网的主机都拥有统一的 IP 地址,它们之间的通信就像连接在同一个网络上那样简单方便,因为调用 ARP 来寻找某个路由器或主机的硬件地址都是由计算机软件自动进行的,对用户来说是看不见这种调用过程的。,21/,逆地址解析协议 RARP,逆地址解析协议 RARP 使只知道自己硬件地址的主机能够知道其 IP 地址。 这种主机往往是无盘工作站。 因此 RARP协议目前已很少使用。,22/,IP 数据报的格式,一个 IP 数据报由首部和数据两部分组成。 首部的前一部分是固定

12、长度,共 20 字节,是所有 IP 数据报必须具有的。 在首部的固定部分的后面是一些可选字段,其长度是可变的。,23/,固 定 部 分,可变 部分,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,区 分 服 务,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,数 据 部 分,首 部,IP 数据报,24/,首 部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的

13、地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固 定 部 分,可变 部分,区 分 服 务,1. IP 数据报首部的固定部分中的各字段,25/,首 部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固 定 部 分,可变 部分,区 分 服 务,26/,首 部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,总 长 度,片 偏 移,填 充,首 部 检 验 和,

14、源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固 定 部 分,可变 部分,区 分 服 务,27/,首 部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固 定 部 分,可变 部分,区 分 服 务,28/,首 部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地

15、址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固 定 部 分,可变 部分,区 分 服 务,29/,首 部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,区 分 服 务,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固 定 部 分,可变 部分,标志(flag) 占 3 位,目前只有前两位有意义。 标志字段的最低位是 MF (More Fragment)。 MF 1 表示后面“还有分片”。MF 0 表示最后一个分片。 标志字段中间的一位是

16、DF (Dont Fragment) 。 只有当 DF 0 时才允许分片。,30/,首 部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固 定 部 分,可变 部分,区 分 服 务,31/,偏移 = 0/8 = 0,偏移 = 0/8 = 0,偏移 = 1400/8 = 175,偏移 = 2800/8 = 350,1400,2800,3799,2799,1399,3799,需分片的 数据报,数据报片 1,首部,数据部

17、分共 3800 字节,首部 1,首部 2,首部 3,字节 0,数据报片 2,数据报片 3,1400,2800,字节 0,【例4-1】 IP 数据报分片,32/,首 部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固 定 部 分,可变 部分,生存时间(8 位)记为 TTL (Time To Live) 数据报在网络中可通过的路由器数的最大值。,区 分 服 务,33/,首 部,0,4,8,16,19,24,31,版

18、本,标志,生 存 时 间,协 议,标 识,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固 定 部 分,可变 部分,区 分 服 务,34/,运输层,网络层,首部,TCP,UDP,ICMP,IGMP,OSPF,数 据 部 分,IP 数据报,35/,首 部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固 定 部 分,可

19、变 部分,区 分 服 务,36/,发送端,接收端,16 位,字 1,16 位,字 2,16 位,字 n,数 据 报 首 部,IP 数据报,16 位,字 1,16 位,字 2,16 位,字 n,数据部分,37/,校验和计算方法,采用的都是将数据流视为16位整数流进行重复叠加计算。 发送方 为了计算检验和,首先把检验和字段置为0。然后,对有效数据范围内中每个16位进行二进制反码求和,结果存在检验和字段中,如果数据长度为奇数则补一字节0。 接收方 当收到数据后,同样对有效数据范围中每个16位数进行二进制反码的求和。由于接收方在计算过程中包含了发送方存在首部中的检验和,因此,如果首部在传输过程中没有发

20、生任何差错,那么接收方计算的结果应该为全0或全1(具体看实现了,本质一样) 。如果结果不是全0或全1,那么表示数据错误。,38/,首 部,0,4,8,16,19,24,31,版 本,标志,生 存 时 间,协 议,标 识,总 长 度,片 偏 移,填 充,首 部 检 验 和,源 地 址,目 的 地 址,可 选 字 段 (长 度 可 变),位,首部长度,数 据 部 分,固 定 部 分,可变 部分,区 分 服 务,39/,IP 数据报首部的可变部分,IP 首部的可变部分就是一个选项字段,用来支持排错、测量以及安全等措施,内容很丰富。 选项字段的长度可变,从 1 个字节到 40 个字节不等,取决于所选择

21、的项目。 增加首部的可变部分是为了增加 IP 数据报的功能,但这同时也使得 IP 数据报的首部长度成为可变的。这就增加了每一个路由器处理数据报的开销。 实际上这些选项很少被使用。,40/,IP 层转发分组的流程,有四个 A 类网络通过三个路由器连接在一起。每一个网络上都可能有成千上万个主机。 可以想像,若按目的主机号来制作路由表,则所得出的路由表就会过于庞大。 但若按主机所在的网络地址来制作路由表,那么每一个路由器中的路由表就只包含 4 个项目。这样就可使路由表大大简化。,41/,网 1 10.0.0.0,网 4 40.0.0.0,网 3 30.0.0.0,网 2 20.0.0.0,10.0.

22、0.4,40.0.0.4,30.0.0.2,20.0.0.9,20.0.0.7,目的主机所在的网络,下一跳地址,20.0.0.0,30.0.0.0,10.0.0.0,40.0.0.0,20.0.0.7,30.0.0.1,直接交付,接口 1,直接交付,接口 0,路由器 R2 的路由表,30.0.0.1,10.0.0.4,40.0.0.4,30.0.0.2,20.0.0.9,20.0.0.7,30.0.0.1,链路 4,链路 3,链路 2,链路 1,R2,R3,R1,0,1,R2,R3,R1,在路由表中,对每一条路由,最主要的是 (目的网络地址,下一跳地址),42/,查找路由表,根据目的网络地址就

23、能确定下一跳路由器,这样做的结果是: IP 数据报最终一定可以找到目的主机所在目的网络上的路由器(可能要通过多次的间接交付)。 只有到达最后一个路由器时,才试图向目的主机进行直接交付。,43/,特定主机路由,这种路由是为特定的目的主机指明一个路由。 采用特定主机路由可使网络管理人员能更方便地控制网络和测试网络,同时也可在需要考虑某种安全问题时采用这种特定主机路由。,44/,默认路由(default route),路由器还可采用默认路由以减少路由表所占用的空间和搜索路由表所用的时间。 这种转发方式在一个网络只有很少的对外连接时是很有用的。 默认路由在主机发送 IP 数据报时往往更能显示出它的好处

24、。 如果一个主机连接在一个小网络上,而这个网络只用一个路由器和因特网连接,那么在这种情况下使用默认路由是非常合适的。,45/,N1,R1,因特网,目的网络 下一跳 N1 直接 N2 R2 默认 R1,路由表,N2,R2,只要目的网络不是 N1 和 N2, 就一律选择默认路由, 把数据报先间接交付路由器 R1, 让 R1 再转发给下一个路由器。,46/,必须强调指出,IP 数据报的首部中没有地方可以用来指明“下一跳路由器的 IP 地址”。 当路由器收到待转发的数据报,不是将下一跳路由器的 IP 地址填入 IP 数据报,而是送交下层的网络接口软件。 网络接口软件使用 ARP 负责将下一跳路由器的

25、IP 地址转换成硬件地址,并将此硬件地址放在链路层的 MAC 帧的首部,然后根据这个硬件地址找到下一跳路由器。,47/,分组转发算法,(1) 从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N。 (2) 若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付,执行(3)。 (3) 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。 (4) 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行(5)。 (5) 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。 (6) 报告转发分组出错。,48/,小结,ARP协议地址转换原理 IP数据报格式 http:/ 网络编程,TCP/IP编程 各种协议格式,49/,作业,上交作业 P1757,10,12,13 课后作业 下载安装jpcap,观察本机网络流量,一个完整的IP数据报的传递过程。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1