计算机网络序章

计算机网络学习什么?

下列举例由用户使用计算机角度去理解

  • 首先,计算机网络是通过路由等方式去获取我们希望的数据
  • 用户可以在APP中去进行方便的操作去获取数据。
  • 每个应用都有自己的端口去确定每次来的数据是否是自己需要的
  • 数据应该应该传到哪里,需要给一个目标的地址(ip地址),以及数据回传需要源地址。
  • 临近之间链路的数据的传输
  • 以及在各层中我们需要考虑安全、传输无误等问题。这些是大多起增加效率的作用。

INTERNET篇

讲述计算机网络就免不了将他的实际应用,INTERNET真是计算机网络中的实际应用,且现在依然在使用的。

网络(Network)由若干结点(Node)和连接这些结点的链路(Link)组成

多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(互连网)。因此,互联网是"网络的网络(Network of Networks)"

因特网(Internet)是世界上最大的互连网络【小写i的internet是通用名词,互连的网络都叫internet】

ISP:

因特网服务提供者(Internet Service Provider)

ISP更像是一个"中间商",去找"厂家"拿IP地址然后分发给用户。

普通用户如何接入因特网?

通过ISP接入因特网。ISP可以从因特网管理机构申请到成块的IP地址,同时拥有通信线路以及路由器等连网设备,任何机构和个人只要向ISP交纳规定的费用,就可以从ISP得到所需要的IP地址。互联网上的主机都必须有IP地址才能通信

基于ISP的三层结构的因特网:

因特网通过对于地域、层级的一层层划分,更好的去快速寻找我们想传达信息的人

因特网的组成:

  • 边缘部分 :由所有连接在因特网上的主机 组成,这部分是用户直接使用 的,用来进行通信(传送数据、音频或视频)和资源共享
  • 核心部分 :由大量网络 和连接这些网络的路由器 组成。这部分是为边缘部分提供服务的(提供连通性和交换)

三种交换方式

三种交换方式,在学习中都有优缺点,企业的开发会针对场景选择,并非都选一种而淘汰其他两种。可以"因地制宜"

电路交换(Circuit Switching):最早出现

建立连接(分配通信资源):例如在使用电路交换打电话前,必须先拨号请求建立连接,当被叫用户听到电话交换机送来的拨号音并拿起电话后,从主叫端到被叫端就建立了一条连接,也就是一条专用的物理通路。这条连接保证了双方通话时所需的通信资源,而这些资源在双方通信中不会被其他用户占用

通话(一直占用通信资源):分配的资源始终被占用

释放连接(归还通信资源)

优点:

  • 实现简单
  • 信息传递稳定
  • 不易出现传递出错

缺点:

  • 资源利用率低
  • 灵活性差:只要连接所建立的物理通路中的任何一点出现了故障,就必须重新拨号建立新的连接
  • 难以规格化:不同类型、不同规格、不同速率的终端很难互相进行通信,也难以差错控制(这在物理层会进行讲解)

分组交换(Packet Switching):应用最广

  • 发送方:①构建分组 ②发送分组
  • 路由器:①缓存分组 ②转发分组
  • 接收方:①接收分组 ②还原报文

对于分组交换的核心点就是:分组和还原。

注意:这里不规定数据到的先后顺序。故有还原报文一说

优点:

  • 无需建立连接
  • 线路利用率高
  • **加速传输:**报文只给了固定的目的地址,但实际运行的时候可以选择不同的路径,且文章被切成一段一段的,交换机的传输和接收同时进行
  • **减少出错率和重复数据量:**出错就重发一小段,重复就丢掉,少了就重新申请一小段即可

缺点:

  • 需要传输额外信息量(分组头部信息)
  • 传输信息易丢失

报文交换(Message Switching):

分组交换核心是分组和还原,

报文交换则去掉了这一思想,而是将文件完整的接力一级一级传递

报文交换与分组交换类似,不过对报文没有限制大小,现如今多使用分组交换。

优点:

  • 无需建立连接
  • 动态分配线路
  • **提供多目标服务:**一个报文可以同时发送给多个目的地址

缺点:

  • 引起转发时延:报文在节点交换机上要经历存储转发的过程
  • 需要较大的存储转发空间:因为报文大小没有限制
  • 需要传输额外信息量:有头部等信息

一图流了解三种交换模式:

电路交换强调建立连接的稳定性

分组交换则失去了数据的稳定性,但传递速度会更快。

报文交换则强调报文完整的一级一级传递。

计算机网络概述:

定义:

一些互相连接 的、自治 的计算机的集合

三大特性:

  • 互连:指计算机之间可以通过有线或无线的方式进行数据通信
  • 自治:指独立的计算机,它有自己的硬件和软件,可以单独运行使用
  • 集合:指至少需要两台计算机

分类:

按交换技术:①电路交换网络 ②报文交换网络 ③分组交换网络

按使用者:①公用网 ②专用网

按传输介质:①有线网络 ②无线网络

按覆盖范围:①广域网WAN ②城域网MAN ③局域网LAN ④个域网PAN

按拓扑结构:①总线型网络 ②星型网络 ③环型网络 ④网状型网络

性能指标:

性能指标无非就是衡量哪个更快、更稳定

更快则由速度和时间两个指标反馈

更稳定则由利用率、丢包率来反馈

带宽:

在**模拟信号中,**表示各种不同频率成分所占据的频率范围

在计算机网络中,从网络中的某一点到另一点所能通过的"最高数据率 ",即最大传输速率

吞吐量

吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量。
吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
吞吐量
受网络的带宽或额定速率的限制

带宽和吞吐量的区别:一个是极限的传输速度,一个则是实际的传输速度

时延

在处理过程中所需要的时间

时延带宽积

往返时间

在许多情况下,因特网上的信息不仅仅单方向传输,而是双向交互

我们有时很需要知道双向交互一次所需要的时间

因此,往返时间RTT(Round-Trip Time)也是一个重要的性能指标

往返时间需要有双向交互,其中tcp的连接中就有"多次握手"

利用率

信道利用率 :用来表示某信道有百分之几的时间是被利用的(有数据通过)
网络利用率:全网络的信道利用率的加权平均

丢包率

丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率

具体可分为:接口丢包率、结点丢包率、链路丢包率、路径丢包率、网络丢包率等

丢包率是网络运维人员非常关心的一个网络性能指标,但对于普通用户来说往往并不关心这个指标,因为他们意识不到丢包

分组丢失的两种情况

  • 分组在传输过程中出现误码,被结点丢弃
  • 分组到达一台队列已满的分组交换机时被丢弃,在通信量较大时就可能造成网络拥塞

计算机网络的分层结构:

三种不同的结构:

第一种更全面,将功能更加仔细划分、但分的太细以至于有些功能是可以包含在两个层次之间的模糊阶段。(只是参考标准)

第二种则是在浪花淘尽所诞生的,被应用于实际生产的

第三种更倾向于教学

教学中的体系结构讲解

分层的必要性

在平常编程时,我们总是喜欢利用不同的类实现不同的功能,最后进行整合实现真正的功能。这样的好处是让结构更加清晰,维护也更加简单。计算机网络分层同理,在计算机网络上实现不同进程的通信需要解决众多问题,分层便于维护与管理。

大致的数据传输流程:

以浏览器发送为例:

发送方:

由应用层一层一层运输数据,在每一层根据自身的协议,在信息中加入协议的文段,在数据链路层转为比特流,再由物理层选择传递介质

路由:由物理层朝上进行"解封",至网络层对比ip地址,在进行"分装转换",再将数据进行传输

接受方:对比数据的目的地址,若是目的地址与自身地址匹配,则自上而下进行"解封",找到对应的端口,最终完成数据传输。

补充:

1、同等层次为对等实体,遵循的协议都是相同的

2、每一层会且仅会向上一层提供服务。上一层无需了解下层如何做,

写在最后:

计算机网络的各个层次结构的功能都都非常的清晰。学习时我们以每个层次的主要功能来理解就不会太难

相关推荐
MARIN_shen几秒前
Marin说PCB之POC电路layout设计仿真案例---06
网络·单片机·嵌入式硬件·硬件工程·pcb工艺
打鱼又晒网37 分钟前
linux网络套接字 | 深度解析守护进程 | 实现tcp服务守护进程化
linux·网络协议·计算机网络·tcp
m0_7482400239 分钟前
Chromium 中chrome.webRequest扩展接口定义c++
网络·c++·chrome
終不似少年遊*1 小时前
华为云计算HCIE笔记05
网络·华为云·云计算·学习笔记·hcie·认证·hcs
蜜獾云1 小时前
docker 安装雷池WAF防火墙 守护Web服务器
linux·运维·服务器·网络·网络安全·docker·容器
小林熬夜学编程2 小时前
【Linux网络编程】第十四弹---构建功能丰富的HTTP服务器:从状态码处理到服务函数扩展
linux·运维·服务器·c语言·网络·c++·http
Hacker_Fuchen2 小时前
天融信网络架构安全实践
网络·安全·架构
上海运维Q先生2 小时前
面试题整理15----K8s常见的网络插件有哪些
运维·网络·kubernetes
ProtonBase2 小时前
如何从 0 到 1 ,打造全新一代分布式数据架构
java·网络·数据库·数据仓库·分布式·云原生·架构
fantasy_arch12 小时前
CPU性能优化-磁盘空间和解析时间
网络·性能优化