文章目录
https://img-blog.csdnimg.cn/direct/5fdd814ea00940a9ab09b16c60072941.png
一、互联网概述
1.网络、互联网和互连网概念:
- 计算机网络(网络)由若干节点和连接这些节点的链路组成
- 互连网是有多个网络通过一些路由器相互连接起来,构成了一个覆盖范围更多的网络
- 互联网是由数量极大的各种计算机网络互连起来的
2.互联网的组成
从工作方式看:
- 边缘部分:有所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信和资源共享
- 核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)
“主机A和主机B进行通信”实际就是“运行在主机A上的某个程序和运行在主机B上的另一个程序进行通信”,因此"主机A的某个进程和主机B上的另一个进程进行通信"简称为计算机之间的通信
2.1边缘部分的通信方式
(1)客户-服务器方式(C/S)
概念:描述进程之间服务和被服务的关系
客户与服务器的通信关系建立后,**通信可以是双向的,**客户和服务器都可以发送和接收
客户程序特点:
- 被用户调用后运行,在通信时主动向远地的服务器发起通信,因此客户程序必须知道服务器程序的地址。
- 不需要特殊的硬件和很复杂的操作系统
服务程序特点:
- 是一种专门用来提供某种服务的程序,可同时处理多个远地或本地服务的请求
- 系统启动后即一直不断地的运行着,被动地等待并接受来自各地的客户的通信请求。因此不需要知道客户程序的地址
- 一般需要有强大的硬件和高级的操作系统支持
(2)对等方式(P2P )
概念:是指两台主机在通信时,并不区分哪个一个是服务器请求方好哪个是服务提供方
本质上看仍然使用客户-服务器方式
2.2互联网核心部分
起特殊作用的是路由器,路由器实现分组交换的关键构建,其任务是转发收到的分组
工作方式:路由转发分组、路由之间的不断的交换信息
举个例子:A和B跨国寄邮件,A从某省寄出,邮件要经过 A省转A国------>A国到B国------>B国到B州,B从州拿到邮件,就实现了通信,邮件经过的地方就核心
(1)电路交换
在通信时一条物理连接被一直稳定地分配下去,通信成立后始终占用,直到通信结束才释放资源。电路交换的特点是通信时实时、稳定、可靠,但占用资源较多,通信质量会随着线路的高负荷而下降。
(2)报文交换
需要先将整个报文组装并检查整个报文的完整性,然后将整个报文一次性发送出去。报文交换的特点是传输效率较高,但对于需要及时响应的实时数据通信来说,由于等待报文组装的时间较长,无法满足实时性
(3)分组交换
将数码信息分割成等长的数据块,并加上控制信息组成数据包,不需要预先划定一个固定的通信路径,通过路由器在网络中选择最佳传输路径,然后按照顺序发送到目标地址。分组交换的特点是可靠性高、灵活性好、资源共享、传输效率高,但需要消耗大量的控制信息。并且,分组交换的传输时延比电路交换和报文交换都要高。
3.计算机网络的类别
3.1按照网络的作用范围分类
- 广域网(WAN):作用范围一般是几十到几千公里,也称远程网
- 城域网(MAN):作用范围一般是一个城市,可以跨越几个截区甚至整个城市(5-50km)
- 局域网(LAN):一般用微型计算机或工作站通过高速通信线路相连。(1km左右)
- 个人区域网(PAN):个人区域网就是在个人工作的地方把属于个人使用的电子设备用无线技术连接起来的网络(10m左右)
3.2按网络的使用者分类
- 公用网:这是指电信公司出资建造的大型网络
- 专用网:这是某个部门为满足本单位的特殊业务工作的需要而建造的网络。
4.计算机网络的性能(重点)
4.1性能指标
- 速率:指的就是数据的传送速率(单位bit/s)
- 宽带:指网络中某通道传送数据的能(单位bit/s)
- 吞吐量:表示在单位时间内通过某个网络的实际数据量(单位bit/s)
- 时延:就指数据从网络的一端到另一端所需的时间(重要)
(1)发送时延:主机或路由器发送数据帧所需要的时间
表示从发送数据的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间
公式: 发送时延=数据帧长度 bit) / 发送速率(bit/s)
(2)传播时延:在传播时延是电磁波在信道中传播一定的距离需要的花费的时间
公式:传播时延= 信道长度(m) / 电磁波在信道的传播速率(m/s)
传播时延和发送时延是有区别的:1)传输时延是在机器外部的传输;2)发送时延是在机器内部的传输
举个例子: 传输时延是公交车从开到站台前到所有乘客都上完车所花的时间;而传播时延是公交车在行驶过程中,从一站到下一站所花的时间。
(3)处理时延:主机或路由器在收到分组时要花费一定的时间进行处理
总时延:发送时延+传播时延+处理时延+排队时延
(4)排队时延:分组在进入路由器后要先在输入队列中排队等待处理。同理输出队列也是
(5)时延带宽积:
**公式:时延带宽积 (bit)=传播时延 * 宽带 **
(6)往返时间RTT
(7)利用率:有信道利用率和网络利用率。
信道利用率是指信道有百分之几的时间是被利用的(有数据通过)
网络利用率:则是全网络的信道利用率的加权平均值
公式:D= D0/1-U
D0:表示网络空闲时的时延,D:网络当前的时延 U:网络利用率
4.2非性指标
- 费用
- 质量
- 标准化
- 可靠性
- 可扩展性和可升级性
- 易于维护和管理
5.计算机网络体系结构(重要)
网络的体系结构就是计算机网络的各层及协议的集合
5.1协议与划分层次
5.1.1网络协议
为进行网络中的数据交换而建立的规则、标准或约定,也简称是协议
网络协议三个基本要素是:
- 语法:即数据与控制信息的结构或格式
- 语义:即需要发出何种控制信息,完成何种动作以及做出何种响应
- 同步:即事件实现顺序的详细说明
5.1.2划分层
分层的作用:
- 各层之间是独立的
- 灵活性较好
- 结构上可分割开
- 易于实现和维护
- 能促进标准化工作
5.2具有五层协议的体系结构
自顶向下说明:
5.2.1应用层
应用层的任务是通过应用进程间的交互来完成特定网络应用。
应用层协议定义的是应用进程间的通信和交互的规则(协议如:HTTP,SMTP等)(数据单位是报文)
5.2.2运输层
运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务
主要使用TCP(数据单位是报文段)和UDP(数据单位是用户数据报)
5.2.3网络层
网络层负责为分组交换网上的不同主机提供通信服务(数据单位是分组)
5.2.4数据链路层
数据链路层主要负责将物理层传输的比特流组织成帧,并提供错误检测和校正,以确保数据的可靠传输(数据单位是帧)
5.2.5物理层
物理层的主要任务数据从发送方传输到接收方,通过物理媒介传输比特流(数据单位是比特)
5.3实体、协议、服务和服务访问点(重要)
实体:表示任何可发送或接收信息的硬件或软件进程。许多情况下,实体就是一个特定的软件模块
协议:是控制两个对等实体(或多个实体)进行通信的规则的集合
服务:是由下层向上层通过层间接口提供
服务原语:上层所提供的服务必须通过与下层交换一些命令(OSI)
服务访问点(SAP):在同一个系统中相邻两层的实体进行交互的地方
服务数据单位(SDU):OSI把层与层之间交换的数据单位
协议数据单位(PDU):OSI把对等层次之间传送的数据单位(控制信息和用户信息)
协议与服务的区别:协议是两个对等实体之间进行通信规则的集合;服务是指一个系统中的下层向上层提供的功能
协议与服务的关系:协议的实现保证了能够向上层提供服务,要实现本层协议还需要下层提供的服务
二、练习题
1.试简述分组交换的要点
- 存储转发
- 分段重组
- 独立选路
分组交换最主要的特点就是采用存储转发技术;将要发送的整块数据称为一个报文。在发送报文之前,先把较长的报文划分成为一个个更小的等长数据段,在每一个数据段前面加上一些必要的控制信息组成的首部后,就构成了一个分组。分组又称为“包”,是在互联网中传送的数据单元。正是由于分组的首部包含了目的地址、源地址等重要控制信息,每一个分组才能在互联网中独立的选择传输路径;路由器是用来转发分组的,每收到一个分组,先临时存储下来,再检查其首部,查找转发表,按照首部中的目的地址,找到合适的接口转发出去,把这个分组转交给下一个路由器。这样一步步的经过若干个或几十个不同的路由器,以存储转发的方式,把分组交付最终的目的主机,最后在目的主机完成分组重组,还原为原始报文。
2. 有一个点对点链路,长度为20000km。数据的发送速率是1kbit/s,要发送的数据有100bit。数据在此链路上的传播速度为2×10^8m/s。假定我们可以看见在线路上传输的比特,试画出我们看到的线路上的比特(画两个图,一个在100bit刚刚发送完时,另一个是再经过0.05s后)。
考查:时延
(1)转播时延的单位是 m/ (m/s) 发送时延是 bit / (bit/s)
传播时延:2000010^3m / 210^8 m/s = 0.1s
发送时延:100bit / 110^3 bit/s =0.1s
(2)发送时延表示从发送数据的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间
发送时延的时间与传播时延比是1 ,2000010^3(km) * 1=20000*10^3(km)
3. 有一个点对点链路,长度为20000km。数据的发送速率是1Mbit/s,要发送的数据有100bit。数据在此链路上的传播速度为2×10^8m/s。假定我们可以看见在线路上传输的比特,试画出我们看到的线路上的比特(画两个图,一个在100bit刚刚发送完时,另一个是再经过0.05s后)。
这个题和上面的题的区别是
转播时延不变,发送时延变成 100 bit /1 Mbit/s =10^(-4)s **
转播时延和发送时延比为 0.0001/0.1=0.001 20000*10^3(km) * 0.001 =20km
0.05/0.0001=500 20km * 500 =10000km
4. 有一个点对点链路,长度为50km。若数据在此链路上的传播速度为2×10^8m/s,试问链路的带宽为多少才能使传播时延和发送100字节的分组的发送时延一样大?如果发送的是512字节长度的分组,结果又应如何?
公式:
1)时延带宽积 (bit)=传播时延 * 宽带
3)传播时延= 信道长度(m) / 电磁波在信道的传播速率(m/s)
传播时延 = 50km / 2*10^8 m/s =25 * 10^(-4) s
100字节的带宽 = 100bit / 25 * 10^(-4)s 约等于3.2Mbit/s
512字节的宽带= 512bit / 25 * 10^(-4) s 约等于16.4 Mbit/s
5. 题目
假定要在网络上传送1.5MB的文件。设分组长度为1KB,往返时间RTT=80ms。传送数据之前还需要有建立TCP连接的时间,这时间是2×RTT=160ms。试计算在以下几种情况下接收方收完该文件的最后一个比特所需的时间。
(1)数据发送速率为10Mb/s,数据分组可以连续发送。
(2)数据发送速率为10Mb/s,但每发送完一个分组后要等待一个RTT时间才能再发送一个分组。
(3)数据发送速率极快,可以不考虑发送数据所需的时间。但规定在每一个RTT往返时间内只能发送20个分组。
(4)数据发送速率极快,可以不考虑发送数据所需的时间。但在第一个RTT往返时间内只能发送一个分组,在第二个RTT内可发送两个分组,在第三个RTT内可发送四个分组(即2(3-1)=22=4个分组)。
分析:
我们可以计算出需要传输的数据量为1.5MB,即1.5 * 2^20=1048576。建立TCP连接的时间为2×RTT=160ms,即0.16s。
总传输时间为传输时间+建立TCP连接的时间+最后一个分组的传播时间。
关于最后一个分组的传播时间:需要等待一个RTT的时间来接收确认信息
(1)数据发送速率为10Mb/s,数据分组可以连续发送。传输时间为1.5*2^20 *8bit/ 10 *10 ^ 6 b/s)=1.258s。最后一个分组的传播时间为0.5×RTT=40ms,即0.04s。因此,总时间为1.258s+0.16s+0.04s=1.458s。
(2)数据发送速率为10Mb/s,但每发送完一个分组后要等待一个RTT时间才能再发送一个分组。需要划分的分组数为1.5MB/1KB=1536。因此,需要等待的时间为1535×RTT=122.8s。最后一个分组的传播时间为0.5×RTT=40ms,即0.04s。因此,总时间为122.8s+1.258s+0.16s+0.04s=124.258s。
(3)数据发送速率极快,可以不考虑发送数据所需的时间。但规定在每一个RTT往返时间内只能发送20个分组。需要划分的分组数为1.5MB/1KB=1536。因此,需要76个RTT来传输所有分组。最后一个分组的传播时间为0.5×RTT=40ms,即0.04s。因此,总时间为76×RTT+1.258s+0.16s+0.04s=6.28s。
(4) 在两个RTT后就开始传送数据。
经过n个RTT后就发送了1+2+4+…+2n=2^n-1个分组。
若n=10,那么只发送了2^10-1=1023个分组。可见10个RTT不够。
若n=11,那么只发送了2^11-1=2047个分组。可见11个RTT足够了。
最后一个分组的传播时间为0.5×RTT=40ms
这样,考虑到建立TCP连接的时间和最后的分组传送到终点需要的时间,现在总共需要的
时间=(2+10+0.5)×RTT=12.5×0.08=1s。
#####仅个人观点,可指正