Overview of Network

概念

计算机网络是将计算机连接到一起以实现它们之间的通信以及数据交换的实践。通常,计算机网络是两台或者 多台计算机的集合,其可以帮助用户更轻松的进行交流。

如何工作的?

计算机网络的基本构建块是节点链接

  • 节点可以解释为数据通信设备,比如路由器、数据终端设备。
  • 链接可以解释为网线或者电缆或者 WIFI。

而计算机的工作可以简单的理解为规则或者协议,而规则和协议有助于计算机网络进行通信的链接发送和接收。 每一个设备都有唯一的 IP 地址,有助于设备识别。

发展历史

  • 第一阶段:单个网络 ARPANET - 交换机
  • 第二阶段:三级结构互联网 - 主干网 - 地区网 - 校园网
  • 第三阶段:多层次 ISP 互联网 - 主干 ISP(移动) - 地区 ISP(上海移动) - 公司、校园、家庭

中国互联网发展历史

  • 第一阶段: 1980 互联网实验
  • 第二阶段: 1989 第一个公共网络建立运行
  • 第三阶段: 1994 接入国际互联网

术语

  • 网络:是连接在一起以实现通信和数据交换的计算机和设备的集合。
  • 节点:是连接到网络的设备。比如计算机、服务器、手机、打印机、路由器、交换机等。
  • 协议:是一组规则和标准,用于管理数据在网络上的传输方式。比如TCP/IPHTTP以及IP
  • 拓扑:网络拓扑是指网络上节点的物理和逻辑排列。常见的有总线、星形、网状和树状。
  • 服务提供商网络(ISP):这些类型的网络允许从提供商租赁网络容量和功能。
  • IP地址: IP 地址是分配给网络上每个设备的唯一数字标识符。
  • DNS: 域名系统(DNS)是一种协议,用于将域名解析为 IP 地址。
  • 防火墙:是一种安全设备,用于简史和控制传入和传入的网络流量。

网络类型

  • LAN: 局域网是覆盖小范围的网络。比如办公室、校园网等。
  • WAN: 广域网是覆盖较大范围的网络。比如城市, 国家甚至全世界, WAN 用于将 LAN 连接到一起。
  • 云网络:可以通过 WAN 进行可视化,它们可以托管到公共或者私有云服务提供商上。
  • 开发系统:连接到网络并准备好进行通信的系统。
  • 封闭系统:不与网络连接,无法进行通信的系统。

体系结构的类型

  • C/S 架构:客户端-服务端架构是一种计算机网络架构,其中节点可以是服务器或客户端,这里服务端可以管理客户端节点行为。
  • P2P 架构:点对点架构,没有任何中央服务器的概念,每个设备都可以免费用作客户端或者服务器。

网络设备

网络设备是多个设备(也称为主机)的互连,这些设备使用多条路径连接以发送/接收数据或媒体。计算机网络还可以包括多个设备/媒体, 它们有助于两个不同设备之间的通信;这些被称为网络设备,包括路由器、交换机、集线器和网桥等设备。

  • 中继器
  • 集线器
  • 网桥
  • 交换机
  • 路由器
  • 网关
  • Brouter
  • NIC

中继器在物理层运行。它的工作是在信号变得太弱或损坏而无法延长信号可以通过同一网络传输的长度之前, 通过同一网络重新生成信号。关于中继器需要注意的重要一点是它们不仅放大信号而且重新生成信号。 当信号变弱时,他们会一点一点地复制它,并按照原始强度在其连接的星形拓扑连接器处重新生成它。它是一个 2 端口设备。

集线器基本上是一个多端口中继器。集线器连接来自不同分支的多条电线,例如连接不同站点的星形拓扑中的连接器。 集线器无法过滤数据,因此数据包会发送到所有连接的设备。也就是说,所有通过Hub连接的主机的冲突域都保持为一个。 此外,他们没有智能来找出数据包的最佳路径,从而导致效率低下和浪费。

网桥运行在数据链路层。网桥是一个中继器,增加了通过读取源和目标的 MAC 地址来过滤内容的功能。 它还用于互连两个使用相同协议的 LAN。它有一个单一的输入和单一的输出端口,从而使它成为一个 2 端口设备。

交换机是一个带有缓冲区的多端口桥,其设计可以提高其效率(大量端口意味着较少的流量)和性能。 交换机是数据链路层设备。交换机可以在转发数据之前执行错误检查,这使得它非常有效,因为它不会转发有错误的数据包, 而是有选择地只将好的数据包转发到正确的端口。换句话说,交换机划分了主机的冲突域,但广播域保持不变。

路由器是一种类似于交换机的设备,它根据数据包的 IP 地址来路由数据包。路由器主要是网络层设备。 路由器通常连接 LAN 和 WAN,并有一个动态更新的路由表,它们根据该表决定路由数据包。路由器划分通过它连接的主机的广播域。

网关是连接两个可能工作在不同网络模型上的网络的通道。它们充当信使代理,从一个系统获取数据、解释数据并将其传输到另一个系统。 网关也称为协议转换器,可以在任何网络层运行。网关通常比交换机或路由器更复杂。网关也称为协议转换器。

Brouter也称为桥接路由器,是一种结合了网桥和路由器功能的设备。它既可以工作在数据链路层,也可以工作在网络层。 作为路由器,它能够跨网络路由数据包;作为网桥,它能够过滤局域网流量。

NIC或网络接口卡是用于将计算机连接到网络的网络适配器。它安装在计算机中以建立局域网。 它有一个写在芯片上的唯一 ID,它有一个连接器来连接电缆。电缆充当计算机与路由器或调制解调器之间的接口。 NIC卡是第2层设备,这意味着它可以在网络模型的物理层和数据链路层上工作。

网络拓扑类型

在计算机网络中,各种组件通过不同的方式连接。网络拓扑是定义结构以及各种组件如何相互连接的方式。

通常有以下拓扑类型:

  • 点对点拓扑
  • 网状拓扑
  • 星状拓扑
  • 总线拓扑
  • 环形拓扑
  • 树形拓扑
  • 混合拓扑

点对点拓扑

点对点拓扑(P2P)是一种适用于发送方和接收方功能的拓扑,是两个节点之间的简单的拓扑,点对点提供高带宽。

p2p

网状拓扑

**网状拓扑(Mesh)**中,每个设备通过特定的方式连接到另一个设备,使用的协议有AHCP(Ad Hoc Configuration Protocol),DHCP(Dynamic Host Configuration Protocol)等。

mesh

每个设备都通过专用通道连接到另一个设备,这些通道被也是链接。

Note

  • 假设, N个设备在Mesh拓扑中相互连接, 每个设备需要的端口号N - 1。整个拓扑中, 所需的端口总数为N * (N - 1)
  • 假设, N个设备在Mesh拓扑中相互连接, 所需的链路总数N*(N-1)/2, 上图中则所需要的链路为10条。

Mesh topology的优点:

  • 节点之间的通信速度非常快
  • mesh topology结构是健壮的
  • 故障容易诊断,数据是可靠的, 因为数据是通过专门的链路来传输的。
  • 提供安全和隐私

Mesh topology的缺点:

  • 安装和配置困难。
  • 需要大量布线,电缆成本很高,适用于较少数量的设备。
  • 维护成本高。

Mesh Topology的一个常见示例是互联网骨干网, 其中各种互联网服务提供商通过专用通道相互连接。

总线拓扑

总线拓扑是一种网络类型, 其中每个设备都连接到一根电缆, 是双向的并且是一个多点连接非健壮的拓扑,如果主干发生故障, 整个拓扑就会奔溃。

bus

具有共享主干电缆的总线拓扑。节点通过支线连接到通道

总线拓扑的优点:

  • 如果 N 台设备在总线拓扑中相互连接,则连接它们所需的电缆数量为 1,称为主干电缆,需要 N 条支线。
  • 同轴或双绞线电缆主要用于支持高达 10 Mbps 的基于总线的网络。
  • 与其他拓扑结构相比,电缆的成本较低,但它用于构建小型网络。
  • 总线拓扑是熟悉的技术,因为安装和故障排除技术是众所周知的。
  • CSMA是此类拓扑最常用的方法。

总线拓扑的缺点:

  • 总线拓扑非常简单,但仍然需要大量布线。
  • 如果公共电缆发生故障,则整个系统将崩溃。
  • 如果网络流量很大,则会增加网络中的冲突。为了避免这种情况,MAC 层使用了各种协议,如 Pure Aloha、Slotted Aloha、CSMA/CD 等。
  • 向网络中添加新设备会减慢网络速度。
  • 安全性非常低。

星形拓扑

星形拓扑所有设备都通过电缆连接到一个集线器。这个集线器是中心节点,所有其他节点都连接到中心节点。集线器本质上可以是被动的,即不是智能集线器,

star

星型拓扑的优点:

  • 如果N台设备以星形拓扑相互连接,则连接它们所需的电缆数量为N。因此,它很容易设置。
  • 每个设备只需要 1 个端口即连接到集线器,因此所需的端口总数为 N。
  • 它很稳健。如果一个链接失败,只有那个链接会影响,而不是其他链接。
  • 便于故障识别和故障隔离。
  • 星形拓扑结构具有成本效益,因为它使用廉价的同轴电缆。

星形拓扑的缺点:

  • 如果整个拓扑所依赖的集中器(集线器)发生故障,整个系统就会崩溃。
  • 安装成本高。
  • 性能基于单个集中器,即集线器。
  • 星型拓扑的一个常见示例是办公室中的局域网 (LAN),其中所有计算机都连接到中央集线器。此拓扑还用于所有设备都连接到无线接入点的无线网络。

环形拓扑

在环形拓扑结构中,它形成一个环形连接设备,恰好有两个相邻设备。节点数较多的环形拓扑使用了多个中继器, 因为如果有人要向100个节点的环形拓扑中的最后一个节点发送一些数据,那么数据将要经过99个节点才能到达第100个节点。 因此,为了防止数据丢失,在网络中使用了中继器。

数据在一个方向上流动,即它是单向的,但它可以通过在每个网络节点之间有2个连接来实现双向,它被称为双环拓扑。 In-Ring Topology,工作站使用令牌环传递协议来传输数据。

ring

环形拓扑最常见的访问方式是令牌传递。

  • 令牌传递:是一种将令牌从一个节点传递到另一个节点的网络访问方式。
  • Token:是一种在网络中流通的框架。

环形拓扑的操作

  • 一个站被称为监视站,它承担执行操作的全部责任。
  • 为了传输数据,站点必须持有令牌。传输完成后,令牌将被释放以供其他站点使用。
  • 当没有站点在传输数据时,令牌将在环中循环。
  • 有两种类型的令牌释放技术:早期令牌释放在传输数据后立即释放令牌,延迟令牌释放在从接收方收到确认后释放令牌。

环形拓扑的优点

  • 数据传输是高速的。
  • 在这种类型的拓扑中,冲突的可能性很小。
  • 安装和扩展便宜。
  • 它比星型拓扑成本更低。

环形拓扑的缺点

  • 网络中单个节点的故障可能导致整个网络的故障。
  • 此拓扑中的故障排除很困难。
  • 在中间添加站点或删除站点可能会扰乱整个拓扑。
  • 不太安全。

树形拓扑

此拓扑是星形拓扑的变体。此拓扑具有分层数据流。在Tree Topology中,使用了 DHCP 和 SAC(标准自动配置)等协议。

tree

Note

如图,在这种情况下,各种辅助集线器连接到包含中继器的中央集线器。该数据从上到下流动,即从中央集线器到辅助集线器, 然后到设备或从底部到顶部,即设备到辅助集线器,然后到中央集线器。它是一个多点连接和非健壮的拓扑, 因为如果骨干发生故障,拓扑就会崩溃。

树拓扑的优点

  • 它允许将更多设备连接到单个中央集线器,从而减少信号到达设备的距离。
  • 它允许网络被隔离,并且还可以优先考虑不同的计算机。
  • 我们可以向现有网络添加新设备。
  • 在树形拓扑中错误检测和纠错非常容易。

树拓扑的缺点

  • 如果中央集线器发生故障,整个系统就会失败。
  • 由于布线成本高。
  • 如果添加了新设备,则很难重新配置。
  • 树形拓扑的一个常见示例是大型组织中的层次结构。树的顶端是 CEO,他连接到公司的不同部门或部门(子节点)。每个部门都有自己的层次结构,经理负责监督不同的团队(孙节点)。团队成员(叶节点)位于层次结构的底部,与各自的经理和部门相连。

混合拓扑

这种拓扑技术是我们上面研究的所有各种类型的拓扑的组合。当节点可以自由采用任何形式时,使用混合拓扑。 这意味着这些可以是单独的,例如环形或星形拓扑,也可以是上面看到的各种类型拓扑的组合。每个单独的拓扑都使用前面讨论过的协议。

hybrid

混合拓扑的优点:

  • 这种拓扑非常灵活。
  • 通过添加新设备可以轻松扩展网络规模。

混合拓扑的缺点:

  • 设计混合网络的架构具有挑战性。
  • 此拓扑中使用的集线器非常昂贵。
  • 基础设施成本非常高,因为混合网络需要大量布线和网络设备。
  • 混合拓扑的一个常见示例是大学校园网络。该网络可能具有星形拓扑结构的骨干网,每个建筑物都通过交换机或路由器连接到骨干网。 在每个建筑物内,可能有连接不同房间和办公室的总线或环形拓扑结构。无线接入点还为无线设备创建网状拓扑。这种混合拓扑允许不同建筑物之间的高效通信,同时在每个建筑物内提供灵活性和冗余。

现代互联网的拓扑

边缘部分

边缘部分主要是用户可以直接接触的部分,比如家、公司、公共场所等。

边缘部分 - 家庭

home

对于家庭部分,像一些手机,能联网的设备连接到路由器(可能存在多个路由器),路由器连接到当地的网关,而网关连接到当地的地区ISP

边缘部分 - 企业

对于企业部分,就稍微复杂一点。

company

  • 首先有多个设备连接到路由器,路由器连接就近的网关
  • 企业可能有多个网关,而网关之间可以相互连接,可能还有一些路由器在其中进行报文的转发以及连接的中转等,这些被称为企业内部网关。
  • 内部的网关需要与地区ISP进行通信,有一个统一网关进行统一管理和连接地区ISP。

核心部分

core

骨干核心部分主要有地区ISP、主干ISP/国家ISP、国际路由器组成。

  • 地区ISP连接到主干ISP
  • 主干ISP通过国际路由器与其他国家和地区ISP进行连接通信

复杂的网络拓扑

complex

现代网络拓扑的树状结构

tree-core

网络层级结构

分层设计原则

  1. 各层之间是相互独立的
  2. 每一层有足够的灵活性
  3. 各层之间完全解耦

OSI七层模型

初衷

  • OSI 欲成为全球计算机都遵循的标准
  • OSI 在市场化过程中困难重重,TCP/P 在全球范围成功运行
  • OSI 最终并没有成为广为使用的标准模型

失败原因

  • OSI 的专家缺乏实际经验
  • OSI 标准制定周期过长,按 OSI 标准生产的设备无法及时进入市场
  • OSI 模型设计的并不合理,一些功能在多层中重复出现

七层模型

  • 应用层 - 为计算机用户提供接口和服务
  • 表示层 - 数据处理(编码解码、加密解密等)
  • 会话层 - 管理(建立、维护、重连)通信会话
  • 传输层 - 管理端到端的通信连接
  • 网络层 - 数据路由(决定数据在网络的路径)
  • 数据链路层 - 管理相邻节点之间的数据通信
  • 物理层 - 数据通信的光电物理特性

TCP/IP四层模型

  • 应用层(应用层、表示层、会话层) - HTTP FTP
  • 传输层 - TCP UDP
  • 网络层 - IP ICMP
  • 网络接口层(数据链路层、物理层) - Ethernet/ARP/RARP

网络唯一标识符

  • 主机名:网络中的每个设备都与一个称为主机名的唯一设备名称相关联。可通过终端hostname来查看
  • Id Adress: 也称为逻辑地址,IP地址是系统在整个网络中的网络地址。为了识别万维网上的每台设备, 互联网号码分配机构 (IANA) 分配了一个 IPV4(第4版)地址作为互联网上每台设备的唯一标识符。IPv4 地址的长度是32位,因此,我们有 2^32 个IP 地址可用。IPv6 地址的长度为 128 位。
  • MAC Address: 也称为物理地址,MAC地址是每台主机的唯一标识,与它的NIC(网络接口卡)相关联。 MAC 地址在制造时分配给 NIC。MAC 地址的长度为:12 半字节/6 字节/48 位 在命令提示符中键入“ipconfig/all”并按“Enter”,这会为我们提供 MAC 地址
  • Port: 端口可以称为逻辑通道,通过它可以将数据发送/接收到应用程序。任何主机都可能有多个应用程序在运行, 并且这些应用程序中的每一个都使用它们运行的​​端口号来标识。 通过netstat -a查看所有正在使用的端口。
  • 套接字: IP地址和Port的唯一组合。
  • DNS服务器: DNS代表域名系统。nslookup提供了需要查找的域名的IP地址。
  • ARP/RARP:正向/反向地址解析协议。

网络的目标

计算机网络的目标: 以下是计算机网络的一些重要目标:

  1. 资源共享: 许多组织拥有大量运行中的计算机,这些计算机位于不同的位置。前任。一组上班族可以共用一台打印机、传真机、调制解调器、扫描仪等。
  2. 高可靠性: 如果有备用供应源,所有文件都可以复制到两台或多台机器上。如果其中一个副本不可用,由于硬件故障,可以使用其他副本。
  3. 进程间通信: 位于不同地理位置的网络用户可以通过网络在交互式会话中进行交谈。为了实现这一点,网络必须提供几乎无差错的通信。
  4. 灵活访问: 可以从网络中的任何计算机访问文件。该项目可以在一台计算机上开始,在另一台计算机上完成。
  5. 安全性: 计算机网络必须是安全的,以防止未经授权的访问、数据泄露和其他安全威胁。这包括实施防火墙、防病毒软件和加密等措施,以确保数据的机密性、完整性和可用性。
  6. 性能: 计算机网络必须提供高性能和低延迟,以确保应用程序和服务在需要时响应迅速并可用。这需要优化网络基础设施、带宽利用率和流量管理。
  7. 可扩展性: 计算机网络的设计必须能够根据需要向上或向下扩展,以适应用户、设备和数据流量的变化。这需要仔细规划和管理,以确保网络能够满足当前和未来的需求。

其他目标包括处理功能的分布、集中管理和分配网络资源、不同设备和软件的兼容性、良好的网络性能、可扩展性、节省资金、访问远程信息、人与人之间的通信等。

网络元素

  • 至少两台电脑
  • 有线或无线传输介质
  • 管理通信的协议或规则
  • Network Operating System等网络软件

网络标准

  1. 性能: 是根据传输时间和响应时间来衡量的
  • 传输时间是消息从一台设备传输到另一台设备的时间
  • 响应时间是查询和响应之间的经过的时间

性能取决于以下因素:

  • 用户数
  • 传输介质类型
  • 连接网络能力
  • 软件效率
  • 带宽
  • 网络拓扑结构
  • 网络协议
  • 距离
  • 网络拥塞
  • 网络硬件
  1. 可靠性:是根据
  • 故障频率
  • 从故障中恢复
  • 灾难期间的稳健性
  • 服务质量 (QoS)
  • 减少单点故障
  • 容量规划
  • 网络架构
  1. 安全: 这意味着保护数据免遭未经授权的访问
  2. 网络拓扑: 这是设计计算机网络时要考虑的另一个关键因素。它指的是计算机、设备和链路在网络中的排列方式

网络性能指标

速率

电信拉的 100M 光纤,为什么测试峰值只有 12M 每秒

网络常用单位 Mbps

100M/s = 100Mbps == 100Mbit/s
100Mbit/s = (100/8)MB/s = 12.5MB/s

bps = bit/s

带宽

吞吐量

时延

  1. 发送时延 = 数据长度(bit)/发送速率(bit/s)

  2. 传播时延 = 传输路径举例/传播速率(bit/s)

  3. 排队时延 - 数据包在网络设备中等待被处理的时间

  4. 处理时延 - 数据包到达设备或者目的机器被处理所需要的时间

总时延 = 发送时延 + 传播时延 + 排队时延 + 处理时延

往返时间RTT

RTT(Route-Trip Time)是评估网络质量的一项重要指标

RTT 表示的是数据报文在端到端通信中的来回一次的时间

利用率

丢包率

https://bbs.huaweicloud.com/blogs/358337 https://juejin.cn/post/7144607679749554190

https://www.infrapedia.com/

参考