第5讲 | 从物理层到MAC层:如何在宿舍里自己组网玩联机游戏?

2018-05-28 刘超
《趣谈网络协议》
课程介绍


讲述:刘超

时长:大小4.91M


上一节,我们见证了 IP 地址的诞生,或者说是整个操作系统的诞生。一旦机器有了 IP,就可以在网络的环境里和其他的机器展开沟通了。
故事就从我的大学宿舍开始讲起吧。作为一个八零后,我要暴露年龄了。
我们宿舍四个人,大一的时候学校不让上网,不给开通网络。但是,宿舍有一个人比较有钱,率先买了一台电脑。那买了电脑干什么呢?
首先,有单机游戏可以打,比如说《拳皇》。两个人用一个键盘,照样打得火热。后来有第二个人买了电脑,那两台电脑能不能连接起来呢?你会说,当然能啊,买个路由器不就行了。
现在一台家用路由器非常便宜,一百多块的事情。那时候路由器绝对是奢侈品。一直到大四,我们宿舍都没有买路由器。可能是因为那时候技术没有现在这么发达,导致我对网络技术的认知是逐渐深入的,而且每一层都是实实在在接触到的。

第一层(物理层)

使用路由器,是在第三层上。我们先从第一层物理层开始说。
物理层能折腾啥?现在的同学可能想不到,我们当时去学校配电脑的地方买网线,卖网线的师傅都会问,你的网线是要电脑连电脑啊,还是电脑连网口啊?<...

展开全文
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。

精选留言

  • 盖
    2018-05-29
    ARP广播时,交换机会将一个端口收到的包转发到其它所有的端口上。 比如数据包经过交换机A到达交换机B,交换机B又将包复制为多份广播出去。 如果整个局域网存在一个环路,使得数据包又重新回到了最开始的交换机A,这个包又会被A再次复制多份广播出去。 如此循环,数据包会不停得转发,而且越来越多,最终占满带宽,或者使解析协议的硬件过载,行成广播风暴。

    作者回复: 赞

    共 9 条评论
    660
  • 盖
    2018-05-29
    之前有无盘工作站,即没有硬盘的机器,无法持久化ip地址到本地,但有网卡,所以可以用RARP协议来获取IP地址。RARP可以用于局域网管理员想指定机器IP(与机器绑定,不可变),又不想每台机器去设置静态IP的情况,可以在RARP服务器上配置MAC和IP对应的ARP表,不过获取每台机器的MAC地址,好像也挺麻烦的。这个协议现在应该用得不多了吧,都用BOOTP或者DHCP了。

    作者回复: 对的,赞

    共 4 条评论
    284
  • 阡陌
    2018-05-30
    不得不说,看留言也能学到很多东西

    作者回复: 高手还是很多的

    共 3 条评论
    195
  • 没心没肺
    2018-05-28
    Hub: 1.一个广播域,一个冲突域。 2.传输数据的过程中易产生冲突,带宽利用率不高 Switch: 1.在划分vlan的前提下可以实现多个广播域,每个接口都是一个单独的冲突域 2.通过自我学习的方法可以构建出CAM表,并基于CAM进行转发数据。 3.支持生成树算法。可以构建出物理有环,逻辑无环的网络,网络冗余和数据传输效率都甩Hub好几条街。SW是目前组网的基本设备之一。
    展开

    作者回复: 赞

    共 5 条评论
    145
  • 偷代码的bug农
    2018-05-29
    一直坚持看到第五讲,我理解能力太差了,感觉还是一头雾水唉……
    共 16 条评论
    112
  • 戴劼 DAI JIE🤪
    2018-06-07
    当年上课学习记住了交叉线和直连线的区别,工作后有一次两台机器对拷,发现网卡能自适应直连线,懵逼了。

    作者回复: 是的,现在自适应了

    
    63
  • hujunr
    2018-07-30
    当时用的交换机,把一条网线的2端同时接到交换机了,结果所有电脑都连不上网了,这是为什么?

    作者回复: arp广播塞满了

    共 8 条评论
    52
  • 天边的一只鱼
    2019-04-12
    看了前几章,个人理解下访问外网ip的流程,不知道对不对, 我现在在公司的内网想要访问一个北京的外网ip, 首先把我自己的ip地址,mac地址,端口,外网的ip地址,端口,在内网吼一下,被公司网关收到,判断下这个ip是不是内网的, 不是的话,添加上公司自己的mac地址,然后往更上一层吼一下(某个区域电信的网关),然后这个区域的电信网管判断下ip是不是我这一片的,再试再加上自己的mac地址,再层层往上吼,一直找到这个ip为止。 不知道这么裂解对不对,刘老师。

    作者回复: 对的

    共 13 条评论
    41
  • Z3
    2018-05-30
    当年玩魔兽经常出现他建房我看不见,我建房他能看见之类的问题。 这些可能是应用层的问题吗?

    作者回复: 这个,场景不在了,很难分析

    共 4 条评论
    34
  • 远心
    2018-09-15
    用网线直接连接两台计算机的方式,如何知道另一台计算机的 MAC 地址?使用 ARP 协议吗?也就是说其实每一台计算机都安装着 ARP Client/Server 吗?

    作者回复: 是arp,内核里面就有这部分逻辑

    
    30
  • 天王
    2019-03-05
    网络分层第一层物理层,第二层数据链路层。物理层提供设备,即数据传输的通路,将多台设备连接起来。设备如网线,接线头,hub等。数据链路层,即mac层,medium access controller,媒体访问控制,需要解决几个问题1谁先发谁后发,2发给谁,谁接收,3 发送出现了错误,怎么办。1 .1信道划分,各走各的道 1.2 轮流 1.3 , 随机接入协议,错开高峰,不行就等。2.1 mac地址即数据链路层地址,第二层数据包格式,依次是mac地址,目标mac,源mac,数据类型比如ip数据包,数据包在链路层上广播,目标mac的机器会找到,去掉mac包,看下ip是自己的,则认为是发给自己的,再打开tcp包,发现端口是80,会交给nginx,让nginx处理。第二层最后面是CRC,循环冗余检测,来计算发送过程中是否发生错误。现在有ip,没mac,需要将mac放入数据包。需要ARP协议,通过ip找mac,1 查找本地ARP表,有的直接返回,2 广播ARP请求,靠吼,3等着应答。hub是广播的,什么都会发出去,让主机判断,需不需要。交换机比较智能,他有记忆功能,一开始不知道哪个mac对应哪台电脑,一开始会都广播,后来有应答之后,会记住哪台电脑,以后就直接发到那台电脑上。 - [ ]
    展开
    
    23
  • kevinsu
    2018-08-25
    是不是可以理解成交换机是具备学习功能的hub
    
    22
  • 黑猫紧张
    2018-12-01
    ARP协议是在局域网中的,那么在公网中二层如何获得目标mac地址?

    作者回复: 公网也是一个个的局域网组成的呀

    共 3 条评论
    18
  • N_H
    2019-06-28
    老师,根据你前面的几个讲解,我理解到,机器A知道机器B的ip无法准确进行通信,因为ip可以在局域网内进行分配。但是知道mac地址肯定是能进行通信的,因为mac地址是唯一的,无论这个机器到哪里去了,我都能通过mac地址找到这个机器,既然这样,那为什么还需要ip地址? 这是我看了几期课程以来一直的疑问。

    作者回复: mac是局域网的定位,ip是跨网络的定位

    共 7 条评论
    17
  • Jerry银银
    2019-05-15
    文章开头说到:一旦机器有了 IP,就可以在网络的环境里和其他的机器展开沟通了。 我有个疑问:机器没有ip,就不能和其它机器通信了吗?

    作者回复: 不能呀,至少不能通过TCP/IP协议栈进行通信,其他通信方式不在这门课讨论之列

    
    17
  • 楊_宵夜
    2018-06-08
    连续看了好几篇!真的是大道至简!逻辑无比清晰!细节的深度刚刚好!赞!以太网也是个很有趣的东西,记得在知乎上看到过,最离奇的Bug都有哪些。其中一个关于以太网的是说,某个大学因为建筑施工,挖掘机的声波频率影响了光纤电缆中的信号传输,导致信号最多只能传输520多公里哈哈哈,也就是说520公里以外的服务器都访问不到了。 这里细节肯定记错了,抛个砖,有兴趣的各位可以在知乎搜搜😂😂

    作者回复: 谢谢啦

    
    17
  • Yuki
    2019-06-13
    非科班出身,理解很困难。但每天坚持看一篇,多看看一定能慢慢理解~

    作者回复: 可以几天看一篇的,慢慢消化,不图快

    
    14
  • 高磊
    2019-04-11
    局域网玩的是魔兽争霸,不是魔兽世界

    作者回复: 哈哈

    共 3 条评论
    13
  • heyman
    2019-05-23
    "这里还有一个没有解决的问题,当源机器知道目标机器的时候,可以将目标地址放入包里面,如果不知道呢?一个广播的网络里面接入了 N 台机器,我怎么知道每个 MAC 地址是谁呢?这就是ARP 协议,也就是已知 IP 地址,求 MAC 地址的协议。" 请问一下,机器a是怎么知道机器b的ip?

    作者回复: 是人知道的。从a机器上,访问b机器上的网站,不得输入一个b机器的地址呀。就是访问163,也有个地址呀,是人知道地址,告诉机器的

    共 4 条评论
    11
  • magict4
    2018-06-18
    两台电脑直连的情况下,谁是网关呢?电脑可以充当网关吗?

    作者回复: 不用配置网关就能通

    共 7 条评论
    11