计算机网络技术与应用07.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
地址解析协议 IP地址屏蔽物理网络地址的差异,为上层用户提供“统一”的地址形式 IP地址屏蔽物理网络地址差异通过在物理网络上覆盖一层IP软件实现 互联网不对物理地址做任何修改 高层软件利用IP地址指定源地址和目的地址 低层物理网络利用物理地址指定源地址和目的地址 IP地址映射到物理地址的实现方法 物理网络可以根据自身的特点选择适合的实现方法:静态表格、直接映射、动态映射等 以太网采用的方法:地址解析协议ARP ARP充分利用以太网的广播能力 ARP协议的基本思想 ARP协议的改进 高速缓存技术 主机使用cache保存已知的ARP表项 主机获得其他IP地址与物理地址映射关系后存入该cache 发送时先检索cache,若找不到再利用ARP解析 利用计时器保证cache中ARP表项的“新鲜性” 其他改进技术 收到ARP请求后,目的主机将源主机的IP地址与物理地址的映射关系存入自己cache中 广播发送的ARP请求,所有主机都会收到。这些主机可将该映射关系存入各自的cache 主机启动时可主动广播自己IP地址与物理地址的映射关系 完整的ARP工作过程 以太网中ARP的报文格式 ARP报文中各字段的意义 硬件类型:以太网接口类型为1 协议类型:IP协议类型为080016 操作:ARP请求为1,ARP应答为2 硬件地址长度:MAC地址长度为6B 协议地址长度:IP地址长度为4B 源MAC地址:发送方的MAC地址 源IP地址:发送方的IP地址 目的MAC地址:ARP请求中该字段没有意义;ARP响应中为接收方的MAC地址 目的IP地址:ARP请求中为请求解析的IP地址;ARP响应中为接收方的IP地址 ARP命令 功能:查看、添加和删除高速缓存区中的ARP表项 高速缓冲区中的ARP表项 动态表项:随时间推移自动添加和删除 静态表项:一直保留,直到人为删除或重新启动计算机 Windows中ARP表项的潜在生命周期:10分钟 新表项加入时定时器开始计时 表项添加后两分钟内没有被再次使用:删除 表项被再次使用:增加2分钟的生命周期 表项始终在使用:最长生命周期为10分钟 显示高速cache中的ARP表 添加和删除ARP表项 添加 命令:arp –s inet_addr eth_addr 人为增加ARP表项一定要确保IP地址与MAC地址的对应关系是正确的 删除 命令:arp –d inet_addr Inet_addr为“*”时删除所有表项 利用WinPcap获取IP-MAC的对应关系 获取本机网络接口的IP地址 int pcap_findalldevs_ex( char *source, struct pcap_rmtauth auth, pcap_if_t **alldevs, char *errbuf ); Typedef struct pcap_if pcap_if_t; struct pcap_if { struct pcap_if *next; char *name; char *description; struct pcap_addr *addresses; u_int flags; }; struct pcap_addr { struct pcap_addr *next; struct sockaddr *addr; struct sockaddr *netmask; struct sockaddr *broadaddr; struct sockaddr *dstaddr; }; 例:获取本机网络接口的IP地址 pcap_if_t *alldevs; //指向设备链表首部的指针 pcap_if_t *d; pcap_addr_t *a; char errbuf[PCAP_ERRBUF_SIZE]; //错误信息缓冲区 if (pcap_findalldevs_ex( …… ) == -1) { …… } //获得本机的设备列表 for(d= alldevs; d != NULL; d= d-next) //显示接口列表 { …… //利用d-name获取该网络接口设备的名字 …… //利用d-description获取该网络接口设备的描述信息 for(a=d-addresses; a!=NULL; a=addr-next) //获取IP地址 { if (a-addr-sa_family==AF_INET) //该地址是否IP地址 { …… //利用a-addr获取IP地址 …… //利用a-netmask获取网络掩码 …… //利用a-broadad

文档评论(0)

339910001 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档