基本概念
网络边缘:各种终端设备;
网络核心:由互联因特网系统的分组交换机和链路构成的网状网路;
主机、端系统:所有接入互联网的终端设备(如电脑、平板、手机)
端系统通过通信链路和分组交换机连接到一起。分组交换机从它的一条入通信链路接收到达的分组,并从它的一条出通信链路转发该分组。典型的有 路由器和链路层交换机。
IPS(Internet Service Provider)因特网服务提供商:端系统通过IPS接入互联网,每个IPS都是由一个或多个分组交换机和多段通信链路组成的网络。
协议(protocols):一个协议定义了在两个或多个通信实体事件交换的报文格式和次序,以及报文发送/接收一条报文或其他事件所采取的动作。
接入网:所谓接入网是指骨干网络到用户终端之间的所有设备;
- 家庭:DSL(数字用户线)——是以电话线为传输介质的传输技术组合,电缆——利用了有线电视公司现有的有线电视基础设施,FTTH(光纤到户)、拨号、卫星;
- 企业(和家庭)接入:以太网——以太网用户使用双绞铜线与一台以太网交换机相连、WiFi;
- 广域无限节如:3G、LTE
各种物理媒体的对比:
- 导引型媒体:电波沿着固体媒体前行,如光缆、双绞铜线和同轴电缆;
- 非导引型媒体:电波在空气或外层空间中传播,如在无线局域网或电子卫星频道;
物理媒体 | 特点 | 案例 |
---|---|---|
双绞铜线 | 最便宜、最普遍 | 无屏蔽双绞线(UTP)用于局域网(LAN)、 |
同轴电缆 | 两个铜导体同心 | 电缆电视 |
光纤 | 细而软、能够引导光脉冲,每个脉冲是一个比特,速率极高 | 长途电话网络、因特网主干 |
陆地无限电信道 | 承载电磁频谱中的,无需物理线路,可传透墙壁 | 无线耳机、键盘、无线LAN技术 |
卫星无线电信道 | 连接两个或多个位于地球的微波发射方/接收方 | 同步卫星:永久停留在地球上方的相同点(无法用DSL或电缆因特网截图的区域);近地卫星 |
分组交换
为了从源端系统向目的之间,每个分组都通过通信链路和分组交换机传送。
存储转发传入
多数分组交换机在链路的输入端使用存储转发传输机制。
- 在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组;
- 由N条速率均为R的链路组成的路径(源和目的间由N-1台路由器),端到端时延为 d端到端 = N*L/R;
排队时延和分组丢失
对于每条相连的输出链路,分组交换机具有一个输出缓存(输出队列),用于存储路由器准备发往那条链路的分组;
如果达到的分组需要传输到某条链路,但发现该链路正忙于传输其他分组,该到达分组必须在该输出缓存中等待——排队时延;
缓存空间大小是有限的,一个达到的分组可能会发现缓存已经充满了,则会出现分组丢包;
转发表和路由选择协议
- 每个端系统具有一个IP地址,当源主机要向目的端系统发送一个分组时,源在该分组的首部包含了目的地的IP地址;
- 链路上的每台路由器具有一个转发表,用于将目的地址映射成为输出链路;
- 一个路由选择协议可以决定从每台路由器到每个目的地的最短路径,并使用这些最短路径结果来配置路由器中的转发表;
电路交换
电路交换网络中,在端系统间通信会话期间,预留了端系统间通信沿路径所需要的资源。详细一点的话,在发送方能够发送消息之前,该网络必须在发送方和接收方之间建立一条连接,路径上的交换机都将为该连接维护连接状态——预留恒定的传输速率,能够以恒定的速率发送。
复用
频分复用 (FDM)
链路的频谱由跨越链路创建的所有连接所共享,在连接期间链路为每条连接专用一个频段(带宽);
时分复用 (TDM)
事件被划分为固定区间的帧,并且每帧又被划分为固定数量的时隙,TDM中一条电路的传输速率等于 帧速率*一个时隙中的比特数;
对比
分组交换 | 电路交换 | |
---|---|---|
特点 | 按需分配链路使用 | 预先分配 |
优点 | 提供更好的带宽共享,更简单更有效 实现成本更低 | 端到端能够以恒定速率传输,适合实时服务 |
缺点 | 不适合实时服务,主要是因为排队时延的变动和不可预测 | 已分配而并不需要的链路事件未被利用 |
时延
- 吞吐量:每秒能够传送的数据量,通常取决于传输路径上最小的传输速率。
处理时延
- 检查分组首部和决定该分组导向何处所需要的时间、检查比特级别的差错所需要的时间等;
- 微妙或更低数量级;
排队时延
- 若分组的出链路已经决定,当且仅当该链路没有其他分组正在传输并且没有其他分组排在该队列前面,才能在这条链路上传输该分组,否则就会产生排队时延;
- 毫秒~微妙量级;
传输时延
- 将所有分组从上一个节点推(传输)向链路所需要的时间(L-分组长度,R bps-路由器A->B的链路传输速率,时延就是 L/R);
- 与链路距离无关;
- 毫秒~微妙量级;
传播时延
- 传输(A->链路)之后,路由器B需要接收,从该链路七点到路由器B传播所需要的时间,即在链路上传输的时间;
- 取决于链路的物理媒体,等于两台路由器之间的距离除以传播速率;
- 毫秒量级。
流量强度
- a-分组到达队列的平均速率( 分组/秒 -- pkt/s),R-从队列中推出比特的速率 ( bps/s ),所有分组是由L比特组成的;
- 流量强度为——La/R;
- 若流量强度大于1,则说明到达的速率大于传输出去的速率,该传输队列趋向于无界增加。
丢包
- 排队时延不会无限增加,当等待队列中的分组已经放满,则再到达的分组将会被丢弃。
分层
分层可以实现每层只关注自己要做的事情,概念化、结构化。
- 优点:概念化、结构化。模块化使更新系统组件更为容易;
- 缺点:可能冗余较底层的能力(如每层都提供了差错恢复);某层的功能可能需要仅在其他某层才出现的信息,这违反了层次分离的目标;
TCP/IP协议族分层
TCP/IP协议族是由一个四层协议组成的系统,这四层分别为:应用层、传输层、网络层和数据链路层。如图所示:
1)应用层
应用层一般是我们编写的应用程序,其决定了向用户提供的应用服务。应用层可以通过系统调用与传输层进行通信。
协议:FTP(File Transfer Protocol,文件传输协议)、DNS(Domain Name System,域名系统)和我们本章讨论的HTTP(HyperText Transfer Protocol,超文本传输协议)等。
2)传输层
传输层通过系统调用向应用层提供处于网络连接中的两台计算机之间的数据传输功能。
在传输层有两个性质不同的协议:TCP(Transmission Control Protocol,传输控制协议)和UDP(User Data Protocol,用户数据报协议)。
3)网络层
- 网络层用来处理在网络上流动的数据包,数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(传输路线)到达对方计算机,并把数据包传输给对方。
4) 链路层
- 链路层用来处理连接网络的硬件部分,包括控制操作系统、硬件设备驱动、NIC(Network Interface Card,网络适配器)以及光纤等物理可见部分。硬件上的范畴均在链路层的作用范围之内。
数据包封装
上层协议数据是如何转变为下层协议数据的呢?这是通过封装(encapsulate)来实现的。应用程序数据在发送到物理网络之前,会沿着协议栈从上往下传递。每层协议都将在上层协议数据的基础上加上自己的头部信息(链路层还会加上尾部信息),以为实现该层功能提供必要的信息。
- 在发送主机端,一个应用层报文被传送给运输层;
- 运输层收到报文并附上附加信息,该首部将被接收端的运输层使用,应用层报文和运输层首部信息构成了运输层报文段;
- 运输层向网络层传递该报文段,网络层添加了如 源和目的端系统地址 等网络层首部信息;
- 链路层增加它自己的链路层首部信息并创建链路层帧;
由这样一层层封装可以看到,在每一层 一个分组具有两种类型的字段——首部字段和有效载荷字段(有效在和通常是来自上一层的分组)。