默认
打赏 发表评论 2
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成
阅读(49228) | 评论(2 收藏1 淘帖1 2
微信扫一扫关注!

本文由黄工首先发表于strongerHuang公众号,原题“网络硬件的发展史”,即时通讯网有修订。


1、引言


本文是《网络编程懒人入门》系列文章的第15篇,本篇将继续以通俗易懂的文字,帮你无脑理解各种基础网络硬件设备的功能原理。

本文不罗列复杂、全面的计算机网络理论,目的是让阅读者脱离以往计算机理论专著的枯燥内容,在寓教于乐的语言文字中轻松快速的掌握这些知识,适合入门者,计网大佬和网络编程老油条们请略过。

网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_cover-opti.png

2、如何连接个人计算机(PC)?


在发明网络之前,个人计算机之间是独立工作的,没有网卡、网线或协议栈,主要使用磁盘、CD 和其他东西来传输数据。

网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_1.png

后来,网线出现了。

最小的网络单元由网线、网卡和协议栈组成:

  • 1)网线起着物理介质的作用,以传输比特流 / 电信号;
  • 2)网卡将转换数据(例如:它将计算机存储的数据转换为网线的比特流 / 电信号);
  • 3)协议栈作为一种通信语言,可以在通信过程中实现数据分析、地址寻址和流控制。

网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_2.png

3、网线不够长怎么办?


网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_3.jpg

如果终端之间的距离太远,一旦超过网线物理传输距离的上限,数据就会开始丢失。

网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_4.png

中继器是物理层的设备,可以中继和放大信息以实现设备的远距离传输。

网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_5.png

4、中继器端口不足怎么办?


中继器通常只有两个接口,这意味着如果网络中有三个以上的终端主机,则无法实现多个主机之间的直接数据通信。

网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_6.png

集线器是一种多接口中继器,也是一个物理层设备。它可以中继和放大信息,从任何接口接收的数据都将被发送到所有其他接口。

网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_7.png

5、如何有选择性的发送数据?


有人把网桥比喻成一个 “聪明” 的中继器。因为中继器只是对所接收的信号进行放大,然后直接发送到另一个端口连接的电缆上,主要用于扩展网络的物理连接范围。

而网桥除了可以扩展网络的物理连接范围外,还可以对 MAC 地址进行分区,隔离不同物理网段之间的碰撞(也就是隔离 “冲突域”)。

网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_8.png

6、速度不够快怎么办?


交换机可以记录该终端主机的 MAC 地址,并生成一个 MAC 表。MAC 表相当于一个 “map”,交换机根据 MAC 表在主机之间转发数据流。

网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_9.png

交换机基于网桥进行扩展和升级。

与网桥相比,交换机具有以下优点:

  • 1)接口数量更密集(每个主机位于一个独立的冲突域中,带宽利用率大大提高);
  • 2)使用专用的 ASIC 硬件芯片进行高速转发;
  • 3)VLAN 隔离(不仅可以隔离冲突域,还可以通过 VLAN 隔离广播域)。

交换机是一种局域网设备,通常用于局域网,不能实现远程广域网通信。

7、距离还不够怎么办?


世界上第一台路由器是由斯坦福大学的 Leonard Bossack 和 Santi Lerner 这对教师夫妇为斯坦福大学校园网络 (SUNet) 和思科公司发明的。

网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_x.png
▲ 思科公司创始人Leonard Bossack 和 Santi Lerner 夫妇

路由器是一种基于 IP 寻址的网络层设备,利用路由表来实现数据转发。路由器主要用于连接不同的局域网以实现广播域隔离,也可以用于远程通信,如广域网连接。

网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_10.png

网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_11.png

诸如 IP 协议之类的逻辑寻址机制是实现不同类型局域网连接的关键。不同局域网的主机只要具有逻辑地址(IP 地址)和合理的逻辑地址规划(网段规划),它们就可以通信。

路由器的诞生是互联网爆炸的主要原因,跨媒介、跨地域的网络集成已成为现实。

8、接线太麻烦怎么办?


无线 AP可以被视为具有无线功能的交换机 / 路由器。随着无线城市和移动办公的发展趋势,无线产品在网络中所占的比例正在增加。

网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_12.png

根据部署方式的不同,可以分为胖 AP 和瘦 AP 解决方案。

1)在胖 AP 方案中,无线 AP 具有独立的操作系统,该操作系统可以独立调试无线热点的所有配置,类似于家用 Tp-link 产品。

2)在瘦 AP 方案中,无线 AP 仅具有无线信号传输功能,所有命令调试都集中在后台的 AC / 无线控制器上。

小型无线网络(家庭、小型企业)可以使用胖 AP 解决,而大型无线网络(无线城市、无线园区网络)则需要使用瘦 AP(AC + AP)解决。

9、不够安全怎么办?


防火墙是一种用于限制网络安全访问的网络安全产品,通常用于 Internet 的边缘,以防止外部黑客的攻击。

根据防火墙的技术特点,可以分为包过滤、应用代理和状态检测防火墙。根据产品形式,可以分为软件防火墙和硬件防火墙。

防火墙可视为具有安全功能的路由器。早期的防火墙在路由器的基础上增加了访问控制功能,因此在路由器上可以看到许多防火墙的功能,例如路由协议、访问控制列表、地址转换技术等。

防火墙和路由器可以同时存在于网络中。例如,防火墙可以放置在路由器之前或之后。在这种情况下,路由器侧重于地址转换和路由策略,而防火墙侧重于安全隔离等。

网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_13.png

在防火墙的基础上,扩展出了 Web 防火墙、安全网关和入侵检测 / 入侵防御等安全产品。

10、网络拥塞怎么办?


网络中的流量控制设备主要分为:

  • 1)上网行为管理;
  • 2)负载均衡器 / 应用交付;
  • 3)链路优化;
  • ... ...

上网行为管理产品主要关注细粒度的区分和流量控制。

负载平衡 / 应用程序交付侧重于流量的负载平衡(根据流量特征、应用程序、地址等进行区分,然后分配到不同的链接和服务器)。

链接优化主要用于广域网等低速链路的边界,以使链路利用率最大化。

网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_14.png

网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_15.png

网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_16.png

问题来了:组成一个网络需要多少种设备?

11、家庭 SOHO 网络


这是一个典型的家庭网络,它通过无线路由器提供 WiFi 热点访问,并提供路由器连接到外部网络。

网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_17.png

12、小型企业网络


小型企业网络使用二层架构、单核拓扑,需要路由器、交换机和服务器。

网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_18.png

13、园区网


最常见的园区网架构,如大中型企业网络 / 校园网络,采用接入汇聚核三层架构和双核组网。

根据网络需求,分为:

  • 1)用户区;
  • 2)内部服务区;
  • 3)外部服务区;
  • 4)管理区;
  • 5)Internet 区;
  • ... ...

它们通过核心交换机和防火墙连接并隔离。

互联网使用多出口连接,通过路由器实现拨号和 NAT,通过流量控制设备实现负载均衡 / 上网行为管理,通过防火墙实现安全隔离。

网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_19.png

14、数据中心网络


网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成_20.png

上图是典型的大型第二层数据中心网络 / IDC 设计。

主要分为:

  • 1)租户区(服务集群);
  • 2)Internet 区;
  • 3)安全管理区域。

租户区:采用设备虚拟化和链路虚拟化技术,提高设备处理能力和链路承载能力,并将负载均衡器放置在服务器区域中,以合理有效的方式将流量分配给固定服务器。

Internet 出口区域:使用路由器执行 BGP 和地址反转,使用 IPS / anti-DDoS 设备进行大流量泛洪攻击,使用流量控制执行出口负载,并使用防火墙进行安全隔离。

安全管理区:通过防火墙安全访问,通过审计、日志、入侵检测、网络管理等产品对整个网络进行管理。

15、系列文章


本文是系列文章中的第15篇,本系列文章的大纲如下:

[1] 网络编程懒人入门(一):快速理解网络通信协议(上篇)
[2] 网络编程懒人入门(二):快速理解网络通信协议(下篇)
[3] 网络编程懒人入门(三):快速理解TCP协议一篇就够
[4] 网络编程懒人入门(四):快速理解TCP和UDP的差异
[5] 网络编程懒人入门(五):快速理解为什么说UDP有时比TCP更有优势
[6] 网络编程懒人入门(六):史上最通俗的集线器、交换机、路由器功能原理入门
[7] 网络编程懒人入门(七):深入浅出,全面理解HTTP协议
[8] 网络编程懒人入门(八):手把手教你写基于TCP的Socket长连接
[9] 网络编程懒人入门(九):通俗讲解,有了IP地址,为何还要用MAC地址?
[10] 网络编程懒人入门(十):一泡尿的时间,快速读懂QUIC协议
[11] 网络编程懒人入门(十一):一文读懂什么是IPv6
[12] 网络编程懒人入门(十二):快速读懂Http/3协议,一篇就够!
[13] 网络编程懒人入门(十三):一泡尿的时间,快速搞懂TCP和UDP的区别
[14] 网络编程懒人入门(十四):到底什么是Socket?一文即懂!
[15] 网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成* 本文)
[16]
  • 网络编程懒人入门(十六):手把手教你使用网络编程抓包神器Wireshark

    16、参考资料


    [1] 快速理解网络通信协议(上篇)
    [2] 快速理解网络通信协议(下篇)
    [3] 假如你来设计网络,会怎么做?
    [4] 史上最通俗的集线器、交换机、路由器功能原理入门
    [5] 面视必备,史上最通俗计算机网络分层详解
    [6] 技术往事:改变世界的TCP/IP协议(珍贵多图、手机慎点)
    [7] P2P技术详解(一):NAT详解——详细原理、P2P简介
    [8] 通俗讲解,有了IP地址,为何还要用MAC地址?
  • 即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

    上一篇:零基础快速入门WebRTC:基本概念、关键技术、与WebSocket的区别等下一篇:IM开发干货分享:IM客户端不同版本兼容运行的技术思路和实践总结

    本帖已收录至以下技术专辑

    推荐方案
    评论 2
    先赞后看

    嗯嗯
    打赏楼主 ×
    使用微信打赏! 使用支付宝打赏!

    返回顶部