Network
)由若干**结点(Node)和连接这些结点的链路(Link)**组成i
的internet
是通用名词,互连的网络都叫internet
】因特网服务提供者(
Internet Service Provider
)
普通用户如何接入因特网?
通过
ISP
接入因特网。ISP
可以从因特网管理机构申请到成块的IP
地址,同时拥有通信线路以及路由器等连网设备,任何机构和个人只要向ISP
交纳规定的费用,就可以从ISP
得到所需要的IP
地址。互联网上的主机都必须有IP
地址才能通信
基于ISP的三层结构的因特网
层数越小覆盖越多
电话问世后,人们发现所有电话之间都两两相连是不现实的。因此可以用一个中间设备将讲话接入,根据需要进行转发
电话交换机接通电话线的方式称为电路交换
从通信资源分配角度来看,交换(Switch
)就是按照某种方式动态地分配传输线路的资源
报文交换与分组交换类似,不过对报文没有限制大小,现如今多使用分组交换。
纵坐标为时间,分组交换相对报文交换分的更小,可以减少时延,防止过长时间占用线路以及方便排错
一些互相连接的、自治的计算机的集合
比较中肯的计算机网络定义:
按交换技术:①电路交换网络 ②报文交换网络 ③分组交换网络
按使用者:①公用网 ②专用网
按传输介质:①有线网络 ②无线网络
按覆盖范围:①广域网WAN ②城域网MAN ③局域网LAN ④个域网PAN
按拓扑结构:①总线型网络 ②星型网络 ③环型网络 ④网状型网络
性能指标可以从不同的方面来度量计算机网络的性能
比特
计算机中的数据量单位,也是信息论中信息量的单位。一个比特就是二进制数字中的一个
1
或0
.
常用数据量
速率
连接在计算机网络上的主机在数字信道上传送比特的速率,也称为比特率或数据率
常用数据率单位
有点去近似值的样子:10的三次方约等于2的十次方。
b i t / s 可缩写为 b / s 或 b p s 1 k b / s = 1 0 3 b / s 1 M b / s = 1 0 6 b / s 1 G b / s = 1 0 9 b / s 1 T b / s = 1 0 12 b / s bit/s可缩写为b/s或bps\\1\ kb/s=10^{3}\ b/s\\1\ Mb/s=10^{6}\ b/s\\1\ Gb/s=10^{9}\ b/s\\1\ Tb/s=10^{12}\ b/s\\ bit/s可缩写为b/s或bps1 kb/s=103 b/s1 Mb/s=106 b/s1 Gb/s=109 b/s1 Tb/s=1012 b/s
带宽在模拟信号系统中的意义
信号所包含的各种不同频率成分所占据的频率范围
单位:
Hz(kHz,MHz,GHz)
带宽在计算机网络中的意义
就是速率的最大值咯。
用来表示网络的通信线路所能传送数据的能力,因此网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的"最高数据率"
单位:
b/s(kb/s,Mb/s,Gb/s,Tb/s)
一条通信线路的"频带宽度"越宽,其所传输数据的"最高数据率"也越高
就是速率的实际值咯。
吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量。
吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
吞吐量受网络的带宽或额定速率的限制
在处理过程中所需要的时间
在许多情况下,因特网上的信息不仅仅单方向传输,而是双向交互
我们有时很需要知道双向交互一次所需要的时间
因此,往返时间RTT(Round-Trip Time)
也是一个重要的性能指标
信道利用率:用来表示某信道有百分之几的时间是被利用的(有数据通过)
网络利用率:全网络的信道利用率的加权平均
根据排队论,当某信道的利用率增大时,该信道引起的时延也会迅速增加。因此信道利用率不是越高越好
如果令** D 0 D_0 D0表示网络空闲时的时延**,D表示网络当前的时延,那么在适当的假定条件下,可以用下面的简单公式来表示D
、 D 0 D_0 D0和利用率U之间的关系
$D=\dfrac{D_0}{1-U}$
当网络利用率U
到50%
时,时延急剧增大。
当网络利用率接近100%
时,时延趋于无穷大
但是也不能使信道利用率过低,这回使宝贵的通信资源被浪费
因此一些拥有较大主干网的ISP
通常会控制它们的信道利用率不超过50%
。如果超过了,就要准备扩容,增大线路带宽
丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率
具体可分为:接口丢包率、结点丢包率、链路丢包率、路径丢包率、网络丢包率等
丢包率是网络运维人员非常关心的一个网络性能指标,但对于普通用户来说往往并不关心这个指标,因为他们意识不到丢包
分组丢失的两种情况
丢包率反映了网络的拥塞情况
0
1%~4%
5%~15%
tcp/ip体系结构:(这里的网络接口层是抽象的,所以一般使用远离体系结构来教学)
配合视频食用效果会更好!
在平常编程时,我们总是喜欢利用不同的类实现不同的功能,最后进行整合实现真正的功能。这样的好处是让结构更加清晰,维护也更加简单。计算机网络分层同理,在计算机网络上实现不同进程的通信需要解决众多问题,分层便于维护与管理。
当我们利用浏览器发送网页请求到服务器并发生响应的过程中,数据会怎么变化呢?
注意,运输层有可能是不可靠传输的udp,这里老师用tcp举例:
动画就是,一层一层的处理,会增加减少相应的码,层层封装的样子。
浏览器发送
HTTP协议
的规定构建一个HTTP请求报文(请求要干什么)。应用层将HTTP请求
的报文交给运输层处理HTTP请求
报文添加一个TCP首部(区分应用进程),使之成为TCP报文段
。运输层将TCP报文段
交给网络层处理TCP报文段
添加一个IP首部(使之可以在互联网上传输),使之成为IP数据报
。网络层将IP数据报
交付给数据链路层处理IP数据报
添加一个首部(让其能在一段链路上传输,能被相应主机接收)和一个尾部(让目的主机检查所接收到的帧是否有误码),使之成为帧。数据链路层将帧交给物理层路由器转发
IP数据报
首部,从中提取目的网络地址,然后查找自身路由表,确定转发端口。接着数据链路层封装,物理层再封装,将比特流变成信号发送出去。服务器接收
IP数据报
后,去除IP首部
,将其交付给运输层**(交付的实际是TCP报文)**TCP报文
后,从中得知是与哪个端口上的进程通信,去除TCP头部
后,交付给应用层**(交付的实际是HTTP请求报文)**HTTP请求
报文后,将其解析给对应进程,并执行相关操作,返回HTTP响应报文任何可发送或接收信息的硬件或者软件进程
对等实体:收发双方相同层次中的实体
控制两个对等实体进行**逻辑通信(这种通信实际上不存在,只是便于我们考虑问题)**的规则的集合
三要素
(就像手机为我们提供服务,但是我们并不知道具体是如何实现的)
服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口(就像Web里的request域,后端前端都能取到),用于区分不同的服务类型
服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语
协议数据单元PDU(横向):对等层次之间传送的数据包称为该层的协议数据单元
服务数据单元SDU(竖向):同一系统内,层与层之间交换的数据报称为服务数据单元
多个SDU可用合成为一个PDU;一个SDU也可以划分为几个PDU
小建议后面每学完一章,就回过头来对这部分内容进行思考。小小的博客乐园 (ladidol.top)
计算机网络微课堂湖科大版本_哔哩哔哩_bilibili
计算机网络详细笔记【湖科大教书匠,内含B站链接】_Infinity_and_beyond的博客-CSDN博客_湖科大教书匠