第一章:计算机网络和因特网
参考计算机网络自顶向下方法
1.1 什么是因特网
因特网的具体构成
-
端系统通过通信链路和分组交换机连接到一起。 -
链路的传输速率是以比特每秒(bit/s)为单位的。 -
当一台端系统向另一台端系统发送数据时,发送系统将数据分段,并且加上运输首部信息,由此形成的信息称为分组。 -
分组交换机的类型:路由器和链路层交换机。、 -
端系统通过因特网提供商(ISP)接入因特网。 -
端系统和分组交换机还有其他因特网部件都要运行一系列协议,这些协议控制因特网中的信息的接受和发送。最为重要的两个协议为TCP/IP。
服务描述
分布式应用程序:这些应用程序涉及多个相互交换数据的端系统
所以该应用程序相互之间需要进行交换数据,那么与因特网相连的端系统提供了一个套接字接口,该接口规定了运行在一个端系统上的程序请求因特网基础设施向运行在另一个端系统上的特定目的地程序交付数据的方式。
什么是协议
以人类的活动相比
协议就好比是人们相互交流中所隐含的一些规则和礼仪。
网络协议
协议定义了在两个或者多个通信实体之间交换的报文的格式和顺序,以及报文发送或接受一条报文或其他事件所采取的动作。
1.2 网络边缘
通常把与因特网相连的计算机和其他设备统称为端系统(主机)。其中包含了桌面计算机和服务器还有移动计算机。
端系统有时也会划分为客户和服务器
1.2.1 接入网
1.家庭接入
常见方式:数据用户线(DSL) 电缆 FTTH(光纤)拨号和卫星
2.企业接入
常见接入方式:以太网和WIFI
1.2.2 物理媒体
物理媒体分为导引型媒体和非导引型媒体
常见物理媒体:
- 双绞铜线
- 同轴电缆
- 光纤
- 陆地无线电信道
- 卫星无线电信道
1.3 网络核心
通过网络链路和交换机移动数据有两种基本方式:分组交换和电路交换。
1.3.1 分组交换
端系统彼此交换报文。在源系统和目的系统之间,每个分组都要通过通信链路和分组交换机(路由器和链路层交换机)
1. 存储转发运输
多数分组交换机在实现运输时使用了存储转发运输机制
概念:就是交换机能够向链路发送第一个比特之前必须接收到整个分组。那么在交换即没有完全接收到整个分组之时,交换机会对分组的比特信息进行缓存,直到接收完了该分组的所有比特信息。
假设源系统到目的系统的距离为2L。
那么一个分组从源系统到目的系统所花费的时间是 2L/R(s)。
所以通过N条速率为R的链路组成的路径(在源系统和目的系统之间由N-1台路由器)
? 端到端的时延是: d = N x (L / R) (s)
2. 排队时延和分组丢失
对于在每条相连的链路,该分组交换机具有一个输出缓存(输出队列),他用于存储路由器准备发往那条链路的分组。当链路处于繁忙状态时,分组不仅要承受存储转发时延,还要承受排队时延。而当输出缓存装满了的时候,到达的分组或者已经排队的分组之一将被丢失,被称为分组丢失。
3. 转发表和路由选择协议
当分组到达路由器的时候,路由器会对其进行转发。然而,路由器会往哪个方向进行转发?这就取决于路由转发表了。
路由转发表: 路由器根据它所连接的附近设备获得一张路由转发表。
1.3.2 电路交换
电路交换:
当两个端系统进行数据交换的时候,端系统与端系统之间会建立一条端到端的连接。沿着发送方和接收方这条路径上的交换机都将为该连接维护连接状态。
弊端:
当链路没有进行数据运输时,它也处于维护状态,所以十分浪费资源。
1. 电路交换网络中的复用
频分复用和时分复用
2. 分组交换和电路交换的对比
分组交换:
弊端:分组交换不适合实时服务,因为它的端到端时延是可变的和不可预测的。
优点:
(1)它提供了比电路交换更好的带宽分享
(2)它比电路交换更简单,更有效,实现成本更低。
电路交换:
优点:电路交换适合实时服务
弊端:
(1)电路交换会事先分配传输链路的使用,这使得已分配而并不需要的链路时间未被使用,从而造成资源的浪费。
1.3.3 网络的网络
今天的互联网是一个网络的网络,其结构复杂,有十多个第一层ISP和数十万个较低层ISP组成。
1.4 分组交换网中的时延 丢包和吞吐量
1.4.1 分组交换网中的实验概述
时延的类型:
(1)处理时延:路由器对数据进行处理所消耗的时间,检查分组首部和决定该分组导向何处所需要花费的时间也是处理时延的一部分。
(2)排队时延:分组在输出队列中排队消耗的时间。排队时延长度取决于先期到达的正在排队等待向链路传输的分组数量。
(3)传输时延:是指路由器推出分组所花费的时间。
(4)传播时延:是指一个比特从一台路由器传播到另一台路由器所需要的时间。
1.4.2 排队时延和丢包
**流量强度:**表示的是平均速率除以传输速率 L (平均速率)/ R(传输速率)。
流量强度的相关描述:流量强度越接近于1,平均排队时延迅速增加。
丢包:当输出队列处于饱满状态时,又有新来的分组加入。那么,该分组或者已经排好队的分组可能会被丢弃,俗称丢包。
1.4.3 端到端的时延
端到端的时延:是处理时延和排队时延和传输时延还有传播时延之和。
1.4.4 计算机网络中的吞吐量
瞬时吞吐量: 是指在任何时间瞬间的数据发送或者输出量。
平均吞吐量: 是指总吞吐量除以相应所花费的时间。
通信链路的描述:
通信链路就好比是管道一样,我们以路由器为分界点,如果分界点之前的运输速率大于分界点之后的运输速率,那么就会造成排队时延,同时比特将以分界点之后的速率进行之后的运输;相反,整条通信链路都是以分界点之前的运输速率进行运输。
得出的结论: 从服务器到客户的文件传输吞吐量是所有N条链路中的传输速率的最小值。
1.5 协议层次及其服务模型
引入案例:乘坐飞机旅行的一系列动作
网络的相关分层解析和协议:
数据发送过程及对应分层名称:
封装过程:
应用层的报文向下传输,到达传输层时,传输层对其加上传输层首部字节形成报文段(有时报文长度太长会对其进行分段),再向下传输到网络层,网络层加上源系统和目的系统的IP地址形成IP数据报,向下数据链路层对IP数据报进行封装成帧,然后就进行运输。运输过程会经过数据链路层和物理层。
传输过程:
|