2009-7-25 1
计算机网络
Computer Networks
第八讲 TCP/IP协议(二)
—— ICMP,ARP,RARP
2009-7-25 2
课前问题
1、以下 IP地址各属于哪一类?
(a) 20.250.1.139 (b) 202.250.1.139 (c) 120.250.1.139
2、已知子网掩码为 255.255.255.192,下面各组 IP地址是否属于同一子网?
(a) 200.200.200.224与 200.200.200.208
(b) 200.200.200.224与 200.200.200.160
A类 C类 A类是否
2009-7-25 3
网络互联层协议
IP协议
ICMP协议
ARP和 RARP协议
2009-7-25 4
互联网络控制协议
除了传输数据的 IP协议外,互联网络用于网络层控制的协议包括:
1,ICMP:互联网络控制消息协议 (Internet Control
Message Protocol)
2,ARP:地址解析协议 (Address Resolution
Protocol)
3,RARP:逆向地址解析协议 (Reverse Address
Resolution Protocol)
2009-7-25 5
ICMP
应用层传输层网络互联层网络接口层物理层目的不可达回声 (Ping)
其它
ICMP
ICMP消息被封装在 IP数据报里,用来发送错误和控制消息
2009-7-25 6
ICMP
ICMP是一种差错报告机制,它将路由器和目标主机遇到的差错报告给源主机
ICMP提供以下服务:
1,测试主机的可达性和状态
2,报告不可达目的主机给源主机
3,数据报流量控制
4,路由改变请求
5,获取网络地址及子网掩码
2009-7-25 7
ICMP
与 IP数据报一样,ICMP也是不可靠传输,但 ICMP
的传输问题不能再使用 ICMP传达
对于被划分为的 IP分组,只有偏置为 0的分组段才能使用 ICMP
ICMP报文是在 IP数据报内部被传输的,如图所示
IP首部 ICMP报文
20字节
IP数据报
ICMP封装在 IP数据报内部
2009-7-25 8
ICMP
所有报文的前 4 个字节都是一样的
类型字段可以有 15个不同值,以描述特定类型的
ICMP报文
ICMP报文
1字节 1字节 2字节类型 代码 检验和根据类型域的不同而变化
(数据信息根据类型而定 )
2009-7-25 9
ICMP举例发送给 Z
发送数据到 Z
数据网络
2009-7-25 10
ICMP举例发送给 Z
发送数据到 Z
数据网络我不知道怎样到达 Z!
发送 ICMP
2009-7-25 11
ICMP举例发送给 Z
发送数据到 Z
数据网络我不知道怎样到达 Z!
发送 ICMP
目的地不可达
2009-7-25 12
ICMP举例 — ping
ICMP回声请求
B可以到达吗?
可以,我在这里
ICMP回声应答
A B
2009-7-25 13
网络互联层协议
IP协议
ICMP协议
ARP和 RARP协议
2009-7-25 14
ARP和 RARP
ARP为 IP地址到对应的硬件地址之间提供动态映射。
这个过程是自动完成的
RARP是被那些没有磁盘驱动器的系统使用 (一般是无盘工作站 ),它需要系统管理员进行手工设置
32位 Internet地址
48位以太网地址主机名
TCP/IP网际寻址
ARP RARP
DNS
2009-7-25 15
ARP
ARP发送一份称作 ARP 请求的以太网数据帧给以太网上的每个主机,这个过程称作广播。 ARP 请求数据帧中包含目的主机的 I P 地址,其意思是“如果你是这个 IP 地址的拥有者,请回答你的硬件地址。”
目的主机的 ARP 层收到这份广播报文后,识别出这是发送端在寻问它的 IP 地址,于是发送一个 ARP应答。这个 ARP 应答包含 IP 地址及对应的硬件地址
使用 ARP的优点
不必预先知道主机或路由器的物理地址就能发送数据
动态反映物理地址和 IP地址的变化
2009-7-25 16
ARP
网络上的每台计算机都维护一个 ARP表物理地址 IP地址
02-60-8C-01-02-03 197.15.22.33
00-00-A2-05-09-89 197.15.22.44
2009-7-25 17
ARP举例
172.16.3.1 172.16.3.2
IP,172.16.3.2 =
我需要
176.16.3.2
的以太网地址
2009-7-25 18
ARP举例
172.16.3.1 172.16.3.2
IP,172.16.3.2 =
我听到了广播。这个消息是发给我的。这是我的以太网地址,
我需要 176.16.3.2
的以太网地址
2009-7-25 19
ARP举例
172.16.3.1
IP,172.16.3.2
Ethernet,0800.0020.1111
172.16.3.2
IP,172.16.3.2 =
我听到了广播。这个消息是发给我的。这是我的以太网地址,
我需要 176.16.3.2
的以太网地址
2009-7-25 20
ARP举例映射 IP Ethernet
172.16.3.1
IP,172.16.3.2
Ethernet,0800.0020.1111
172.16.3.2
IP,172.16.3.2 =
我听到了广播。这个消息是发给我的。这是我的以太网地址,
我需要 176.16.3.2
的以太网地址
2009-7-25 21
RARP
具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取 I P 地址
网络上的每个系统都具有唯一的硬件地址,它是由网络接口生产厂家配置的
无盘系统的 RARP实现过程是:从接口卡上读取唯一的硬件地址,然后发送一份 RARP请求 (一帧在网络上广播的数据 ),请求某个主机响应该无盘系统的 IP 地址 (在 RARP应答中 )
RARP分组的格式与 ARP 分组基本一致。它们之间主要的差别是
RARP请求或应答的帧类型代码为 0X8035
RARP 请求的操作代码为 3,应答操作代码为 4
RARP 请求以广播方式传送,而应答一般是单播 (unicast)
传送
2009-7-25 22
RARP
RARP服务器,被授权提供 RARP服务
为了运行无盘工作站,每个以太网上必须至少有一个
RARP服务器
广播帧不能通过 IP路由器转发
2009-7-25 23
RARP举例
Ethernet,0800.0020.1111 IP =
我的 IP地址是多少?
2009-7-25 24
RARP举例
Ethernet,0800.0020.1111 IP =
我的 IP地址是多少?
我听到了广播
,你的 IP地址是
172.16.3.25.
2009-7-25 25
RARP举例
Ethernet,0800.0020.1111
IP,172.16.3.25
Ethernet,0800.0020.1111 IP =
我的 IP地址是多少?
我听到了广播
,你的 IP地址是
172.16.3.25.
2009-7-25 26
RARP举例
映射 Ethernet IP
Ethernet,0800.0020.1111
IP,172.16.3.25
Ethernet,0800.0020.1111 IP =
我的 IP地址是多少?
我听到了广播
,你的 IP地址是
172.16.3.25.
2009-7-25 27
IPv6
目前使用的 IPv4存在的问题
地址空间不够
应用类型及安全考虑不合适
IPv6 是 IPv4的改良
128 位而不是 32 位的网络地址
IP 头中更有效的应用和选项扩展
无头校验和
用于服务质量要求的流标识
不允许有数据报分段
内嵌式的授权和加密安全
2009-7-25 28
IPv6
版本号头长度 TOS 总长度标识 标志 分段偏移
TTL 协议 分组头检验和源 IP地址( 4字节)
目的 IP地址( 4字节)
任选项 (可变长 ) 填充段
IPv4头结构版本号 优先级 流标识报文长度 下一头 跳数限制源 IP地址( 16字节)
目的 IP地址( 16字节)
IPv6头结构
2009-7-25 29
IPv6
从 IPv4向 IPv6的过渡会出现的问题是,IPv6嵌入到 TCP/IP组件的许多层和许多应用程序中。这也意味着 IPv4和 IPv6 必定会共存相当一段时间
必须为不能或不会更新至 IPv6 的应用开发转换软件
IPv4 和 IPv6 之间的过渡,基本问题是头翻译,这个过程中发生的一个极小问题就会导致数据丢失
地址映射 (IPv4 地址转换为 IPv6 地址,或相反 )需要一些特殊处理
一些 TCP/IP 服务到 IPv6 的转变需要很长的时间。比如 DNS,保存了通用名字到 IP 地址的映射。当 IPv6 出现时,DNS 将不得不处理两个 IP 版本,并且要为每个主机解析多个 IP 地址
当把整个的网络结构从 IPv4 转变到 IPv6 时,会涉及到更多的问题。当公司和网络从一个版本的 IP 转向另一个版本的 IP 时会有许多技术问题需要解决,以提供最大化的灵活性