【计算机网络笔记】计算机网络的结构

news2024/11/18 0:11:51

系列文章目录

什么是计算机网络?
什么是网络协议?


文章目录

  • 系列文章目录
  • 网络边缘
  • 接入网络
    • 数字用户线路 (DSL)
    • 电缆网络
    • 典型家庭网络的接入
    • 机构(企业)接入网络 (Ethernet)
    • 无线接入网络
  • 网络核心
  • Internet结构
  • 最后


计算机网络的结构主要由三部分构成:

  • 网络边缘: 各种主机及其上的网络应用

  • 接入网络,物理介质: 有线或无线通信链路

  • 网络核心(核心网络):互联的路由器(或分组转发设备)

    在这里插入图片描述

网络边缘的主机上会运行各种各样的应用。它们通过通信链路与网络中的其他部分连接。最核心的部分由互联的路由器设备组成。正是因为有了网络核心,才可能有更大的网络互联。

下面就分别来看看这三部分:


网络边缘

平时我们所用的电脑、手机等等其实就位于网络边缘。这些计算设备也叫做主机或端系统。这些主机上运行的网络应用程序主要有两种模型方式进行通信:

  • 客户/服务器(client/server)应用模型:客户发送请求,接收服务器响应。服务器端软件在服务器事先运行好,客户端软件运行在客户端然后主动与服务器进行通信。所有的通信都在客户端与服务器间进行,不会出现客户端与客户端之间的通信。比如:Web应用,文件传输FTP应用。
  • 对等(peer-peer, P2P)应用模型:通信双方是对等的,没有客户端和服务器之分,并且在这个应用模型中,没有(或不仅依赖)传统意义上的专用服务器。比如:Gnutella, BT, Skype, QQ。

接入网络

接入网络可能是一个复杂的网络,也可能是一个通信链路。它解决了如何将网络边缘接入核心网络这个问题。

按照接入网络的类型或者最常用的场合,大概可以分这几类:

  • 住宅(家庭)接入网络
  • 机构接入网络 (学校,企业等)
  • 移动接入网络

事实上,不管选择怎样的接入网络,用户最关心的是:

  • 带宽(数据传输速率)
  • 接入方式是独占的还是共享的。独占是带宽为一人所用,共享是大家共同使用带宽。

下面介绍具有代表性的接入网络:

数字用户线路 (DSL)

利用电话线,实现画音和数据的同时传输,这实际上采用了多路复用技术,简单来说就是多种信号使用一种物理介质进行传输。

DSL中典型的是ADSL非对称数字用户线路。

在这里插入图片描述

  • < 2.5 Mbps上行传输速率 (典型速率 < 1 Mbps)。上行就是从家里向网络上发数据

  • < 2.5 Mbps上行传输速率 (典型速率 < 1 Mbps)。下行也就是所谓的下载

  • FDM: >50 kHz - 1 MHz用于下行; 4 kHz - 50 kHz用于上行 ;0 kHz - 4 kHz用于传统电话。把信号调制到不同的频带上,利用不同频带的载波进行传输。

  • DSL是独占的

电缆网络

有线电视网络是一种典型的频分多路复用。平时我们看电视调不同的频道,调的就是载频,频率不同,传输的电视信号就不同。

在这里插入图片描述

有时也叫混合光纤同轴电缆。它也是非对称的,并且还是共享的,用户越多,某个用户获取的平均网络带宽就越低。

典型家庭网络的接入

在这里插入图片描述

机构(企业)接入网络 (Ethernet)

机构接入网络利用最典型的、也是应用最广泛有线局域网技术是以太网。

在这里插入图片描述

  • 主要用于公司、高校、企业等组织机构
  • 典型传输速率:10 Mbps, 100Mbps, 1Gbps, 10Gbps
  • 目前,端系统通常直接连接以太网交换机(switch)

无线接入网络

能够支持无线通信的主机连接到一个基站(在不同的网络里面也称为接入点。

比较典型的无线接入网络有:无线局域网(WiFi)、广域无线网(3G、4G网络等)。


网络核心

互联网的网络核心是互联的路由器网络。

网络核心的关键功能: 路由+转发

以Internet网络为例,作为Internet网络的网络核心,如果收到数据包或数据分组,就像一封信件,里面会有地址信息,核心网络会将它送往接口,送到下一个路由器,以此类推下一个路由器再送到另一个路由器,最终送到目的主机。这个过程中就涉及路由和转发这两个关键功能。

路由协议根据一系列路由算法确定路径,并将路径信息放进路由表。

在这里插入图片描述


Internet结构

Internet互联网是网络的网络,也就是说是由很多网络互联以后形成的一个全球性的、大的互联网。端系统通过接入ISP(access ISPs )连接到 Internet。接入ISP后必须进一步连接,这样任意两个主机才可以互相发送分组。这样就会构成复杂的网络互连的网络。最终网络的规模和形态主要取决于经济和国家政策。

对于当前Internet结构,没有人能给出精确描述。因为它的动态性很强,随时有网络或主机接入,也随时有网络或主机离开。

那数以百万计的接入ISP是如何互连在一起的呢?就通过大的ISP将一些接入ISP连接在一起,然后这些大型ISP之间再互连从而实现每个接入ISP的互连。这些全球性的ISP之间可以通过对等链路比如光纤实现连接,也可以引用第三方的交换节点实现连接。如下图所示:

在这里插入图片描述

在互联网的发展过程中,还可能会出现另外一种网络,比如区域网络(regional networks)。区域ISP连接就近的接入ISP,然后再进一步连接全球ISP或者说是一级ISP。如下图所示:

在这里插入图片描述

近几年还出现了一种新的网络,就是网络内容提供商(content provider networks,如: Google, Microsoft等) 可能运行其自己的网络,并就近为端用户提供服务、内容。如下图所示:

在这里插入图片描述

所以从整体上来看,最上层是一些全球ISPs,还有一些像谷歌这样的网络内容提供商构建的私有网络(可以跨过一级ISP之间去构建)。一级ISP下面可能还有二级ISP甚至三级ISP,下面再连接区域ISP,区域ISP再连接接入ISP,接入ISP再连接主机。如下图所示:

在这里插入图片描述

所以网络中心只是少数互连的大型网络。

  • “一级” (tier-1)商业ISPs (如:网通、电信、Sprint、 AT&T),提供国家 或国际范围的覆盖
  • 内容提供商网络(content provider network, 如:Google):私有网络, 连接其数据中心与Internet,通常绕过一级ISP和区域ISPs

最后

回到一般情况,网络核心要解决的基本问题是如何实现数据从源主机通过网络核心送达目的主机。解决方法就是数据交换。

下一篇文章介绍什么是数据交换,有哪些典型的数据交换技术,它们有什么优缺点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1082917.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

排序算法-快速排序法(QuickSort)

排序算法-快速排序法&#xff08;QuickSort&#xff09; 1、说明 快速排序法是由C.A.R.Hoare提出来的。快速排序法又称分割交换排序法&#xff0c;是目前公认的最佳排序法&#xff0c;也是使用分而治之&#xff08;Divide and Conquer&#xff09;的方式&#xff0c;会先在数…

整理mongodb文档:副本集成员可以为偶数

个人博客 整理mongodb文档:副本集成员可以为偶数 想了下&#xff0c;仲裁节点还是不想直接说太多&#xff0c;怕有的同学想太多&#xff0c;且本身副本集就偏向运维的&#xff0c;新手基本也没什么权限操作&#xff0c;就不多废话了。 文章概叙 文章从MongoDB是否可以用偶数…

Redis - php通过ssh方式连接到redis服务器

1.应用场景 主要用于使用php通过ssh方式连接到redis服务器&#xff0c;进行一些操作. 2.学习/操作 1.文档阅读 chatgpt & 其他资料 SSH - 学习与实践探究_ssh应用场景 2.整理输出 2.1 是什么 TBD 2.2 为什么需要「应用场景」 TBD 2.3 什么时候出现「历史发展」 TBD 2.4 …

解决mac系统终端无法使用vpn

解决mac系统终端无法使用vpn 换了公司新电脑&#xff0c;以前用vpn都是直接都可以访问&#xff0c;这次换了电脑和vpn&#xff08;这里用的海豚湾&#xff09;就发现访问不了huggingface.co了&#xff0c;无法git clone 下载大模型真的很难受。 解决方法&#xff1a; 查看自…

Maven Eclipse

Eclipse 提供了一个很好的插件 m2eclipse &#xff0c;该插件能将 Maven 和 Eclipse 集成在一起。 在最新的 Eclipse 中自带了 Maven&#xff0c;我们打开&#xff0c;Windows->Preferences&#xff0c;如果会出现下面的画面&#xff1a; 下面列出 m2eclipse 的一些特点&a…

【已编译资料】基于正点原子alpha开发板的第三篇系统移植

系统移植的三大步骤如下&#xff1a; 系统uboot移植系统linux移植系统rootfs制作 一言难尽&#xff0c;踩了不少坑&#xff0c;当时只是想学习驱动开发&#xff0c;发现必须要将第三篇系统移植弄好才可以学习后面驱动&#xff0c;现将移植好的文件分享出来&#xff1a; 仓库&…

第五十二章 学习常用技能 - Global 映射

文章目录 第五十二章 学习常用技能定义数据库定义命名空间Global映射 第五十二章 学习常用技能 定义数据库 创建本地数据库&#xff1a; 登录管理门户。选择系统管理 > 配置 > 系统配置 > 本地数据库。选择创建新数据库以打开数据库向导。输入新数据库的以下信息&a…

libjpeg库

库安装就不说了&#xff0c;我是直接下载编译好的库 Independent JPEG Group (ijg.org) 这个需要自己编译 可以使用的代码 #include <stdio.h> #include <jpeglib.h> #include <stdlib.h>void compress_jpeg(const char* input_filename, const char* outp…

域名,二级域名,局域网自定义域名

什么是域名 域名是互联网上用于标识和定位网站的字符串。它提供了一个易于记忆和使用的方式来访问网站&#xff0c;代替了使用 IP 地址的复杂形式。域名通常由多个部分组成&#xff0c;用点&#xff08;.&#xff09;分隔。 域名的结构是从右向左逐级划分的&#xff0c;每个部…

原理:用UE5制作一个2D游戏

选中资产图片右键--Sprite Actions--Apply Paper2D Texture Settings 制作场景 把它丢到场景里&#xff0c;并把坐标归零 创建图块集tileset 打开新建的tile set&#xff0c;根据最小图块设置最小尺寸单元 选择需要的图块单元&#xff0c;add box 对新建的tile set右键创建til…

UI 自动化测试框架:PO 模式+数据驱动!

1. PO 设计模式简介 什么是 PO 模式&#xff1f; PO&#xff08;PageObject&#xff09;设计模式将某个页面的所有元素对象定位和对元素对象的操作封装成一个 Page 类&#xff0c;并以页面为单位来写测试用例&#xff0c;实现页面对象和测试用例的分离。 PO 模式的设计思想与…

msvcp120.dll是什么东西?找不到msvcp120.dll怎么修复?

在计算机技术的世界里&#xff0c;我们经常会遇到各种错误和问题。其中之一就是MSVCP120.dll的丢失。这是一个非常常见的问题&#xff0c;许多用户在运行某些程序时会遇到这个错误。 MSVCP120.dll是什么&#xff1f; MSVCP120.dll&#xff0c;全名是Microsoft Visual C Runti…

Netty深入浅出Java网络编程学习笔记(二) Netty进阶应用篇

目录 四、应用 1、粘包与半包 现象分析 粘包 半包 本质 解决方案 短链接 定长解码器 行解码器 长度字段解码器——LTC 2、协议设计与解析 协议的作用 Redis协议 HTTP协议 自定义协议 组成要素 编码器与解码器 编写测试类 Sharable注解 自定义编解码器能否使用Sharable注解 3、在…

Python jieba库的使用说明

嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 一、jieba库基本介绍 jieba库概述 jieba是优秀的中文分词第三方库 中文文本需要通过分词获得单个的词语 jieba是优秀的中文分词第三方库&#xff0c;需要额外安…

自动驾驶软件和人工智能

自动驾驶汽车的核心在于其软件系统&#xff0c;而其中的机器学习和深度学习技术是使车辆能够感知、理解、决策和行动的关键。本文将深入探讨这些技术在自动驾驶中的应用&#xff0c;包括感知、定位、路径规划以及道路标志和交通信号的识别。 1. 机器学习和深度学习在自动驾驶中…

10.11 作业

fun.h #ifndef __FUN_H__ #define __FUN_H__#include <iostream>using namespace std;// 定义一个Sofa类 class Sofa { private:string sitting;public:Sofa(); // 无参构造函数Sofa(string s); // 有参构造函数~Sofa(); …

leetcode:169. 多数元素(同归于尽消杀法)

一、题目&#xff1a; 函数原型&#xff1a; int majorityElement(int* nums, int numsSize) 参数解释&#xff1a; int *nums是一个指针&#xff0c;用于接收数组名 int numsSize是数组的元素个数 二、思路&#xff1a; 用同归于尽消杀法&#xff1a; 因为题目条件给出多数元素…

windows创建服务:更新服务信息乱码问题(ChangeServiceConfig)

因为小项目需要创建windows服务&#xff0c;安装微软官方示例一切都挺顺利&#xff0c;代码运行后发现配置的信息在系统里显示乱码。打开注册表发现的确是乱码。这就排除软件读取得问题&#xff0c;而是调用ChangeServiceConfig系统函数写入时就发生了乱码。让我在网上查找了一…

1.4python 引入其他 py 文件或模块_python量化实用版教程(初级)

python 引入其他 py 文件或模块 在 Python 中&#xff0c;我们可以使用 import 语句来引用其他 py 文件中的代码&#xff0c;这样可以避免代码的重复编写&#xff0c;提高代码的复用性和可维护性。 引用其他 py 文件的方式 Python 提供了多种方式来引用其他 py …

Nginx部署前端网页,Nginx搭建静态资源服务器

文章目录 一、准备静态网页二、安装nginx三、部署网页四、显示文件及文件夹目录信息 一、准备静态网页 我们以dlib静态网页为例&#xff0c;使用nginx部署前端网页&#xff1a; 下载地址&#xff1a;http://dlib.net/ 下载完成之后上传至linux服务器。 在docs目录下&#xff…