1.ICMP协议

1)ICMP协议,即:网络控制消息协议(Internet Control Message Protocol)

2)ICMP是网络层协议,因为ICMP报文是装在IP数据报中,作为它的数据部分发出去的,如图

3)ICMP协议用于报告网路差错和异常,如:网络通不通、主机是否可达、路由是否可用等

4)ICMP报文有两种类型:ICMP差错报告报文和ICMP询问报文

2.ARP协议

2.1概念

1) 地址解析协议ARP的作用就是根据目的主机的IP地址来获得其物理地址,因为将IP数据报封装到MAC帧里面的时候需要知道目的地址的MAC地址

2)ARP协议介于数据链路层和网络层之间

3)每个主机都设有一个ARP高速缓存(ARP cache),这里面放着的是主机已经知道的IP地址和MAC地址的映射表,并且这个映射表是动态更新的

2.2ARP协议的工作原理

  当主机A想要同本局域网上的某个主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。如果有,就在ARP高速缓存中查找器对于的硬件地址,再把这个硬件地址写入MAC帧里,然后通过局域网把MAC帧发往此硬件地址。也有可能在ARP高速缓存中查不到主机B的IP地址(主机A缓存为空,或主机B刚加入局域网),这样也就无法知道主机B的MAC地址,这时候就需要使用到ARP了,按以下步骤来获得主机B的硬件地址。

1)主机A的ARP进程在本局域网上广播发送一个ARP请求分组,以广播的形式,格式如图a所示

2)在本局域网上的所有主机上运行的ARP进程都受到了这个ARP请求分组

3)主机B在ARP请求分组中发现了自己的IP地址,就向A主机发送ARP响应分组,以单播的形式直接发给A,以如图b所示。同时主机B知道了A的IP地址和MAC地址,就将主机A的IP地址和MAC地址写入ARP高速缓存中。其他主机在对比IP地址之后,发现与自己的IP地址不同,就丢掉分组

4)主机A收到主机B的ARP响应分组之后,这样就知道了主机B的MAC地址,同时把主机B的IP地址和MAC地址写入ARP高速缓存

  上面所描述的情况是在同一局域网下的情景,如果主机A要和不在同一局域网下的主机B进行通信,发送IP数据报。首先主机A将主机B的IP地址同自己的子网掩码进行比对,发现不在同一局域网内,则利用ARP请求分组,从本局域网上的路由器的IP地址来获取路由器的MAC地址,然后将剩下的工作交给路由器去做即可

2.3RARP协议

1)RARP反向地址转换协议,由物理地址来获得ip地址,使只知道自己硬件地址的主机能够知道自己的 IP 地址

2)通常用在无盘工作站,则需要RARP方法来获得IP地址

3.DNS协议

3.1概念

1)域名系统DNS(Domain Name System),用于域名和ip地址的相互转换

2)DNS使用UDP传输(为了减少开销),端口53

3.2DNS域名服务器的分类

1)根域名服务器:是最高层次的域名服务器,全球只有13台,根域名服务器知道所有顶级域名服务器的域名和ip地址

2)顶级域名服务器:顶级域名服务器以顶级域名来命名,负责管理在该顶级域名服务器上注册的所有二级域名,例如com顶级域名服务器管理所有以“.com”为后缀的域名

3)权限域名服务器:负责一个区的域名

4)本地域名服务器:当一个主机发出DNS查询请求时,首先就发给本地域名服务器

3.3递归查询

1)主机向本地域名服务器的查询一般都是采用递归查询

2)所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询

3.4迭代查询

1)本地域名服务器向根域名服务器的查询的迭代查询

2)迭代查询的特点:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地服务器进行后续的查询。(而不是替本地域名服务器进行后续的查询

3)本地域名服务器也可以采用递归查询,这取决于用户设置

3.5DNS域名解析基本过程

假定域名为m.xyz.com的主机想知道另一个主机y.abc.com的IP地址,下面是上图a的几个查询步骤:

   1、主机先从本机的DNS缓存Hosts文件中寻找,如果找不到,则再进行下列操作

2、主机m.abc.com先向本地域名服务器dns.xyz.com进行递归查询

3、本地域名服务器若没有,则采用迭代查询。它先向一个根域名服务器查询。

4、根域名服务器告诉本地服务器,下一次应查询的顶级域名服务器dns.com的IP地址。

5、本地域名服务器向顶级域名服务器dns.com进行查询。

6、顶级域名服务器dns.com告诉本地域名服务器,下一步应查询的权限服务器dns.abc.com的IP地址。

7、本地域名服务器向权限域名服务器dns.abc.com进行查询。

8、权限域名服务器dns.abc.com告诉本地域名服务器,所查询的主机的IP地址。

9、本地域名服务器最后把查询结果告诉m.xyz.com。

整个查询过程共用到了8个UDP报文

3.6DNS劫持

1)概念:DNS劫持又称域名劫持,是指DNS客户发送的域名解析的请求被拦截了,拦截这分析请求的域名,返回一个假的域名解析结果,导致主机对该域名的访问转入到修改后的假IP,其结果就是对特定的网址不能访问或访问的是假网址

2)解决:

  • 如果直到ip地址,直接用ip地址访问
  • 更换可靠的DNS服务器

4.ping命令

4.1概念

1)ICMP的一个重要应用就是分组网间探测PING(Packe InterNet Groper),用来测试主机之间的连通性

2)PING使用了ICMP回送请求与回送回答报文(属于ICMP询问报文

3)PING直接使用网络层ICMP协议,没有通过运输层层的TCP或UDP

4.2ping一个域名的全过程(跨网段)

1)DNS域名解析,获得IP地址(过程见上)

2)ARP协议地址解析,获得MAC地址(过程见上)

3)主机将ICMP报文封装成IP数据报

4)主机将IP数据报封装成MAC帧

5)主机将MAC帧发送至相应路由器

6)路由器接收到ICMP报文之后,发现MAC帧的目的地址是自己,IP地址是主机想要访问的外网段IP地址,则要修改MAC帧的地址(如有必要,路由器再次进行ARP),再进行NAT,再把数据包转发出去

7)域名主机收到ICMP请求报文后,会重新构建一个ICMP应答报文,然后返回给主机

8)当主机收到域名主机发送的ICMP应答报文之后,这样就表明该主机到域名主机是连通可达的

5.DHCP协议

参考资料:

https://www.cnblogs.com/happygirl-zjj/p/5976526.html

https://blog.51cto.com/tonyguo/163475

ICMP协议、DNS、ARP协议、ping、DHCP协议的更多相关文章

  1. DHCP协议格式、DHCP服务搭建、DHCP协商交互过程入门学习

    相关学习资料 http://www.rfc-editor.org/rfc/rfc2131.txt http://baike.baidu.com/view/7992.htm?fromtitle=DHCP ...

  2. 协议分析 - DHCP协议解码详解

    协议分析 - DHCP协议解码详解 [DHCP协议简介]         DHCP,全称是 Dynamic Host Configuration Protocol﹐中文名为动态主机配置协议,它的前身是 ...

  3. 第二次作业:使用Packet Tracer分析应用层协议(DNS、FTP、DHCP、SMTP、POP3)

    0 个人信息 张樱姿 201821121038 计算1812 1 实验目的 熟练使用Packet Tracer工具.分析抓到的应用层协议数据包,深入理解应用层协议,包括语法.语义.时序. 2 实验内容 ...

  4. 趣谈 DHCP 协议,有点意思。

    计算机网络我也连载了很多篇了,大家可以在我的公众号「程序员cxuan」 或者我的 github 系统学习. 计算机网络第一篇,聊一聊网络基础 :计算机网络基础知识总结 计算机网络第二篇,聊一聊 TCP ...

  5. 网络层主要协议与arp欺骗

    网络层主要协议与arp欺骗 目录 网络层主要协议与arp欺骗 一.网络层(Network Layer) 1.网络层的功能 2.IP数据报(IP Datagram) 二.网络层的主要协议 1.ICMP协 ...

  6. TCP/IP协议学习之实例ping命令学习笔记

    TCP/IP协议学习之实例ping命令学习笔记(一) 一. 目的为了让网络协议学习更有效果,在真实网络上进行ping命令前相关知识的学习,暂时不管DNS,在内网中,进行2台主机间的ping命令的整个详 ...

  7. DHCP协议讲解

    一.DHCP服务介绍: DHCP为动态主机配置协议,该协议能自动配置主机的IP地址.子网掩码.网关及DNS服务器等TCP/IP信息.DHCP可以降低客户机IP地址配置的复杂度和网络管理成本. DHCP ...

  8. DHCP协议原理及其实现流程

    DHCP(Dynamic Host Configuration Protocol):动态主机配置协议 在常见的小型网络中(例如家庭网络和学生宿舍网),网络管理员都是采用手工分配IP地址的方法,而到了中 ...

  9. iptables常用规则:屏蔽IP地址、禁用ping、协议设置、NAT与转发、负载平衡、自定义链

    iptables常用规则:屏蔽IP地址.禁用ping.协议设置.NAT与转发.负载平衡.自定义链 时间 -- :: IT社区推荐资讯 原文 http://itindex.net/detail/4772 ...

随机推荐

  1. Java 的静态工厂方法

    本文转载自:https://www.jianshu.com/p/ceb5ec8f1174 序:什么是静态工厂方法 Effective Java 2.1 静态工厂方法与构造器不同的第一优势在于,它们有名 ...

  2. 将tomcat做成windows服务

    @参考文章 大致步骤: 1,配置环境变量(选读) 2,安装 3,卸载(选读) 配置环境变量: 这块不是必须的.我不喜欢给tomcat配置环境变量,默认即可.如需要配置可看参考文章,也可参考我之前的文章 ...

  3. AngularJS——第3章 指令

    第3章 指令 所谓指令就是AngularJS自定义的HTML属性或标签,这些指令都是以ng-做为前缀的,例如ng-app.ng-controller.ng-repeat等. 3.1 内置指令 ng-a ...

  4. wampserver 403forbidden问题

    1.c:\wamp\alias\phpmyadmin.conf 打开之后又这么一段源码; <Directory "D:\wamp\apps\phpmyadmin3.4.10.1/&qu ...

  5. JQuery UI之Autocomplete(1)入门程序

    1.Autocomplete的主要属性:source:即为指定智能提示下拉框中的数据来源,支持三种类型.  Array,主要用于本地化数据提供,支持两种格式:字符串数组 [ "Choice1 ...

  6. idea工程中web.xml报错Servlet should have a mapping

    搭建ssm工程过程中web.xml报错:Servlet should have a mapping ....但是mapping已经配置好了...如下图: 搜索无果,后来发现是工程的web.xml位置配 ...

  7. 因为要生成的折线数量是不定的 ,所以需要echarts 动态的为option中的Series添加数据

    series:function(){ var serie=[]; var aa = zhonglei[0].split(","); for( var i=0;i < aa.l ...

  8. 4C - 七夕节

    七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!" 人们纷纷来到告示前,都想知道谁才是自己 ...

  9. PAT 1068 万绿丛中一点红(20)(测试点分析+思路分析)

    1068 万绿丛中一点红(20 分) 对于计算机而言,颜色不过是像素点对应的一个 24 位的数值.现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的 ...

  10. Linux惊群效应详解

    Linux惊群效应详解(最详细的了吧)   linux惊群效应 详细的介绍什么是惊群,惊群在线程和进程中的具体表现,惊群的系统消耗和惊群的处理方法. 1.惊群效应是什么?        惊群效应也有人 ...