赞
踩
ICMP协议是用来测试网络是否通——ping命令。当PCAping PCB时,A会发一个ICMP请求数据包,B收到后会产生一个ICMP响应数据包。除此之外还有ICMP错误报告数据包,例如当目标网络不可到达时,当前路由器会生成一个这种数据包;TTL耗尽也会产生一个错误报告数据包。错误报告数据包包含了一部分请求数据包的内容,
错误报告数据包虽然统称为一类,但是根据错误不同返回的内容也不同,从功能是上来说都是相同的。
ICMP数据包内容如上。Type值为8是请求,0是响应。
接下来是包括错误返回包的报文格式。
类型值:Type——代码Code
ICMP协议数据包想要在网络层中传输,就必须加IP首部。也就说ICMP协议依赖于IP协议。如果网络不畅通,则ICMP协议无法工作。
ICMP差错报文中,如上图可以看出有请求数据包的部分内容(首部+八个字节的数据),其余的丢掉。然后这部分数据会进行一定处理,封装成差错报文,加网络层首部传输。
下面我们来看一下具体的几个例子。
类型11,代码0
这个数据包里包含了请求数据包的首部,如图。
类型3代码1
如图所示,路由重定向与其说是错误,更应该说是优化。当处于10网段的PC想要访问11网段的目标时,由于默认网关是12网段,所以数据包会优先发到RB路由器上,RB路由器收到数据包后,发现去11网段有更合适的路径(或此路无法到达11网段),此时会返回一个重定向数据包给PC,PC收到该数据包后,会生成一个临时路由,此后发向11网段的数据包都不再走网关,而是通过该路由走向更优路径。
如图所示,重定向数据包指向了推荐路径。这是一个来自10.10去向10.20的数据包,被重定向给10.100。
ICMP差错报文并不只是ping命令请求数据包出现问题时才会返回这种数据包,也可以给应用程序返回错误报告。当使用TCP协议目标端口80来访问网站,如果数据包不可到达,也会产生ICMP目标不可到达的错误报告报文。TTL耗尽时也会返回TTL耗尽的差错报告报文。
差错报告报文除了IP首部还有后面8个字节,这8个字节里有传输层信息(比如目标端口),从而指明客户端的哪一个应用程序,所以当差错报文返回后,操作系统可以知道应该把这个数据包转给那个应用程序(比如各种浏览器)。
作为计算机网络验证连通性最基本的命令,其实没有需要再拓展开说明的。接下来介绍的是经验之谈。
注意观察的点:
来自:从哪里返回的数据包,可能不是目标,而是途中的路由器
字节:一般默认32字节,可以人为设置,通过-l 命令
时间:往返时间
TTL:生存时间
一般而言,企业中ping网关,往返时间不大于10ms,如果比10ms大,则要考虑是不是有设备在网络中发广播导致网络堵塞。没有什么科学依据,经验之谈。
这种网络排错最难,因为你说他通吧,它经常不通,说不通吧,偶尔还通一个。这种情况我们的第一步推测是网络堵了,使用抓包工具抓包。找出是谁发的广播包。找出广播包后考虑杀毒,重新插拔网线等操作。
案例分析1:已经打开的网页停止访问,不管怎么点网页中的连接都没有反应
这种情况要考虑两方面,第一是web服务器本身的问题,本身如果当时CPU利用率吧比较高处理不过来,会出现停止响应的情况;第二是网络突然变得非常拥堵,导致请求发不到服务器,发到服务器后数据传输效率也非常低。
分析:碰到这种问题,推荐使用第三者设备测试。我们先默认网络出现问题,然后排查所有可能出现问题的区域和情况,如果都没有问题则就是服务器的问题。
思路:ping断定哪一链路异常。
1.用一台企业内网的设备ping互联网,确企业内网到互联网的链路是否畅通。
2.用该设备ping电信机房,确认整条链路是否畅通
3.通过服务器的IP地址和子网掩码判断服务器所在局域网内可能的设备数,并用ping命令访问,确认是某一线路的问题或者是整个网络的问题(都丢包或者只有一个丢包)
4.如果都没有问题,则是服务器出现问题。
确认访问路径使用ping -i 命令,将TTL设置从1开始递增,就可以追踪出一条完整的路径。一定要逐个确认,不要一次性跨网段ping,一个一个来。
tracert命令之前也介绍过,相当于ping -i的简化版,可以追踪数据包过了哪一些路由器。而pathping则比tracert更强,可以查看所经路由的丢包率。
图中请求超时的数据包是因为路由器可以通过管理设置,拒绝返回ICMP相应数据包,如果这样设置后,我们就不能够得知这个路由器的信息。
ARP是IP协议的基础,IP协议是ICMP协议的基础。没有ARP协议则IP协议无法正常工作,IP协议无法工作则ICMP协议也无法工作。
我们知道数据链路层的数据帧传输需要使用目标和源MAC地址。而目标MAC地址对于刚接入网络的设备是未知的。
对于局域网,此时新设备会发送ARP广播,会发送给交换机相连的所有设备,但是只有目标设备会返回一个信息,告诉它目标MAC地址是多少。有了MAC地址,才能在数据链路层传输。没有MAC地址,数据包是无法到达目的地的。所以说ARP协议为IP协议提供服务。
对于非局域网,网段不同时,使用ARP解析网关的mac地址,路由器告诉网关mac地址。然后到达广域网后,点到点链路中不需要目标MAC地址。数据包到达目标网段后,路由器会用arp广播解析目标设备,然后记录到缓存中,从此之后就能正常交互了。
所以说,路由器端口中一般缓存着局域网内所有设备的mac地址。使用命令
show arp GNS3思科路由器命令
arp -a (cmd)命令
ARP协议解析mac地址靠广播,对方告诉什么是什么,并不会验证真假,这就会有潜在风险。
网络执法官应用程序:通过arp欺骗来禁止网络中某些设备的通信。
假如说B安装了网络执法官程序,B不允许A和C通讯,则当A发送arp广播后,C返回一个mac地址给A,在此后B接着发一个不存在的虚假mac地址给A,然后A收到了一个新的对于C的mac地址,由于arp协议并不纠错,就会用新的mac覆盖真正的mac地址。那么当A向C通信时,数据包无法转发给不存在的mac地址,进而丢包,导致a与c无法通信。同理,如果限制的是a和路由器的通信,则会导致a无法上网,因为数据包无法转发到路由器。
防止ARP欺骗的方法:
1.启用防ARP欺骗的安全软件(如局域网)
但是,网络执法官不仅会对主机进行欺诈,仍然会对路由器进行欺诈,也就说,当我们为电脑添加安全软件后,即便电脑能够百分百防御arp欺诈,而路由器却仍然会受到影响,这会导致间歇性丢包和网络延迟大,导致网络不畅通。
2.绑定mac地址
arp -s IP地址 MAC地址
将mac地址静态绑定到对应IP的主机上,ARP欺骗将无法实现。但是静态MAC地址重启就重置了,如果想要永久设置。
新建记事本,输入[arp -s IP地址 MAC地址]后保存为.bat文件,重命名只要不是arp即可。然后运行。这样就可以绑定了。
路由器上也可以添加绑定静态mac地址的命令
arp IP地址 MAC地址(A4D6.AAAA.AAAA)arpa
MAC地址要写4位用1个点来隔开,每位是1个字节
综上,如果想要完美防止ARP欺骗,我们需要在设备上绑定mac的同时,在路由器上也绑定mac地址。
全称组播管理协议,组播和多播是一个意思。
相对于点对点链路,流媒体服务器需要给每一个对服务器有请求的设备建立一条链路,则对干路带宽要求极高,且负担重。组播的核心就是服务器只传一份数据,然后需要的设备自取这一份数据,能够大量节省服务器资源。流媒体服务中,点播内容可以进行互动(拖拽进度条)而组播只能观看(观看位置完全取决于服务器)。现在的直播产业中,也是应用此技术,当进入一个直播间,无法后退前几分钟的内容,需要等待主播下播后资源全部截取下来才能够进行点播服务。
组播就是一组电脑都绑定一个地址,然后就可以接收多播数据包。多播地址的地址范围是224.0.0.0~239.255.255.255。
这些地址也有被保留的地址,不能随意使用。
如果一个服务器要同时播多个媒体资料,则可以用多个多播地址来实现同时多播。这里多播地址想象成频道更好理解,想要收看这个频道就播到这个频道,这个过程由用户决定,服务器只管播放。
48位二进制构成,前25位完全一致。这种情况下可能会出现多个多播地址构造的mac地址相同的情况。
这种情况下,MAC地址相同,但是IP地址不同,由网络层来区分给哪个应用程序,所以没问题。
不同网段之间收看多播内容也是服务器只发一份数据过来,然后计算机收看。如果某网段所有用户都不再收看这一多播资源,那么路由器就会告诉上一个路由器不需要继续发多播数据过来了,逐级反馈,最后这一个网段就没有多播信号了。而当某一网段出现第一个需要收看这个多播信号的设备时,网关路由会根据多播路由表和上一个路由器请求多播流,从而实现多播信号的收看。路由器也会周期性检测网段是否有活动状态的用户,没有则会申请取消多播流继续传输。
IGMP协议的功能:看以太网中的计算机都绑定了哪些多播地址。由该协议负责扫描这个网段有多少组成员和组播地址。
情景1:幼儿园为了提高自己的声誉,想要将孩子们的活动内容通过直播的方式发布到网上,然后家长可以通过网络关注自己孩子的一举一动。网络管理员将教室内的一台电脑配置上编码器,将摄像头捕获到的影视信息编译成数据,然后通过交换机转给流媒体服务器,然后在路由器上做端口映射,允许外网的流量访问流媒体服务器。
问题:带宽瓶颈。校园网内部的配置没有问题,但是由于多播的特点,有多少个观众想要观看这个视频,就会有多少份流量申请,而ADSL是上行流量远小于下行流量的网络,因此对于观众而言,由于上行信道带宽不足,收视质量差以及多用户同时观看时后来的用户被拒绝服务的情况时有发生。
解决:
租借专用服务器,使用电信机房的流媒体服务器,然后用端口映射,映射到内网的编码器PC,编码器将数据流直接传输给流媒体服务器,然后所有观众从电信机房的流媒体服务器中申请多份流量进行观看。这种改变的根本是减缓了ADSL干道链路的带宽,因为内网链路在这种情况下只需要一份流媒体数据,而大流量数据被分担到了专业服务器上,专业服务器的带宽足够高,解决了带宽瓶颈问题并减缓了内网链路流量压力。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。