趣谈网络协议
刘超
网易研究院云计算技术部首席架构师
立即订阅
38965 人已学习
课程目录
已完结 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讲)
结束语 | 放弃完美主义,执行力就是限时限量认真完成
趣谈网络协议
登录|注册

协议专栏特别福利 | 答疑解惑第一期

刘超 2018-08-20
你好,我是刘超。
首先,感谢大家关注并在留言区写下近 3000 条留言。留言太多,没有及时回复,一是每周写三篇文章压力真的挺大的。为了保质保量的产出,晚上和周末的时间基本上都搭进去了。二是很多人的留言非常有深度,水平很高,提的问题一两句话解释不清楚。
每一节结尾我基本都会留两个思考题,其中第一个问题是启发思考的,是对本节内容的延伸学习;第二个问题是为了引出下一节,下一节的内容其实就是答案。
所以我会回答一下每一节的第一个问题,并列出第一个同我的思路最相近的同学,并对留言中比较有代表性的问题,做一个统一的回答,顺便也实现之前要送知识图谱和奖励礼券的承诺。
当然,这并不能说明我的回答就是一定是正确的或者全面的,有很多同学的留言有非常大的信息量,甚至更广的思路,也对这些同学表示感谢。还有些同学指出了我的错误,也感谢你们。

《第 1 讲 | 为什么要学习网络协议?》

课后思考题

当网络包到达一个城关的时候,可以通过路由表得到下一个城关的 IP 地址,直接通过 IP 地址找就可以了,为什么还要通过本地的 MAC 地址呢?
徐良红同学说的比较接近。在网络包里,有源 IP 地址和目标 IP 地址、源 MAC 地址和目标 MAC 地址。从路由表中取得下一跳的 IP 地址后,应该把这个地址放在哪里呢?如果放在目标 IP 地址里面,到了城关,谁知道最终的目标在哪里呢?所以要用 MAC 地址。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《趣谈网络协议》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(13)

  • ╯梦深处゛
    老师能不能去分享一些抓包和网络包分析相关的内容,带着问题进行抓包和分析,这样应该可以让之前学习的理论更好的理解和应用,谢谢啦🙏
    2018-08-20
    16
  • salmonl
    学习完整个专栏,收获确实不小,关于协议的几个困惑的地方,查了一些资料没有解惑。不知道这个提问刘老师还能不能看到。

    问题一:一个数据包从上层往下层传,最终是传到物理层, 已经封包完成,那么是如何使用TCP建立的连接传输呢,又回去了?

    问题二:为什么TCP建立连接的适合看似很简单(没有层层封包和拆包),发数据包的时候那么费劲,连接相当于管道,直接顺着管道传输不就完事了么,还需要封包和拆包?

    问题三:建立TCP连接像不像先拨通电话呢,数据传输的过程跟对话一样复杂,那么建连的时候TCP包中只有源端口和目标端口,是怎么找到目标主机的呢?

    多谢!

    作者回复: 问题一:所谓的连接,没有在通路上做任何事情,只是在tcp层添加了一些用于重传的数据结构。所以所谓的连接,除了tcp层能够意识到有连接,其他层次,以及通路上都意识不到有连接的存在。所以底层管你上层有没有连接,我就傻傻的该传输就传输,如果丢了就丢了,我底层也不管。等真的丢了,tcp层的数据结构会发现丢了,要重传,底层也意识不到,这是一个重传的包,反正你上层让我传,我就传,如果丢了还是丢了就丢了。

    问题二:连接不是管道,除了tcp层的数据结构,没有其他的地方知道这个连接的存在。同样,问题三,tcp连接可不是拨通电话,先建立一个连接。

    tcp层的连接纯属这一层的数据结构一厢情愿的要保持顺序,不丢等。所以tcp层要做很多的工作。

    所以这个问题,您对tcp连接是有误解的。再比喻一下,就是你是tcp层,你父母是应用层,高铁以及运输人员是IP层或者更底层。

    你tcp告诉你父母应用层,现在从北京去上海可以包一个车厢了,其实底层也即高铁是不允许包车厢的,都是你多次跑火车站,自己一个一个的座位买,今天买不到一整个车厢,就换另一天,直到有一天你终于买了一整个车厢的票,然后你父母享受到了包车厢的服务。那问题一,高铁站当然不知道你是包车厢,反正你有票就做呗,谁知道你有这个执念,一定要包一整个车厢。

    建立连接可不简单,看似三次握手,但是双方都要建立数据结构,就像你要制造一个假象给你父母说这个车厢是随便就能包了。等到了目的地,假设你有个接站的兄弟,他也要制造一个假象给你父母,车厢是随便就能包了

    2019-08-22
    1
    4
  • Hurt
    我也想要~~~

    作者回复: 有你的名字呀

    2018-08-20
    1
    4
  • Ying|Ucloud
    针对第一个问题,为什么有IP了还要MAC,基本大家都已经说了,我再补充一点,首先你要知道交换机怎么判断是该二层转发还是三层转发,交换机只有收到MAC地址为自己的时候才会进行拆二层进行三层转发,否则就为二层转发
    2018-11-15
    3
  • zcpromising
    谢谢老师精彩用心的讲解,受益匪浅,学习完之后还有惊喜,太感谢老师了。期待老师下个专栏
    2018-08-20
    2
  • 凉凉
    ”如果服务器重启了,服务端也重新启动了,也在监听那个端口了,这个时候 TCP 的服务端由于是新的,Sequence Number 根本对不上,说明不是原来的链接“ 这句话怎么理解,,服务端是新的,序号为啥对不上,,, 不是原来的连接意思是一条新的连接?一条连接不是由(source ip, source port, dst ip, dst port)这四元组决定的吗,这些都没变为啥是新的连接?

    作者回复: seq num标识连接。seq num匹配不上,说明连接不匹配

    2019-06-09
    1
  • 啦啦啦
    我我想要
    2018-08-24
    1
  • 小美
    Nonce 这块技术 可能了解不是特别清晰 方便老师介绍下吗 我理解是服务端发给客户端的随机数 具体怎么应用方便老师分享下吗
    2018-08-21
    1
  • 小美
    Nonce随机数的应用 方便刘老师介绍下吗 我理解是是服务端给客户端的盐
    2018-08-21
    1
  • 夏洛克的救赎
    信息量有点大
    2018-08-20
    1
  • balancer
    老师如果能后面加几节实操课,比如 哪LVS 的各种模式配置来举例,分析,那课程就完美了
    2018-08-20
    1
  • 有朋自远方来
    断断续续的听。
    每天五分钟。
    补充基础知识。
    也想要奖品
    (最新评论)
    2019-11-14
  • stark
    这个课程真的是超级精彩,收益良多

    作者回复: 谢谢

    2019-08-21
收起评论
13
返回
顶部