前言:适逢期中考。。。。
本文参考自很多文章、课本、PPT等(其实仔细观察你会发现很多文字甚至图片都是一致的),如有雷同,纯属不巧合(抱拳)
一、计算机网络和因特网
计算机网络的定义:将分布在不同地理位置上的具有独立工作能力的计算机、终端及其附属设备用通信设备和通信线路连接起来,并配置网络软件,以实现计算机资源共享的系统。
1.1 什么是因特网
具体构成描述
即基本硬件和软件组成角度:Internet 互联了众多称作主机或者终端系统的设备,他们被认为位于网络边缘,主机又可分为客户机(client)和服务器(server)。这些设备通过通信链路(也就是物理线缆)连接,链路中间还有分组交换机。主机之间交换数据时将数据分组发送,并通过分组交换机分配包数据。常见的分组交换机有路由器和链路层交换机。主机通过ISP(Internet 服务提供商)接入Internet 。所有Internet 通讯必须遵循一定的协议。其规范称作互联网标准。
服务描述
Internet 是提供这么一些服务的计算机网络:允许离散的应用在终端上交换数据,比如下载软件和浏览器等等。他还为这些应用提供两种服务:面向连接的服务(TCP)以及无连接的无依赖性服务(UDP)。简单地说,面向连接的服务有握手程序,还必须确认包是否正确发送和接受,但是无连接服务不需要担心另一方的问题,只要发或者接就行了。
名词解释
端系统/主机:和因特网相连的计算机等设备(如TV,Web服务器,手提电脑)。
通信链路:同轴电缆;铜线;光缆;无线电频谱
分组:当一台端系统有数据要向另一台端系统发送时,端系统将数据分段并在每段加上首部字节,由此形成的信息包称为分组。一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径。
协议:定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输和接收或其它事件方面所采取的动作
1.2 网络边缘
只讲两点:
接入网:将端系统连接到边缘路由器(edge router)的物理链路。
边缘路由器:端系统到任何其他远程端系统的路径上的第一台路由器。
1.3 网络核心
网络核心,即互联了因特网端系统的分组交换机和链路的网状网络。
电路交换
定义
电路交换(circuit switching):每个主机都直接与一个交换机直接相连,各个交换机之间有物理线缆,如果两台主机要传送信息,其对应的交换机之间必须有一条预留电路。假定每个交换机都有n条电路,那么连接期间该连接获得链路带宽的1/n。
电路交换网络中的多路复用
1、频分多路复用(Frequency-Division Multiplexing,FDM)
2、时分多路复用(Time-Division Multiplexing,TDM)
例子
从主机A到主机B经一个电路交换网络发送一个640,000 比特的文件需要多长时间?
所有链路是1.536 Mbps
每条链路使用具有24个时隙的TDM
创建端到端电路需500 msec
计算结果:Time=640000/(1.536Mbps/24)+0.5s=10.5s
分组交换
分组交换(packet swiitching):各种应用在完成任务时要交换报文,报文包含协议要求的内容。主机会把较大的报文分组并发送到分组交换机。交换机使用存储转发传输机制,简单地说就是接受一个报文的全部分组后才输出,这样就会产生存储转发时延。同时,对于每个输出链路,分组交换机还为之生成一个输出缓存或输出队列,因为同一时刻只能向一条链路输出一组信息,其他信息只能在队列中等待,这样会产生排队时延。如果队列已满,新到达的报文分组无法入队,就会产生丢包。
优劣对比
分组交换的批评者:分组交换因其端到端时延是变动的和不可预测的(主要是因为排队时延的变动和不可预测所致),故不适合实时服务(例如,电话和视频会议)。
分组交换的支持者:
1、它提供了比电路交换更好的带宽共享
2、它比电路交换更简单、 更有效,实现成本更低。
1.4 分组交换网中的时延,丢包和吞吐量
时延概述
时延分为节点处理时延(nodal processing delay),排队时延(queuing delay),传输时延(transmission delay)和传播时延(propagation delay),这些加起来就是节点总时延(total nodal delay),即
节点总时延 = 节点处理时延 + 排队时延 + 传输时延 + 传播时延
处理时延(通常几个微妙或者更少)
1、检查分组首部和决定将分组导向哪一个队列;
2、其他:检查比特级差错所需要的时间。
排队时延(取决于拥塞等级)
在队列中,当分组在链路上等待传输时所需的时间,取决于先期到达的,正在排队等待想链路传输分组的数量。
传输时延(L/R,对低速链路很大)
1、将所有分组的比特推向链路所需要的时间。
2、用L比特表示分组的长度,用R bps表示从路由器A到路由器B的链路传输速率。(对于一条10Mbps的以太网链路,速率R = 10Mbps),传输时延(又称为存储转发时延)是L/R。
传播时延(几微妙到几百毫秒)
1、从该链路的起点到路由器B传播所需要的时间是传播时延。该比特以该链路的传播速率传播。
2、传播时延 = 两台路由器的距离d / 传播速率s。
3、传播速率取决于该链路的物理媒体(即光纤,双绞铜线等),速率范围是2*108~ 3 * 108 m/s
分组交换时延图
端到端时延
假定在源主机和目的主机之间有N-1台路由器(那么实际有N条小路径),并且该网络是无拥塞的(因此排队时延是微不足道的),处理时延为dproc,每台路由器和源主机的输出速率是 R bps,每条链路的传播时延是dprop,节点时延累加起来得到端到端时延:
dend-end = N(dproc + dtrans + dprop)
dtrans = 分组长度L / R
计算机网络中的吞吐量
吞吐量:单位时间内通过某个网络(或信道、接口)的数据量,是瓶颈链路(bottleneck link,即找速度最短的那一条链路)的传输速率。
吞吐量分为瞬时吞吐量(instancous throughput)和平均吞吐量(average throughput),我们可以把他们类比为以前物理学过的瞬时速度和平均速度。
该图中吞吐量为min{Rc,Rs}。
该图中吞吐量为min{R1,R2,R3,…,RN}。
在确定了吞吐量之后,我们现在近似地(因为没有考虑分组层次和协议)得到从服务器到客户机传输一个F比特的大文件所需要的时间是F/min{R1,R2,R3,…,RN}。
1.5 协议层次
网络中引入协议栈(protocol stack)概念,自顶向下分别是:
应用层
包含大量应用普遍需要的协议,支持网络应用
协议为FTP, SMTP, HTTP
运输层
主机到主机数据传输,负责从应用层接收消息,并传输应用层的message,到达目的后将消息上交应用。
协议为TCP, UDP
网络层
从源到目的地数据报的选路
协议为IP, 选路协议
链路层
在邻近网元之间传输数据
协议为PPP, 以太网
物理层
物理层负责将链路层帧中每一位(bit)从链路的一端传输到另一端
协议分层图
因特网协议栈自顶向下传输时,各层会将上层信息包装,上层信息包装为有效载荷字段,本层信息包装为首部字段。
下图中从上往下为封装,下往上为解封装。
中英文对照表
host 主机
end system 端系统
communication link 通信链路
packet 分组
packet switch 分组交换机
router 路由器
link-layer switch 链路层交换机
route/path 路径
ISP 因特网服务提供商
protocol 协议
TCP 传输控制协议
IP 网际协议