计算机网络概述

既然我们无法逃避接触互联网,那么为何不去了解它并且使用它。 ——因特网“之父” 温顿.瑟夫

因特网概述

1、网络、互联网与因特网的区别与关系

多节点之间通过有线链路连接起来的有线链路简单网络

image-20221106153755198

节点间也可以通过无线链路连接实现无线链路简单网络

image-20221106154011167

image-20221106154222163

网络与网络之间可以通过路由器实现连接

image-20221106154255696

互联网

互联网是网络的网络

image-20221106154356488

因特网

因特网是世界上最大的互联网

image-20221106154629664

网络、互联网与因特网的区别与联系

image-20221106155102836

互联网(internet)与因特网(Internet)单词介绍

image-20221106155202359

2、因特网简介

因特网发展三个阶段

image-20221106155641253

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

普通用户是如何接入到互联网的呢?

通过ISP接入因特网,ISP可以从因特网管理机构申请到成块的IP地址,同时拥有通信线路以及路由器等连网设备;

任何单位和个人都可以通过ISP接入到互联网,只需要按ISP的规定缴纳费用即可。

我国的ISP有中国电信、中国移动、中国联通三大运营商,他们向广大用户提供因特网接入服务、信息服务和增值服务

image-20221106160544946

基于ISP的多层次结构的互连网络

image-20221106160953338

因特网标准化工作

因特网的标准化工作是面向公众的,其任何一个建议标准在成为因特网标准之前都以RFC技术文档的形式在因特网上发表。

RFC(Request For Comments)的意思是“请求评论”。任何人都可以从因特网上免费下载RFC文档(http://www.ietf.org/rfc.html),并随时对某个RFC文档发表意见和建议。

目前的制定因特网标准的过程:

image-20221106161522338

因特网的管理机构

image-20221106161729243

因特网的组成

核心部分+边缘部分

image-20221106162013636

电路交换、分组交换和报文交换

1、电路交换、分组交换和报文交换

电路交换

电路交换:电话交换机接通电话线的方式

image-20221106162826729

使用电路交换进行通信需要经历建立连接、通话、释放连接三个步骤

建立连接:分配通信资源,例如:使用电路交换打电话之前主叫方必须首先进行拨号以请求建立连接,当被叫方听到电话交换机送来的振铃音并摘机后,从主叫方到被叫方就建立了一条专用的物理通路简称为连接,这条连接为通话双方提供了通信资源,此时主叫方和被叫方可以基于已建立的连接进行通话了(打电话过程)

通话:一直占用通信资源;在整个通话期间,通话双方始终占用着连接,通信资源不会被其他用户占用(两人通话期间,第三者无法打通其中任一人电话)

释放连接:归还通信资源;通话完毕挂机后,从主叫方到被叫方的这条专用物理通路被交换机释放,将双方所占用的通信资源归还给电信网(挂机)

image-20221106164239702

计算机之间的数据传送是突发式的,当使用电路交换来传送计算机数据时,其线路的传输效率一般都会很低,线路上真正用来传送数据的时间往往不到10%甚至1%。(例如即时通讯工具QQ,QQ只要登陆会一直在线,如果采用电路交换,资源会被一直占用,而大多数时间不会用来传输数据,资源利用率太低)。因此计算机之间的数据传输不适合电路交换,而是下面所要讲的分组交换

分组交换

表示消息的整块数据成为一个报文

较长的报文一般不适宜直接传输,如果报文太长则对交换节点的缓存容量有很大的要求,在错误处理方面也会比较低效,因此需要将较长的报文划分成若干个较小的等长数据段在每个数据段前面添加一些由必要的控制信息组成的首部,这样就构造出了一个个分组。

添加首部的作用是什么?这不是额外加大了待传输的数据量吗?

实际上,首部起着非常关键的作用,首部中肯定包含了分组的目的地址,否则分组传输路径中的个个交换节点就不知道如何转发分组了

【分组交换过程】

源主机将分组发送到分组交换网中,分组交换网中的交换节点收到一个分组后先将其缓存下来,然后从其首部中提取出目的地址,按照目的地址查找自己的转发表找到相应的转发接口后将分组转发出去把分组交给下一个交换节点,经过多个交换节点的存储转发后,分组最终被转发到目的主机,主机收到这些分组后,去掉他们各自的首部将各数据段组合还原出原始报文

分组交换过程中,不是整条链路被占用,只是转发分组过程交换节点与交换节点之间会被占用,不会有过多的资源浪费

发送方、交换节点以及接收方分别作用

发送方(源主机):只需要将长报文构造分组、发送分组

交换节点:缓存分组、转发分组(存储转发)

接收方(目的主机):接收分组、还原报文

image-20221106171358763

分组交换优缺点

image-20221106172103553

报文交换

image-20221106172242116

2、三种交换方式对比

假设源主机与目的主机之间有两个交换节点,纵坐标为时间

image-20221106174057032

电路交换: 通信之前需要建立连接,连接建立成功之后进行数据传输,数据传输结束之后需要释放连接(将双方所占用的通信资源归还给电信网)

报文交换:无需首先建立连接,可以随时发送报文,通信结束后也无需释放连接,数据传送单元为整个报文,传送路径中的交换节点只有在完整接收到报文后才能对其进行查表转发,将整个报文发送到下一个节点

分组交换:可以随时发送分组,而不需要事先建立连接,构成原始报文的一个个分组,依次在各交换节点上存储转发,各交换节点在转发分组的同时还缓存接收到的分组

当使用电路交换时,一旦建立连接中间的各交换节点就是直通形式的,数据可以直达终点;当使用报文交换时,整个报文需要在各交换节点上存储转发,由于不限制报文的大小,因此需要各交换节点都具有较大的缓存空间;当使用分组交换时,构成原始报文的一个个分组在交换节点间进行存储转发,相比报文交换较少了转发时延,还可以避免过长的报文长时间占用链路,同时也有利于进行差错控制。

image-20221106174239668

计算机网络的定义和分类

1、计算机网络的定义

计算机网络没有精确和统一的定义不同阶段,不同定义反映当时计算机网络技术的发展水平

计算机网络早期的一个简单的定义:即计算机网络是一些互连自治计算机的集合

互连是指计算机之间可以通过有线或无线的方式进行数据通信。

自治是指独立的计算机它们有自己的硬件和软件,可以独立运行。

计算机集合是指至少需要两台以上计算机。

image-20221106203315278

现阶段计算机网络比较好的定义:

image-20221106203432082

2、计算机网络的分类

不同角度进行分类

可以从不同角度对计算机网络进行分类,不同角度如下:

image-20221106203616360

交换方式

电路交换、报文交换、分组交换

image-20221106203702700

使用者

公用网和专用网

image-20221106203900173

传输介质

有线网络和无线网络

有线网络包括双绞线网络、光纤网络等

无线网络是WiFi技术应用比较广泛

image-20221106204204450

覆盖范围

广域网(WAN)、城域网(MAN)、局域网(LAN)、个域网(PAN)

image-20221106204635709

拓扑结构

总线型、星型、环型、网状型等

image-20221106204823014

总线型网络:使用单根传输线把计算机连接起来,其优点是建网容易、增减节点方便、节省线路,缺点是重负载时通信效率不高,总线任意一处出现故障则全网瘫痪。

image-20221106205158282

星型网络:每台计算机都以单独线路与中央设备相连,中央设备早期是计算机,后期是集线器,现在一般是交换机或路由器,其优点是便于网络的集中控制和管理,缺点是成本高,中央设备对故障敏感。

image-20221106205626230

环型网络:所有计算机的网络接口都连接成一个环,最典型的例子是令牌环局域网,环可以是单环也可以是双环,环中信号是单向传输的。

image-20221106205940682

网状型网络:一般情况下,每个节点至少有两条路径与其他节点相连,多用在广域网中,其优点是可靠性高,缺点是控制复杂、线路成本高。

另外说明:以上四种基本的网络拓扑还可以互连为更复杂的网络。

计算机网络性能指标

计算机网络的性能指标被用来从不同方面度量计算机网络的性能

常用的八个计算机网络性能指标

image-20221106210840203

速率

image-20221106211148560

image-20221106211328486

image-20221106211340629

【练习题】有一个待发送的数据块,大小为100MB,网卡的发送速率为100Mbps,则网卡发送完该数据块需要多长时间?

100 * 2^20 * 8 bit / 100 * 10 ^6 bit/s = ?

答案解析如下:

宽带

image-20221106212403792

线路的频率带宽越宽,其所传输数据的最高数据率也越高。

数据传输速率应从主机接口速率,线路带宽,交换机或者路由器的接口速率三者中取小者。

image-20221106212858519

举例:

image-20221106213046007

从本例可以看出,在构建网络时,应该做到各设备以及传输介质的速率匹配,这样才能完全发挥出本应具有的传输性能

吞吐量

image-20221106213501600

时延

image-20221106213659070

以下是分组从源主机传送给目的主机的过程中,都会在哪些地方产生时延。

源主机把分组发往数据传输线路耗费的时间称之为发送时延

代表分组的电信号在链路上传播耗费的时间称之为传播时延

分组进入路由器后,会在路由器的输入队列中排队缓存并等待处理,在路由器确定了分组的转发接口后,分组会在输出队列中排队缓存并等待转发,分组在路由器的输入队列和输出队列排队缓存所耗费的时间称之为排队时延

在分组从源主机传送到目的主机的过程中,分组往往要经过多个路由器的转发,分组在每个路由器上产生的排队时延的长短往往取决于网络当时的通信量和路由器的自身性能,由于网络的通信量随时间变化很大,各路由器的性能也可能并不完全相同,因此排队时延无法用一个简单的公式进行计算。另外当网络通信量很大时,可能会造成路由器得队列溢出,使分组丢失,这相当于排队时延无穷大。

路由器从自己的输入队列中,取出排队缓存并等待处理得分组后,会进行一系列处理工作,例如:检查分组首部是否误码、提取首部中的目的地址为分组查找相应的转发接口以及修改分组首部中的部分内容(例如生存时间等),路由器对分组进行这一系列处理工作所耗费的时间称之为处理时延

image-20221106220113410

image-20221106220130601

综上所述:时延由发送时延传播时延排队时延以及处理时延构成

计算时延需要有以下注意点(发送速率最小值以及不同传输介质传输速率

image-20221106220253601

特别要注意:使用光纤作为传输介质给我们带来的上网感受就是快,但这并不是应为光在光纤中的传播速率快,实际上光在光纤中的传播速率还略低于在铜线中的传播速率,而电磁波在自由空间中的传播速率就是光速(即3 x 10^8 m/s)。光纤网络速度快的根本原因在于光纤的带宽很大也就是所能承载的最高数据传送速率很大(即单位时间内可传送更多的比特)。

时延带宽积

image-20221106222337184

看下面这个例子:

image-20221106222634102

若主机A连续发送数据,则在发送的第一个比特即将到达主机B时,发送端已经发送了时延带宽积个比特。(对于上例是5000比特)

往返时间

image-20221106223056280

image-20221106223610538

利用率

利用率分为链路利用率网络利用率

image-20221106224125360

image-20221106224159686

image-20221106224526001

由上图可知,网络利用率不是越大越好,当网络利用率接近100%时,网络时延趋于无穷大。过高的网络利用率会产生非常大的时延,网络利用率太低,会使宝贵的通信资源被白白浪费。

丢包率

image-20221106224934098

分组丢失主要有以下两种情况:

  • 分组在传输过程中出现误码,被传输路径中的节点交换机(例如路由器)或目的主机检测出误码而丢弃
  • 节点交换机根据丢弃策略主动丢弃分组。

丢包率反应了网络的阻塞程度:

image-20221106225340297

当网络丢包率较高时,通常无法使网络应用正常工作。

计算机网络体系结构

常见的三种计算机网络体系结构

OSI体系结构(七层),TCP/IP体系结构(四层),五层体系结构。

  • OSI体系结构: 概念清楚,理论也比较完整,但是它既复杂又不实用。
  • TCP/IP体系结构:TCP/IP是一个四层体系结构,得到了广泛的运用。
  • 五层体系结构:为了方便学习,折中OSI体系结构TCP/IP体系结构,综合二者的优点,这样既简洁,又能将概念讲清楚。

image-20221107203552626

image-20221107205445168

TCP/IP与OSI最大的不同在于:OSI是一个理论上的网络通信模型,而TCP/IP则是实际运行的网络协议。

IP协议可以将不同的网络接口进行互连,并向其上的TCP协议和UDP协议提供网络互连服务;TCP协议在享受IP协议提供的网络互连的基础上可向应用层的某些协议提供可靠传输的服务,UDP协议在享受IP协议提供的网络互连的基础上可向应用层的某些协议提供不可靠传输的服务。IP协议作为TCP/IP体系结构中的核心协议,一方面负责互连不同的网络接口,另一方面为各种网络应用提供服务。

由于TCP/IP体系结构中包含有大量的协议,而IP协议和TCP协议是其中非常重要的两个协议,因此用TCP和IP这两个协议来表示整个协议大家族,常称为TCP/IP协议族

image-20221107205413227

计算机网络体系结构分层的必要性

计算机网络是个非常复杂的系统,“分层”可将庞大复杂的问题转化为若干较小的局部问题,而这些较小的局部问题就比较容易研究和处理。

由简单到复杂实现计算机网络要面临哪些主要问题以及对应的分层结构

物理层

两台计算机通过一条链路连接起来,这种最简单的情况需要考虑以下问题

image-20221107210358581

传输媒介有

image-20221107210505857

物理接口

image-20221107210529538

信号:高电平表示比特1,低电平表示比特0

image-20221107210608129

数据链路层

主机A、B、C通过总线连成一个总线型网络,假设我们已经解决了物理层的问题即主机间可以通过信号来传送比特0和1。

现在这样的总线型网络还面临什么需要解决的问题

image-20221107212207858

假设主机A要给主机B发送数据,表示数据的信号会通过总线传播到总线上的每一个主机,那么问题来了主机B如何知道这是主机A发送给它的数据进而接受该数据,而主机C又如何知道该数据并不是发送给它的应该丢弃该数据呢?

主机在发送数据时,应该给数据附加上源地址目的地址,当其他主机收到数据后根据目的地址和自身地址是否匹配,来决定是否接受该数据,还可以通过源地址知道这是哪个主机发来的数据

主机A和主机C同时使用总线来发送数据,这必然会造成信号碰撞,因此如何协调各主机争用总线也是必须要解决的问题

image-20221107212409213

需要说明的是上述这种总线型网络早已淘汰,现在常用的是使用以太网交换机将多台主机互连而成的交换式以太网,在交换式以太网中多对主机之间可以同时通信而不会产生碰撞。那么以太网交换机又是如何实现的呢?自学习转发帧

image-20221107213139418

还会有以下问题:

image-20221107213602417

网络层

由上可知只要解决了物理层和数据链路层各自所面临的问题,就可以实现数据包在一个网络上传输了(确实是这样)。然而我们的网络应用往往不仅限于在一个单独的网络上。例如:我们几乎每天都会使用的因特网是由非常多的网络和路由器互连起来的,仅解决上述物理层和数据链路层的问题还是不能正常工作,我们可以把下面一个小型互联网看作是因特网中很小的一部分。看看该小型互联网中需要考虑的主要问题有哪些?

image-20221107214631262

运输层

至此如果我们解决了物理层、数据链路层以及网络层各自的问题,就可以实现数据包在多个网络之间的传输了,然而对于计算机网络应用而言,仍有一些重要问题需要考虑。例如假设主机H3中运行着两个与网络通信相关的应用进程,一个是浏览器进程,另一个是QQ进程,H2这台web服务器运行着与网络通信相关的web服务器进程例如Nginx,此时当主机H3收到web服务器中Nginx进程发来的数据包后,应将数据包交付给浏览器进程还是QQ进程?

image-20221107215739777

应用层

至此,如果我们解决了物理层、数据链路层、网络层以及运输层各自的问题,则可以实现进程之间基于网络的通信,在此基础上可以制定各种应用协议,并按协议标准编写相应的应用程序,通过应用进程之间的交互来实现特定的网络应用。另外在制定应用协议时,还需要考虑应用进程基于网络通信时的会话管理问题和数据表示问题。

image-20221107220718891

总结:原理体系结构

至此,我们将实现计算机网络所需要解决的各种主要问题,分别划归到了物理层、数据链路层、网络层、运输层以及应用层。

image-20221107221231880

计算机网络体系结构分层思想举例(浏览器输入url会发生什么)

主机属于网络N1,web服务器属于网络N2,N1和N2通过路由器互连,用户在主机中使用浏览器访问web服务器,当用户在浏览器地址栏中输入web服务器域名后,主机会向web服务器发送一个请求报文,web服务器收到请求报文后执行相应的操作,然后给主机发送响应报文,主机收到响应报文后,由浏览器负责解析和渲染显示。
在这里插入图片描述
主机与web服务器之间基于网络的通信,实际上是主机中的浏览器应用进程与web服务器中的web服务器进程之间基于网络的通信,具体流程如下:
在这里插入图片描述
请求与响应流程类似:
image-20221107231511720

计算机网络体系结构中的专用术语

image-20221107231640444

实体

image-20221107232231164

像上图,处于物理层和数据链路层的网卡(硬件)和处于应用层的浏览器进程和web服务器Nginx进程(软件)都是对等实体。

协议

image-20221107232543842

协议三要素

语法、语义、同步

image-20221107232634702

image-20221107232958810

服务

image-20221107233135617

image-20221107233231612

image-20221107233426183

image-20221107233514040

image-20221107233537968

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不进大厂不改名二号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值