本系列文章来源于《计算机网络教程》谢钧,谢希任 著
学习后的个人总结和一些内容补充和修改
当网络通过路由器进行互连形成覆盖范围更大的网络即互联网,所以互联网称为网络的网络
网络(Network)由若干结点(Node)和连接这些节点的链路(Link)组成
指计算机,集线器,交换机,路由器等
当网络通过路由器进行互连形成覆盖范围更大的网络即互联网
世界上最大的互联网络,将接入Internet中的计算机称为主机(Host)
采用TCP/IP协议作为通信的规则前生为ARPANET
路由器是一种特殊的计算机,它是连接不同网络的专用设备,用户并不直接使用路由器处理信息,故路由器不能称为主机
网络把许多计算机连接在一起,而互联网则把许多网络连接在一起,因特网是世界上最大的互联网
从单个网络ARPANET向互联网发展
单个的分组交换网
逐步建成了三级结构的因特网
逐渐形成了多层次ISP结构的因特网
所有的因特网标准都是以RFC文档形式在因特网上发表,意思是request for comments 请求评论,皆可在http://www.ietf.org/rfc.html上免费下载
但不是所有的RFC文档都符合因特网标准
从功能上可分为2个部分
将主机分为客户机(client)和服务器(server)
客户机(用户)向服务器发送请求,服务器向客户机提供服务(响应请求返回处理)
称为对等方式peer to peer
通常情况下没有固定的服务请求者和服务提供者,分布在网络中的应用进程是对等的,被称为对等方,主机之间直接进行通信
P2P方式可支持大量用户同时工作
在核心部分中起到特殊作用的是路由器,是实现分组交换的关键构件,任务是转发收到的分组,是网络核心部分最重要的功能
计算机网络常采用的一种通信方式,将一个数据报文划分为几个分组的概念
报文:指要发送的整块数据
储存转发时每个分组交换机都会接收分组并存储再更具首部查找目标地址,寻找转发表进行转发最后发送到客户机
我想这张我画的图应该可以说清除
每个分组交换机有多条链路与之相连,对于每条链路,分组交换机有一个输出缓存(又称数据队列)用于存储分组交换机准备发送到其他链路的分组,在分组交换中起着重要作用
若到达的分组需要从某条链路转发出去,但该链路正在传输其他分组,则必须进行排队等待,当一个分组到达时发现输出缓存已满则会发生分组丢失
当网络中大量分组需要从某条链路中进行转发导致分组丢失就称为拥塞
使用交换机进行电话线路连通称为电路交换
电路交换进行数据传输的效率很低(线路的传输效率)
建立连接 ==》通话 ==》释放连接
和分组交换性质相同省去其中分组
一些互连的自治的计算机的集合
指数据的传送速率,也称为数据率或比特率,是计算机网络中最重要的一个性能指标
计算机中数据量的单位,是二进制的
bit/s或bps或b/s
换算1000进:1kb/s = 1000b/s
指某个信号具有的频带宽度或表示网络的通信线路所能传送数据的能力
当指某个信号具有的频带宽度时单位为:赫Hz
当表示网络的通信线路所能传送数据的能力时单位为:bit/s
也称为吞吐率,表示在单位时间内通过某个网络的数据量
受到网络带宽或网络的额定速率的限制
单位同比特
指数据从网络的一端传输到另一端所用的时间,也称延迟或迟延
也称传输时延
主机或路由器将分组发送到通信线路上所需要的时间
公式:发送时延 = 分组长度 / 发送速率
单位:bit
在分组交换中计算机在发送数据时以信道最高数据率发送数据。所以发送速率可改为信道带宽
是电磁波在信道中需要传播一定的距离而花费的时间
公式:传播时延 = 信道长度 / 电磁波在信道上的传播速率
在光纤中一般为2*10^5 km/s
主机或路由器受到分组后所花费的处理时间(俗称解包)
在分组交换进行网络传输时需要经过多个路由器,分组会在每个路由器中进行相应的接收==》存储==》解析==》转发一套过程,数据量多时造成的数据排队的时间就是排队时延
即分组丢失率,指在一定时间范围内分组传输过程中丢失的分组数量与总的分组数量的比率
可分为:接口丢包率,结点丢包率,链路丢包率,路径丢包率,网络丢包率等
通信量大时造成的网路拥塞导致分组交换机的队列溢出和分组丢失是主要原因
丢包率高时用户感受到的仅是网络延时大,网速慢而不是信息丢失
分为信道利用率和网络利用率两种
信道的利用率并不是越高越好,利用率大时反而易造成网络拥塞以致丢包等问题产生
一般来说ISP通常会控制信道利用率在50%以下
若超出则需要扩容
指某信道有数据通过量,完全闲置的信道的利用率为0
全网路的信道利用率的加权平均值
协议和分层的体系结构是最重要的!
计算机网络由多个结点组成,当各个结点需要进行数据交换时需要遵守相关的规则称为网络协议
网络协议明确规定了所要交换的数据的格式和时序,以及在发送或接收数据时要采取的动作等问题
计算机网络的层次模型与各层协议的集合
指这个计算机网络及其部件所应完成的功能的精确定义
体系结构是抽象的,实现是具体的,是正在运行的计算机硬件和软件
如何通过应用进程间的交互来完成特定的网络应用
HTTP,SMTP电子邮件协议,FTP文件传输协议
应用层交互的数据单元
负责向两台主机中进程之间的通信提供通用的数据传输服务
为分组交换网上的不同主机提供通信服务
在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传输
由于网络层使用IP协议,因此分组也叫做IP数据报
IP协议
将分组从链路的一端传送到另一端
称为帧
每一帧包括数据和必要的控制信息,如有错则数据链路层会丢弃有错误的帧以免浪费资源
在传输媒体上传送比特流(即01二进制数据)
比特
表示任何可发送或接收信息的硬件或软件进程
控制两个对等实体进行通信的规则的集合
例如应用层所要使用的HTTP协议
在协议的控制下,两个对等实体间通信使得本层能够向上一层提供服务要实现本层协议,还需要使用下一层所提供的服务
这里我写个例子吧
Java中:mapper向entity索取服务,service向mapper索取服务,control再向service索取服务
@Autowired
private UserService userService;
其自动注入其实也是这样的一种思想
使用本层服务的实体只能看见服务但无法看见下面的协议,下面的协议对上面的实体是透明的(指看不到,不存在)