-
1 课程内容
-
2 作业




叠加在IP之上,主要用于端主机和网关以及互联网管理中心等的消息通信,以达到控制管理网络运行的目的。
功能:差错控制,在传输的数据包有误或丢失时,利用ICMP协议发送出错消息给发送数据包的端主机。限制流量,防治网络拥塞。
ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询问报文。
ICMP报文的前4个字节是统一的格式,共有三个字段:即类型、代码和检验和。接着的4个字节的内容与ICMP的类型有关。
ICMP差错报告报文共有5种
终点不可达
源点抑制(Source quench)
时间超过
参数问题
改变路由(重定向)(Redirect)
ICMP差错报告报文的数据字段的内容

ICMP询问报文有两种:
回送请求和回答报文
时间戳请求和回答报文
常用的“Ping”就是使用的ICMP协议。“Ping”这个名字源于声纳定位操作,目的是为了测试另一台主机是否可达。该程序发送一份ICMP回应请求报文给主机,并等待返回ICMP回应应答。一般来说,如果不能Ping到某台主机,那么就不能Telnet或者FTP到那台主机。反过来,如果不能Telnet到某台主机,那么通常可以用Ping程序来确定问题出在哪里。Ping程序还能测出到这台主机的往返时间,以表明该主机离我们有“多远”。
用来将一个已知的IP地址解析或者映射到MAC子层地址,以便能在多路访问介质上进行通信
例:以太网中,要为数据报确定一个目的地址,就必须检查ARP高速缓存表。如果地址不包含在该表里,ARP就发广播来寻找。网络上的每个目的站都可收到这个广播。

当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据以太网地址来确定目的接口的,ARP协议需要为IP地址和MAC地址这两种不同的地址形式提供对应关系。
ARP工作过程如下:
步骤1 ARP发送一份称作ARP请求的以太网数据帧给以太网上的每个主机。这个过程称作广播,ARP请求数据帧中包含目的主机的IP地址,其意思是“如果你是这个IP地址的拥有者,请回答你的MAC地址。
步骤2连接到同一LAN的所有主机都接收并处理ARP广播,目的主机的ARP层收到这份广播报文后,根据目的IP地址判断出这是发送端在寻问它的MAC地址。于是发送一个单播ARP应答。这个ARP应答包含IP地址及对应的MAC地址。收到ARP应答后,发送端就知道接收端的MAC地址了。
步骤3 ARP高效运行的关键是由于每个主机上都有一个ARP高速缓存。这个高速缓存存放了最近IP地址到硬件地址之间的映射记录。当主机查找某个IP地址与MAC地址的对应关系时首先在本机的ARP缓存表中查找,只有在找不到时才进行ARP广播。

组播是一种点到多点或多点到多点的通信方式,即多个接收者同时接收一个源发送的相同信息。基于组播的应用有视频会议、远程教学、软件分发等。
组播协议包括组成员管理协议和组播路由协议,组成员管理协议用于管理组播组成员的加入和离开,组播路由协议负责在路由器之间交互信息来建立组播树。IGMP(InternetGroup Management Protocol)是组播路由器用来了解组播组成员信息的协议,运行于主机和组播路由器之间。
若一个主机想要接收发送到一个特定组的组播数据包,它需要监听发往那个特定组的所有数据包。为解决Internet上组播数据包的路径选择,主机需通过通知其子网上的组播路由器来加入或离开一个组。组播中采用Internet组管理协议(IGMP)来完成这一任务。这样,组播路由器就可以知道网络上组播组的成员,并由此决定是否向它们的网络转发组播数据包。当一个组播路由器收到一个组播分组时,它检查数据包的组播目的地址,仅当接口上有那个组的成员时才向其转发。
IGMP提供了在转发组播数据包到目的地的最后阶段所需的信息。组播路由器和接收组播数据的主机之间相互交换信息,这些信息是从与组播路由器直接相连的主机的组成员中搜集的。
IGMP主要使用两种类型的报文:组成员查询报文和组成员报告报文。
组播路由器周期性地向所有主机发送组成员查询报文,以了解相连的子网上有哪些组成员。主机返回一个成员报告报文,报告它们所属的组播组。当一台主机加入一个新的组时,它立即发送一个加入报文,而不是等待一次查询,以防它是那个组的第一个成员。
当主机作为某个组的成员开始接收信息后,组播路由器就会周期性地对该组进行查询,检查组内的成员是否仍参与其中。只要还有一台主机仍在参与,组播路由器就继续转发数据。
当主机离开组时,组播路由器会收到一个离开消息报文,组播路由器马上查询组中是否还有活动的组成员。如果有活动的组成员,组播路由器就继续转发数据;如果没有,就不再转发数据。
当前实际应用中有IGMP V1和IGMP V2两个版本。IGMP V2较IGMP V1有一些增强的特性,它主要使用4种报文完成主机和路由器之间的信息交互:
1. 组成员询问
2. V2成员报告
3. 离开报告
4. V1成员报告
组播侦听技术(IGMP Snooping)是一个用于组播组的管理和控制的技术,它基于IGMP协议。交换机通过侦听主机发向路由器的IGMP成员报告消息的方式,形成组成员和交换机接口的对应关系。交换机根据该对应关系将收到组播数据包只转给具有组成员的接口。IGMP Snooping主要表现在以下几个方面:
1. IGMPSnooping工作在数据链路层,当二层设备收到主机和路由器之间传递的IGMP报文时,IGMP Snooping分析其携带的信息,在二层建立和维护组播MAC地址表,以后从路由器下发的组播报文,就根据该组播MAC地址表进行转发。
2. 交换机收到来自主机的申请离开组播组的包时,交换机把收到该包的端口从出口列表中删除,若该用户是组播组最后一个用户,则把组播转发条目删除,并把该包内容通过上行端口转发出去。
3. 没有IGMP Snooping时,组播报文将在二层广播,实现IGMP Snooping后,组播报文将不再在二层广播,而是进行二层组播。

