目录
1、互联网使用的IP协议是无连接的,因此其传输是不可靠的。这样容易使人们感到因特网很不可靠。那么为什么当初不把因特网的传输设计为可靠的呢?
3、奈氏准则和香农定理的主要区别是什么?这两个定理对数据通信的意义是什么?
4、信噪比为S/N,为什么还要取对数10log10(S/N)?
1、说明用n比特进行编号时,若接收窗口的大小为1,则仅在发送窗口的大小≤2^n-1时,连续ARQ协议才能正确运行。
3、在标准以太网中,为什么说若有冲突,则冲突一定发生在冲突窗口内?或者说一个若在冲突窗口内没有发生冲突,则该不会再发生冲突?
4、一个以太网的速率从10Mb/s升级到100Mb/s,满足CSMA/CD冲突条件。为使其正常工作,需做哪些调整?为什么?
5、关于物理层、数据链路层、网络层设备对于隔离冲突域和广播域的总结。
3、为什么超时事件发生时cwnd被置为1,而收到3个冗余ACK时cwnd减半?
5、为什么TCP在建立连接时不能每次都选择相同的、固定的初始序号?
6、假定在一个互联网中,所有链路的传输都不出现差错,所有结点也都不会发生故障。试问在这种情况下,TCP的“可靠交付”功能是否就是多余的?
一、计算机网络体系结构
主要介绍计算机网络体系结构的一些基本概念。重点在于掌握网络的分层结构(包括5层和7层结构),无其是ISO/OSI参考模型各层的功能,以及相关协议议、接口和服务等概念。还有那些有关网络的各种性能指标,特别是时延、带宽、速率等的计算。
1.1 计算机网络概述
1.1.1 计算机网络的概念
- 网络(Network)由若干结点(Node)和连接这些结点的链路(Link)组成
- 多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(互连网)。因此,互联网是"网络的网络(Network of Networks)"
- 因特网(Internet)是世界上最大的互连网络(用TCP/IP)
- internet是通用名词,互连的网络都叫internet
注:互连、自治、集合。
1.1.2 计算机网络的组成
1.1.3 计算机网络的功能
- 数据通信
- 资源共享
- 分布式处理
- 提高可靠性
- 负载均衡
1.1.4 电路交换、报文交换和分组交换
注:分组交换最重要。
1.1.5 计算机网络的分类
1.1.6 计算机网络的性能指标
注:
- 这里的处理时延是处理时延+排队时延的总和,不过通常这两个都忽略不计(除非另有说明)
- 注意发送速率的单位换算和分组长度之间的单位换算。
注:王道书中已经将最后一个丢包率删除。
1.2 计算机网络体系结构与参考模型
1.2.1 计算机网络分层结构
1.2.2 计算机网络协议、接口、服务的概念
注:OSI参考模型将原语分为四类:
- 请求(Request)
- 指示(Indication)
- 响应(Response)
- 证实(Affirmation)
协议是透明的。
1.2.3 ISO/OSI参考模型和TCP/IP模型
注:OSI参考模型在网络层支持无连接和面向连接的通信,但在传输层仅有面向连接的通信。而TCP/IP模型认为可靠性是端到端的问题,因此它在网际层仅有一种无连接的通信模式但传输层支持无连接和面向连接两种模式。这个不同点常常作为考查点
OSI:都有->有 TCP:没有->都有(不可靠)
1.3本章小结及疑难点
1、互联网使用的IP协议是无连接的,因此其传输是不可靠的。这样容易使人们感到因特网很不可靠。那么为什么当初不把因特网的传输设计为可靠的呢?
2、端到端通信和点到点通信有什么区别?
3、如何理解传输速率、带宽和传播速率?
注:
- 带宽(Bandwidth)在计算机网络中指数字信道所能传送的“最高数据传输速率”,常用来表示网络的通信线路传送数据的能力,其单位与传输速率的单位相同。
- 电磁波在光纤中的传播速率约为2.0×10^8m/s,在铜线中约为2.3×10^8m/s,在空气中是3.0×10^8m/s。
- 在通信领域中的速率和表示存储容量或文件大小时是不一样的。
二、物理层
这章超级爱考选择题啊。
2.1 通信基础
2.1.1 基本概念
- 基带传输:信道上传送的信号有基带信号和宽带信号之分。基带信号首先将数字信号1和0直接用两种不同的电压表示,然后送到数字信道上传输(称为基带传输);
- 宽带传输:宽带信号首先将基带信号进行调制,形成频分复用模拟信号,然后送到模拟信道上传输(称为宽带传输)。
从通信双方信息的交互方式看,可分为以下三种基本方式:
速率、波特和带宽:
2.1.2 奈奎斯特定理与香农定理
1、奈奎斯特定理(奈氏准则)
2、香农定理
注:
- 信道的带宽或信道中的信噪比越大,则信息的极限传输速率就越高
- 对一定的传输带宽和一定的信噪比,信息传输速率的上限就确定了。
- 只要信息的传输速率低于信道的极限传输速率,就一定能找到某种方法来实现无差错的传输
- 香农定理得出的为极限信息传输速率,实际信道能达到的传输速率要比它低不少。
- 从香农定理可以看出,若信道带宽W或信噪比S/N没有上限(不可能),那么信道的极限信息传输速率也就没有上限。
2.1.3 编码与调制
注:
- NRZ编码的收发双方存在同步问题;
- 曼切斯特编码被广泛应用于标准以太网;每个比特需要两个信号周期,信号率是数据率的两倍,编码效率是50%。
- 差分曼切斯特编码被广泛应用于宽带高速网;
注:2倍
2.2 传输介质
2.2.1 双绞线、同轴电缆、光纤与无线传输介质
2.2.2 物理层接口的特性
注:机电功过
2.3 物理层设备
2.3.1 中继器
中继器【Repeater,也叫放大器】:
- 同一局域网的再生信号;
- 两端口的网段必须同一协议(无存储转发功能);
- 5-4-3规程: 10BASE-5以太网中,最多串联4个中继器,5段中只能有3个连接主机;
- 可以用来连接不同介质的局域网。
注:
- 若一个网络设备有存储转发功能,则认为它能够连接两个不同的协议。
- 放大器和中继器都有放大的功能,只不过放大器放大的是模拟信号,其原理是放大衰减的信号,而中继器放大的是数字信号,其原理是整形再生衰减的信号。
2.3.2 集线器
集线器:
- 同一局域网的再生、放大信号(多端口的中继器);
- 半双工,不能隔离冲突域也不能隔离广播域。
注:两个网段在物理层进行互连时要求数据传输速率要一致,但数据链路层网络协议要相同。
2.4 本章小结及疑难点
1、传输介质是物理层吗?传输介质和物理层的主要区别是什么?
2、什么是基带传输、频带传输和宽带传输?三者的区别是什么?
3、奈氏准则和香农定理的主要区别是什么?这两个定理对数据通信的意义是什么?
注:奈氏准则和香农定理中“带宽”的单位都是Hz
4、信噪比为S/N,为什么还要取对数10log10(S/N)?
三、数据链路层
3.1 数据链路层的功能
封装成帧、透明传输、差错检测
在不可靠的物理介质上提供可靠的传输。
Other Fuction:物理地址寻址、流量控制、数据的重发等。
信道:
- 点对点(1对1):PPP
- 广播信道(1对多):
- CSMA/CD(有线局域网)
- CSMA/CA(无线局域网)
局域网将数据链路层划分为两个子层:逻辑链路控制LLC子层和介质访问控制MAC子层,从而使LAN体系结构能适应多种传输介质。因此,对各种类型的局域网来说,其物理和MAC子层需要随着所采用介质和访问方法的不同发生改变,而这些不同对于LLC子层来说都是透明的。
- LLC作为数据链路层的一个子层,使用MAC子层为其提供的服务,通过与对等实体LLC子层的交互为它的上层网络层提供服务。
- MAC子层是用来实现介质访问控制的网络实体。MAC子层主要功能包括数据帧的封装/拆封、帧的寻址与识别、帧的接收与发送、链路的管理、帧的差错控制及MAC协议的维护等。
3.1.1 数据链路层所处的地位
3.1.2 为网络层提供服务
3.1.3 链路管理
3.1.4 封装成帧与透明传输
1、封装成帧
封装成帧是指在一段数据的前后分别添加首部和尾部,构成帧,是数据链路层的数据传送单元。长等于顿的数据部分长度加上首部和尾部的长度。首部和尾部中含有很多控制信息,它们的一个重要作用是确定的界限,即定界。接收方能从接收到的二进制比特流中区分出的起始与终止,即同步。如在HDLC协议中,用标识位F(01111110)来标识的开始和结束在通信过程中,检测到标识位F即认为其是的开始,然后一旦检测到标识位F即表示的结束。HDLC标准格式如图所示。为了提高帧的传输效率,应当使的数据部分的长度尽可能地大于首部和尾部的长度,但随着帧长的增加,传输差错发生的概率也随之提高,发生差错时重传的代价也越大,因此每种链路层协议都规定了顿的数据部分的长度上限,即最大传送单元。
2、透明传输
不论所传的数据是什么样的比特组合,都能够按原样无差错地在这个数据链路上传输。
3.1.5 流量控制
3.1.6 差错检测
3.2 组帧(封装成帧)
发送方依据一定的规则将网络层递交的分组封装成帧(也称组帧)。数据链路层之所以要将比特组合成以帧为单位传输,是为了在出错时只重发出错的帧,而不必重发全部数据,从而提高效率。组帧主要解决顿定界、同步、透明传输等问题。实现组帧的方法通常有以下4种。
3.2.1 字符计数法
这种方法最大的问题在于若计数字段出错,即失去边界划分的依据,则接收方就无法判断所传输的结束位和下一的开始位,收发双方将失去同步,造成灾难性后果。
3.2.2 字节填充法(转义字符)
注意,转义字符是ASCII码中的一个字符,而不是"E","S","C"三个字符的组合。
3.2.3 零比特填充法
注:零比特填充法很容易由硬件来实现,性能优于字节填充法。
3.2.4 违规编码法
3.3 差错控制
3.3.1 检错编码
1、奇偶检验码
2、循环冗余码
注:学有余力的时候再看。
3.3.2 纠错编码(海明码)
1、确定海明码的位数
2、确定检验位的分布
3、分组以形成检验关系
4、检验位取值
5、海明码的检验原理
注:
- 海明校验码也只能检验一位的错误。(达咩)
- 海明码“纠错”d位,需要码距为2d+1的编码方案;
- 海明码“检错”d位,需要码距为d+1的编码方案;
3.4 流量控制与可靠传输机制
3.4.1 流量控制与滑动窗口机制
3.4.2 可靠传输机制
1、停止-等待协议(SW)
注:NAK是否定应答或者非应答的缩写,全拼为 Negative Acknowledgment, 没有应答。它是一个用于数字通信中确认数据收到但是有小错误的信号。
后续这两种都叫做连续ARQ:
- 连续ARQ(Automatic Repeat reQuest)协议指发送方维持着一个一定大小的发送窗口,位于发送窗口内的所有分组都可连续发送出去,而中途不需要等待对方的确认。这样信道的利用率就提高了。而发送方每收到一个确认就把发送窗口向前滑动一个分组的位置。
- 接收方一般都是采用积累确认的方式。这就是说,接收方不必对收到的分组逐个发送确认,而是在收到几个分组后,对按序到达的最后一个分组发送确认,这就表示:到这个分组为止的所有分组都已正确收到了。
- 积累确认有优点也有缺点。优点是:容易实现,即使确认丢失也不必重传。但缺点是不能向发送方反映出接收方已经正确收到的所有分组的信息。
2、回退N帧协议(GBN)
3、选择重传协议(SR)
注:
- GBN的发送窗口大小范围是2^n-1;
- SR的发送窗口大小范围是2^(n-1);
- 在SR协议中,若用nbit对帧编号,则发送窗口和接受窗口的大小关系是1<WR<=WT,此外还应该满足WR+WT<=2^n;
- 三个协议的信道利用率排行(从小到大)为:SW->SR->GBN
3.5 介质访问控制
介质访问控制所要完成的主要任务是,为使用介质的每个结点隔离来自同一信道上其他结点所传送的信号,以协调活动结点的传输。用来决定广播信道中信道分配的协议属于数据链路层的一个子层,称为介质访问控制(MediumAccessControl,MAC)子层。
3.5.1 信道划分介质访问控制
- 信道划分介质访问控制:将使用同一传输介质的多个设备的通信隔离开来,把时域和频域资源合理地分配给这些设备。信道划分介质访问控制通过复用技术实现。
- 复用:是指在发送端把多个发送方的信号组合在一条物理信道上进行传输,在接收端把收到的复用信号分离出来,并发送给对应的接收方。当传输介质的带宽超过传输单个信号所需的带宽时,通过在条介质上传输多个信号,还能提高传输系统的利用率
1、频分复用(FDM)
2、时分复用(TDM)
Pro版——统计时分复用(STDM)
注:与同步TDM相比,统计TDM需要解决的特殊的问题是封装成帧和同步。
3、波分复用(WDM)
波分复用其实就是光的频分复用。经过光调制,分别将光载波变换到不同波长。这些光波经过光复用器就可以在一根光纤中传输。到达终点后用光分用器将不同波长的光进行还原得到信息光信号传输一段距离后会衰减,对衰减的光信号必须进行放大才能继续传输。
4、码分复用(CDM)
- 码分复用(CodeDivisionMultiplexing,CDM)是采用不同的编码来区分各路原始信号的一种复用方式。与FDM和TDM不同,它既共享信道的频率,又共享时间。
- 实际上,更常用的名词是码分多址(CodeDivisionMultipleAccess,CDMA),其原理是将每个比特时间再划分成m个短的时间槽,称为码片(Chip),通常m的值是64或128。
3.5.2 随机访间介质访问控制
在随机访问协议中,不采用集中控制方式解决发送信息的次序问题,所有用户都能根据自己的意愿随机地发送信息,占用信道的全部速率。在总线形网络中,当有两个或多个用户同时发送信息时,就会产生帧冲突(也称碰撞),导致所有冲突用户的发送均以失败告终。为了解决随机访问发生的冲突,每个用户需要按照一定的规则反复地重传它的,直到该顿无冲突地通过,这些规则就是随机访问介质访问控制协议,其核心思想是:胜利者通过争用获得信道,进而获得信息的发送权。因此,随机访问介质访问控制协议又称争用型协议。
可见,若采用信道划分机制,则结点之间的通信要么共享空间,要么共享时间,要么共享空间和时间:而若采用随机访问控制机制,则结点之间的通信既不共享时间,又不共享空间。因此,随机介质访问控制实质上是一种将广播信道转换为点到点信道的机制。
1、ALOHA协议
2、CSMA协议
3、CSMA/CD协议
先听先发、边听边发、冲突停发、延迟重发。
适用于总线形网络或半双工网络环境。
注:FCS是Frame Check Sequence的缩写,即帧校验序列。在计算机网络数据链路层的协议数据单元(帧)的尾部字段中,添加了4个字节的循环冗余校验码,用于检查数据传输中数据的正确性。
注:重传16次还没传上去的话就生气啦,直接丢掉,然后向高层报告。
注:96
比特时间是指发送96
比特所需要的时间,也称为帧间最小间隔。其作用是是接收方可以检测出一个帧的结束,同时也使得其他站点都能有机会平等竞争信道并发送帧。
4、CSMA/CA协议
为了尽量避免冲突,802.11标准规定,所有站完成发送后,必须等待一段很短的时间(继续监听)才能发送下一顿。这段时间称为间间隔(InterFrameSpace,IFS)。间间隔的长短取决于该站要发送的的类型。802.11标准使用了下列三种IFS。
- SIFS(短IFS、28us):最短的IFS,用来分隔属于一次对话的各,使用SIFS的类型有ACK、CTS、分片后的数据顿,以及所有回答AP探询的等。
- PIFS(点协调IFS):中等长度的IFS,在PCF操作中使用。
- DIFS(分布式协调IFS、128us):最长的IFS,用于异步竞争访问的时延。
802.11标准还采用了虚拟载波监听机制,即让源站将它要占用信道的持续时间(包括日的站发回ACK所需的时间)及时通知给所有其他站,以便使所有其他站在这段时间内都停止发送,这样就大大减少了冲突的机会。“虚拟载波监听”表示其他站并未监听信道,而是因收到了源站的通知才不发送数据,这种效果就像是其他站都监听了信道。
CSMA/CD与CSMA/CA区别:
3.5.3 轮询访问:令牌传递协议
3.6 局域网
3.6.1 局域网的基本概念和体系结构
局域网(LocalAreaNetwork,LAN)是指在一个较小的地理范围(如一所学校)内,将各种计算机、外部设备和数据库系统等通过双绞线、同轴电缆等连接介质互相连接起来,组成资源和信息共享的计算机互连网络。主要特点如下:
- 为一个单位所拥有,且地理范围和站点数目均有限。
- 所有站点共享较高的总带宽(即较高的数据传输速率)。
- 较低的时延和较低的误码率。
- 各站为平等关系而非主从关系
- 能进行广播和多播。
决定区域网的主要因素为:网络拓扑、传输介质、介质访问控制方法(最重要)
常见的局域网拓扑结构图主要有以下4大类:
三种特殊的局域网拓扑实现如下:
- 以太网(日前使用范围最广)。逻辑拓扑是总线形结构,物理拓扑是星形结构。
- 令牌环(TokenRing,IEEE802.5)。逻辑拓扑是环形结构,物理拓扑是星形结构。
- FDDI(光纤分布数字接口,IEEE802.8)。逻辑拓扑是环形结构,物理拓扑是双环结构。
3.6.2 以太网与IEEE802.3
注:在上述标准中,10指标准的速率为10Mb/s;Base指基带以太网;早期标准Base之后的5或2指单段最大传输距离不超过500m或185m,Base之后的T指双绞线,F指光纤。
- 目的地址:6字节,在局域网上的目的适配器的MAC地址。
- 源地址:6字节,传输到局域网上的源适配器的MAC地址。
- 类型:2字节,指出数据字段中的数据应交给哪个上层协议处理,如网络层的IP协议。
- 数据:46~1500字节,承载上层的协议数据单元(如IP数据报)。以太网的最大传输单元是1500字节,若IP数据报超过1500字节,则必须将该IP数据报分片。此外,由于CSMA/CD算法的限制,以太网必须满足最小长度是64字节,当数据字段的长度小于46字节时,MAC子层就在数据字段的后面加一个整数字节的填充字段,以确保长不小于64字节。
- 检验码(FCS):4字节,检验范围从目的地址段到数据字段,算法采用32位CRC码,不但要检验MAC的数据部分,而且要检验目的地址、源地址和类型字段,但不检验前导码。
注:以太网不需要结束定界符,因为当以太网传送时,各之间必须有一定的间隙。因此,接收方只要找到开始定界符,其后面连续到达的比特流就都属于同一个。实际上,以太网采用了违规编码法的思想,因为以太网使用曼彻斯特编码,所以每个码元中间都有一次电压的跳变。发送方发完一个后,发送方网络接口上的电压不再变化,这样接收方就能很容易地找到的结束位置,这个位置往前数4字节就是FCS字段,于是就能确定数据字段的结束位置。
- 100BASE-T以太网:
- 100BASE-T是在双绞线上传送100Mb/s基带信号的星形拓扑以太网,它仍然使用CSMA/CD协议,又称快速以太网。100BASE-T既支持全双工方式,又支持半双工方式,可在全双工方式下工作而无冲突发生,因此在全双工方式下不使用CSMA/CD协议。
- 100BASE-T的MAC格式仍然是802.3标准规定的格式。保持最短长不变,但将一网段的最大长度减小到100m。帧间最小间隔从原来的9.6us改为0.96uS。
- 吉比特以太网:吉比特以太网又称千兆以太网,允许在1Gb/s速率下以全双工和半双工两种方式工作。使用802.3协议规定的格式。使用双绞线或光纤作为传输介质。在半双工方式下使用CSMA/CD协议,而在全双工方式不使用CSMA/CD协议。与10BASE-T和100BASE-T技术向后兼容。
- 10吉比特以太网:10吉比特以太网的格式与10Mb/s、100Mb/s和1Gb/s以太网的格式完全相同,还保留了802.3标准规定的以太网最小长和最大长,以便升级和向后兼容。10吉比特以太网只工作在全双工方式,不存在争用问题,当然也不使用CSMA/CD协议。
以太网从10Mb/s到10Gb/s的演进证明了以太网是可扩展的(从10Mb/s到10Gb/s)、灵活的(多种传输介质、全/半双工、共享/交换),且易于安装,稳健性好。
3.6.3 IEEE802.11无线局域网
地址1是直接接收数据顿的结点地址,地址2是实际发送数据的结点地址。
- 现在假定从一个BSS中的A站向B站发送数据。在A站发往AP的数据的控制字段中,“去往AP=1”而“来自AP=0”:地址1是AP的MAC地址,地址2是A站的MAC地址,地址3是B站的MAC地址。注意,“接收地址”与“目的地址”并不等同。
- AP接收到数据后,转发给B站,此时在数据的控制字段中,“去往AP=0”而“来自AP=1:地址1是B站的MAC地址,地址2是AP的MAC地址,地址3是A站的MAC地址。注意,“发送地址”与“源地址”也不等同。
注:对这三个地址的理解方法如下:地址1和地址2分别是无线通信中信道两端的接收地址和发送地址。(接受发送目的)
- 当主机发往AP时,接收地址不是实际的目的地址,因此用地址3来存放实际的目的地址;
- 当AP发往主机时,发送地址不是实际的源地址,因此用地址3来存放实际的源地址。
3.6.4 VLAN基本概念与基本原理
3.7 广域网
3.7.1 广域网的基本概念
3.7.2 PPP协议
- PPP协议无需满足的要求:纠错、流量控制、序号、不支持多点线路
-
全双工通信,点对点通信
3.8 数据链路层设备
*3.8.1 网桥的基本概念
3.8.2 以太网交换机
以太网交换机也称二层交换机,二层是指以太网交换机工作在数据链路层。以太网交换机实质上是一个多接口的网桥,它能将网络分成小的冲突域,为每个用户提供更大的带宽。对于传统使用集线器的共享式10Mb/s以太网,若共有N个用户,则每个用户的平均带宽为总带宽(10Mb/s)的1/N。使用以太网交换机(全双工方式)连接这些主机时,虽然从每个接口到主机的带宽还是10Mb/s,但是因为一个用户通信时是独占带宽的(而不是和其他网络用户共享传输介质带宽的),所以拥有N个接口的交换机的总容量为Nx10Mb/s。这正是交换机的最大优点。
以太网交换机的特点:
- 当交换机的接口直接与主机或其他交换机连接时,可工作在全双工方式,并能同时连通多对接口,使每对相互通信的主机都能像独占通信介质那样,无冲突地传输数据,这样就不需要使用CSMA/CD协议。
- 当交换机的接口连接集线器时,只能使用CSMA/CD协议且只能工作在半双工方式。当前的交换机和计算机中的网卡都能自动识别上述两种情况。
- 交换机是一种即插即用设备,其内部的转发表是通过自学习算法,基于网络中各主机的通信,自动地逐渐建立的。
- 交换机因为使用专用交换结构芯片,交换速率较高。
- 交换机独占传输介质的带宽。
3.9 本章小结及疑难点
1、说明用n比特进行编号时,若接收窗口的大小为1,则仅在发送窗口的大小≤2^n-1时,连续ARQ协议才能正确运行。
2、为什么PPP协议不使用的编号和确认机制来实现可靠传输?
3、在标准以太网中,为什么说若有冲突,则冲突一定发生在冲突窗口内?或者说一个若在冲突窗口内没有发生冲突,则该不会再发生冲突?
4、一个以太网的速率从10Mb/s升级到100Mb/s,满足CSMA/CD冲突条件。为使其正常工作,需做哪些调整?为什么?
5、关于物理层、数据链路层、网络层设备对于隔离冲突域和广播域的总结。
四、网络层
4.1 网路层的功能
4.1.1 异构网络互连
互联网是由全球范围内数以百万计的异构网络互连起来的。这些网络的拓扑结构、寻址方案、差错处理方法、路由选择机制等都不尽相同。网络层所要完成的任务之一就是使这些异构的网络实现互连。网络互连是指将两个以上的计算机网络,通过一定的方法,用一些中继系统相互连接起来,以构成更大的网络系统。根据所在的层次,中继系统分为以下4种
- 物理层中继系统:转发器,集线器。
- 数据链路层中继系统:网桥或交换机
- 网络层中继系统:路由器。
- 网络层以上的中继系统:网关。
当使用物理层或数据链路层的中继系统时,只是把一个网络扩大了,而从网络层的角度看,它仍然是同一个网络,一般并不称为网络互连。因此,网络互连通常是指用路由器进行网络连接和路由选择。路由器是一台专用计算机,用于在互联网中进行路由选择。
注:由于历史原因,许多有关TCP/IP的文献也将网络层的路由称为网关。
4.1.2 路由与转发
路由器主要完成两个功能:一是路由选择(确定哪一条路径),二是分组转发(当一个分组到达时所采取的动作)。前者根据路由选择协议构造并维护路由表。后者处理通过路由器的数据
流,关键操作是转发表查询、转发及相关的队列管理和任务调度等。
- 路由选择:根据路由协议构造路由表,同时经常或定期地与相邻路由器交换信息,获取网络最新拓扑,动态更新维护路由表,以决定分组到达目的地结点的最优路径。
- 分组转发:指路由器根据转发表将分组从合适的端口转发出去路由表是根据路由选择算法得出的,而转发表是从路由表得出的。转发表的结构应当使查找过程最优化,路由表则需要最优化网络拓扑变化的计算。在讨论路由选择的原理时,往往不区分转发表和路由表,而笼统地使用路由表一词
4.1.3 网络层提供的两种服务
1、虚电路
2、数据报
注:虚电报和报文交换都是分组交换。
4.1.4 SDN的基本概念
SDN的优点:
- 全局集中式控制和分布式高速转发,既利于控制平面的全局优化,又利于高性能的网络转发。
- 灵活可编程与性能的平衡,控制和转发功能分离后,使得网络可以由专有的自动化工具以编程方式配置。
- 降低成本,控制和数据平面分离后,尤其是在使用开放的接口协议后,就实现了网络设备的制造与功能软件的开发相分离,从而有效降低了成本。
SDN的问题:
- 安全风险,集中管理容易受攻击,若奔溃,则整个网络会受到影响。
- 瓶颈问题,原本分布式的控制平面集中化后,随着网络规模扩大,控制器可能成为网络性能的瓶颈。
4.1.5 拥塞控制
因出现过量的分组而引起网络性能下降的现象称为拥塞。判断网络是否进入拥塞状态的方法是,观察网络的吞吐量与网络负载的关系;若随着网络负载的增加,网络的吞吐量明显小于正常的吞吐量,则网络就可能已进入轻度拥塞状态;若网络的吞吐量随着网络负载的增大而下降则网络就可能已进入拥塞状态。拥塞控制主要解决的问题是如何获取网络中发生拥塞的信息,从而利用这些信息进行控制,以避免因拥塞而出现分组的丢失。
拥塞控制的作用是确保网络能够承载所达到的流量,这是一个全局性的过程,涉及网络中所有的主机、路由器及导致网络传输能力下降的所有因素。单一地增加资源并不能解决拥塞。与流量控制的区别:流量控制往往是指在发送方和接收方之间的点对点通信量的控制。流量控制所要做的是抑制发送方发送数据的速率,以便使接收方来得及接收。
拥塞控制的方法有两种:
- 开环控制。在设计网络时事先将有关发生拥塞的因素考虑周到,力求网络在工作时不产生拥塞。这是一种静态的预防方法。一旦整个系统启动并运行,中途就不再需要修改开环控制手段包括确定何时可接收新流量、何时可丢弃分组及丢弃哪些分组,确定何种调度策略等。所有这些手段的共性是,在做决定时不考虑当前网络的状态。
- 闭环控制。事先不考虑有关发生拥塞的各种因素,采用监测网络系统去监视,及时检测哪里发生了拥塞,然后将拥塞信息传到合适的地方,以便调整网络系统的运行,并解决出现的问题。闭环控制是基于反馈环路的概念,是一种动态的方法。
4.2 IPV4
4.2.1 IPV4分组
1、IPv4分组的格式
IP数据报分成固定部分和可变部分,固定部分为20个字节,可变部分的长度是可变的,最大为40个字节。
- 版本:占4个比特,表示IP协议的版本,通信双方使用的IP协议版本必须一致,目前广泛使用的版本号是4。
- 首部长度:占4个比特,表示IP数据报首部的长度,该字段的取值以4字节为单位。最小取值为5,表示IP数据报首部只有20字节滚定部分;最大取值为15,表示IP数据报首部包含20字节固定部分和最大40字节可变部分。
- 区分服务:占8个比特,利用该字段的不同数值可以提供不同等级的服务质量。只有在使用区分服务时该字段才起作用,一般情况下都不使用该字段。
- 总长度:占16个比特,表示IP数据报的总长度,即首部加上数据载荷,最大取值为65535。
- 标识: 占16个比特,属于同一个数据报的各分片数据报应该具有相同的标识。
- 标志:占3个比特
- DF位为1表示不允许分片,为0表示允许分片;
- MF位表示后面还有分片,0表示这是最后一个分片;保留位必须为0。
- 片偏移:占13个比特,指出分片数据报的数据载荷部分偏移其在原数据报的位置有多少个单位,片偏移以8个字节为单位。
- 生存时间TTL:占8个比特,表示IP数据报的生存时间。每经过一个路由器,TTL的值就减1,而如果TTL为0时,就将该数据报丢弃。在前面介绍路由环路时,就使用TTL来解决其带来的问题。
- 协议:占8个比特,指明IPv4数据报的数据部分是何种协议的数据单元,常见的协议和相应的协议字段如下。
- 首部检验和:占16个比特,用来检测首部在传输过程中是否出现差错,比CRC检验码简单,称为因特网检验和。
- 源IP地址和目的IP地址:各占32个比特,用来填写发送该IP数据报的源主机的IP地址和接收该IP数据报的目的主机的IP地址。
- 可选字段:长度从1-40字节不等,用来支持排错、测量、安全等措施,可选字段增加了IP数据报的功能,但增加了每一个路由器处理IP数据报的开销,实际上可选字段很少使用。
- 填充字段:确保首部长度为4字节的整数倍,使用全0进行填充。
注:在IP数据报首部有三个关于长度的标记,即首部长度、总长度、片偏移,它们的基本单位分别为4B、1B、8B(爱考)
4.2.2 IPv4地址与NAT
网络地址转换(NAT)
4.2.3 划分子网与路由聚合
4.2.4 网络层转发分组的过程
4.2.5 地址解析协议(ARP)
注:IP->MAC(ARP) MAC->IP(RARP)
4.2.6 动态主机配置协议(DHCP)
4.2.7 网际控制报文协议(ICMP)
注:PING工作在应用层,它是直接使用网络层的ICMP;Traceroute/Tracert工作在网络层
4.3 IPV6
4.3.1 IPv6的特点
- 更大的地址空间:IPv6将IPv4的32比特地址空间增大到了128比特,在采用合理编址方法的情况下,在可预见的未来是不会用完的。
- 扩展的地址层次结构:可划分为更多的层次,这样可以更好地反映出因特网的拓扑结构,使得对寻址和路由层次的设计更具有灵活性。
- 灵活的首部格式:与IPv4首部并不兼容。IPv6定义了许多可选的的扩展首部,不仅可提供比IPv4更多的功能,而且还可以提高路由器的处理效率,因为路由器对逐跳扩展首部外的其他扩展首部都不进行处理。
- 改进的选项:IPv6允许分组包含有选项的控制信息,因而可以包含一些新的选项。然而IPv4规定的选项却是固定不变的。
- 允许协议继续扩充:这一点很重要,因为技术总是在不断地发展,而新的应用也会层出不穷。然而IPv4的功能却是固定不变的。
- 支持即插即用(即自动配置):IPv6支持主机或路由器自动配置IPv6地址及其他网络配置参数。因此IPv6不需要使用DHCP。
- 支持资源的预分配:IPv6能为实时音视频等要求保证一定带宽和时延的应用,提供更好的服务质量保证。
- 最小的MTU变为1280字节。
4.3.2 IP6数据报的基本首部
4.3.3 IPv6地址
4.3.4 从IPv4向IP6过渡
4.4 路由算法与路由协议
4.4.1 路由算法
路由选择协议的核心是路由算法,即需要何种算法来获得路由表中的各个项目。
4.4.2 分层次的路由选择协议
4.4.3 路由信息协议(RIP)
注:好消息传得快,坏消息传的慢。
4.4.4 开放最短路径优先协议(OSPF)
分组类型
4.4.5 边界网关协议(BGP)
三种协议对比
4.5 IP多播
概念:多播是让源主机一次发送的单个分组可以抵达用一个组地址标识的若干目的主机,即一对多的通信。在互联网上进行的多播,称为IP多播。
IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个组播组IP地址(一群共同需求主机的共同标识)。
IP组播使用D类地址格式。D类的前四位是1110,因此D类地址范围是 224.0.0.0 ~ 239.255.255.255。一个D类地址表示一个组播组。只能用作分组的目标地址。源地址总是为单播地址。
- 组播数据报也是“尽最大努力交付”,不提供可靠交付,组播一定仅应用于UDP。
- 组播地址只能用于目的地址,而不能用于源地址。
- 对组播数据报不产生ICMP差错报文。
- 并非所有的D类地址都可作为组播地址。(后23位)(多播IP)1->n(MAC地址)
网际组管理协议IGMP
IGMP和ICMP都使用IP数据报传递报文。
网际 (因特网) 组管理协议(Internet Group Management Protocol,IGMP):IGMP协议让路由器知道本局域网上是否有主机(的进程)参加或退出了某个组播组。
IGMP工作的两个阶段:
- 某主机要加入组播组时,该**主机向组播组的组播地址(路由器和同属于这个组播组的成员都收得到)发送一个IGMP报文,声明自己要称为该组的成员。本地组播路由器收到lGMP报文后,要利用组播路由选择协议把这组成员关系发给因特网上的其他组播路由器。
- 本地组播路由器周期性探询本地局域网上的主机,以便知道这些主机是否还是组播组的成员。只要有一个主机对某个组响应,那么组播路由器就认为这个组是活跃的;如果经过几次探询后没有一个主机响应,组播路由器就认为本网络上的没有此组播组的主机,因此就不再把这组的成员关系发给其他的组播路由器。(组播路由器知道的成员关系只是所连接的局域网内有无组播组成员,至于成员数量是无法知道的)
多播路由选择协议
多播路由选择目的就是要找出以源主机为根节点的多播转发树。(选转发路径)
其中每个分组在每条链路上只传送一次。不同的多播组对应于不同的多播转发树:同一个多播组,对不同的源点也会有不同的多播转发树。
4.6 移动IP
移动IP技术是移动结点(计算机/服务器等)以固定的网络IP地址,实现跨越不同网段的漫游功能,并保证了基于网络IP的网络权限在漫游过程中不发生任何改变。
- 移动结点:具有永久IP地址的移动设备。
- 归属代理(本地代理):一个移动结点拥有的就“居所”称为归属网络,在归属网络中代表移动节点执行移动管理功能的实体叫做归属代理。(可以是路由器可以是主机)
- 外部代理(外地代理):在外部网络中帮助移动节点完成移动管理功能的实体称为外部代理。(移动节点移动到非归属网络时帮它完成移动管理的实体叫做外部代理)
- 永久地址(归属地址/主地址):移动站点在归属网络中的原始地址(固定的IP地址)。
- 转交地址(辅地址):移动站点在外部网络使用的临时地址。
移动IP通信过程
关于数据发送: B向主机A发送数据,如果A在归属网络内直接接受数据就行,如果不在,数据被由本地代理截获,本地代理再封装数据包,新的目的地址是转交地址。(初始数据报的目的地址是归属网络内的主地址)
4.7 网络层设备
路由器
路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是连接异构网络并完成路由转发。
内部结构组成:
- 路由选择:根据所选定的路由选择协议构造出路由表,同时经常或定期和相邻路由器交换路由信息而不断地更新和维护路由表。
- 分组转发:根据转发表(路由表得来)对分组进行转发。由三部分组成,交换结构、一组输入端口、一组输出端口。
- 区别:路由选择就是找路由走的路径,转发是路由器内部走哪个端口。
不是所有有输入端口进入的分组都进行转发处理。若收到EIP/OSPF(路由信息)分组等,则把分组交由路由选择处理机,若收到的是数据分组,则查找转发表进行转发输出。
4.8 本章小结及疑难点
五、传输层
5.1 传输层提供的服务
5.1.1 传输层的功能
- 应用程序之间的逻辑通信
- 复用和分用
- 检错检测
- 提供面向连接和无连接的传输协议
5.1.2 传输层的寻址与端口
5.1.3 无连接服务与面向连接服务
5.2 UDP协议
5.2.1 UDP数据报
5.2.2 UDP检验
注:UDP检验和不是必需的,若不使用检验和,则将检验和字段设置为0。而检验和的计算结果恰好为0,则将检验和字段置为全1。
5.3 TCP协议
5.3.1 TCP协议的特点
5.3.2 TCP报文段
- 序号:在一个TCP连接中传送的字节流中的每一个字节都按顺序编号,本字段表示本报文段所发送数据的第一个字节的序号。
- 确认号:期望收到对方下一个报文段的第一个数据字节的序号。若确认号为N则证明到序号N-1为止的所有数据都已正确收到。
- 数据偏移(首部长度):TCP报文段的数据起始处距离TCP报文段的起始处有多远,以4B位单位,即1个数值是4B。
- 紧急位URG:URG=1时,标明此报文段中有紧急数据,是高优先级的数据,应尽快传送,不用在缓存里排队,配合紧急指针字段使用。发送数据时优先发送。
- 确认位ACK:ACK=1时确认号有效,在连接建立后所有传送的报文段都必须把ACK置为1。
- 推送位PSH:PSH=1时,接收方尽快交付接收应用进程,不再等到缓存填满再向上交付。接收数据时优先接受
- 复位RST:RST=1时,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立传输链接。
- 同步位SYN:SYN=1时,表明是一个连接请求/连接接受报文。
- 终止位FIN:FIN=1时,表明此报文段发送方数据已发完,要求释放连接。
- 窗口:指的是发送本报文段的一方的接收窗口,即现在允许对方发送的数据量。接收方能接受最大的报文段长度
- 检验和:检验首部+数据,检验时要加上12B伪首部,第四个字段为6。
- 紧急指针:URG=1时才有意义,指出本报文段中紧急数据的字节数。
- 选项:最大报文段长度MSS、窗口扩大、时间、选择确认。
5.3.3 TCP连接管理
1、三次握手
在TCP连接建立的过程中,要解决以下三个问题:
- 要使每一方都能确知对方的存在。
- 要允许双方协商一些参数(如最大窗口值、是否使用窗口扩大选项、时间戳选项等)。
- 能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配。
注:同一个IP地址可以有多个不同的TCP连接,而同一个端口号也可以出现在多个不同的TCP连接中。
2、四次挥手
5.3.4 TCP可靠传输
确认
重传
5.3.5 TCP流量控制
5.3.6 TCP拥塞控制
5.4 本章小结及疑难点
1、MSS设置得太大或太小会有什么影响?
2、TCP使用的是GBN还是选择重传?
3、为什么超时事件发生时cwnd被置为1,而收到3个冗余ACK时cwnd减半?
4、为什么不采用“两次握手”建立连接呢?
5、为什么TCP在建立连接时不能每次都选择相同的、固定的初始序号?
6、假定在一个互联网中,所有链路的传输都不出现差错,所有结点也都不会发生故障。试问在这种情况下,TCP的“可靠交付”功能是否就是多余的?
六、应用层
6.1 网络应用模型
6.1.1 客户/服务器模型
6.1.2 P2P模型
6.2 域名系统(DNS)
6.2.1 层次域名空间
6.2.2 域名服务器
6.2.3 域名解析过程
6.3 文件传输协议(FTP)
6.3.1 FTP的工作原理
6.3.2 控制连接与数据连接
6.4 电子邮件
6.4.1 电子邮件系统的组成结构
6.4.2 电子邮件格式与MIME
6.4.3 SMTP和POP3
SMTP
POP3
IMAP
基于万维网的电子邮件