趣谈网络协议
刘超
网易研究院云计算技术部首席架构师
立即订阅
39583 人已学习
课程目录
已完结 51 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 想成为技术牛人?先搞定网络协议!
免费
第一模块 通信协议综述 (4讲)
第1讲 | 为什么要学习网络协议?
第2讲 | 网络分层的真实含义是什么?
第3讲 | ifconfig:最熟悉又陌生的命令行
第4讲 | DHCP与PXE:IP是怎么来的,又是怎么没的?
第二模块 底层网络知识详解:从二层到三层 (5讲)
第5讲 | 从物理层到MAC层:如何在宿舍里自己组网玩联机游戏?
第6讲 | 交换机与VLAN:办公室太复杂,我要回学校
第7讲 | ICMP与ping:投石问路的侦察兵
第8讲 | 世界这么大,我想出网关:欧洲十国游与玄奘西行
第9讲 | 路由协议:西出网关无故人,敢问路在何方
第二模块 底层网络知识详解:最重要的传输层 (4讲)
第10讲 | UDP协议:因性善而简单,难免碰到“城会玩”
第11讲 | TCP协议(上):因性恶而复杂,先恶后善反轻松
第12讲 | TCP协议(下):西行必定多妖孽,恒心智慧消磨难
第13讲 | 套接字Socket:Talk is cheap, show me the code
第二模块 底层网络知识详解:最常用的应用层 (4讲)
第14讲 | HTTP协议:看个新闻原来这么麻烦
第15讲 | HTTPS协议:点外卖的过程原来这么复杂
第16讲 | 流媒体协议:如何在直播里看到美女帅哥?
第17讲 | P2P协议:我下小电影,99%急死你
第二模块 底层网络知识详解:陌生的数据中心 (6讲)
第18讲 | DNS协议:网络世界的地址簿
第19讲 | HTTPDNS:网络世界的地址簿也会指错路
第20讲 | CDN:你去小卖部取过快递么?
第21讲 | 数据中心:我是开发商,自己拿地盖别墅
第22讲 | VPN:朝中有人好做官
第23讲 | 移动网络:去巴塞罗那,手机也上不了脸书
第三模块 热门技术中的应用:云计算中的网络 (5讲)
第24讲 | 云中网络:自己拿地成本高,购买公寓更灵活
第25讲 | 软件定义网络:共享基础设施的小区物业管理办法
第26讲 | 云中的网络安全:虽然不是土豪,也需要基本安全和保障
第27讲 | 云中的网络QoS:邻居疯狂下电影,我该怎么办?
第28讲 | 云中网络的隔离GRE、VXLAN:虽然住一个小区,也要保护隐私
第三模块 热门技术中的应用:容器技术中的网络 (3讲)
第29讲 | 容器网络:来去自由的日子,不买公寓去合租
第30讲 | 容器网络之Flannel:每人一亩三分地
第31讲 | 容器网络之Calico:为高效说出善意的谎言
第三模块 热门技术中的应用:微服务相关协议 (5讲)
第32讲 | RPC协议综述:远在天边,近在眼前
第33讲 | 基于XML的SOAP协议:不要说NBA,请说美国职业篮球联赛
第34讲 | 基于JSON的RESTful接口协议:我不关心过程,请给我结果
第35讲 | 二进制类RPC协议:还是叫NBA吧,总说全称多费劲
第36讲 | 跨语言类RPC协议:交流之前,双方先来个专业术语表
第四模块 网络协议知识串讲 (4讲)
第37讲 | 知识串讲:用双十一的故事串起碎片的网络协议(上)
第38讲 | 知识串讲:用双十一的故事串起碎片的网络协议(中)
第39讲 | 知识串讲:用双十一的故事串起碎片的网络协议(下)
第40讲 | 搭建一个网络实验环境:授人以鱼不如授人以渔
答疑与加餐 (9讲)
协议专栏特别福利 | 答疑解惑第一期
协议专栏特别福利 | 答疑解惑第二期
协议专栏特别福利 | 答疑解惑第三期
协议专栏特别福利 | 答疑解惑第四期
协议专栏特别福利 | 答疑解惑第五期
加餐1 | 测一测:这些网络协议你都掌握了吗?
加餐2 | 创作故事:我是如何创作“趣谈网络协议”专栏的?
加餐3 | “趣谈网络协议”专栏食用指南
第2季回归 | 这次我们来“趣谈Linux操作系统”
结束语 (1讲)
结束语 | 放弃完美主义,执行力就是限时限量认真完成
趣谈网络协议
登录|注册

第6讲 | 交换机与VLAN:办公室太复杂,我要回学校

刘超 2018-05-30
上一次,我们在宿舍里组建了一个本地的局域网 LAN,可以愉快地玩游戏了。这是一个非常简单的场景,因为只有一台交换机,电脑数目很少。今天,让我们切换到一个稍微复杂一点的场景,办公室。

拓扑结构是怎么形成的?

我们常见到的办公室大多是一排排的桌子,每个桌子都有网口,一排十几个座位就有十几个网口,一个楼层就会有几十个甚至上百个网口。如果算上所有楼层,这个场景自然比你宿舍里的复杂多了。具体哪里复杂呢?我来给你具体讲解。
首先,这个时候,一个交换机肯定不够用,需要多台交换机,交换机之间连接起来,就形成一个稍微复杂的拓扑结构
我们先来看两台交换机的情形。两台交换机连接着三个局域网,每个局域网上都有多台机器。如果机器 1 只知道机器 4 的 IP 地址,当它想要访问机器 4,把包发出去的时候,它必须要知道机器 4 的 MAC 地址。
于是机器 1 发起广播,机器 2 收到这个广播,但是这不是找它的,所以没它什么事。交换机 A 一开始是不知道任何拓扑信息的,在它收到这个广播后,采取的策略是,除了广播包来的方向外,它还要转发给其他所有的网口。于是机器 3 也收到广播信息了,但是这和它也没什么关系。
当然,交换机 B 也是能够收到广播信息的,但是这时候它也是不知道任何拓扑信息的,因而也是进行广播的策略,将包转发到局域网三。这个时候,机器 4 和机器 5 都收到了广播信息。机器 4 主动响应说,这是找我的,这是我的 MAC 地址。于是一个 ARP 请求就成功完成了。
在上面的过程中,交换机 A 和交换机 B 都是能够学习到这样的信息:机器 1 是在左边这个网口的。当了解到这些拓扑信息之后,情况就好转起来。当机器 2 要访问机器 1 的时候,机器 2 并不知道机器 1 的 MAC 地址,所以机器 2 会发起一个 ARP 请求。这个广播消息会到达机器 1,也同时会到达交换机 A。这个时候交换机 A 已经知道机器 1 是不可能在右边的网口的,所以这个广播信息就不会广播到局域网二和局域网三。
当机器 3 要访问机器 1 的时候,也需要发起一个广播的 ARP 请求。这个时候交换机 A 和交换机 B 都能够收到这个广播请求。交换机 A 当然知道主机 A 是在左边这个网口的,所以会把广播消息转发到局域网一。同时,交换机 B 收到这个广播消息之后,由于它知道机器 1 是不在右边这个网口的,所以不会将消息广播到局域网三。

如何解决常见的环路问题?

这样看起来,两台交换机工作得非常好。随着办公室越来越大,交换机数目肯定越来越多。当整个拓扑结构复杂了,这么多网线,绕过来绕过去,不可避免地会出现一些意料不到的情况。其中常见的问题就是环路问题
例如这个图,当两个交换机将两个局域网同时连接起来的时候。你可能会觉得,这样反而有了高可用性。但是却不幸地出现了环路。出现了环路会有什么结果呢?
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《趣谈网络协议》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(134)

  • thomas 置顶
    第一张图中,机器三是如何同时链接两台交换机?

    作者回复: 赞,我以为不会有人问这个问题的,哈哈,老的局域网都是连到线上的,所以延续了这个图,为了准确,这里面中间的局域网可以认为是一个非直连的,例如中间隐藏了交换机等细节的,为了说明这个理论而简化

    2018-05-30
    3
    135
  • narry
    stp中如果有掌门死掉了,又得全部重选一次,用的时间比较长,期间网络就会中断的
    2018-05-30
    83
  • 杨武刚@纷享销客
    老师的这个比喻让我这个门外汉听得很爽,化繁为简,赞一个,希望老师以后多用比喻

    作者回复: 谢谢

    2018-05-30
    46
  • 李晓东
    请教个问题,讲STP的时候,两个交换机之间连线的数字代表什么?怎么得来的?
    2018-06-13
    3
    39
  • 颇忒妥
    图一和图二有点看不懂,图里的交换机和PC 是物理设备,这个LAN 是什么?不是应该交换机和PC 直接用一根线相连么?

    作者回复: 这是个虚指的局域网,不一定直连,里面可以隐藏一些设备,例如hub,交换机

    2018-05-30
    2
    32
  • iLeGeND
    第一:怎么感觉像培训网管呢
    第二:有些东西 不适合做比喻 掌门那块不是到在讲什么 太乱了

    作者回复: 如果是开发,一般可能接触到的是传输层,但是一旦往底层学,这些知识是必须的。对于比喻的事情呢?当前学一门科学,最本质的是去看最原始的文档,表达严谨,论文一样,但是上来门槛比较高,所以做个比喻让人容易理解,建议对着图看一下,这个比喻我其实想了好久,内部培训同事的时候是讲的明白的

    2018-05-30
    2
    27
  • magict4
    老师你好,我跟zixuan@有着相同的疑问。

    文中提到:

    当机器 2 要访问机器 1 的时候,机器 2 并不知道机器 1 的 MAC 地址,所以机器 2 会发起一个 ARP 请求。这个广播消息会到达机器 1,也同时会到达交换机 A。这个时候交换机 A 已经知道机器 1 是不可能在右边的网口的,所以这个广播信息就不会广播到局域网二和局域网三。

    根据前一小节的内容,我有以下理解:
    1. 交换机是二层设备,不会读取 IP 层的内容。
    2. 交换机会缓存 MAC 地址跟转发端口的关系。
    3. ARP 协议是广播的,目的地 MAC 地址是广播地址。

    如果我的理解是正确的,那机器 2 发起的 ARP 请求中,是不含机器 1 的 MAC 地址的,只有广播地址。交换机 A 中缓存的信息是没法被利用起来的。那么交换机 A 是如何知道不需要把请求转发到其它局域网的呢?

    作者回复: 好像这个说法的确有问题,不是arp过程的,是发包过程的,由全部转发变成有脑子的

    2018-06-19
    2
    26
  • 鲸息
    1. STP 对于跨地域甚至跨国组织的网络支持,就很难做了,计算量摆着呢。

    2. ping 加抓包工具,如 wireshark

    作者回复: 赞

    2018-05-31
    26
  • 奔跑的蜗牛
    从公众号追过来的,头一次听到这么好听的STP,终于明白原理了,再看STP就不那么头大了

    作者回复: 谢谢

    2018-05-31
    24
  • 戴劼 DAI JIE🤪
    有一次办公室断网,排查时候发现路由器某一个部门的端口的灯在狂闪,拔掉后恢复正常。然后去那个部门排查才发现他们插错了口,形成了环路导致广播风暴。

    作者回复: 是的,赞

    2018-06-07
    1
    21
  • 一叶孤航
    没看懂图一,机器和交换机不是直接网线连接的么?那么LAN1,LAN2是什么?LAN2又是怎么同时连接两台路由器的?求解惑
    2018-05-30
    13
  • 埃罗芒阿老师
    1.stp缺点的话,一个是某个交换机状态发生变化的时候,整个树需要重新构建,另一个是被破开的环的链路被浪费了
    2.先ping,不通的话traceroute,参数逐渐加一
    2018-05-30
    10
  • A7
    感觉spanning tree和vlan会死一堆人……
    stp的缺点就是,当掌门死了或者有新人进入江湖,江湖上就又要经历一场血雨腥风,如果江湖很大的话,就会血雨腥风很久……
    2018-06-04
    9
  • 渔夫
    所有交换机都支持STP协议吗?除了STP还有别的什么机制能防止或预防网络环路风暴?谢谢

    作者回复: 有的,现在很少用stp了,后面讲数据中心的时候会提到

    2018-06-04
    9
  • 化雨
    文中的拓扑图确实令我疑惑,好在thomas已经帮我发问了哈哈。能否考虑调整下拓扑图的画法:线条真实反应各个节点(主机,交换机等)的物理连接,同一个局域网的节点用虚线框出来

    作者回复: 看来这个图应该重新画了,谢谢

    2018-06-02
    9
  • 天空白云
    第二个问题?ping ,traceroute?

    作者回复: 是哒

    2018-05-30
    9
  • 张玮(大圣)
    无网络基础,看起来有点费力啊
    2018-07-08
    7
  • 武坤
    第一张图中,机器3、交换机A、交换机B三者是怎么连接的?
    2018-05-30
    7
  • 灰飞灰猪不会灰飞.烟灭
    老师,那假如既要保证vlan之间通讯,又要和其它部门通讯怎么呢?通过设置trunk吗?

    作者回复: 应该用路由器

    2018-05-30
    6
  • Lsoul
    请问,图一机器三如果是双网卡又是如何通信的呢

    作者回复: 这个比较复杂,看这两个网卡在机器里面是怎么配置的了

    2018-06-07
    4
收起评论
99+
返回
顶部