第四章 ARP
ARP为IP地址到对应的硬件地址之间提供动态映射
RARP是被那些没有磁盘驱动器的系统使用(一般是无盘工作站或X终端),它需要系统管理员进行手工设置
ARP分组格式
ARP高速缓存
ARP高效运行的关键是由于每个主机上都有一个ARP高速缓存。这个高速缓存存放了最近Internet地址到硬件地址之间的映射记录。高速缓存中每一项的生存时间一般为20分钟,起始时间从被创建时开始算起。
ARP代理:如果ARP请求是从一个网络的主机发往另一个网络上的主机,那么连接这两个网络的路由器就可以回答该请求。路由器识别出目的IP地址属于它的一个拔号主机,于是把自己的以太网接口地址作为硬件地址来回答,主机发送IP数据报到路由器,路由器把数据报转发到目的主机。ARP代理使得通过两个物理网络之间的路由器可以互相隐藏物理网络。
ARP代理:如果ARP请求是从一个网络的主机发往另一个网络上的主机,那么连接这两个网络的路由器就可以回答该请求
第五章 RARP逆地址解析协议
1.特点:RFC903被那些没有磁盘驱动器的系统使用(一般是无盘工作站或X终端),它需要系统管理员进行手工设置。
2.过程:无盘系统从接口卡上读取唯一的硬件地址-发送一份RARP请求(一帧在网络上广播的数据)-收到某个主机响应该无盘系统的IP地址(在RARP应答中)-它将发送TFTP请求来读取引 导映象。网络上没有RARP服务器时一直发请求。
3.分组格式:类似ARP
4.RARP服务器:服务器一般要为多个主机(网络上所有的无盘系统)提供硬件地址到IP地址的映射,一个网络上(例如一根电缆)要提供多个RARP服务器;RARP服务器的功能就由用户 进程来提供, 而不是作为内核的TCP/IP实现的一部分;RARP服务器的实现是与系统捆绑在一起
RARP举例:
RARP请求是广播方式(第一行),而第2行的RARP应答是单播方式。
TFTP表示简单文件传送协议
第六章 ICMP Internet控制报文协议
ICMP报文类型
下面各种情况都不会导致产生ICMP差错报文:
ICMP差错报文(但是,ICMP查询报文可能会产生ICMP差错报文)。
目的地址是广播地址(见图3-9)或多播地址(D类地址,见图1-5)的IP数据报。
作为链路层广播的数据报。
不是IP分片的第一片(将在11.5节介绍分片)。
源地址不是单个主机的数据报。这就是说,源地址不能为零地址、环回地址、广播地址或多播地址。
这些规则是为了防止过去允许ICMP差错报文对广播分组响应所带来的广播风暴。
ICMP地址掩码请求与应答
ICMP端口不可达差错
第七章 ping
Ping程序
IP记录路由选项
code是一个字节,指明IP选项的类型。
len是RR选项总字节长度,在这种情况下为39(尽管可以为RR选项设置比最大长度小的长度,但是ping程序总是提供39字节的选项字段,最多可以记录9个IP地址。由于IP首部中留给选项的空间有限,它一般情况都设置成最大长度)。
ptr称作指针字段。它是一个基于1的指针,指向存放下一个IP地址的位置。它的最小值为4,指向存放第一个IP地址的位置。
通常例子
异常输出
IP时间戳选项
第八章 traceroute程序
局域网输出
IP源站选路选项
源站选路(source routing)的思想是由发送者指定路由。它可以采用以下两种形式:
1.严格的源路由选择。发送端指明IP数据报所必须采用的确切路由。如果一个路由器发现源路由所指定的下一个路由器不在其直接连接的网络上,那么它就返回一个“源站路由失败”的ICMP差错报文。
2. 宽松的源站选路。发送端指明了一个数据报经过的IP地址清单,但是数据报在清单上指明的任意两个地址之间可以通过其他路由器。
源站路由选项的实际称呼为“源站及记录路由”(对于宽松的源站选路和严格的源站选路,分别用LSRR和SSRR表示),这是因为在数据报沿路由发送过程中,对IP地址清单进行了更新。下面是其运行过程:
1. 发送主机从应用程序接收源站路由清单,将第1个表项去掉(它是数据报的最终目的地址),将剩余的项移到1个项中(如图8-6所示),并将原来的目的地址作为清单的最后一项。指针仍然指向清单的第1项(即,指针的值为4)。
2.每个处理数据报的路由器检查其是否为数据报的最终地址。如果不是,则正常转发数据报(在这种情况下,必须指明宽松源站选路,否则就不能接收到该数据报)。
3.如果该路由器是最终目的,且指针不大于路径的长度,那么(1)由ptr所指定的清单中的下一个地址就是数据报的最终目的地址;(2)由外出接口(outgoing interface)相对应的IP地址取代刚才使用的源地址;(3)指针加4。
标签:ARP,IP,TCP,RARP,地址,详解,IP地址,路由器 From: https://www.cnblogs.com/Redamacy/p/17614350.html