IEEE 802 全会打酱油记
3月18日是在北京召开的 IEEE 802 全会的学生开放日,受 MSRA 所邀我去打了一圈酱油。参与标准制定的都是专业人士,我基本上是刘姥姥进大观园,止增笑耳。由于会场禁止拍照录音,而且会议所讨论的技术文档是不公开的,只能无图无真相了。
首先科普一下 IEEE 802 是干什么的。IEEE 802 是 IEEE(国际电气电子工程师学会)下属的委员会,负责局域网和城域网标准的制定,计算机网络的物理层和链路层协议基本都是这个组织制定的。IEEE 802 每年都要召开三次全会,大多数都在北美举行。从第三次参加全会开始才有投票权。
IEEE 802 下设若干工作组,例如 802.3 负责以太网(Ethernet),也就是我们用的有线网络;802.11 负责无线局域网络(WLAN),也就是俗称的 wifi。每个工作组要做的事情仍然很多,例如以太网有百兆、千兆、万兆、40G、100G 以及正在研究的 400G,不仅速度不同,所用的传输介质也不同;无线局域网有 802.11a/b/g/n/ac/ad 等标准,不仅速度不同,所用的频段也不同。因此每个工作组下又设任务组(Task Force)和研究组(Study Group)。
标准如何诞生
一个新的网络物理层与链路层标准的诞生,需要经过数年:
- 有人提出兴趣(Call for Interest),在工作组(Working Group)里成立一个研究组(Study Group)。例如现在 400G 以太网处于“研究组”的阶段。研究组的会议与学术会议是比较接近的,每个人要准备 slides,讲上几十分钟,并与在场人员进行交流。这些 slides 可以是无关的甚至冲突的,未必提出完整的解决方案,也不需要达成共识,因此这是个头脑风暴的阶段。
- 研究组经过漫长的协商拿出一个各方基本同意的方案后,要形成 Project Authorization Request (PAR)提交工作组(Working Group)审核。
- 工作组成立一个任务组(Task Force)负责这个方案的标准化,这基本就是各方磨嘴皮、抠字眼的过程了,经过一次又一次修订,拿出一个标准草案。
- 标准草案提交给工作组投票,如果获得四分之三以上同意,就进入复审;否则打回去重写。
- 复审基本上是个行政化的流程,例如无线协议所使用的频段、功率,需要工作组内的 Technical Advisory Group 与美国 FCC、中国无线电管理局之类的政府部门协商。
- 最后在 IEEE 802 全会上投票通过,成为正式标准。由于每个标准都有其专业领域,其他工作组的成员很可能不了解其技术细节,加上这些标准本来就经过了字斟句酌,全会的投票通过率是可想而知的。
- 正式标准发布之后,任务组(Task Force)并不会解散,而是与时俱进地提出标准的修正案,解决标准应用过程中遇到的问题。
如果等到标准发布才开始研发产品,可能已经落后人家好几年了。因此大公司都争先恐后地把自己的员工送进 IEEE 802 的各工作组,参与标准制定。各方的博弈主要体现在任务组(Task Force)磨嘴皮、抠字眼的过程中,表面上看起来会议是冗长无聊的,而且我这种非专业人士压根听不懂,事实上标准的用词是很讲究的。
例如 may 和 shall 就有天壤之别:如果用的是 may,就意味着别的公司可以采用不同的实现,进而带来不同产品的不兼容性(在浏览器领域这种事还少吗);如果用的是 shall,就意味着这方面各家产品不会出现不兼容,但提案被采纳的公司就能抢占市场先机,还可能靠相关的专利赢得利润。
开放标准与创新
早上首先是 802.3 工作组主席和 802.11 工作组副主席(但愿我没记错),两个 IEEE 802 最实权的工作组,给我们这些学生介绍 IEEE 802 的标准制定流程。首先讲的就是开放标准(Open Standard)的意义。提到标准,大家首先想到的可能就是条条框框。没有人愿意受这些条条框框约束,那么标准的意义何在呢?
“开放标准”由开放和标准两个词构成。“标准”的意义在于互操作性(interoperability),“开放”则避免用户锁定在某个厂商的产品上(no lock-in)。开放标准为创新搭建了基础架构,使得各种创新在一个互相兼容的生态环境中互利共生。电话网络缺少了开放,从而没有互联网的勃勃生机;各种 BSD 衍生版缺少了标准,从而没有像 Linux 一样流行。
在标准制定的“抠字眼”过程中,may 和 shall 体现了“开放标准”两个词间互相矛盾的地方:may 意味着开放,shall 意味着标准。各家厂商正是希望用“标准”强化已经建立的市场地位,用“开放”为后来者赢得一席之地。一项开放标准需要做很多妥协,才能既保证按照标准做出来的东西能实现一定的功能,又为用途方面的创新、性能和功耗方面的改进留下足够的空间。
会场
这次会议是由华为赞助,在五星级大饭店举行的。每个指示牌都有 IEEE 802 和华为的标识,以及在线查看议程的二维码。会场可以称得上是富丽堂皇,宽敞舒适。我参加的不是开幕和闭幕的大会,而是各工作组分组讨论的会议。几十个研究组或任务组每组一个会议室,会场在两栋楼里各占了两层,很是土豪。
由于没有看地图和日程表,我们几个同学就像逛动物园一样在各个工作组间乱转,进一个会议室,听两分钟发现听不懂,又灰溜溜地退出来。
“念经组”
大部分会议室都在做“抠字眼”的工作。主席台上坐着一名主席和两名副主席,宣读标准草案或修正案文本。与会者的笔记本电脑上也能看到这些文本,当然我们学生是没这个待遇了。当有人有异议时,就要站到主席台前方、会场正中的话筒前发表意见,只有主席台上的人可以与话筒前的人讨论。如果有新的意见时有人正在发言,就要站到那个人的后面排队,依次发言。也就是说在任何时刻只有主席台上的三个人与话筒前的那个人可以讨论,其他人都不能发言。有时话筒后能排三四个人,有时大家都没有意见,主席台上就像是在念经。
不论讨论是否活跃,由于不了解标准的背景也看不到标准文本,对我来说他们的讨论都像是在念经,所以我把这些商定协议细节的任务组叫做“念经组”。
有一个“念经组”值得专门说一下:802.22 WRAN(Wireless Regional Area Networks)。那个组的主席是印度人,不过说的英语非常标准。由于我们逛到那个组的时候正好到茶歇时间了,主席就很 nice 地让我们自我介绍并翻出一个科普 slides 给我们讲。802.22 WRAN 利用电视频谱的空白区域做通信,由于这个频段远距离传输的特征,可以较低的成本实现郊区远距离的网络通信。这项技术可以用于智能电网(smart grid)、IP 电视(按需点播的电视)、郊区监控等领域。我还提了个问题,802.22 跟 Google Loon 有何区别,他回答说,首先 Google Loon 也需要一定的频段来接收信号和在气球之间做中继,其次 Google Loon 需要一定的成本,不可能覆盖整个地球表面,因此 802.22 与 Google Loon 将是互补的关系。
“报告组”
另外一部分会议室是在做类似学术会议的报告,我能听懂一部分。这些应该是研究组(Study Group),各方分别提出自己的解决方案与实验结果。
参加的几场报告会中,我比较感兴趣的是下午 802.1 TSN(Time Sensitive Network)的会议。我们进去的时候,Broadcom 的人正在讲他们的解决方案,看到熟悉的 slides 模板,就知道这是我能听懂的数据中心方面的东西了。完整听下来了 Cisco 的报告,从报告一开始,台下就有个不知哪个公司的人不断“找茬”,报告人则不断说”我们先继续“,我本来以为是他理屈词穷了,没想到台下提出的疑问都在后面的 slides 中提到并解决了。报告结束后不再有人质疑了,看来 Cisco 还是网络交换设备领域的老大啊。
这些报告中没听懂的基本都是中国人作的,说的英语还没有外国人的容易听懂。有个人没做 slides,就用 Excel 表在几百人的会场里讲,我坐在第三排都看不清。估计是他在什么地方准备好了讲稿,就像宣读标准文本一样逐字逐句地读,我这种英语很渣的人根本听不懂。正式参加会议的人有这张 Excel 表的电子版,他们都在台下盯着自己的笔记本看;我们几个学生则在听了十几分钟天书后集体逃离了会场。据说那个会场后面的报告里有很多干货,可惜没有听到。
一天下来,最大的收获是认识到了听力和口语的重要性,读白纸黑字的文档和跟人交流完全是两回事啊!