一本书里知识太多了,也不能全部记住…就自己总结一些大概的东西,好让以后的自己也可以回看一下曾经是怎么学习的。
计算机网络的性能指标
速率
数据的传送速率,单位bit/s
带宽
网络中某通道传送数据的能力,在单位时间内网络中的某信道所能通过的‘最高数据率’。相当于就是马路的宽度,数据就是在马路上的车。
(小时候家里办网的时候老是听电信公司说带宽几十M啥的,真以为有几十M/s速度…
吞吐量
对网络、设备、端口、虚电路或其他设施,单位时间内成功地传送数据的数量。
网络的实际速率。他和带宽是不同的,带宽是指理论上,而吞吐量就比较实际了。
时延
数据从网络的一端传送到另一端所需的时间。时延分为发送时延(主机或者路由器发送数据帧所需的时间)、传播时延(电磁波在信道中传播一定的距离所花费的时间)、处理时延(主机或者路由器在收到数据时需要花费一定时间处理)、排队时延(数据经过路由器后,要在输入队列中排队等待进行处理,等待就产生了排队时延)。
时延带宽积
时延带宽积 = 传播时延 * 带宽。顾名思义,一个是时间单位,一个是数据量每秒多少bit的单位,它们的积就是在传播时延的时间内传输的数据量。
往返时间RTT
互联网中一方发送信息给另一方,另一方也发送信息回来,这之间的总时间便是RTT。
利用率
网络当前时延 = 网络空闲时的时延 / (1 - 利用率)
利用率越低,空闲就会越多,吞吐量越高。信道或者网络的利用率过高会产生非常大的时延。
计算机网络中五层协议的体系结构(由下往上)
一、物理层
物理层中传输的数据单位是比特。在体系结构中作用是将数据转换为比特流。
信道中的三种通信方式。
1.单工通信:只有一个方向的通信。比如只能我给你东西,而你却不能给我任何东西。
2.半双工通信:通信双方都可以发送信息。就是我可以给你东西,你也可以给我东西,但是我们两不能同时给,在一个时间内只能有一方给另一方东西。
3.全双工通信:通信双方可以同时发送和接受信息。
单工通信只需要一条信道,而半双工和全双工通信都需要两条信道(我给你和你给我东西这两种方式各需要一条信道)。
二、数据链路层
数据链路层传送的是帧。在体系结构中作用是相邻结点间传送帧。
链路的概念:一个结点到相邻结点的一段物理线路,中间无其他任何的交换结点。
数据链路的概念:物理线路+协议的软硬件产品。大白话说来就是在链路上传输数据还需要一些协议的支持来更好地传输数据。
数据链路层把上一层(网络层)交下来的数据构成帧发送给链路上、以及把收到的帧中的数据部分取出来交给网络层。
数据链路层需要考虑的三个问题:1.封装成帧 2.透明传输 3.差错检测
1.封装成帧
就是将网络层交下来的数据前后分别添加首部和尾部,就构成了一个帧。首部和尾部其中一个重要作用是进行帧定界,就是确定帧的界限,首部和尾部中还包括许多控制信息。链路层协议规定帧的数据部分是有长度上限的,即MTU(最大传送单元)。
2.透明传输
首部和尾部中有帧开始符(SOH)和帧结束符(EOT),就可以非常方便的进行区分哪些是需要传输的数据部分了,透明传输则是担心在数据部分中有像SOH或者EOT这样的帧定界控制字符,从而导致错误,故需要一些策略来让任何字符都可以安全的传输。实现透明的方法则是在数据部分中SOH或者EOT字符前填充ESC字符,以此来判断这不是帧定界符,还是数据部分中的符号。
3.差错检测
因为在物理层中比特传输也许会产生差错,本来该是0但却变成了1,故需要一些检测,数据链路层用了循环冗余检测CRC来检测。
使用信道的两种主要类型
1.点对点信道(PPP协议)
是为在同等单元之间传输数据包这样的简单链路设计的链路层协议,提供全双工操作。
2.广播信道(CSMA协议)
也叫载波监听多点接入/碰撞检测。CSMA不能进行全双工通信,只能进行半双工通信。
许多计算机以多点接入的方式连接在一根总线上,且每个计算机不管在发送前还是发送中都会不停地检测信道,如果检测到有碰撞(即A发送给B,B也在发东西给A,A还没发送完,收到了B的东西,A和B发送的信息就碰撞了),则执行退避算法来消掉碰撞。
CSMA中发送的最短有效帧长是64字节,是为了防止发生了碰撞而由于帧太短检测不到碰撞,故设定最小帧长64字节。
MAC帧
MAC地址就是物理地址,每个网卡都会有一个唯一的MAC地址。MAC帧是在数据链路层封装的。