本文是学习自顶向下计算机网络的学习笔记。内容浅显,或有缺漏,还请多多指点。
第一部分:计算机网络的基本概念
计算机网络:我们俗称的计算机网络就是公用的因特网。因特网是一个世界范围的计算机网络,它连接了许多设备(不仅仅包括计算机)。这些设备就是主机,也称为端系统。
通信链路:连接设备。
分组交换机:转发分组。当主机之间传输信息的时候,会把信息分段,加上首部字节(包括了转发地址等信息),这些段就是分组。
分组交换机:路由器、链路层交换机。
ISP:因特网服务提供商。提供上网服务等。每个ISP自身就是一个由多台分组交换机和通信链路组成的网络。例如:中国电信 提供拨号上网、ADSL、CDMA等业务
Internet:相互连接的ISP。即因特网。
协议:定义了报文的格式等
第二部分:因特网的组成
因特网的组成可以分为两大块。
- 核心部分:由大量的网络和连接这些网络的路由器组成,为边缘部分提供服务。在核心部分启特殊作用的 路由器,路由器是实现分组交换的关键构件,其任务是转发收到的分组。
- 边缘部分:由所有连接在因特网上的主机组成,是用户直接使用的。
因特网的核心部分是由许多网络和把他们连起来的路由器组成的,而主机处于因特网的边缘部分
网络边缘
接入网
接入网的作用:
1、将网络边缘与网络核心连接起来,通常是将端系统连接到边缘路由器上
2、边缘路由器:端系统到任何其它远程端系统的路径上的第一台路由器
接入的方式:
1、家庭:Modem拨号/ADSL拨号(数字电话线)/HFC/FTTH/卫星
2、企业:以太网/Wi-Fiq
3、广域无线接入:3G/4G/5G
Modem拨号
1、通过本地电话回路点对点连接ISP的拨号池(通常是路由器),就是计算机打电话
2、速度最高可达56kbps
3、无法实现在上网的同时拨打电话
ADSL:不对称数字用户线
1、下行/上行速率最高可达8Mbps/1Mbps。下行信道速率大于上行信道。
2、频分复用:
n0kHz—4kHz:语音
n4kHz—50kHz:上行 50kHz—1MHz:下行
3、带宽独享
HFC (Hybrid Fiber Coaxial Cable) :光纤同轴电缆混合网络
1、下行/上行速率最高可达40Mbps/10Mbps
2、通过有线电视网络部署
3、带宽共享
局域网接入
无线接入
1、无线局域网WIFI
2、广域无线接入:3G、4G
物理媒体
1、导引型媒体:信号沿着固体媒体被导引
2、非导引型媒体:信号自由传播
导引型媒体
双绞线:两根互相绝缘的铜导线
1、3类线:传统的电话线, 10Mbps以太网
2、5类线:100Mbps以太网
3、6类线:1Gbps以太网
同轴电缆和光缆的对比:
同轴电缆 | 光缆 |
---|---|
双向传输 | 在玻璃光纤传播光脉冲,每一个脉冲一比特 |
基带:电缆上单信道、以太网 | 高速运行:高速的点到点传输 (如10 Gbps) |
宽带:电缆上多信道、HFC | 低误码率:中继器相隔很远; 不受电磁干扰 |
基带指的是将信号调制到更高更有效的频率(用以更有效地传送数据)以前的频率范围。基带传输则是利用数字信号以离散的电(或光)脉冲的形式传送信息。在基带传输中,整个通信线路用于传送一个数据信号,数据数字信号线缆的全部带宽,全部带宽也就组成了一个信道。基带网络上设备传送信息是双向的,可以同时进行接收和发送。
宽带是指在同一传输介质上,使用特殊的技术或者设备,可以利用不同的频道进行多重(并行)传输,并且速率在256Kbps以上,至于到底多少速率以上算作宽带,目前没有国际标准,有人说大于56K就是宽带,有人说1Mbps以上才算宽带,这里我们按照约定俗成和网络多媒体视频数据量来考量为256K。因此与传统的互联网接入技术相比,宽带接入技术最大的优势就是其带宽速率远远超过56Kbps拨号。
非导引型媒体:无线电
特性:
1、通过电磁频谱传播信号
2、没有物理“线路”
3、双向传输
4、传播环境影响:
- 反射
- 被障碍物所阻隔
- 干扰
无线链路类型:
1、地面微波:可达45Mbps
2、无线局域网:2/11/54Mbps
3、无线广域网:如3G/4G/5G
4、卫星
- 可达45Mbps的信道 (或 多个较小的信道)
- 270毫秒的端到端延迟
- 同步卫星vs低纬度卫星
网络核心
第一代计算机网络——电路交换网络
先建立连接、然后交换数据、最后释放连接。
电路交换的特性
1、数据交换前需建立起一条从发端到收端的物理通路
2、在数据交换的全部时间内用户始终占用端到端的固定传输信道(可以使用频分复用和时分复用增大信道的使用率)
3、交换双方可实时进行数据交换而不会存在任何延迟
频分复用(FDM)和时分复用(TDM)
TMD是划分时间片,其时域划分成时帧,网络在时帧指定链路的时隙。即在该时帧中只有这个时隙,该链路可以使用。例如:一个时帧有20个时隙,就意味着该信道分给20个链路使用。
为了解决主机之间数据传输具有的突发性和间歇性,分组交换网络就出现了。
第二代计算机网络——分组交换网络
1、先把报文分成较短的、固定长度的数据段
2、每段前添加首部构成分组。
3、分组交换网络依次把各个分组发送到接收端
4、接收端收到分组后剥去首部还原成报文
5、最后在接收端把收到的数据恢复成原来的报文
备注1:这里我们假定分组在传输过程中没有出现差错,在转发时也没有被丢弃。
备注2:分组首部的重要性:
- 每一个分组的首部都含有地址等控制信息。
- 分组交换网中的结点交换机根据收到的分组的首部中的地址信息,把分组转发到下一个结点交换机。
- 用此种存储转发方式,最后分组就能到达最终目的地。
分组发送网络的优点
- 被传送的数据分成若干分组分别传送
- 数据传输前不必预先确定分组的传输路径
- 网络核心中的每个交换结点均为共享结点,并且都具有分组的存储/转发以及选择合适路由的能力
- 在数据通信的过程中,网络核心断续(动态)分配传输带宽,使得通信线路的利用率得以大大提高
- 为了提高分组交换网的可靠性,网络核心常采用网状拓扑结构,使得当发生网络拥塞或少数中间交换结点、链路出现故障时,可灵活地改变路由而不致引起通信的中断或全网的瘫痪;
- 通信网络的主干线路往往由一些高速链路构成
转发
通过分组交换机。分组交换机通过存储转发传输来传输数据:在传输数据的第一个比特位之前要储存该分组的全部数据。
数据报网络
- 分组内的目的地址决定下一跳
- 在会话过程中路由可能改变
- 类似的:驾驶,问路
虚电路网络
- 每个分组携带一个标识(虚电路号),该标识决定下一跳
- 在 呼叫建立时决定固定的路径,并在整个呼叫过程中保持不变
- 路由器保持每个呼叫连接的状态
造成的问题:
- 分组在各结点存储转发时因要排队总会造成一定的时延。当网络通信量过大时,这种时延可能会很大
- 各分组必须携带一定的控制信息(说明信息),从而带来额外开销
- 整个分组交换网的管理和控制比较复杂
ISP和因特网主干
接入的ISP可以视作客户,最大的ISP可以视作提供商。
1、第一层ISP:位于整个网络结构的顶层。第一层ISP之间互连。
2、第二层ISP:是较小的区域ISPs。比如:国家级的ISP、省级的ISP
- 第二层ISP为能够连接因特网的其它区域而向第一层ISP付费
- 第二层ISP是第一层ISP的客户
- 第二层之间可以在专用的对等点互连,也可以在IXP进行互连。
3、第三层ISP:接入网络,与端系统最近。
备注1:IXP是因特网交换点,多个ISP在这里汇聚、对等。
备注2:底层的ISP可以连接多个高层的ISP
备注3:google内容提供商使用独立于公用因特网的专用网络,和底层的ISP对等。
由该图可以理解因特网是众多网络连接起来的更大的网络。
分组交换网中的时延、丢包和吞吐量
时延
传输时延
传输时延是路由器推出分组所需要的时间,它是分组长度和链路传输速率的函数,与两台路由器之间的距离无关(传输速率就是路由器或者主机,把要进行传送的比特流,放到输出链路上的速度)是数据块从结点进入到传输媒体所需的时间。即一个站点从开始发送数据帧到数据帧发送完毕(或者是接收站点接收一个数据帧的全部时间)所需要的全部时间。【存储转发传输】
传播时延
传播时延是一个比特从一台路由器传播到另一台路由器所需要的时间,它是两台路由器之间距离的函数,而与分组长度或者链路传输速率无关。
排队时延
这里定义一个流量强度。
R=链路带宽 (bps) L=分组长度 (bits) a=平均分组到达速率
流量强度:La/R
La/R ~ 0: 平均排队时延很小,甚至为0
La/R < 1: 时延较小,且会随时间推延而变小
La/R = 1: 时延不会变化,具体数值取决于当时队列长度
La/R > 1: 平均时延较大,且随时间推延而趋于无穷!
处理时延
主机或路由器在收到分组时要花费一定的时间进行处理,例如分析分组的首部、从分组中提取数据部分、进行差错检验或查找适当的路由等等
丢包
缓存中队列的容量是有限的
当分组到达时队列已满,则分组被丢弃 (丢失)
丢失的分组可能会被前一个节点、源端系统重新传输,或者根本不重传
吞吐量
在发送方与接收方之间传输比特的速率(bps)
协议层次和服务模型
因特网的协议栈
应用层: 是网络应用程序及他们的应用层协议存留的地方。因特网的应用层协议包括很多,如HTTP(提供了web文档的请求和传送),SMTP(提供了电子邮件报文的传输),FTP(提供了两个端系统之间的文件传送)。像我们www.baidu.com这样端系统名字转换为32比特网络地址,也是借助于特定的应用协议即域名系统(dns)完成的。一个端系统的应用程序通过协议与另一个端系统中的应用进行交换信息产生的分组,我们把这种应用层的信息分组称为**报文。**
FTP, SMTP, HTTP
运输层: 主要用来传输应用层中应用程序产生的应用层报文。主要包括两种传输协议:TCP和UDP协议。运输层的分组称为报文段。
TCP, UDP
网络层:它是负责将称为“数据报的网络层分组”从一台主机移动到另一台主机上。在一台主机中,运输层协议向网络层递交报文段和发送的目的地。就像是你将信件和收人地址交给邮政。
网络层协议只包含IP协议,它是一种用来定义网络层数据报中的各个字段(这点类似于java中的类的属性),还定义了端系统和路由器如何作用于这些对象(类似于类中的方法)。所有具有网络层的因特网组件必须运行IP协议。
因特网的网络层还包含了决定路由选择协议,它使得数据报根据该路由从源系统传输到目的地。
IP, 路由协议
链路层: 类似于一条路。网络层通过源和目的地之间的一系列路由器路由数据。为了将分组从一个节点(路由器或主机)移动到路径中的下一个节点,网络层必须依靠该链路层的服务。特别是在每个节点,网络层将数据报下发给链路层,链路层将沿着路径传输到下一个节点,在下个节点,再由链路层将数据上报给网络层。
链路层提供的服务取决于应用于该链路的特定链路层协议。有些链路层协议提供可靠传输,从传输节点到跨越链路到达下一个节点 。注意这里的可靠跟TCP的可靠是不一致的,这里的可靠是保证一个节点到一个节点之间链路的可靠传输。TCP是保证端系统之间的可靠传输。而一个端系统之间一般会跨越很多条链路,每条链路可能采用不同的链路层协议。我们把链路层的分组称为帧。
PPP, 以太网q
物理层: 链路层是将整个帧从一个网络元素传递到邻近的一个网络元素。而物理层的任务是将该帧中的一个个比特从一个节点移动到下一个节点,在这层仍然与链路层相关的,并且进一步与链路的实际传输媒体相关(比如双骄铜线、单模光纤),以太网由许多物理层协议:一个是关于双娇铜线,另一个是关于同轴电缆的,还有一个是关于光纤的。