淘客熙熙

主题:【原创】寻找小强 -- 数据传输故障调查实例 一 -- 萨苏

共:💬99 🌺346 新:
分页树展主题 · 全看
/ 7
下页 末页
  • 家园 【原创】寻找小强 -- 数据传输故障调查实例 一

    这段时间,公司业务部门屡屡来邮件“骚扰”,抱怨我们网络部提供的线路有问题,弄得老萨写东西都不得安生。

    点看全图
    外链图片需谨慎,可能会被源头改

    线路的,不通了,谁的干活?

    从公司结构来说,业务部门是一线,IT是二线。人家要面对客户的,地位自然高。虽然是放高利贷的吧,这年头一个杨白劳后头都跟着七八个周扒皮,你满脸堆笑还未必能借出钱去。在大阪梅田车站一走就有穿超短裙的小姑娘往您怀里塞广告附送小礼物 – 什么内容?请您向周扒皮借钱啊。

    所以,业务部门的不容易,人家回了公司就是劳苦功高的大爷,有需求做IT的绝不能等闲视之。而且,业务部门的人对IT感情复杂。这帮家伙无所事事的时候自然让人看了有气,而如果他们无故地在那儿忙活就更加危险 – 肯定是琢磨着用什么机器代替一线的人去干活,如果成功后面接着就是人事部琢磨怎么砍人头。这简直是背后打冷枪的干活阿!

    逮到这种好机会可以对IT牛气一下,自然要把架子端足,“此问题已经威胁到业务部门能否按时营业”,“迅速查清,否则本月业务额会产生相当下降”,“亚洲区总裁昨日开会询问此事是否已经解决”。。。 一系列类似哀的美敦书的玩意儿充斥老萨的邮箱,夹杂着北京某报催稿的通知,让人感觉红烧肉都不那么对胃口了。

    那么,为什么不解决呢?

    老萨当然不是不想解决,侦骑四出,捉不良人全撒出去,已经折腾四五回了,一直没拿下来,这问题的症结始终没有找到。

    点看全图
    外链图片需谨慎,可能会被源头改

    向组织上汇报一下,再宽限两天成么?

    问题的情况是这样的。

    我们公司每天夜间都要进行大量的越洋数据传送,六月十一日,传输速度忽然降低到之前的1/10左右,业务部门的主管前来告状,说IT,你们的线路地嗝屁嗝屁死啦死啦地有。

    不能说IT部门不重视。当天我们负责维护的小组就开始了调查,但是徒劳无功。

    这并不是说负责的工程师无能。这条线路的情况的确比较复杂。

    这是一条InternetVPN虚拟线路,也就是说,从两端不同国家ISP供应商那里购买数据端口,中间国际部分则通过互联网,使用IPSEC技术实现虚拟通道和安全要求。试想,建立一条跨国线路什么价格?两个Internet端口什么价格?如此设计可以大大降低费用。

    然而,这也使故障发生时的调查比较复杂。

    首先,这条线路涉及多个供应商

    第一Internet的端口的供应商。我们在两国选用了相同的ISP供应商,并要求两端口之间的通讯在若干指标上有保障即SLA,费用比正常Internet端口高,但服务质量要好。

    其中最重要的三项保障是传送时限(Latency),即一端数据到另一端的时间,如果这个时间太长,会降低数据传输的效率;出错率(Packet loss),这个可以理解,如果出错太多,数据就要不断重复传递,那是不能接受的;还有可用带宽(Bandwidth Availibility),设想两端我们各购买10M的端口,因为端口之间是Internet,如果经过的某个节点恰好是www.daier.com的下载端口,每天好几百万鹅迷从上面荡眼罩,那两个端口之间我们能利用的带宽可能就被挤压成几百K了,形成瓶颈,那也是不行的。

    顺便说一下,InternetVPN技术在中国与国外的数据链接中还缺乏唱主角的可能,最大的问题是国内标准Internet网络入口有集中管理和过滤处理的程序,因此,会造成传送时限过大的问题,从技术上限制了这一解决方案的使用。

    网络供应商提供的保证,能够切实地实现,是这里发生故障最大的隐患。

    第二是两端的本地线路供应商,以我所在一端为例,公司数据中心在大阪,而Internet供应商的端口在东京,大阪和东京之间我们使用了MPLS连结。以日本而言,虽然网络故障也有发生,其网络服务还算相对稳定可靠。问题的隐患主要存在于不同网络服务商之间,可能存在一些设备和参数不匹配的现象,特别是如果某个服务商更换了某个节点上自己的设备,由于各国标准不同,数据传送越洋后,数据包到了对端可能不能被识别而退回。

    这就像我们进行国际投递一样,袁世凯从河南给爱迪生寄一坛子臭豆腐,彰德邮局可能说,嗯,味道顶好。等到了旧金山,美国佬可能拒送 – OMG,化学武器啊!

    这就是两边规矩不同造成的问题,国际线路上的数据传递,每每有类似的现象。

    第三是线路终端设备,一般在任一端的连接方式是

    数据传递用的服务器 –〉 线路交换器(Switch)-〉防火墙 –〉线路交换器 –〉路由器 –〉远程线路接入设备 – 〉线路 –〉对端

    线路交换器,路由器都使用的是Cisco一家的产品,相对来说不匹配的问题比较少些。不过,我们这套设备,还增加一个用于提高传输效率的加速器 Sky-X,增加了调查的复杂程度。

    一般来说,这种数据传输故障的调查,我们会集中于三个方面。

    第一个,有没有线路故障,这要找各家供应商来询问了。如果NTT说 – 太君,两个小时之前,东京到福冈之间的线路上,铁道游击队把光缆给扒了,那问题就算找到。

    第二个,最近有没有做过系统的调整,比如昨天还挺好,今天换了个路有器就死啦死啦地了,就得查这个路由器是不是李向阳卖来的。

    第三个,设备会不会有故障。通常,即便象Cisco这样的王牌公司,设备也不免在使用中发现某种潜在问题。如果没有按时安装他们提供的补丁,也可能造成某种问题。比如,发现特高课的里面藏着土八路,不及时让松田太君去检查一下早晚会出乱子。

    点看全图
    外链图片需谨慎,可能会被源头改

    怎么看怎么正常,要多正常有多正常,这个事儿,是谁干的呢?

    当天晚上,上述的三个方面,工程师都没有检查出问题来,到处是老乡在喊平安无事。

    不过,当时也没太着急。

    [待续]

    元宝推荐:爱莲,
    • 家园 萨大哥,你们公司的数据传输单纯依靠国际网络电缆么?

      有没有考虑过Wimax,或者已经实施了Wimax?

    • 家园 【原创】寻找小强 -- 数据传输故障调查实例 五 完

      所谓网络协议分析仪,是怎样的一种东西呢?

      大家可能记得某个电影中有类似这样的情节 –土八路武工队在鬼子两个据点之间的电话线上接根线出来连上电话机,侦察员拿起电话来听听,不一会儿回过头来对指挥员说 – 队长,今天下午两点,赵各庄的鬼子要送一车臭豆腐到县城,咱打不打?

      点看全图
      外链图片需谨慎,可能会被源头改

      八路咋知道俺们要运臭豆腐尼?

      网络协议分析仪的工作原理,和这种窃听鬼子电话通信的做法差不多,窃听的地点,就是SW数据交换机。这是因为,所有的数据,都要经过SW数据交换机,而数据交换机上一般都有多余的空闲端口,只要把这个空闲端口与数据传递的端口设成Port Mirroring,网络协议分析仪就可以从这个空闲端口监听所有来往的数据包,就好像在线路上放了耳朵来听。

      点看全图
      外链图片需谨慎,可能会被源头改

      孩儿她娘,精神点儿。最近老是闹蟑螂,你好好听听,厨房有没有小强在爬?

      而从这些数据包的内容,往往可以看出数据传送中存在哪些问题。

      早期的网络协议分析仪是一台真正的机器,在九十年代前期是价格昂贵的东西。然而,和网络世界的所有东西一样,能被“虚拟”的,今天都不会再以硬件的方式存在了。只要安装一个软件,例如Sniffer Pro或者Ethereal,任何一台普通的计算机都可以把自己当成网络分析仪使用。

      而且有些这样的软件已经是免费的,比如我现在使用的Wireshark

      点看全图
      外链图片需谨慎,可能会被源头改

      Wireshark的商标

      点看全图

      外链图片需谨慎,可能会被源头改

      Wireshark开始截取数据后的主画面,不同颜色代表不同类型的数据,可以轻易找出出错信息

      Wireshark这个名字很是贴切 – “线上鲨鱼”,容易让人想起一头张开血盆大口的巨鲨,吞噬线路上的一切数据。

      Wireshark的前身,是Sniffer类软件中颇有名气的Ethereal,后来他的设计者跳槽却没法带着商标走,只好换了这个更加响亮的名字。

      萨比较欣赏这个软件的原因,一是其代码开放,在Unix,Linex,Windows环境下都可以免费使用;另一是它的界面十分友好,容易操作。通过一个端口的数据很多,真正对调查故障有帮助的却并不多。这就好像电话线上鬼子之间的说话也可能有很多是聊天打屁,对八路毫无意义。作为武工队的侦察员他没有办法限制鬼子聊什么,只好什么都听,然后自己判断哪些有用哪些没用,这是个很累的活儿。但是Wireshark可以让网络工程师省去这样的烦恼,它可以很好地进行过滤。例如,线路两端固定的一台计算机A与另一台计算机B之间的通讯有问题,我要调查,只需要在Wireshark的Capture filter里面作一个设定,规定只监控这两台计算机之间的数据就可以了。

      点看全图

      从上面的图,可以看出设置的方法很是简便 (假设了一个Filter,叫Lixiangyang,两台计算机地址分别是3.3.3.2,8.8.8.8)

      就这样,为了查清这个数据传输迟缓的问题,我在服务器与防火墙之间,防火墙与SW之间,SW与路由器之间分别设置了三台带有Wireshark的PC,接着下令对端开始数据传输,进行监控分析。

      三条大鲨鱼抓小强,再抓不着这小强也太狡猾了。

      Wireshark有一个很好的功能,可以汇总传递中看来可疑,有可能成为问题点的数据包,这个功能就是其Analyze/Expert Info Composite,下面这个画面,就是这次测试中得到的汇总画面。

      点看全图

      虽然有这样好的工具,对数据的分析,也花费了很长的时间,然而,最终正是这个工具,让技术人员发现了真正问题之所在。

      经过分析,数据的传递并无大恙,但是,有一种数据包却多得惊人 – TCP Zero Window,这是不正常的。

      说明这种数据包多不正常是怎样的意义,可能会把文章变得很枯燥。简单地说,就是说接收数据的服务器,在不断通告发送一方 – 我受不了啦,你慢点儿发。

      这就可以有力地解释到底是谁导致了数据输送速度的降低 – 罪魁祸首与网络无关,却是负责接收数据的服务器计算机效率太低!

      点看全图
      外链图片需谨慎,可能会被源头改

      原来,你小子就是小强!

      甚至其原因也可以清楚地找到 -- TCP buffer space being overloaded – 接收端数据缓冲区不足。

      于是,即刻与负责服务器的工程师联系,经过紧急修改缓冲区尺寸,数据的通讯质量迅速回升.

      小强击毙,问题解决。

      小强虽然被击毙,还有一个很大的麻烦得去面对 -- 这件事的解决,已经是“案发” 48小时之后,从上到下的头头脑脑们都在问 – 到底是谁的责任?!

      按说,此事的责任似乎十分明确 – 安装系统的时候,负责服务器的工程师明白大数据量传输对缓冲区的冲击,所以把系统缓冲区设的很大,完全符合要求。现在忽然变小了,肯定是有人改了系统呗。

      而拥有改系统设置权力的工程师,不过区区三人而已,找出罪魁祸首来似乎不是很困难。

      点看全图

      说,是不是你把小强放进臭豆腐里去的?

      然而,这三个工程师 -- 包括一个中国的,一个印度的,还有一个日本的,个个大义凛然,坚持此事与自己无关,无论威逼利诱人人都是打死你我也不说的架势,可见硬骨头在世界各地都有出产,并非我国专利。

      更让人可恼的是,系统纪录也显示,在问题发生的阶段,他们的确没有对系统进行任何操作,计算机还没有发展到铁臂阿童木阶段,尚无撒谎的智慧,这下子,就算让鸠山太君来查,恐怕也是一个无头案。

      最后查出来的罪魁祸首让人啼笑皆非。

      竟然是微软公司。

      原来,我们这个服务器,安装的是微软公司Windows2003 Server操作系统,这微软公司虽然是天下第一大软件公司,但却是丐帮出身的 – 没事儿就给你衣服上加补丁(Patch),一年下来那叫补丁摞补丁阿,数不胜数。

      点看全图
      外链图片需谨慎,可能会被源头改

      微软公司前总裁比尔盖茨想象生活照

      我们的系统工程师不胜其烦,就给服务器设置了一个定期任务,随时安装微软公司提供的系统补丁。

      结果,这一安装,就惹出了大麻烦 – 其中某个微软公司的补丁本身还需要补丁,因为它安装之后,自动会把系统的主要参数全部回归出厂设置!

      于是,这台服务器的缓冲区,也就自动回归了出厂时低于我们所需要数值的设置,在工作中不敷分配了。

      具体是哪一个补丁捣的乱,现在敝公司还在和微软打嘴皮官司验证,不过这一次安装的所有补丁编号可以提供给大家,前车之鉴,如果大家安装它们的时候,千万要加些小心。

      KB943460

      KB942763

      KB941568

      KB944653

      KB941569

      KB941644

      KB943485

      KB942831

      KB946026

      KB943055

      KB948496

      KB941693

      KB945553

      KB947864

      KB948590

      KB948881

      KB944338

      这补丁里面,可藏着三笑逍遥散呢!

      点看全图

      点看全图

      事情总算过去,对于一个工程师来说,忙了几天之后,点开画面对比一下问题解决前和解决后完全不同的数据传输曲线,这才是最让人觉得愉快的事情吧。

      [完]

      点看全图
      外链图片需谨慎,可能会被源头改

      走,跟我上王沟道口买臭豆腐去,这头疼的事儿总算弄完了,咱也得去乐和乐和。。。


      本帖一共被 1 帖 引用 (帖内工具实现)
分页树展主题 · 全看
/ 7
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河