理论技术:TCP/IP协议族(四)ICMP和IGMP协议!
应该先说IP协议的,后来考虑到层次性,还是先把支撑协议介绍完在细说IP!因为IP是我的最爱也是我的痛!呵呵!

一、ICMP协议
为什么要使用ICMP!使用ICMP的原因是什么呢?
先简单说下IP 不能做的!IP 不能提供差错控制和辅助机制(如:主机的管理和查询)!
为此,ICMP很好的承担了这个任务!
ICMP是网际控制包协议,它的功能是:差错报告和查询
ICMP发送的ICMP包并不能直接交到下1层,必须在加IP的包头!
ICMP的包分两类:1是差错报告包2是查询包
差错报告包的形式分为:1)终点不可达2)源点抑制3)超时4)参数问题5)改变路由
查询包的形式分为:1)回送请求和回答2)时间戳3)地址掩码4)路由器询问和通告
在这强调1点:ICMP是进行差错报告的协议,不负责纠错!
介绍windows下的几个命令,排错工具!
1、命令ping,这个不能在熟悉了吧!(详细的介绍在PING攻击中将细呼的给大家拉拉!)
2、命令tracert,这个大家可能有点生,是跟踪包的源点到终点的路径的,
打开CMD,命令tracert www.2cto.com 看看你的电脑上红黑联盟走了几个路由器!
3、 命令pathping是ping和tracert的结合!不错的东东!
二、IGMP协议
两个术语:
1、组播:1方个发信息多方接收!1对多的数据传输形式为组播!
2、组播路由器:有着转发组播包能力的路由器!
实话实说IGMP我学的很菜!不过IGMP的作用没那么重要(必要却不充分的协议),但是那IP必须得有IGMP!
1句话IGMP不重要却很必要!有点矛盾!呵呵!
IGMP协议又叫做网际组管理协议!帮助组播路由器创建和更新与每个路由器接口有关的“诚实”的成员表!
概念解释:在网络的通讯中经常会出现这种情况1对多的组播通讯方式!视频点播的方式!QQ里面最常用的是什么样的组播啊?大家应该可以想到!
IGMP就管这个的!那么组播路由器是为说到底:为了避免广播的通讯,隔离广播域,节省带宽成本,采用组播,组播组都会以表的形式存贮在组播路由中,IGMP就帮助建立维护此表的,而所谓的“诚实”的成员就是稳定的在一个组中,接收发送数据!象咱们QQ群里的人,要么加入,要么退出去!没有1会进去1会出来的!
现在说的IGMP有3个版本,版本2的包有3种类型:1)查询2)成员报告3)退出报告
其中查询又分为一般的查询和特殊的查询!组播路由器可以就是说支持组播协议的网络设备的都行!Cisco系统公司的所有交换设备、华为公司的quidway系列路由交换机、中兴公司的东西,如果需要在网络上实现组播功能去买他们的东西吧!具体的东西问卖设备的伙计!
找出设备的接口支持的组播地址用命令:netstat /nra 组播地址范围在224.0.0.0-239.255.255.255之间!IP的划分以后详细讲解!
注意IGMP只是在局域网出现!它的原始包是不能过路由器的!

参考:https://www.2cto.com/net/201201/117741.html

Python Web学习笔记之IGMP和ICMP的差别的更多相关文章

  1. Python Web学习笔记之TCP、UDP、ICMP、IGMP的解释和区别

    TCP与UDP解释 TCP---传输控制协议,提供的是面向连接.可靠的字节流服务.当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据.TCP提供超时重发,丢弃重复数据, ...

  2. Python Web学习笔记之多线程编程

    本次给大家介绍Python的多线程编程,标题如下: Python多线程简介 Python多线程之threading模块 Python多线程之Lock线程锁 Python多线程之Python的GIL锁 ...

  3. Python Web学习笔记之socket套接字

    套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象.它们允许程序接受并进行连接,如发送和接受数据.为了建立通信通道,网络通信 ...

  4. Python Web学习笔记之TCP/IP、Http、Socket的区别

    经常在笔试.面试或者工作的时候听到这些协议,虽然以前没怎么涉及过,但至少知道这些是和网络编程密不可分的知识,作为一个客户端开发程序员,如果可以懂得网络编程的话,他的作用和能力肯定会提升一个档次.原因很 ...

  5. Python Web学习笔记之WebSocket原理说明

    众所周知,Web应用的通信过程通常是客户端通过浏览器发出一个请求,服务器端接收请求后进行处理并返回结果给客户端,客户端浏览器将信息呈现.这种机制对于信息变化不是特别频繁的应用可以良好支撑,但对于实时要 ...

  6. Python Web学习笔记之Cookie,Session,Token区别

    一.Cookie,Session,Token简介 # 这三者都解决了HTTP协议无状态的问题 session ID or session token is a piece of data that i ...

  7. Python Web学习笔记之并发编程IO模型

    了解新知识之前需要知道的一些知识 同步(synchronous):一个进程在执行某个任务时,另外一个进程必须等待其执行完毕,才能继续执行 #所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调 ...

  8. Python Web学习笔记之GIL机制下的鸡肋多线程

    为什么有人会说 Python 多线程是鸡肋?知乎上有人提出这样一个问题,在我们常识中,多进程.多线程都是通过并发的方式充分利用硬件资源提高程序的运行效率,怎么在 Python 中反而成了鸡肋? 有同学 ...

  9. Python Web学习笔记之Python多线程和多进程、协程入门

    进程和线程究竟是什么?如何使用进程和线程?什么场景下需要使用进程和线程?协程又是什么?协程和线程的关系和区别有哪些? 程序切换-CPU时间的分配 首先,我们的任何一个程序都需要运行在一个操作系统中,如 ...

随机推荐

  1. PyCharm 4.0.4 开启代码自动补全

    目前在使用的PyCharn 版本为4.0.4,在使用的过程中无法使用代码补全功能,经过Google 搜索只需要修改两处即可实现代码补全 1 选择File-Setting-Inspections 找到对 ...

  2. [实战]MVC5+EF6+MySql企业网盘实战(2)——验证码

    写在前面 断断续续,今天算是把验证码的东东弄出来了. 系列文章 [EF]vs15+ef6+mysql code first方式 [实战]MVC5+EF6+MySql企业网盘实战(1) [实战]MVC5 ...

  3. HDU 2089 - 不要62 - [数位DP][入门题]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 Time Limit: 1000/1000 MS (Java/Others) Memory Li ...

  4. 0005python中的静态方法和类方法

    #!/usr/bin/env python# coding=utf-8 __metaclass__ = type class StaticMethod: @staticmethod def foo() ...

  5. bzip2 zip 压缩后体积比 0.8:1

    1. 对.bz2 后缀文件 跳过不处理 2.逐行同字段的json文件,压缩后大小为原文件的12.81% 测试文件近似认为为逐行json文本数据,没有进行多文件重复测试,没有统计时间: {"u ...

  6. Map集合遍历

    Map<String,String> map = new HashMap<String, String>(); map.put("1","java ...

  7. Constructing Roads----poj2421(最小生成树Kruskal)

    题目链接: http://poj.org/problem?id=2421 想把n个村庄连接在一起:求最小生成树,不同的是已经有了m条线段链接在一起了,求剩下的: 感觉用Kruskal会简单一点 #in ...

  8. Number Sequence--POJ1019

    Number Sequence Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 35251   Accepted: 10151 ...

  9. hbuilder 打包app简易教程

    1. 新建app 2. 新建弹窗面板中选择MUi登录模版 ps:在弹出的窗口,填入应用名称,根据需求选择项目位置,以及模板内容. 3. 检验app效果 菜单栏 -> 运行 -> 手机运行 ...

  10. qt——QObject 与 QWidget 的区别

    QObject是QT中所有类的基类,QWidget是所有UI Widget类的基类,所以QObject是QWidget的基类,从QWidget继承也就表示继承了QObject的所有属性.