1、计算机网络性能特征
性能指标从不同的方面来度量计算机网络的性能。
1)速率:
连接在计算机网络上的主机在数字信道上传送数据的速率。b/s,kb/s,Mb/s。
2)带宽:
用来表示网络的通信线路所能传送数据的能力。网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。单位是“比特每秒”,b/s,kb/s,Mb/s。
3)吞吐量:
表示在单位时间内通过某个网络(或信道、接口)的数据量。
经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
吞吐量受网络的带宽或网络的额定速率的限制。
4)时延:
指数据从网络的一段传送到另一端所需的时间。也称为延迟或迟延。
发送时延 - 主机或路由器发送数据帧所需要的时间。
传播时延 - 电磁波在信道中传播一定的距离需要花费的时间。
处理时延 - 主机或路由器在收到分组时要花费一定的时间进行处理。
排队时延 - 分组在经过网络传输时,要经过许多的路由器。分组在进入路由器后要先在输入队列中排队等待处理。在路由器确定了转发接口后,还要在输出队列中排队等待转发。这就产生了排队时延。
5)时延带宽积:
传播时延×带宽。
6)往返时间RTT:
表示从发送方发送数据开始,到发送方收到来自接收方的确认,总共经历的时间。
7)利用率:
信道利用率:指某信道有百分之几的时间是被利用的(即有数据通过)。完全空闲的信道的利用率是零。网络利用率是全网络的信道利用率的加权平均值。
2、局域网
在一定区域内由多台计算机互联成的计算机组。
广域网:是一种跨越大的、地域性的计算机网络的集合。
3、OSI模型
OSI七层协议模型与TCP/IP四层协议模型
应用层 | 应用层 |
表示层 | |
会话层 | |
传输层 | 传输层 |
网络层 | 网络层 |
数据链路层 | 数据链路层 |
物理层 |
第一层:物理层
功能:为数据端提供传送数据的通路。
数据的单位是比特(bit)。
主要设备:中继器、集线器。
中继器:
中继器(Repeater)是连接网络线路的一种装置,常用于两个网络节点之间物理信号的双向转发工作。中继器是最简单的网络互联设备,主要完成物理层的功能,负责在两个节点的物理层上按位传递信息,完成信号的复制、调整和放大功能,以此来延长网络的长度。
集线器:
集线器(Hub)是中继器的一种形式,区别在于集线器能够提供多端口服务。把每个输入端口的信号放大再发到别的端口去。每一个分组到达某个端口时,都会被复制到其他所有端口。
集线器是物理设备,不是智能的,不具备学习能力,所以每次发送数据只能使用广播的方式。
第二层:数据链路层
功能:完成网络之间相邻结点的可靠传输,通过MAC地址负责主机之间的数据的可靠传输。
数据的单位是帧。
主要设备:网桥、交换机。
网桥工作在链路层,将两个LAN连起来,根据MAC地址来转发帧。网桥会记录它每一边的MAC地址,然后基于这张MAC地址表作出转发决策。
交换机:
交换机(Swich)工作在第二层(即数据链路层),它要比集线器智能一些,它能分辨出帧中的源MAC地址和目的MAC地址,因此可以在任意两个端口间建立联系,在数据帧的始发者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址。交换机通过对信息进行重新生成,并经过内部处理后转发至指定端口,具备自动寻址能力和交换作用。但是 交换机并不懂得IP地址,它只知道MAC地址。
交换机是使用硬件来完成以往网桥使用软件来完成过滤、学习和转发过程的任务。交换机中有一张MAC地址表(FDB),如果知道目标地址在何处,就把数据发送到指定地点,如果它不知道就发送到所有的端口。这样过滤可以帮助降低整个网络的数据传输量,提高效率。
FDB表:MAC+VLAN和PORT的对应关系。
第三层:网络层
功能:完成网络中主机间的报文传输(物理层比特流,数据链路层帧),网络层识别的地址是IP地址。
涉及的协议:IP/IPX。
主要设备:路由器、三层交换机。
三层交换机在二层交换机的基础上增加了路由功能。
路由器:
路由器(Router)工作在第三层(即网络层),它比交换机还要“聪明”一些,它能理解数据中的IP地址,如果它接收到一个数据包,就检查其中的IP地址,如果目标地址是本地网络的就不理会,如果是其他网络的,就将数据包转发出本地网络。
路由器的主要工作就是为经过路由器的每个IP数据包寻找一条最佳传输路径,并将该数据有效地传送到目的站点。 路由器的基本功能是,把数据(IP报文)传送到正确的网络。
任何一个想发往其他局域网的包,都会到达路由器的一个网口,被拿进来,取下MAC头和IP头,根据自己的路由算法,选择另一个合适的网口,加上IP头和MAC头,然后发出去。
第四层:传输层
功能:实现两个用户进程间端到端的可靠通信,处理数据包的错误等传输问题。向网络层提供服务,向会话层提供独立于网络层的传输服务和可靠的透明数据传输。
主要协议:TCP传输控制协议、UDP用户数据包协议。涉及服务使用的端口号,主机根据端口号识别服务,区分会话。
第五层:会话层
功能:在两个结点间建立、维护和释放面向用户的连接,并对会话进行管理和控制,保证会话数据可靠传送。
第六层:表示层
功能:主要负责数据格式的转换,即翻译,压缩与解压缩,加密与解密。
第七层:应用层
功能:为应用程序提供服务。
主要协议:HTTP,HTTPS,FTP,SMTP。
4、数据封装
应用程序使用TCP传送数据时,数据被送入协议栈,然后逐个通过每一层,直到被当做一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息。
5、以太网帧格式
长度(字节) | 6 | 6 | 2 | 46~1500 | 4 |
数据类型 | 目的MAC地址 | 源MAC地址 | 类型 | 数据 | CRC |
类型:0x0800表示上一层协议是IP协议,0x0806表示上一层协议是ARP,0x8035表示RARP。
以太头结构定义:
//定义以太网首部
typedef struct ethhdr
{
unsigned char eh_dst[6]; /* 目的MAC地址 */
unsigned char eh_src[6]; /* 源MAC地址 */
unsigned short eh_type; /* 上层协议类型 */
}ETHHDR;