- 计算机网络和互联网
- 应用层
- 传输层
- 网络层:数据平面
- 网络层:控制平面
- 数据链路层和局域网
- 网络安全
- 无线和移动网络
- 多媒体网络
- 网络管理
1.1 什么是因特网
什么是因特网?回答这个问题有两种方式:其一,我们能够描述因特网的具体构成,即构成因特网的基本硬件和软件组件;其二,我们能够根据为分布式应用提供服务的联网基础设施来描述因特网。
1.1.1 什么是Internet:从具体构成角度
- 节点
- 主机及其上运行的应用程序
- 路由器、交换机等网络交换设备
- 边:通信链路
- 接入网链路:主机连接到互联网的链路
- 主干链路:路由器间的链路
- 协议
- 数以亿计的、互联的计 算设备:
-
- 主机 = 端系统
-
- 运行网络应用程序
- 通信链路
-
- 光纤、同轴电缆、无线电 、卫星。
-
- 传输速率 = 带宽(bps)
- 分组交换设备:转发分 组 (packets)
-
- 路由器和交换机
- 协议控制发送、接收消息 (如TCP、IP、HTTP、FTP、 PPP)
- Internet:“网络的网络”
-
- 松散的层次结构,互连的ISP
-
- 公共Internet vs. 专用intranet
- Internet标准
-
- RFC: Request for comments
-
- IETF: Internet Engineering Task Force
1.1.2 什么是Internet:从服务角度
- 使用通信设施进行通信的分布式应用
-
- Web、VoIP、email、分布式 游戏、电子商务、社交网络 …...
- 通信基础设施为apps提供编程接口(通信服务)
-
- 将发送和接收数据的apps与 互联网连接起来
-
- 为app应用提供服务选择,类似于邮政服务:
-
-
- 无连接不可靠服务
-
-
-
- 面向连接的可靠服务
-
1.1.3 什么是协议
协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输和/或接收或其他事件方面所采取的动作。
1.2 网络边缘
端系统(主机):
-
运行应用程序
-
如Web、email
-
在 “网络的边缘”
客户/服务器模式
- 客户端向服务器请求、接收服务
- 如Web浏览器/服务器;email 客户端/服务器
对等(peer-peer )模式
- 很少(甚至没有)专门的服务器
- 如 Gnutella、KaZaA、Emule
1.2.1 网络边缘:采用网络设施的面向连接服务
目标:在端系统之间传输数据 -
握手:在数据传输之前 做好准备
- 人类协议中:你好、你好
- 两个通信主机之间为连接 建立状态
TCP – 传输控制协议( Transmission Control Protocol )
- Internet上面向连接的服务
1.2.2 网络边缘:采用基础设施的无连接服务
目标:在端系统之间传输数据
- 无连接服务
UDP – 用户数据报协议 (User Datagram Protocol) [RFC 768]:
- 无连接
- 不可靠数据传输
- 无流量控制
- 无拥塞控制
使用TCP的应用:
- HTTP (Web), FTP (文件传 送), Telnet (远程登录), SMTP (email)
使用 UDP的应用:
- 流媒体、远程会议、 DNS、 Internet电话
1.3 网络核心
网络核心:路由器的网状网络 基本问题:数据怎样通过网络进行传输?
- 电路交换:为每个呼叫预留一条 专有电路:如电话网
- 分组交换:
-
- 将要传送的数据分成一个个单位: 分组
-
- 将分组从一个路由器传到相邻路由 器(hop),一段段最终从源端传 到目标端
-
- 每段:采用链路的最大传输能力( 带宽)
1.3.1 网络核心:电路交换
端到端的资源被分配给从源端到目标端的呼叫 “call”:
- 图中,每段链路有4条线路: 该呼叫采用了上面链路的第2 个线路,右边链路的第1个线 路(piece)
- 独享资源:不同享 每个呼叫一旦建立起来就能够 保证性能
- 如果呼叫没有数据发送,被分配的资源就会被浪费 (no sharing)
- 通常被传统电话网络采用
为呼叫预留端-端资源
- 链路带宽、交换能力
- 专用资源:不共享
- 保证性能
- 要求建立呼叫连接
网络资源(如带宽)被分成片
- 为呼叫分配片
- 如果某个呼叫没有数据,则其资源片处于空闲状态(不共享)
将带宽分成片
- 频分(Frequency-division multiplexing)
- 时分(Time-division multiplexing)
- 波分(Wave-division multiplexing)
电路交换不适合计算机之间的通信连接建立时间长
- 计算机之间的通信有突发性,如果使用线路交换,则浪费的片较多
- 即使这个呼叫没有数据传递,其所占据的片也不能够被别的呼叫使用
- 可靠性不高
1.3.2 网络核心:分组交换
以分组为单位存储-转发方式
- 网络带宽资源不再分分为一个个片,传输时使用全部带宽
- 主机之间传输的数据被分为一 个个分组
资源共享,按需使用:
- 存储-转发:分组每次移动一跳( hop )
- 在转发之前,节点必须收到整个分组
- 延迟比线路交换要大
- 排队时间
- 被传输到下一个链路之前, 整个分组必须到达路由器: 存储-转发
- 在一个速率为R bps的链路 ,一个长度为L bits 的分组的存储转发延时: L/R s
Example:
- L = 7.5 Mbits
- R = 1.5 Mbps
- 3次存储转发的延时 = 15 s
分组交换: 排队延迟和丢失
排队和延迟: 如果到达速率>链路的输出速率:
- 分组将会排队,等待传输
- 如果路由器的缓存用完了,分组将会被抛弃
网络核心的关键功能
路由: 决定分组采用的源到 目标的路径
- 路由算法
转发: 将分组从路由器的输入链路转移到输出链路
分组交换:统计多路复用
A&B 时分复用 链路资源 A & B 分组没有固定的模式 ---→ 统计多路复
分组交换 vs. 电路交换
- 同样的网络资源,分组交换允许更多用户使用网络!
- 分组交换是“突发数据的胜利者?”
- 适合于对突发式数据传输
- 资源共享
- 简单,不必建立呼叫
- 过度使用会造成网络拥塞:分组延时和丢失
- 对可靠地数据传输需要协议来约束:拥塞控制
数据报(datagram) 的工作原理
- 在通信之前,无须建立起一个连接,有数据就传输
- 每一个分组都独立路由(路径不一样,可能会失序)
- 路由器根据分组的目标地址进行路由