一、计算机网络
计算机网络是指将分散的、具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
计算机网络是互连、自治的计算机集合。
互连 :互相连通 通信链路
自治 : 无主从关系
计算机网络组成
组成部分
软件,硬件,协议
工作方式
边缘部分:用户直接使用(C/S方式,P2P方式)
核心部分:为边缘部分服务
功能组成
通信子网:实现数据通信
资源子网:实现数据共享/数据处理
计算机网络分类
按分布范围分
广域网WAN,城域网MAN,局域网WLAN,个人局域网PAN
按使用者分
公用网,私用网
按照交换技术分
电路交换:是通信网中最早出现的一种交换方式,主要应用于电话通信网中。
报文交换: 存储接受到的报文,判断其目标地址以选择路由,最后,在下一跳路由空闲时,将数据转发给下一跳路由。
分组交换: 本质是存储转发,它将所接受的分组暂时存储下来,在目的方向路由上排队,当它可以发送信息时,再将信息发送到相应的路由上,完成转发。其存储转发的过程就是分组交换的过程。
按照拓扑结构分
总线型,星型,环形,网状型
按传输技术分
广播式网络:共享公共通信信道
点对点网络:使用分组存储转发
和路由选择
机制。
标准化工作
法定标准:由权威机构指定的正式的标准 OSI(七层)参考模型
事实标准:某公司产品占据主流,产品中的协议和技术成为标准 TCP/IP(四层)
由此得出五层体系结构(综合了 OSI 和 TCP/IP 的优点)
协议
一个协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及报文发送和/或接收一条报文或其他事件所采取的动作
在因特网中,凡是涉及两个或多个远程通信实体的所有活动都受协议的制约。
例如,在两台物理上连接的计算机中,硬件实现的协议控制了在两块网络接口卡间的“线上”的比特流。在端系统中,拥塞控制协议控制了在发送方和接收方之间传输的分组发送的速率。
二、网络边缘
通常把与因特网相连的计算机和其他设备称为端系统。因为它们位于因特网的边缘,故而被称为端系统。
因特网的端系统包括桌面计算机,服务器和移动计算机。
端系统也称为主机,因为它们容纳(即运行)应用程序。主机有时又被进一步划分为两类 : 客户(client)和服务器(server)。
接入网
接入网是指将端系统连接到其边缘路由器(edge router)的物理链路。
家庭接入 : DSL、电缆、FTTH、拨号和卫星
企业(和家庭)接入 : 以太网和WiFi
物理媒体
我们考虑一个比特从端系统开始传输,通过一系列链路和路由器,到达另一个端系统。对于每个“ 传输器—接收器 ” 对,通过跨越一种物理媒体(physical medium)传播电磁波或光脉冲来发送该比特。
常用类别:双绞铜线 ,同轴电缆,光纤,陆地无线电通信 ,卫星无线电信道。
三、 网络核心
网络核心即由互联因特网端系统的分组交换机和链路构成的网状网络。
分组交换
在各种网络应用中,端系统彼此交换报文(message)。为了从源端系统向目的端系统发送一个报文,源将长报文划分为较小的数据块,称之为分组(packet)。
在源和目的之间,每个分组都通过通信链路和分组交换机(packet switch)(交换机主要有两类路由器和链路层交换机)传送。
分组以等于该链路最大传输速率的速度传输通过通信链路。因此,如果某源端系统或分组交换机经过一条链路发送一个L比特的分组,链路的传输速率为R比特/秒,则传输该分组的时间为L/R秒。
存储转发传输
多数分组交换机在链路的输入端使用存储转发传输机制。存储转发机制是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。
排队时延和分组丢失
每个分组交换机有多条链路与之相连。对于每条相连的链路,该分组交换机具有一个输出缓存(output buffer)(也称为输出队列output queue),它用于存储路由器准备发往那条链路的分组。
如果到达的分组需要传输到某条链路,但发现该链路正忙于传输其他分组,该到达分组必须在该输出缓存中等待。因此,除了存储转发时延以外,分组还要承受输出缓存的排队时延(queue delay)。
这些时延是变化的,变化的程度取决于网络中的拥塞程度。因为缓存空间的大小是有限的,一个到达的分组可能发现该缓存已被其他等待传输的分组完全充满了。在此情况下,将出现分组丢失(丢包)(packet lost),到达的分组或已经排队的分组之一将被丢弃。
转发表和路由选择协议
在因特网中,每个端系统具有一个称为IP地址的地址。当源主机要向目的端系统发送一个分组时,源在该分组的首部包含了目的地的IP地址。
当一个分组到达网络中的路由器时,路由器检查该分组的目的地址的一部分,并向一台相邻路由器转发该分组。每台路由器具有一个转发表
,用于将目的地址(或目的地址的一部分)映射成为输出链路。
因特网具有一些特殊的路由选择协议用于自动地设置这些转发表。
电路交换
在电路交换网络中,在端系统间通信会话期间,预留了端系统间通信沿路径所需要的资源(缓存,链路传输速率)。在分组交换网络中,这些资源则不是预留的。会话的报文按需使用这些资源,其后果可能是不得不等待(即排队)接入通信线路。
考虑当一个人通过电话网向另一个人发送信息(语音或传真)时所发生的情况。
在发送方能够发送信息之前,网络必须在发送方和接收方建立一条连接,此时沿着发送方和接收方之间路径上的交换机都将为该连接维护连接状态。当网络创建这种电路时,它也在连接期间在该网络链路上预留了恒定的传输速(表示为每条链路传输容量的一部分)。则发送方能够以确保的恒定速率向接收方传送数据。
四、分组交换网中的相关概念
速率
速率即数据率或称数据传输率或者比特率。
连接在计算机网络上的主机在数字信道上传送数据位数的速率。
速率中 1KB=1000B/S,换算单位为1000。但在存储容量中,1KB=1024B,换算单位为2的10次方 1024。
带宽
计算机网络中带宽用来表示网络的通信线路传送数据的能力,通常指单位时间从网络的某一点到另一点所通过的最高数据率。单位‘比特每秒’,b/s等。
时延概述
时延是指数据(报文/比特流/分组)从网络(或链路)的一端传送到另一端所需要的时间。
处理时延
:检查分组首部和决定将该分组导向何处所需要的时间是处理时延的一部分。处理时也能包括其他因素,如检查比特级别的差错所需要的时间等。
排队时延
:在队列中,当分组在链路上等待传输时,它经受排队时延。一个特定分组的排队时延长度将取决于先期到达的正在排队等待向链路传输的分组数量。
传输时延(发送时延)
:从发送分组的第一个比特算起,到该分组的最后一个比特所需的时间。用R bps(即b/s)表示从路由器A到路由器B的链路传输速率。传输时延是L/R。
传播时延
:该时延取决于电磁波传播速度和链路长度。
丢包
在现实中,一条链路前的队列只有有限的容量。到达的分组将发现一个满的队列。由于没有地方存储这个分组,路由器将丢弃(drop)该分组,即该分组将会丢失。
吞吐量
表示在单位时间内通过某个网络(或信道、接口)的数据量。
吞吐量受网络的带宽或网络的额定速率的限制。
假设一个网络具有N条链路,这N条链路的传输速率分别是R,R,…,R。服务器到客户的文件传输的吞吐量是min{R,R,,…,Rn},这是沿着服务器和客户之间路径的瓶颈链路的速率。
时延带宽积
时延带宽积=传播时延 X 带宽
又称以比特为单位的链路长度即 “ 某段链路现在有多少比特 ”。
往返时延RTT
表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延。
RTT越大,在收到确认之前,可以发送的数据越多。
RTT包括 :往返传播时延=传播时延*2,末端处理时间 。
利用率
信道利用率 :有数据通过时间 / (有+无)数据通过时间
网络利用率: 信道利用率加权平均值
五、协议层次及其服务模型
协议分层
协议分层具有概念化和结构化的优点。分层提供一种结构化方式来讨论系统组件。模块化使更新系统组件更为容易。
各层的所有协议被称为协议栈(protocol stack)。因特网的协议栈由5个层次组成 : 物理层、链路层、网络层、运输层和应用层
应用层
应用层是网络应用程序及它们的应用层协议存留的地方。因特网的应用层包括许多协议,例如 HTTP(它提供了Web文档的请求和传送),SMTP(它提供了电子邮件报文的传输)和 FTP(它提供两个端系统之间的文件传送)。
应用层协议分布在多个端系统上,一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息的分组。我们把这种位于应用层的信息分组称为报文(message)。
运输层
因特网的运输层在应用程序端点之间传送应用层报文。在因特网中,有两个运输协议,即TCP和UDP,利用其中的任一个都能运输应用层报文。
TCP向它的应用程序提供了面向连接的服务。这种服务包括了应用层报文向目的地的确保传递和流量控制。
UDP协议向它的应用程序提供无连接服务。这是一种不提供不必要服务的服务,没有可靠性。
网络层
因特网的网络层负责将称为数据报(datagram)的网络层分组从一台主机移动到另一台主机。
网络层包括著名的I协议,该协议定义了在数据报中的各个字段以及端统和路由器如何作用于这些字段。仅有一个IP协议,所有具有网络层的因特网组件必须运行IP协议。因特网的网络层也包括决定路由的路由选择协议,它使得数据报根据该路由从源传输到目的地。
链路层
为了将分组从一个结点(主机或路由器)移动到路径上的下一个结点,网络层必须依靠该链路层的服务。
由链路层提供的服务取决于应用于该链路的特定链路层协议。网络层将受到来自每个不同的链路层协议的不同服务。
物理层
物理层的任务是将该帧中的一个一个比特从一个结点移动到下一个结点。在这层中的协议仍然是链路相关的,并且进一步与该链路(例如,双绞铜线、单模光纤)的实际传输媒体相关。
封装
在发送主机端,一个应用层报文被传送给运输层。在最简单的情况下,运输层收取到报文并附上附加信息(所谓运输层首部信息),该首部将被接收端的运输层使用。应用层报文和运输层首部信息一道构成了运输层报文段。
运输层报文段因此封装了应用层报文。附加的信息也许包括了下列信息 : 如允许接收端运输层向上向适当的应用程序交付报文的信息 ; 如差错检测位信息,该信息让接收方能够判断报文中的比特是否在途中已被改变。运输层则向网络层传递该报文段网络层增加了如,源和目的端系统地址等网络层首部信息,产生网络层数据报。
该数据报接下来被传递给链路层,链路层增加它自己的链路层首部信息并创建链路层帧每一层,一个分组具有两种类型的字段 : 首部字段和有效载荷字段 (通常是来自上一层的分组)。