1、信息交换的三种方式:电路交换,分组交换,报文交换。
从通信资源的分配角度来看,交换就是按照某种方式动态地分配传输线路的资源。
电路交换:(星形结构替代全连接)

电话交换机接通电话的方式叫做电路交换;
电路交换的三个步骤:建立连接(分配通信资源,其实就是通过交换机确确定好线路),通话(占用通信资源,双方可以通信了),释放连接(归还通信资源)。

效率:使用电路交换来传送计算机数据时,传输效率很低。
计算机之间传输数据往往是"突发式",即高频次、少量的传输。
原因:建立连接时间长;线路独占,使用效率低;灵活性差;无差错控制;

报文交换:(采用了存储转发的技术思想)
报文(message):包含了发送方、接收方、信息内容。控制信息+用户数据。
中间媒介报文交换机;
存储转发:把传送的数据单元先存储在中间节点,再根据目的地址转发到下一个节点,这一点报文交换机会自己处理。并且通信线路可以灵活分配,交换机 会考虑走最便捷的线路。

优点:
通信前不用建立连接;
数据以报文为单位,采用存储转发的方式,通信线路可以灵活分配;
线路利用率高,不存在资源独占情况,两个用户无需独占一整天线路;
交换节点支持"差错控制",节点之间可以对数据效验。
缺点:
报文不定长(因为你不知道用户发的内容多长,发给谁),不方便存储转发管理(比如有的大报文占很大内存,小报文占用小,那么交换机要能够发送大报文,就必须确保内存足够大;),
长报文的存储转发时间、缓存开销大;长报文容易出错,重传代价高。
存在存储转发时延;
为了解决上述报文交换问题,实际上,计算机网络往往采用分组交换;
分组交换:
分组交换和报文交换类似,但是将报文进行了切割,得到定长的分组作为数据传输单元。

这里分组号用来确定分组之间的相对顺序,以便于能够在接收方拼接成完整的内容。
相比于报文交换的优点:
分组定长,方便存储转发管理;
分组的存储转发时间开销小,缓存开销小;
分组不易出错,重传代价低。
缺点:
控制信息的占比增加,因为每个分组要附加额外的控制信息头。分组越多,这个控制信息的开销越大。
相比于电路交换,依然有存储转发时延。
报文被拆成多个分组,传输过程可能出现丢序、失序,增加处理的复杂度。
附加:虚电路交换技术,基于分组交换。
2、三种交换方式的性能对比:

纵轴表示时间递增方向,ABCD表示节点。

第x章 物理层
1、物理层概述
目的:解决在各种传输媒体上传输比特0和1的问题
物理层主要任务:指明四个特性(机械特性、电气特性、功能特性、过程特性)

2、物理层下的传输媒体:
传输媒体分类:导引型传输媒体、非导引型传输媒体
导引型传输媒体:双绞线、同轴电缆、光纤、电力线;
非导引型传输媒体:微波通信、无线电波、微波、红外线、可见光;
(1)同轴电缆:

基带同轴电缆:数字传输,过去用于局域网;
宽带同轴电缆:模拟传输,目前主要用于有线电视;
缺点:贵,布线不方便,不灵活;
(2)随着集线器的出现,局域网领域一般采用双绞线:

绞合的作用:减少电磁干扰(来自外界、来自相邻导线);
(3)光纤:

优点:通信容量大(25000-30000GHZ);
传输损耗小,远距离传输更实惠;
抗雷电、电磁干扰能力强;
无串音干扰、保密性好、不易被窃听;
体积小、重量轻;
缺点:昂贵,割弃设备得专用

多模光纤:存在许多条不同角度入射的光线在一条光纤中传播。
由于色散导致信号失真,多模光纤只适合近距离传输,而对光源要求不高。
单模光纤:光在纤芯中一直向前传播而不发生全反射。

适合长距离传输,制作成本高,对光源要求高
(4)电力线:适合小空间
(5)非导引型传输媒体:
-
无线电波(Radio Waves):
- 无线电波是一种电磁波,其频率范围广泛,从几百千赫兹到数百太赫兹。
- 无线电波可以穿透大气层,适用于长距离通信,如广播、电视、移动通信等。
- 无线电波的传播可能会受到地形、建筑物等因素的影响。
-
微波(Microwaves):
- 微波是频率在300 MHz到300 GHz之间的电磁波。
- 微波传播损耗较小,适用于点对点通信,如微波中继通信、卫星通信等。
- 微波的传播受天气条件(如雨、雾)的影响较大,且需要直视路径(Line of Sight, LoS)。
-
红外线(Infrared, IR):
- 红外线是波长在750纳米到1毫米之间的电磁波,位于可见光谱的红光之外。
- 红外线的传播不需要直视路径,可以穿透薄雾和烟雾,但会被云层和雨滴吸收。
- 红外线常用于短距离通信,如遥控器、红外通信接口等。
-
可见光(Visible Light):
- 可见光是波长在380纳米到750纳米之间的电磁波,人眼可以感知的光谱。
- 可见光通信(VLC)是一种利用可见光进行数据传输的技术,如LED灯通信。
- 可见光通信的优点是不需要额外的发射器,可以直接使用现有的照明设备,但受环境光线影响较大。
3、数据的传输方式:
串行传输和并行传输;同步传输和异步传输;单工、半双工、全双工通信;
-
串行传输(Serial Transmission):
- 数据一位接一位地传输。
- 简单,适用于长距离传输,因为只需一根线。
- 速度可能比并行传输慢,因为数据是逐位传输的。
-
并行传输(Parallel Transmission):
- 数据的多位同时传输。
- 速度快,因为多个位同时通过不同的线进行传输。
- 复杂度较高,需要多根线,且不适合长距离传输。
-
同步传输(Synchronous Transmission):
- 数据以固定的时间间隔传输,通常由时钟信号同步。
- 传输效率高,因为数据和时钟信号一起传输,接收方可以准确地知道数据位的开始和结束。
- 适用于高速数据传输,如磁盘驱动器和某些网络接口。
-
异步传输(Asynchronous Transmission):
- 数据传输不需要固定的时间间隔,每个字符或数据块的开始和结束由特定的位模式标识。
- 灵活性高,易于实现,适用于低速数据传输,如串行端口。
- 由于每个字符都需要额外的起始位和停止位,可能会引入一些额外的开销。

-
单向通信(Simplex Communication):
- 数据只在一个方向上传输。
- 简单,成本低,适用于广播或不需要反馈的通信场景。
-
双向交替通信(Half-Duplex Communication):
- 数据可以在两个方向上传输,但同一时间只能单向传输。
- 适用于需要双向通信但不需要同时进行的场景,如对讲机。
-
双向同时通信(Full-Duplex Communication):
- 数据可以同时在两个方向上传输。
- 提高了通信效率,适用于电话、以太网等需要实时双向通信的场景。
4、编码与调制
5、信道的极限容量
第 1 章 计算机网络和因特网
概念速览
计算机网络 :一些具有独立功能 的计算机通过通信介质 相互连接 起来,以实现资源共享的计算机的集合。
互连网:一些相互连接的计算机网络的集合(网络的网络)。
互联网:互连网的同义词。
internet 与 Internet
- internet:普通名词,泛指一般的互连网
- Internet :专有名词:世界范围的互连网;使用
TCP/IP
协议族;前身是阿帕网ARPANET
主机、端系统:与因特网相连的计算机或其他设备。如PC,工作站,服务器,智能手机,电视,游戏机,汽车,电器,手表,温度调节系统。
端系统 通过通信链路 和分组交换机连接在一起。
分组:当一台端系统要向另一台端系统发送数据时,发送端系统将数据分段,并为每段加上首部字节,由此形成的信息包叫分组。
分组交换机 分为路由器 和链路层交换机两种
- 链路层交换机用于接入网
- 路由器用于网络核心
因特网标准(Internet Standard) 由**因特网工程任务组(IETF)**研发
IETF 的标准文档称为请求评价(RFC)
因特网应用程序运行在端系统上,并不运行在网络核心中的分组交换机中。尽管分组交换机能够加速端系统之间的数据交换,但它们并不在意作为数据的源或宿的应用程序。
协议:定义了两个或多个通信实体之间交换的报文的格式和顺序,以及报文发送和/或接收一条报文或其他事件所采取的动作。
- 语法
- 语义
- 时序(同步)
网络边缘:端系统位于因特网的边缘,故称为端系统
接入网 :将端系统物理连接到其边缘路由器 的网络。边缘路由器:是端系统到任何其他远程端系统的路径上的第一台路由器。
- 家庭接入:DSL、电缆、FTTH、拨号和卫星
- 数字用户线(DSL):本地电话公司也是ISP。
- 电缆因特网接入 :利用有线电视公司现有的有线电视基础设施。共享广播媒体:由头端发送的每个分组向下行经过每段链路到达每个家庭;每个家庭发送的每个分组经上行信道向头端传输。
- 光纤到户(FTTH):从本地中心局直接到家庭提供了一条光纤路径。
- 拨号与卫星:在无法提供以上方式的偏远地方,使用传统电话线拨号接入。
- 企业(和家庭)接入:以太网和 WiFi
- 广域无线网接入:3G和LTE
物理媒体
- 引导型媒体:光缆、双绞铜线、同轴电缆
- 非引导型媒体:无线局域网、数字卫星频道
网络核心:由互联因特网端系统的分组交换机和链路组成的网状网络。
分组交换 :计算机网络中,源主机将长报文划分为较小的数据块,称之为分组。在源和目的地之间,这些分组中的每个都通过通信链路和分组交换机传送。
-
存储转发:在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。
-
丢包:因为排队缓存空间大小是有限的,一个到达的分组可能发现该缓存已被其他等待传输的分组完全充满了,此时到达的分组或已经排队的分组之一将被丢弃。
电路交换:双方通话前先建立连接,连接期间在该网络链路上预留了恒定的传输速率,发送方能够以确保的恒定速率向接收方传送数据。
分组交换和电路交换的比较
- 电路交换不考虑需求 ,而预先分配了传输链路的使用,预留 了端系统之间沿通信路径所需要的资源,这使得已分配而并不需要的链路时间未被利用(静默期专用链路空闲),发送方能够以确保的恒定速率向接收方传送数据。
- 分组交换按需 分配链路使用,不预留资源,链路传输能力将在所有需要在链路上传输分组的用户之间逐分组地被共享。分组交换的端到端时延是可变的和不可预测的(主要是排队时延的变动),不适合实时服务,但是提供了比电路交换更好的带宽共享,比电路交换更简单、更有效,实现成本更低。
网络的网络
- 因特网服务提供商(ISP):端系统通过因特网服务提供商接入互联网。每个 ISP 自身就是一个由多台分组交换机和多段通信链路组成的网络。
- 因特网交换点(IXP):IXP 是一个汇合点,多个 ISP 能够在这里一起对等。客户 ISP 支付给提供商 ISP 的费用数额反映了它通过提供商交换的通信流量。为了减少这些费用,位于相同等级结构层次的邻近一对 ISP 能够对等(peer),也就是说,能够直接将它们的网络连到一起,使它们之间的所有流量经直接连接而不是通过上游的中间 ISP 传输。
时延
-
处理时延 dprocdproc:检查分组首部和决定将该分组导向何处、检查比特级别差错等所需要的时间。
-
排队时延 dqueuedqueue:如果到达的分组需要传输到某条链路,但发现该链路正忙于传输其他分组,该到达的分组必须在输出缓存中等待。时间无法确定。
-
传输时延 dtransdtrans:
L/R
,L 比特表示分组长度,R bps表示路由器之间的链路传输速率。这是将所有分组的比特推向链路所需要的时间。 -
传播时延 dpropdprop:
d/s
,d 是路由器之间的距离,s 是链路的传播速率。表示从链路起点到另一个路由器传播所需要的时间。 -
总时延:dnodal=dproc+dqueue+dtrans+dpropdnodal=dproc+dqueue+dtrans+dprop
-
流量强度 :
La/R
,a 表示分组到达队列的平均速率。流量强度不能大于 1

吞吐量:单位时间内通过某个网络或接口的实际数据量。
实际吞吐量 :min{R1,R2,...,RN}min{R1,R2,...,RN} ,R 是链路传输速率。即瓶颈链路传输速率。当没有其他千扰流最时,其吞吐量能够近似为沿着源和目的地之间路径的最小传输速率
时延带宽积 :传播时延*带宽 ,以比特位单位的链路长度 ,链路上存在的最大比特数。
通信子网:物理层、数据链路层、网络层
资源子网:传输层、会话层、表示层、应用层
计算机网络的宽带:网络可通过的最高数据率,即每秒多少比特。
宽带线路:可通过较高数据率的线路。每秒有更多比特从计算机注入到线路。
宽带线路和窄带线路上比特的传播速率是一样的。:通信线路上通常都是串行传输的。宽带线路传输的比特间距短,密度大。
协议



第二章 应用层
1、网络应用是计算机网络存在的理由,如果我们不能构想岀任何有用的应用,也就没有 任何必要去设计支持它们的网络协议了。
事实上,网络核心设备并不在应用层上起作用,而仅在较低层次起作用。
研发网络应用的核心是写出能够运行在不同的端系统和通过网络彼此通信的程序。
2、网络应用程序体系结构
注意:应用程序的体系结构区别于网络的体系结构。
在应用程序研究者的角度,网络体系结构是固定的,并为应用程序提供了特定的服务集合;
应用程序体系结构由应用程序研发者设计, 规定了如何在各种端系统上组织该应用程序;
现代网络应用程序的两种主流体系结构:客户-服务器体系结构、对等(P2P)体系结构。
3、客户---服务器体系结构:客户机+服务器

特点:
总有一个打开的主机,称为服务器,服务器服务于来自其他称为"客户"的主机的请求。
客户之间不直接通信,而是通过服务器间接相互通信;
服务器具有固定的、周知的地址,客户总能通过向该IP地址发生分组来与它联系。
例子:Web、 FTP、Telnet和电子邮件。
缺点:
在一个客户-服务器应用中,常常会出现一台单独的服务器主机跟不上它所有客户请求的情况。
高成本,需要庞大的服务器基础设施和服务器带宽。
优化:
配备更多主机作为服务器,形成数据中心,提高效率。
配备大量主机的数据中心(data center)常被用于创建强大的虚拟服务器。
4、对等体系结构(P2P体系结构):它允许网络中的每个节点(或称为对等方)既可以作为客户端也可以作为服务器。
特点:
P2P 体系结构中,对位于数据中心的专用服务器有最小的 (或者没有)依赖;
应用程序在间断连接的主机对之间使用直接通信,这些主机对被称为对等方;
自扩展性,尽管每个对等方都由于请求文件产生工作负载,但每个对等方通过向其他对等方分发文件也为系统增加服务能力。
特点解释:

优点:
自扩展性强,网络可以自适应用户数量的增长;
有成本效率,不需要昂贵的服务器基础设施和大量服务器带宽;
缺点:
由于高度非集中式结构,面临安全性、性能和可靠性等挑战;
注意:
某些应用具有混合的体系结构,它结合了客户-服务器和P2P的元素。
(例如,对 于许多即时讯息应用而言,服务器被用于跟踪用户的IP地址,但用户到用户的报文在用 户主机之间(无须通过中间服务器)直接发送)
举例:文件共享(BitTorrent)、对等方协助下载加速器(如迅雷)、因特网电话和视频会议。
5、进程通信
在构建网络应用程序前,还需要对运行在多个端系统上的程序是如何互相通信的情况有一个基本了解。
本质:进行通信的实际上是进程(process)而不是程序。
进程:一个进程可以被认为是运行在端系统中的一个程序。
重点关注:运行在不同端系统(可能具有不同的操作系统)上的进程间的通信。
进程通信方式:通过跨越计算机网络交换报文而互相通信。即发送进程生成并向网络中发送报文,接受进程接收之,并可能响应。
6、客户和服务器进程:
网络应用程序由成对的进程组成,这些进程通过网络相互发送报文。

客户:在一对进程之间的通信会话场景中,发起通信的进程;
服务器:在会话开始时等待联系的进程。
举例:
对于Web而言,浏览器是一个客户进程,Web服务器是一台服务器进程。对于P2P文件 共享,下载文件的对等方标识为客户,上载文件的对等方标识为服务器。
7、进程与计算机网络之间的接口:套接字。
多数应用程序是由通信进程对组成,每对中的两个进程互相发送报文。从一个进程向另一个进程发送的报文必须通过下面的网络。
套接字:进程通过一个称为套接字的软件接口向网络发送报文和从网络接收报文。


套接字是同一台主机内应用层与运输层之间的接口,也称为应用程序和网络之间的应用程序编程接口(Application Programming Interface, API) ;
应用程序开发者可以控制套接字在应用层端的一切,但是对该套接字的运输层端几乎没有控制权。
在运输层的控制权仅有:1、选择运输层协议 2、设定某些运输层参数
8、进程寻址:(主要指接收进程)
在一台主机上运行的进程为了向在另一台主机上运行的进程发送分组,接收进程需要有一个地址。
标识接收进程:主机的地址+目的主机中接受进程的标识符(或者说端口号、接收套接字);
因特网中,主机地址由其IP地址标识;接收进程需要知道目的地端口号或者接收套接字。
举例:已经给流行的应用分配 了特定的端口号。例如,Web服务器用端口号80来标识。邮件服务器进程(使用SMTP 协议)用端口号25来标识。用于所有因特网标准协议的周知端口号的列表能够在http:// www. iana. org处找到。
9、可供应用程序使用的运输服务:
前面讲过套接字是应用程序进程和运输层协议之间的接口。在发送端的应用程序将报文推进该套接字。在该套接字的另一侧,运输层协议负责从接收进程的套接字得到该报文。
网络提供的运输层协议不止一种,开发应用时,必须选一种可用的。
评估运输层协议的标准:
一个运输层协议能够为调用它的应用程序提供什么样的服务呢?我们大体能够从四个方面对应用程序服务要求进行分类:可靠数据传输、吞吐量、定时和安全性。
(1)可靠数据传输:如果一个协议提供了某种确保数据交付服务,就认为提供了可靠数据传输(reliable血ta transfer) 。
当一个运输协议提供这种服务时,发送进程只要将其数据传递进套接字,就可以完全相信该数据将能无差错地到达接收进程;当一个运输层协议不提供可靠数据传输时,由发送进程发送的某些数据可能到达不了接收进程,这可能能被容忍丢失的应用(loss-tolerant application)所接受,比如"多媒体应用",可以承受一些音频、视频的一定数据丢失。
(2)吞吐量:某个进程对的可用吞吐量就是发送进程能够向接收进程交付比特的速率。
因为其他会话将共享沿着该网络路径的带宽,并且因为这些会话将会到达和离开,该可用吞吐量将随时间波动。运输层协议能够以某种特定的速率提供确保的可用吞吐量。

两个相关概念:
具有吞吐量要求的应用程序被称为带宽敏感的应用;
弹性应用(elastic application)能够根据当时可用的带宽或多或少地利用可供使用的吞吐量。(例如:电子邮件、文件传输以及Web传送 都属于弹性应用)
我们希望,吞吐量越多越好。
(3)定时:运输层协议也能提供定时保证,可以多种形式实现。为了有效性而要求数据交付有严格的时间限制。
适用于交互式实时应用程序:因特网电话、虚拟环境、电话会议、多方游戏
举例:协议要求发送方注入进套接字中的每个比特到达接收方的套接字不迟于 100ms。
(4)安全性:运输协议能够为应用程序提供一种或多种安全性服务。
举例:在发送主机中,运输协议能够加密由发送进程传输的所有数据;在接收主机中,运输层协议能够在将数据交付给接收进程之前解密这些数据。
10、具体的因特网提供的运输服务,实际上通过运输层协议实现:
因特网(更一般的是TCP/IP网络)为应用程序提供**两个运输层协议,**即UDP和TCP。
(1)TCP服务模型提供两种基本服务:
-
面向连接服务:在数据传输开始之前,TCP协议通过一个握手过程在客户端和服务器之间建立连接。这个过程确保双方都准备好进行数据交换。一旦连接建立,数据可以在两个进程的套接字之间全双工地传输,即双方可以同时发送和接收数据。当数据传输完成后,连接会被拆除。
-
可靠数据传输服务:TCP保证数据的可靠传输,即数据将无差错、按顺序地从发送方传输到接收方,没有数据丢失或重复。
不安全,无论TCP还是UDP都没有提供任何加密机制,这就是说发送进程传进其套接字的 数据,与经网络传送到目的进程的数据相同。

TCP的加强版本,称为安全套接字层(Secure Sockets Layer, SSL) 用SSL加强后的TCP不仅能够做 传统的TCP所能做的一切,而且提供了关键的进程到进程的安全性服务,包括加密、数 据完整性和端点鉴别。
(2)UDP服务:
UDP是一种不提供不必要服务的轻量级运输协议,它仅提供最小服务。UDP是无连接的,因此在两个进程通信前没有握手过程。

10、应用层协议:定义运行在不同段系统上的应用程序如何相互传递报文。
报文类型、报文类型的语法、字段语义、规则。

11、常见的网络应用:Web、文件传输、电子邮件、目录服务DNS、流式视频和P2P;
12、
(1)Web(world Wide Web):万维网,从学术界、研究界到被公众使用。

特性:按需操作。当用户需要时,Web搜索,就能得到所想要的内容。
Web的传输层协议:TCP;
Web的应用层协议:HTTP (超文本传输协议),Web的核心;
HTTP定义了 Web客户向Web服务器请求Web页面的方式,以及服务器向客户传 送Web页面的方式。

Web页面(文档):由对象组成,一个对象只是一个文件。多数Web页面含有一个HTML基本文件以及几个引用对象。
(举例:如果一个Web页面包含HTML文本和5个JPEG图形,那 么这个Web页面有6个对象:一个HTML基本文件加5个图形)
HTTP由两个程序实现:一个客户程序和一个服务器程序。客户程序和服务器程序运行在不同的端系统中,通过交换 HTTP报文进行会话。Web服务器存储对象,每个对象由URL寻址。
URL=存放对象的服务器主机名+对象的路径名
(举例,URL 地址 http://www. someSchool. edu/someDepartment/pic ture. gif,其中的 www. someSchool. edu 就是主机名,/someDepartment/picture, gif 就是路径 名)
HTTP是无状态协议:服务器只响应客户请求,不保存客户状态信息;同一客户短时间多次
请求同一对象,服务器依旧响应。
(2) 连接方式:默认持续连接,也可以改为非持续连接。

简单估算一下 从客户请求HTML基本文件起到该客户收到 整个文件止所花费的时间:
往返时间(Round-Trip Time,RTT):该时间是指一个短分组从客户到服务器然后 再返回客户所花费的时间。

RTT=分组传播时延+分组在中间路由器和交换机上的排队时延+分组处理时延
如上图,粗略地讲,总的响应时间就是 两个RTT加上服务器传输HTML文件的时间
非持续连接的缺点:必须为每一个请求对象建立和维护全新的连接;每一个对象经受两倍RTT的交付时延。
(3)HTTP报文格式
HTTP报文分类:请求报文,响应报文;
HTTP请求报文的第一行叫作请求行(request line),其后继的行叫作首部行(header line),注意后面都是首部行,不单指下面的Host。

HTTP的响应报文:
有三个部分:一个初始状态行(status line) , 若干个 首部行(headerline),然后是实体体(entity body)。
状态行有3个字段:协议版本字段、状态码和相应状态信息
实体体部分是报文的主要部分,即它 包含了所请求的对象本身。

(4)用户与服务器的交互:cookie
cookie可以用于标识一个用户
前面提到了 HTTP服务器是无状态的。这简化了服务器的设计,并且允许工程师 们去开发可以同时处理数以千计的TCP连接的高性能Web服务器。然而一个Web站点通常希望能够识别用户,可能是因为服务器希望限制用户的访问,或者因为它希望把内容与用户身份联系起来。
cookie技术的四个组件:
①在HTTP响应报文中的一个cookie首部行;
②在HTTP请求报文中的一个cookie首部行;
③在用户端系统中保留有一个cookie文件,并由用户的浏览器进行管理;
④位于Web站点的一个后端数据库。
(5)Web缓存:也叫代理服务器,它是能够代表初始Web服务器来满足HTTP请求的网络实体。
原理:Web缓存器有自己的磁盘存储空间, 并在存储空间中保存最近请求过的对象的副本。

注意:Web缓存器既是服务器又是客户。当它接收浏览器的请求并发回响应 时,它是一个服务器。当它向初始服务器发出请求并接收响应时,它是一个客户。
举例:一所大学可能在它的校园网上安装一台缓 存器,并且将所有校园网上的用户浏览器配置为指向它。

优点:减少请求响应时间,速度快,特别是当客户与初始服务器之间的瓶颈带宽远低于客户与Web缓存器之间的瓶颈带宽时更是如此。Web缓存器能够大大减少一个机构的接入链路到因特网的通信量。通过减少通信量,该机构就不必急于增加带宽,因此降低了费用。

13、电子邮件:电子邮件是一种异步通信媒介,即当人们方便时就可以收发邮件, 不必与他人的计划进行协调。
组成:用户代理,邮件服务器(电子邮件体系结构的核心),简单邮件传输协议(SMTP是因特网电子邮件的核心)。

举例:
(微软的Outlook和Apple Mail是电子邮件用户代理的例子。当 Alice完成邮件撰写时,她的邮件代理向其邮件服务器发送邮件,此时邮件放在邮件服务器的外出报文队列中。当Bob要阅读报文时,他的用户代理在其邮件服务器的邮箱中取得该报文)
每个接收方在其中的某个邮件服务器上有一个邮箱(mailbox);
典型的邮件发送过程:从发送方的用户代理开始,传输到发送方的邮件服务器,再传输到接收方的邮件服务器,然后在这里被分发到接收方的邮箱中。
故障情况:如果邮件服务器A不能将邮件交付给另外的服务器B,则A将邮件保持在报文队列并周期性尝试发送,若始终不行,则删除报文,并以电子邮件形式通知发送方。
14、DNS------因特网的目录服务:
DNS,全称为域名系统(Domain Name System),是一个分布式的网络服务,它将人类易于记忆的域名转换为计算机用于网络通信的IP地址。
主机名(域名)不定长、字母数字混合、路由器难以处理;
IP地址:定长、4个字节组成、严格层次结构、便于识别;
DNS的主要功能是域名解析,即一种进行主机名到IP地址转换的目录服务,即将域名和IP地址相互映射,使得用户可以通过域名访问互联网上的资源,而不需要记住复杂的IP地址。
DNS的组成:一个分层的DNS服务器实现的分布式数据库+一个使得主机能够查询分布式数据库的应用层协议
DNS的运输层协议:UDP,使用53号端口;
DNS服务器通常是运行BIND软件的UNIX机器;
与HTTP、FTP和SMTP协议一样,DNS协议是应用层协议:
①使用 客户-服务器模式运行在通信的端系统之间;
②在通信的端系统之间通过下面的端到端 运输协议来传送DNS报文。
然而,在其他意义上,DNS的作用非常不同于Web应用、 文件传输应用以及电子邮件应用。与这些应用程序不同之处在于,DNS不是一个直接和用户打交道的应用。
DNS通常是由其他应用层协议所使用的,包括HTTP、SMTP和FTP,将用户提供的主 机名解析为IP地址。
DNS工作步骤:举例,考虑运行在某用户主机上的一个浏览器(即一个HTTP 客户)请求URL www. someschool. edu/index. html页面时会发生什么现象。

将想获得的IP地址通常就缓存在一个 附近的" DNS服务器中,这有助于减少DNS的网络流量和DNS的平均时延。
DNS的其他功能服务:主机别名、邮件服务器别名、负载分配;
DNS工作机理概述:(主机名到IP地址转换)
应用程序调用DNS客户端,指明要转换的主机名,向网络发送DNS查询报文,若干时延后,收到结果到应用程序。从应用程序调用DNS的角度来看,DNS是一个黑盒。
15、DNS的设计方式:
(1)DNS的最简单设计方式是只使用一个DNS服务器(集中式),该服务器包含所有的映射。问题:单点故障,通信容量,远距离的集中式数据库,维护。缺点:速度慢,易出错,不易扩展,服务器压力过大,难维护。


(2)分布式的设计方案:分布式、层次数据库;DNS缓存;
【1】分布式、层次数据库:使用大量的DNS服务器,以层次方式组织,分布在全球。
特点:映射不完全(没有一台DNS服务器拥有因特网上所有主机的映射);
映射广泛分布(映射分布在所有的DNS服务器上);
DNS服务器分类:根DNS服务器、顶级域DNS服务器(TLD)、权威DNS服务器

( 举例:假定一个DNS客户要决定主机名www. amazon.com的IP地址。
发生事件:客户首先和某根服务器联系,得到顶级域名com的TLD的IP地址,再与TLD联系,得到amazon.com下的权威服务器的IP地址,最后再与权威服务器联系,为主机名www.amazon.com返回IP地址。)
特殊:本地DNS服务器;(严格说来,一个 本地DNS服务器并不属于该服务器的层次结构,但它对DNS层次结构是至关重要的,起到代理作用)当主机发岀 DNS请求时,该请求被发往本地DNS服务 器,它起着代理的作用,并将该请求转发 到DNS服务器层次结构中。
域名解析的过程:递归查询,迭代查询。

【2】DNS缓存:
目的:改善时延,减少报文传输数量,减少流量消耗;
原理:将接受到的映射缓存在本地存储器;
时限:由于映射不是永久的,DNS服务器在一段时间后(通常设置为两天)将丢弃缓存的信息。
可以绕过根: 本地DNS服务器也能够缓存TLD服务器的IP地址,因而允许本地DNS绕过查询链中的根DNS服务器。事实上,因为缓存,除了少数DNS查询以 外,根服务器被绕过了。
举例:(如果在 DNS服务器中缓存了一台主机名/IP地址 对,另一个对相同主机名的查询到达该 DNS服务器时,该DNS服务器就能够提供 所要求的IP地址,即使它不是该主机名的权威服务器。)

DNS记录和报文:
DNS报文分类:查询报文、回答报文;且两类报文格式相同
格式:首部区域+问题区域+回答区域+权威区域+附加信息区域;
RR是"资源记录"(Resource Record)的缩写;
标志位指出报文是查询报文 (0)还是回答报文(1)
DNS脆弱性:
针对DNS服务的攻击:
分布式拒绝服务(DDoS)带宽洪范攻击(试图向每个DNS根服务器发送大量的分组,使得大多数合法DNS请求得不到回答);
向顶级域名服务器(例如向所有处理.com 域的顶级域名服务器)发送大量的DNS请求。(破坏性更有效)
第三章、运输层:
1、运输层概述
地位:运输层位于应用层和网络层之间,是分层的网络体系结构的重要部分,为运行在不同主机上的应用进程提供直接的通信服务起着至关重要的作用。
功能:运输层协议为运行在不同主机上的应用进程之间提供了逻辑通信功能。

2、运输层和网络层的关系:
(1)在协议中,运输层位于网络层之上;
(2)网络层提供主机之间的逻辑通信;运输层提供不同主机上的进程之间的逻辑通信;【各自本职区别】
(3)运输层协议只工作在端系统中,它可以推出或接受来自网络层的报文,但不关心报文怎么从网络移动过来的。【相对独立】
(4)运输协议能够提供的服务常常受制于底层网络层协议的服务模型(如果网络层协议无法为主机之间发送的运输层 报文段提供时延或带宽保证的话,运输层协议也就无法为进程之间发送的应用程序报文提 供时延或带宽保证) 【功能制约关系】
(5)即使底层网络协议不能在网络层提供相应的服务,运输层协议也能提供某些服务。(
即使底层网络协议是不可靠的,也就是说网络层协议会使分组丢失、篡改和冗余,运输协议也能为应用程序提供可靠的数据传输服务,比如使用安全性加强的套接字、加密方法等等)【功能扩展关系】
3、因特网运输层概述:
(1)常用的运输层协议:TCP(传输控制协议:可靠、有连接);UDP(用户数据报协议:不可靠、无连接);
(2) 因特网网络层协议:IP(网际协议)
特点:尽力而为交付服务(尽最大努力保证在主机之间交付报文段,但不保证数据的完整性)、不可靠服务;每台主机至少有一个网络层地址,叫IP地址。
(3)运输层协议的最基本责任:将两个端系统间IP(网络层协议)的交付服务扩展为运行在端系统上的两个进程之间的交付服务。即运输层的多路复用和多路分解。
(4)将主机间交付扩展到进程间的交付被称为"运输层的多路复用和多路分解"
|-----|--------------------------------------|---------|
| 名称 | 提供的服务 | 特点 |
| TCP | 数据交付和差错控制、可靠数据传输、拥塞控制 | 可靠,有连接 |
| UDP | 进程到进程的数据交付和差错控制------UDP所能提供的仅有的两种服务 | 不可靠,无连接 |
| | | |
[TCP和UDP的区别]

拥塞控制:防止任何一条TCP连接用过多流量来淹没通信主机之间的链路和交换设备;TCP力求为每个通过一条拥塞网络链路的连接平等地共享网络链路带宽。
4、多路复用和多路分解:多路复用与多路分解服务是所有计算机网络都需要的。
将主机间交付服务扩展到进程间交付服务的门户:套接字。
一个进程可能有一个或多个套接字,每个套接字有唯一的标识符,标识符格式取决于它是UDP还是TCP支持。
接收主机如何将到达的运输层报文段定向到适当的套接字?
过程:在接收端,运输层检查报文段,标识出接收套接字(端口号),进而定向。
多路复用:在源主机从不同套接字收集数据块,并为每个数据块封装上首部信息从而生成报文段,然后将报文段传递到网络层的一系列工作;【采集】
多路分解:将运输层报文段中的数据交付到正确的套接字的工作;【寻觅】

运输层多路复用的必要要求:①套接字有唯一标识符; ②每个报文段有特殊字段(源端口号和目的端口号)来指示该报文段所要交付到的套接字。
端口号是一个16比特的数,其大小在0 ~ 65535之 间。0 ~ 1023范围的端口号称为周知端口号。
源端口号可能作为返回地址的一部分。
周知端口号:受限制的,专门保留给那些周知的应用层协议来使用(如HTTP使用端口80,FTP使用端口21)
|--------|----------------------------|----------------------------------|
| | 面向连接的多路复用和多路分解 | 无连接的多路复用和多路分解 |
| 连接需求 | 需要建立连接,采用TCP | 不需要建立连接,采用UDP |
| 数据传输方式 | 保证可靠数据传输,数据交付和差错控制,拥塞控制 | 不保证可靠,仅有数据交付和1差错控制 |
| 套接字标识 | (源IP地址,源端口号,目的地IP地址,目的端口号) | (目的IP地址,目的端口号) |
| 应用场景 | Web、文件传输、电子邮件;要求数据完整性和顺序性。 | P2P、视频通话、DNS;容忍偶尔的数据包丢失,但需要快速传输。 |
| 性能和资源 | 更多的资源来管理连接,但提供了更可靠的服务 | 较少的资源来建立和维护,因为不需要为每个数据包建立连接 |
| | | |
[区别]
5、细说UDP:
运输层最低限度必须提供一种复用/分 解服务,以便在网络层与正确的应用级进程之间传递数据。
除了复用/分解功能(数据交付)及少量的差错检测外,它几乎没有对IP增加别的东西。
使用UDP时,在发 送报文段之前,发送方和接收方的运输层实体之间没有握手,即无连接。
UDP特点:
(1)关于发送什么数据以及何时发送的应用层控制更加精细(实时应用通常要求最小的发送速率,不希望过分地延迟报文段的传送,且能 容忍一些数据丢失,TCP服务模型并不是特别适合这些应用的需要)
(2)无须连接建立,没有建立连接的时延(这可能是DNS运行在UDP之上而不是运行在TCP之上的主要原因)
(3)无连接状态(而TCP需要在端系统中维护连接状态。此连接状态包括接收和发送缓存、 拥塞控制参数以及序号与确认号的参数)
(4)分组首部开销小(每个TCP报文段都有20字节的首部开销,而UDP仅有8字节的开销)
(5)使用UDP的应用是可能实现可靠数据传输的。这可通过在应用程序自身中建立可靠性机制来完成(例如,可通过增加确认与重 传机制来实现)

6、UDP报文段与检验和;UDP检验和提供了差错检测功能

检验步骤:
首先得到检验和:将分组数据二进制码全部相加(多余进位不要)得到分组和,然后取反;
检验:将检验和与分组和相加,若结果中有某些位为0,则表明分组中出错;若全为1,则对。
举例:假定我们有下面3 个16比特的字

反码运算就是将所有的0换成1,所有的 1转换成0。因此,该和0100101011000010的反码运算结果是1011010100111101,这就变 为了检验和。在接收方,全部的4个16比特字(包括检验和)加在一起。如果该分组中 没有引入差错,则显然在接收方处该和将是llllllllllllllllo如果这些比特之一是0, 那么我们就知道该分组中已经出现了差错。
7、为什么UDP首先要提出检验和以确保差错控制?
(1)数据链路层不一定全然确保差错控制:不能保证所有链路层协议都提供差错检测;报文存储在某台路由器内存时,可能发生比特差错;
(2)在既无法确保逐链路的可靠性,又无法确保内存中的差错检测的情况下,如果端到端数据传输服务要提供差错检测,UDP就必须在端到端基础上在运输层提供差错检测;
端到端原则:某种功能必须基于端到端实现(即发送和接收数据的主机)

注意:UDP提供差错检测,但它对差错恢复无能为力
8、可靠数据传输原理:
(1)服务抽象:数据可以通过一条可靠的信道进行传输。

运输层的下层协议可能不可靠,因此需要在运输层构造可靠数据传输协议弥补。
(2)可靠数据传输协议:rdt1.0;rdt2.0;rdt3.0;
|--------|------------|--------|------------------|------|-------|--------|------|---|
| 名称 | 信道类型 | 错误检测机制 | 确认/否认机制(接收方反馈机制) | 重传机制 | 序列号使用 | 状态机复杂度 | 性能特点 | |
| rdt1.0 | 完全可靠信道 | 无 | 无 | 无 | 无 | 简单 | 高效 | |
| rdt2.0 | 有比特差错信道 | 效验和 | ACK/NAK | 有 | 无 | 简单 | 低效 | |
| rdt3.0 | 有比特差错和丢包信道 | 校验和 | ACK | 有 | 有 | 复杂 | 低效 | |
[可靠数据传输协议]
ACK:肯定确认; NCK:否定确认;
相比于rdt3.0,rdt2.0没有考虑反馈(ACK,NCK)受损的情况;
rdt3.0也叫比特交替协议;


解决方法:在数据分组中添加一新字段,让发送方对其数据分组编号,即将发送数 据分组的序号放在该字段。于是,接收方只需要检查序号即可确定收到的分组是否一次重传。
9、流水线可靠数据传输协议:
rdt3.0性能问题的核心在于它是一个"停等"的协议;

解决方法:不以停等方式运行,允许发送方发送多个分组而无需等待确认。这叫流水线技术。


比较:

关键点:
-
序号范围:为了区分不同的分组,每个分组必须有一个唯一的序号。这在流水线协议中尤为重要,因为可能有多个分组同时在传输中。
-
缓冲:发送方和接收方可能需要缓存多个分组。发送方需要缓存已发送但未确认的分组,而接收方可能需要缓存已正确接收但等待后续分组的分组。
-
差错恢复:流水线协议需要处理丢失、损坏或延时过大的分组。有两种基本的差错恢复方法:
-
回退N步(GBN):如果发现错误,发送方需要回退到上一个正确接收的分组,并重传所有后续的分组。
-
选择重传(SR):只重传那些被确认丢失或损坏的分组,而不是整个窗口的分组
-
10、流水线可靠传输协议的差错恢复方式:
(1)回退N部(GBN):"回退N步"来源于出现丢失和时延过长分组时发送方的重传行为。


GBN发送方必须响应的三种类型的事件:
上层的调用;收到一个ACK;超时时间;

累计确认机制:对序号为n的分组的确认采取累积确认的方式,表明接收方已正确接收到序号为n的以前且包括n 在内的所有分组。
(比如当接收方传来ACK4时候,表明前面的0,1,2,3,4都已经被接收方正确接收)
GBN本身也有一些情况存在着性能问题:尤其是当窗口长度和带宽时延积都很大时,在流水线中会有很多分组更是如此.
接收方效率问题:丢弃一个正确接收的分组的缺点是随后对该分组的重传也许会丢失或出错,因此甚至需要更多的重传;

(2)选择重传(SR):
为了解决"接收方效率问题:丢弃一个正确接收的分组的缺点是随后对该分组的重传也许会丢失或出错,因此甚至需要更多的重传"问题,采取选择重传,即只重传那些被确认丢失或损坏的分组,而不是整个窗口的分组。
交付上层的时机:失序的分组将被缓存直到所有丢失分组(即序号更小的分组)皆被收到为止,这时才可以将一批分组按序交付给上层。




可靠数据传输机制总结:

11、面向连接的运输:细说TCP;
TCP "连接"不是一条像在电路交换网络中的端到端TDM或FDM电路。相反, 该"连接"是一条逻辑连接。
(1)为什么说TCP是面向连接的?
两个进程通信前必须"握手",相互发送某些预备报文段,以确保数据传输的参数。双方都要初始化一些与TCP连接相关的TCP状态变量。
注意:中间路由器对TCP 连接完全视而不见,他们仅关注数据报(报文);
(2)连接特点:点对点,无"多播";
点对点:单个发送方与单个接收方之间的连接;
多播:一次发送中,一个发送方将数据传送给多个接收方
【待补充】
(3)TCP报文段结构

11、TCP流量控制和拥塞管理:
(1)流量控制服务:消除发送方使接收方缓存溢出的可能性;本质是一个速度匹配服务,即发送方的发送速率和接收方应用程序的读取速率相匹配。
原理: TCP通过让发送方维护一个称为接收窗口的变量来提供流量控制;
通俗的说接收窗口用来给发送方一个指示:接收方还有多少可用的缓存空间。因为TCP是全双工通信,在连接两端的发送方都各自维护一个接收窗口。

解决死锁的方式:超时后启动持续计时器,发送送零窗口探测报文。(即使接收窗口为0,也必须接收零窗口探测报文)注意零窗口探测报文也有重传计时器,超时后会重发。


(2)拥塞控制:发送方可能因为IP网络的拥塞而被遏制。
拥塞:对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏。

拥塞控制的方法分类:根据网络层是否为运输层拥塞控制提供显示帮助划分
分为: 端到端拥塞控制、网络辅助拥塞控制。
原理:TCP连接的每一端都是由一个接收缓存、一个发送缓存和几个变量组成。运行在发送方的TCP拥塞控制机制跟踪一个额外的变量,即拥塞窗口 (congestion window) ;
拥塞窗口表示为cwnd,它对一个TCP发送方能向网络中发送流量的速率进行了限制。
在一个发送方中未被确认的数据量不会超过拥塞窗口与接收窗口中的最小值。
即:

(3)TCP拥塞控制算法:算法包括三个部分:慢启动,拥塞避免,快速恢复。


何时结束慢启动时拥塞窗口的指数增长:
情况1:存在一个超时指示的丢包事件(即拥塞)
此时将慢启动阈值ssthresh:=cwnd/2;发送方将设置为1并重新慢启动。
情况2:到达慢启动阈值(ssthresh)
接着将进入拥塞避免状态:
一旦进入拥塞避免状态,cwnd的值大约是上次遇到拥塞时的值的一半。
现在要很谨慎地变化cwnd,保守的方法是:每个RRT只是将cwnd值增加一个MSS;
最后到快速恢复:
对于引起TCP进入快速恢复状态的缺失报文段,对收到的每个冗余的 ACK, cwnd的值增加一个MSS。最终,当对丢失报文段的一个ACK到达时,TCP在降低 cwnd后进入拥塞避免状态。如果出现超时事件,快速恢复在执行如同在慢启动和拥塞避 免中相同的动作后,迁移到慢启动状态:当丢包事件出现时,cwnd的值被设置为1个 MSS,并且ssthresh的值设置为 cwnd值的一半。
第四章 网络层:数据平面
网络层被分成两个相互作用的部分:数据平面和控制平面
1、网络层概述:


2、转发和路由选择:数据平面和控制平面
两种重要的网络层功能:转发和路由选择;
转发:当一个分组到达某个路由器的一条输入链路时,该路由器必须将该分组移动到适当的输出链路;
路由选择:送方流向接收方时,网当分组从发络层必须决定这些分组所采用的路由或路径。
特性 | 转发(Forwarding) | 路由选择(Routing) |
---|---|---|
定义 | 将分组从一个输入链路接口转移到适当的输出链路接口 | 确定分组从源到目的地所采取的端到端路径的处理过程 |
时间尺度 | 短(通常为几纳秒) | 长(通常为几秒) |
实现方式 | 通常用硬件来实现 【数据平面】 | 通常用软件来实现 【控制平面】 |
过程 | 路由器本地动作 | 网络范围处理过程 |
例子 | 通过单个立交桥的过程 | 规划从宾夕法尼亚州到佛罗里达州的行程 |
关键元素 | 转发表(Forwarding Table) | 路由表(Routing Table)、转发表 |
操作 | 检查分组首部字段值,使用这些值在转发表中索引转发分组 | 根据网络拓扑和算法确定最佳路径 |
决策依据 | 分组首部字段值 | 网络状态、路径成本、策略等 |
目的 | 确保分组在网络中正确转发 | 选择最佳路径以最小化延迟和最大化网络效率 |

3、网络服务模型:定义了分组在发送端到接收端系统的"端到端"运输特性。
提供的服务:尽力而为服务
(1)不确保交付
(2) 不 具有时延上界的确保交付。
(3)不有序分组交付
(4)不确保最小带宽
(5)不安全性
4、路由器和链路层交换机:
链路层交换机:基于链路层帧中的字段值做出转发决定,这些交换机因此被称为链路层设备。
路由器:基于网络层数据报中的首部字段值做岀转发决定。
5、路由器工作原理:




6、分组调度:排队的分组如何经输出链路传输的问题
先进先出;优先权排队;循环和加权公平排队;
(1)先进先出

FIFO队列在网络中广泛应用于数据包的传输,特别是在不需要特殊优先级处理的场景中。它确保了数据包按照到达顺序被处理,有助于维护网络的公平性和简单性。
(2)优先权排队:

在下面的例子中:
分组1、3和4属于高优先权类,分组2和5属于低优先权类。

- 分组到达和离开:分组按照其到达时间和优先级被放入相应的队列,并在传输完成后离开。
- 优先级传输:高优先级的分组在传输时会优先于低优先级的分组
- 非抢占式优先权:一旦分组开始传输,即使有更高优先级的分组到达,也不会打断当前传输。

(3)循环和加权公平排队:
当寻找给定类的分组但是没有找到时,保持工作的循环规则将立即检查循环序列中的下一个类


7、网际协议:IPv4、寻址、IPv6

IPv4地址的表述:

分类编址下的IPv4格式:





总结:(可分配的)
【1,126】=A;
【128,191】=B;
【192,223】=C;





子网掩码:





无分类编址的IPV4地址:


8、动态主机配置协议(DHCP):允许主机自动获取一个 IP 地址。
-
某组织一旦获得了一块地址,它就可为本组织内的主机与路由器接口逐个分配IP地 址。系统管理员通常手工配置路由器中的IP地址(常常在远程通过网络管理工具进行配 置)。主机地址也能手动配置,但是这项任务目前更多的是使用动态主机配置协议
四个步骤
-
DHCP 服务器发现 :新到达的主机向端口
67
广播 DHCP 发现报文 -
DHCP 服务器提供 :DHCP 服务器广播 DHCP 提供报文
-
DHCP 请求 :客户选择一个服务器提供,广播 DHCP 请求报文,指定选择的 DHCP 服务器 ID
-
DHCP ACK :服务器使用
DHCP ACK 报文
对 DHCP 请求报文进行响应,广播 -
-
客户-服务器协议:客户是新到达的主机,每个子网都具有一台 DHCP 服务器,或DHCP 中继代理(路由器)
-
使用 UDP 协议实现
-
由于 DHCP 具有将主机连接进一个网络的网络相关方面的自动能力,故它又常被称为即插即用协议 或零配置协议
-
9、网络地址转换(NAT)
- NAT 转换表
- NAT 使能路由器对外界的行为就如同一个具有单一 IP 地址的单一设备
- NAT 使能路由器对外界隐藏了子网内部的细节
- 从广域网到达 NAT 路由器的所有数据报都有相同的目的 IP 地址
- 离开 NAT 路由器的所有报文拥有相同的源 IP 地址


10、IPv6
-
数据报格式
- 重要变化
- 扩大的地址容量:IP 地址 128 比特
- 任播地址:可以使数据报交付给一组主机中的任意一个
- 简化高效的 40 字节首部:40 字节定长首部
- 流标签
- 扩大的地址容量:IP 地址 128 比特
- 有效载荷长度:数据载荷字节数
- 下一个首部:标识数据报中的内容需要交付给哪个协议。与 IPv4 中的协议字段相同。
- 与 IPv4 相比,去除的字段
- 分组/重新组装:IPv6 不允许在中间路由器上进行分片与重新组装。这种操作只能在源和目的地端系统执行。
- 首部校验和:因为因特网中的运输层和数据链路层协议已经执行了校验操作,并且 IPv4 上的 TTL 字段使得在每个路由器上都要重新计算校验和,耗时。
- 选项:IPv6 40字节 定长
- 重要变化
从 IPv4 到 IPv6 迁移
- 宣布一个标志日,指定某个日期和时间,届时因特网的所有及其都关机并从 IPv4 升级到 IPv6.
- 建隧道 :假定两个 IPv6 节点要使用 IPv6 数据报进行交互,但它们是经由中间 IPv4 路由器互联的。我们将两台 IPv6 路由器之间的中间 IPv4 路由器的集合 称为一个隧道 。借助隧道,在隧道发送端的 IPv6 节点可将整个 IPv6 数据报放到一个 IPv4 数据报的有效载荷中。于是该 IPv4 数据报的地址设为指向隧道接收端的 IPv6 节点,再发送给隧道中的第一个节点。隧道中的中间 IPv4 路由器在它们之间为该数据报提供路由,就像对待其他数据报一样,完全不用知道该 IPv4 数据报自身就含有一个完整的 IPv6 数据报。隧道接收端的 IPv6 节点最终收到该 IPv4 数据报,检查到协议字段值是 41 ,并确定该 IPv4 数据报含有一个 IPv6 数据报,从中取出 IPv6 数据报,然后再为该 IPv6 数据报提供路由,就好像它是从一个直接相连的 IPv6 邻居那里接收到该 IPv6 数据报一样。

-
协议翻译技术:对 IPv6 和 IPv4 报头时行相互翻译,实现 IPv4/IPv6 协议和地址的转换。
-
双栈技术:主机或路由器同时装有 IPv4 和 IPv6 两个协议栈,因此主机既能和 IPv4 通信, 也能和 IPv6 通信。
第五章 网络层:控制平面
1、概述:
控制平面作为一种网络范围的逻辑,不仅控制沿着从源主机到目的主机的端到端路径间的路由器如何转发数据报,而且控制网络组件和服务如何配置和管理。
网络层首要元素:转发表、流表。
网络层中控制平面的两种控制方法:每路由器控制和逻辑集中式控制。


2、路由选择算法:
目的:确定一条从发送方到接收方的好的路径(最低开销)。

c(x,y)表示节点x和y间边的开销;

路由选择算法分类:
集中式路由选择算法,分散式路由选择算法。
(1)集中式路由选择算法
用完整的、全局性的网络知识 计算岀从源到目的地之间的最低开销路径。也就是说,该算法以所有节点之间的 连通性及所有链路的开销为输入。这就要求该算法在真正开始计算以前,要以某 种方式获得这些信息。
(2)分散式路由选择算法
路由器以迭代、分布 式的方式计算出最低开销路径。没有节点拥有关于所有网络链路开销的完整信息。 相反,每个节点仅有与其直接相连链路的开销知识即可开始工作。然后,通过迭 代计算过程以及与相邻节点的信息交换,一个节点逐渐计算出到达某目的节点或 一组目的节点的最低开销路径。eg:DV算法。
第二种分类方式:根据算法静态还是动态
静态路由选择算法:路由随时间变化非常缓慢,通常人工调整;
动态路由选择算法:随着网络流量负载或拓扑发生变化而改变路由选择路径。
-
负载敏感与负载迟钝路由选择算法:
-
负载敏感算法:链路开销会根据底层链路的当前拥塞水平动态变化。如果一条链路当前拥塞,其开销会增加,路由选择算法会倾向于选择其他路径以避开拥塞。ARPAnet的早期路由选择算法是负载敏感的,但这也带来了一些难题。
-
负载迟钝算法:链路开销不明确反映当前或最近的拥塞水平。当前因特网使用的路由选择算法,如RIP、OSPF和BGP,都是负载迟钝的。这意味着这些算法在计算路由时,不会考虑链路的即时拥塞状态。
-
1、链路状态路由选择算法:
LS(link state broadcast) 链路状态广播算法:
其实就是迪杰斯特拉算法。
DV(distance vector) 距离向量算法:

(DV说它是分布式的,是因为每个节点都要从一个或多个直接相连邻居接收某些信息 ,执行计算,然后将其计算结果分发给邻居。说它是迭代的,是因为此过程一直要持续到邻居之间无更多信息要交换为止。)
特性 | LS路由选择算法 | DV路由选择算法 |
---|---|---|
工作原理 | 网络拓扑和所有链路费用已知,通过广播状态分组来完成 | 每个节点仅与直接邻居交谈,提供从自己到所有其他节点的最低费用 |
算法结构 | 全局信息算法 迪杰斯特拉算法 | 迭代的、异步的、分布式算法 贝尔曼弗洛伊德算法 |
时间复杂性 | O(|N|^2) | 对好消息反应迅速,对坏消息反应迟钝,存在计数无穷大问题 |
报文复杂性 | 需要发送O(|N||E|)个报文 | 仅当新费用导致最低费用路径改变时,才传播改变的链路费用 |
收敛速度 | 快,允许路由更快收敛 | 慢,可能会遇到路由选择环路和无穷计数问题 |
健壮性 | 路由计算分离,提供一定程度的健壮性 | 一个不正确的节点计算值会扩散到整个网络 |
可扩展性 | 好,可靠 | 差,随着网络规模增大,性能下降 |
跳数限制 | 无跳数限制,使用最短路径优先算法 | 使用跳数或向量来确定距离,不考虑每跳链路的速率 |
路由表更新 | 每个节点根据全局拓扑结构计算路由表 | 根据相邻节点的路由信息更新自己的路由表 |
代表协议 | OSPF, IS-IS | RIP, BGP, ARPAnet |
LS算法在健壮性和可扩展性方面通常优于DV算法,但DV算法在某些情况下可能更简单易用

路由信息协议RIP和工作原理DV:
特性 | 描述 |
---|---|
协议类型 | 基于距离矢量的动态路由协议 |
度量标准 | 跳数(Hop Count) |
更新周期 | 通常为30秒 |
跳数限制 | 最大跳数为15,超过则认为不可达 |
收敛速度 | 相对较慢,可能需要几分钟 |
网络规模 | 适用于小型网络,不适合大型网络 |
带宽占用 | 定期广播整个路由表,可能占用较多带宽 |
路由环路 | 容易产生路由环路,特别是收敛速度慢时 |
安全性 | 安全性较低,因为更新信息是广播的 |
配置简单 | 易于配置和理解 |
不支持VLSM | 不支持可变长子网掩码(VLSM) |



比如:

第七章 无线网络和移动网络
一个是在该网络中由通 信链路的无线特性所带来的挑战,另一个是由这些无线链路使能的移动性。
1、概述:
无线网络的要素:无线主机、无限通信链路、基站。
无线主机:运行应用程序的端系统设备;(主机本身可能移动,也可能不移动。)
无线链路:主机通过无线通信链路连接到一个基站或者另一台无线主机。(连接其他要素的媒介,不同的无线链路技术具有不同的传输速率和能够传输不同的距离)
无线链路特性:覆盖区域和链路速率;
基站:关键的基础设施,没有明确的对应设备,职责是"向与之关联的无线主机发送数据和接收数据,协调无线主机之间的传输";
什么叫相关联:①该主机位于该基站的无线通信覆盖范围内;②该主机使用该基站中继它 (该主机)和更大网络之间的数据。

切换:当一台移动主机的移动超出一个基站的覆盖范围而到达另一个基站的覆盖范围后,它 将改变其接入到更大网络的连接点。
带来的问题:如何确定位置?如何编址?如何确保连接?
2、基础设施模式与自组网络:
基础设施模式:无线主机通过基站与更大的网络(如因特网)相连,基站提供传统的网络服务,如地址分配和路由选择。
自组网络(Ad Hoc Network):无线主机之间没有基站,主机需要自行提供路由选择、地址分配等服务。

3、无线网络分类:
①在该无线网络中的分组是否跨越了一个无线跳或多个无线跳;②网络中是否有诸如基站这样的基础设施。
"跳"(hop)是一个重要的概念,它指的是数据包在网络中从一个节点传输到另一个节点的过程。


4、无线链路和网络特征:
重点关注:链路层的变化
我们的确能够发现有线链路和无线链路间的许多重要区别:
递减的信号强度,来自其他源的干扰,多径传播。
递减的信号强度:电磁波在穿过物体时强度将减弱,即使在自由空间中,信号仍将扩散,这使得信号强度随着发送方和接收方距离的增加而减弱(路径损耗)
来自其他源的干扰:在同一个频段发送信号的电波源将相互干扰。
多径传播。当电磁波的一部分受物体和地面反射,在发送方和接收方之间走了不 同长度的路径,则会出现多径传播。这使得接收方收到的信号变得模糊。位于发送方和接收方之间的移动物体可导致多径传播随时间而改变。


增加传输功率的缺点:发送方必须消耗更多的能量,并且发送方的传输更可能干扰另一个发送方的传输;

"隐藏终端"问题是指两个无线站点(如H1和H2)彼此无法直接通信,因为它们不在对方的无线信号覆盖范围内,但它们都可以与同一个接入点(AP)通信。

5、码分多址(CDMA)
定义:CDMA属于信道划分协议族,它允许多个用户共享同一个通信信道,通过编码来区分不同的信号。
原理:?
6、WiFi:802.11无线LAN
当前,无线LAN在工作场所、家庭、教育机构、咖啡屋、机场以及街头无所不在, 它已经成为因特网中的一种十分重要的接入网技术。
最普遍的标准:IEEE 802.11无线LAN;其实就是WiFi;


7、wifi体系结构(802.11体系结构)
基本构建模块:基本服务集(BBS);
BBS=若干无线站点+中央基站(在802.11中叫做接入点AP)
如上图,两个BSS中的AP,它们连接到一个互联设备上(如交换机或者路由器),互联设备又连接 到因特网中。在一个典型的家庭网络中,有一个AP和一台将该BSS连接到因特网中的路由器(通常综合成为一个单元)
配置AP的无线LAN经常被称作基础设施无线LAN。
相关概念:
-
服务集标识(SSID):当网络管理员安装一个 AP 时,管理员为该接入点分配一个单字或双字的服务集标识。
-
一个典型的家庭网络中,有一个
AP
和一台将该BSS
连接到因特网中的路由器。 -
WiFi 丛林 :是一个任意物理位置,在这里无线站点能从两个或多个
AP
中收到很强的信号。 -
关联 :为了获得因特网接入,无线站点需要加入其中一个子网并因此需要于其中的一个
AP
相关联。关联意味着这一无线站点在自身和该 AP 之间创建一个虚拟线路。 -
信标帧 :
802.11
标准要求每个AP
周期性地发送信标帧,每个信标帧包括该AP
的SSID
和MAC
地址。

-
被动扫描:扫描信道和监听信标帧的过程。
-
主动扫描 :通过向位于无线主机范围内的所有
AP
广播探测帧完成的。AP 用一个探测响应帧应答探测请求帧。无线主机则能够在响应的 AP 中选择某 AP 与之相关联。


8、带碰撞避免的CSMA ( CSMA with collision avoidance),或简称为CSMA/CA
CSMA/CA中的"CSMA"代表"载波侦听多路访问",意 味着每个站点在传输之前侦听信道,并且一旦侦听到该信道忙则抑制传输。

目的站点收到一个通过 CRC 校验的帧后,它等待一个被称为短帧间间隔(SIFS) 的一小段时间,然后发挥一个确认帧。如果发送站点在给定的时间内未收到确认帧,它假定出现了错误并重传该帧,使用 CSMA/CA
协议访问该信道 。如果在若干固定次重传后仍未收到确认,发送站点将放弃发送并丢弃该帧。


重点总结:
但是上述CSMA/CA协议不能完全避免碰撞,因为以下情况:隐藏终端问题。
9、处理隐藏终端的方法:RTS和CTS:
"隐藏终端"问题是指两个无线站点(如H1和H2)彼此无法直接通信,因为它们不在对方的无线信号覆盖范围内,但它们都可以与同一个接入点(AP)通信。

隐藏终端带来碰撞问题:假设站点H1正在传输一个帧,并且 在H1传输的中途,站点H2要向AP发送一个帧。由于H2未听到来自H1的传输,它将 首先等待一个DIFS间隔,然后发送该帧,导致产生了一个碰撞。从而在H1和H2的整个 发送阶段,信道都被浪费了
(1)RTS:(Request to Send )允许站点发送一个短请求发送控制帧;
(2)CTS(clear to send)允许站点发送一个短允许发送控制帧;
