第一章 概述

1.计算机网络按覆盖范围进行分类:局域网(LAN)、城域网(MAN)、广域网(WAN)、个人区域网(PAN)。

2.Internet与internet: 

以小写字母i开始的internet(互联网络)是一个通用名词,它泛指由多个计算机网络互连而成的网络。

以大写字母I开始的Internet(互联网或因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,且其前身是美 国的ARPANET。

3.互联网从功能上可以划分为以下两个部分:

边缘部分由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行各种用户直接使用的网络应用:电子邮件、网页浏览、网络游戏、文件传输等。

核心部分由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。

4.电路交换的三个步骤:建立连接、通话、释放连接。

5.分组交换的要点

(1)分组交换采用存储转发技术,当需要发送数据时无需在源和目的之间先建立一条物理的通路。

(2)分组交换是将要发送的报文分割为较小的数据段,将控制信息作为首部加在每个数据段前面(构成分组)一起发送给分组交换机。每一个分组的首部都含有目的地址等控制信息。

(3)分组交换机根据分组首部中的控制信息,把分组转发到下一个分组交换机。用这种存储转发方式将分组转发到达最终目的地。

6.报文交换也是存储转发的方式。

7.速率:数据的传送率,也称为数据率或比特率,单位为bit/s或者bps。

8.带宽:计算机网络中的带宽是指最高数据率,单位为bit/s。

9.吞吐量:单位时间内通过某个网络(或信道、接口)的数据量。

10.时延

发送时延:主机或路由器将整个分组的所有比特发送到通信线路上所需要的时间。

计算公式:发送时延=分组长度/发送速率

                    公式中的发送速率也可以为信道带宽。

传播时延:电磁波在信道中传播一定的距离所花费的时间。

计算公式:信道长度/电磁波在信道上的传播速率

处理时延:交换结点为存储转发而进行一些必要的处理所花费的时间。

排队时延:结点缓存队列中分组排队所经历的时延。

对于高速网链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率。

提高数据的发送速率只是减小了数据的发送时延。

12.网络协议:为进行网络中的数据交换而建立的规则、标准或约定,网络协议也简称协议。

13.网络协议的三要素:语法、语义、同步(时序)。

14.计算机网络的体系结构:计算机网络的层次结构模型与各个协议的集合成为计算机网络的体系结构。换种说法,计算机网络的体系结构就是这个计算机网络及其部件所应完成的功能的精确定义。

15.OSI的七层协议:应用层、表示层、会话层、运输层、网络层、数据链路层、物理层。

16.TCP/IP的四层协议:应用层、运输层、网络层、网络接口层。

17.五层协议:应用层、运输层、网络层、数据链路层、物理层。

18.五层体系:

(1) 物理层:数据单位为比特。任务:在物理媒体上传送比特流。

具体包括:与物理媒体的接口、比特的表示与同步、数据率、线路配置、物理拓扑等。

  1. 数据链路层:数据单位为帧。任务:在两个相邻结点间(主机和路由器或路由器和路由器之间)的链路上传送以 帧为单位的数据。

具体包括:组帧、差错控制、物理编址、接入控制、流量控制等。

(3) 网络层:数据单位为IP数据报。任务:负责将分组从源主机(按照合适的路由)通过中间若干路由器的转发传送到目的主机。核心功能是逻辑编址、路由选择和分组转发。

(4) 运输层:TCP的数据单位为报文段,UDP的数据单位为用户数据报。任务:负责主机中两个进程之间的逻辑通信(端到端通信)。

具体包括:复用与分用、可靠数据传输、流量控制、拥塞控制等。

(5) 应用层:数据单位为报文。任务:通过应用进程间的交互来实现特定网络应用,直接为用户或应用进程提供特定的应用服务,如文件传输、电子邮件等。

PDU:协议数据单元。

第二章 物理层

1. 物理层的作用:考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。尽可能地屏蔽掉这些差异,使物理层上面的数据链路层感觉不到这些差异。

2. 模拟信号,或连续信号——消息的参数的取值是连续的。

数字信号,或离散信号——消息的参数的取值是离散的。

3. 信道可以分成传送模拟信号的模拟信道和传送数字信号的数字信道两大类。数字数据转换成数字信号的过程称为编码​,数字数据转换成模拟信号的过程称为调制

4. 常用编码方式:

(1)归零制:正脉冲代表1,负脉冲代表0。

(2)不归零制:正电平代表1,负电平代表0。

(3)曼彻斯特编码:在每一位的中心处始终都有跳变。位周期中心的上跳变代表0,位周期中心的下跳变代表1。(自同步)

(4)差分曼彻斯特编码:位开始边界有跳变代表0,而位开始边界没有跳变代表1。(自同步)

5. 基本调制方法:

(1)调幅(AM),即载波的振幅随基带数字信号而变化,即幅移键控ASK。

(2)调频(FM),即载波的频率随基带数字信号而变化,即频移键控FSK。

(3)调相(PM),即载波的初始相位随基带数字信号而变化,即相移键控PSK。

6. 限制码元在信道上的传输速率的因素有两个:信道带宽(信道能够通过的频率范围)和信噪比。

7. 奈氏准则:理想低通信道的最高码元传输速率 = 2W 波特,W 是理想低通信道的带宽,单位为赫(Hz) 。波特,码元传输速率的单位,即码元/秒。

  1. 在任何信道中,码元传输的速率是有上限的,传输速率超过此上限,就会出现严重的码间串扰的问题。
  2. 另外,如果信道的频带越宽,就可以用更高的速率传送码元而不出现码间串扰。
  3. 信道带宽一定,若要提高信息的传输速率,可以采用有效的编码技术,使每一个码元能够携带较多的信息量。

8. 香农公式:在带宽受限且有高斯白噪声干扰的信道的极限、无差错的信息传输速率:C = W log2(1+S/N)  b/s W 为信道的带宽(以 Hz 为单位),S 为信道内所传信号的平均功率,N 为信道内部的高斯噪声功率。

香农公式表明,信道的带宽或信道中的信噪比越大,信息的极限传输速率就越高。

9. 数字传输方式:

(1)并行传输和串行传输:

并行传输,是指一次发送n个比特而不是一个比特,为此,在发送端和接收端之间需要有n条传输线路。

串行传输,是指数据是一个比特一个比特依次发送的,因此在发送端和接收端之间只需要一条传输线路即可。

(2)异步传输和同步传输:

异步传输:以字节为独立的传输单位,字节之间的时间间隔不是固定的,接收端仅在每个字节的起始处对字节内的比特实现同步。

同步传输:以稳定的比特流的形式传输,要采取技术使收发双方的时钟保持同步。例如,收发双方接收同一时钟源的时钟信号来实现收发双方的同步,或采用具有自同步能力的曼彻斯特编码等。

(3)单工、半双工和全双工:

单工通信(单向通信)只能有一个方向的通信而没有反方向的交互。

半双工通信(双向交替通信)通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收)。

全双工通信(双向同时通信)通信的双方可以同时发送和接收信息。

10. 常用的信道复用技术有频分复用、时分复用、统计时分复用、码分复用和波分复用(光的频分复用)

11. 频分复用(FDM),将多路基带信号调制到不同频率载波上,再进行叠加形成一个复合信号。接收端的分用器通过滤波将各路信号滤出,将合成的复合信号恢复成原始的多路信号。

将传输线路的频带资源划分成多个子频带,每个子频带的频率范围互不重叠;用户在分配到一个的子频带后,在通信过程中自始至终都占用这个子频带;频分复用的所有用户在同样的时间占用不同的频带资源

12. 时分复用(TDM) 将时间划分为一段段等长的时分复用帧(TDM帧),每个用户在每个 TDM 帧中占用固定序号的时隙,每一个用户所占用的时隙是周期性地出现(其周期就是TDM帧的长度)的。时分复用的所有用户在不同的时间占用同样的频带宽度。

13. 统计时分复用(STDM):动态地按需分配共用信道的时隙,只将需要传送数据的终端接入共用信道,可以提高信道的利用率。

14. 波分复用(WDM)就是光的频分复用。使用一根光纤来同时传输多个光载波信号。

15.码分复用/码分多址(CDMA):每一个比特时间再划分为m个短的间隔,称为码片。每个站被指派一个唯一的 m bit 码片序列如发送比特 1,则发送自己的 m bit 码片序列;如发送比特 0,则发送该码片序列的二进制反码。

  1. 每个站分配的码片序列不仅必须各不相同,并且必须互相正交。

第三章 数据链路层

3.1 使用点对点信道的数据链路层

1. 数据链路层链路控制的主要功能包括:封装成帧、透明传输、差错检测。数据链路层的封装成帧、透明传输和差错检测三个问题都必须加以解决 。

封装成帧是分组交换的必然要求,以便接收正确区分每个帧。 

透明传输避免信息符号与帧定界符号相混淆

差错检测防止含差错的无效数据帧浪费后续路由上的传输和处理资源

2. 差错检测技术:在数据链路层通常使用循环冗余检验CRC技术进行差错检测。

3. 循环冗余检验CRC的生成多项式是X4+X3+1,则该生成多项式的比特序列表示为11001

4. 课后习题124页 3-5

3.2 点对点协议

1. 点对点协议PPP是目前使用最广泛的点对点数据链路层协议

2. PPP协议广泛应用于广域网路由器之间的专用线路

3.3 使用广播信道的数据链路层

媒体接入控制(Medium Access Control)

媒体接入控制方法分为两大类:

  1. 静态划分信道:频分多址、时分多址、码分多址
  2. 动态接入控制:随机接入、受控接入

局域网(网络适配器、MAC地址)

  1. 计算机与外界局域网通过通信适配器相连,又称“网卡”,最高工作在数据链路层
  2. MAC地址

多个站点连接在同一个广播信道上时,要想实现两个站点的通信,则每个站点都必须有唯一的标识,即一个数据链路层地址。每个发送的帧必须携带标识接收站点和发送站点的地址,由于该地址用于媒体接入控制,因此被称为MAC地址,也叫做硬件地址和物理地址

严格来说,MAC地址是对网络上各接口的唯一标识,而不是网络上各设备的唯一标识。

MAC地址:802标准为局域网规定了一位48位(6个字节)的全球地址,这是局域网上每一台计算机固化在适配器ROM中的地址。

3.4 共享式以太网

集线器的特点

  1. 使用集线器的局域网物理上是星形网,在逻辑上仍是一个总线网,各站点共享逻辑上的总线,使用的还是CSMA/CD协议。
  2. 集线器有很多接口,很像一个多接口的转发器
  3. 集线器工作在物理层,简单转发比特,不进行碰撞检测。

CSMA/CD协议

  1. 以太网采用的媒体访问控制协议是载波监听多址接入/冲突检测(CSMA/CD)协议。可以概括为先听后发、边听边发、冲突停止、延迟重发。
  2. 为了保证所有站点在发送完一个帧之前能够检测出是否发生了冲突,帧的发送时延不能小于2倍的网络最大传播时延,即一个争用期,以太网规定最短有效帧长为64字节。

以太网的帧格式

在数据链路层,按照以太网V2标准的MAC帧比较简单,由5个字段组成。前两个字段分别为6字节的目的地址(目的MAC地址)源地址(源MAC地址)字段第三个字段是2字节的类型字段,用来标志上一层使用的是什么协议,以便把收到的MAC帧的数据上交给上一层这个协议。

3.5网桥和以太网交换机

  1. 冲突域 (collision domain),所有直接连接在一起的,必须竞争以太网总线的节点构成一个冲突域(碰撞域)
  2. 广播域(broadcast domain),是一个逻辑上的计算机组,该组内的所有计算机都会收到同样的广播帧,交换机隔离冲突域,但并不隔离广播域;所以上图一共有两个冲突域和一个广播域。
  3. 用集线器连接的工作站集合同属于一个碰撞域,也同属于一个广播域。
  4. 以太网交换机进行转发决策时使用的PDU地址是目的物理地址。
  5. 以太网交换机根据以太网帧中的目的地址转发数据帧。
  6. 交换式集线器常称为以太网交换机、二层交换机或局域网交换机,工作在数据链路层。
  7. 虚拟局域网,VLAN技术

属于同一VLAN的站点之间可以直接进行通信,而不属于同一VLAN的站点之间不能直接进行通信。

第四章网络层

4.1网络层概述

4.1.1分组转发和路由选择

网络层的主要任务就是将分组从源主机传送到目的主机,可以将该任务分为网络层的两种重要功能。

  1. 分组转发

当一个分组到达某路由器的一条输入链路时,该路由器必须将该分组转发到适当的输出链路。

  1. 路由选择

当分组从发送方流向接收方时,网络层必须决定这些分组所采用的路由或路径,这就是路由选择。

4.1.2 虚电路和数据报服务

在网络层提供面向连接服务的计算机网络称为虚电路网路,而在网络层提供无连接服务的计算机网络被称为数据报网络。

4.2 网际协议

1. 地址解析协议(ARP)

2. 互联网控制协议(ICMP)

3. 互联网组管理协议(IGMP)

4.2.2 IP地址及编址方式

IP地址采用点分十进制表示法

  1.  分类编制

2.划分子网

2.1无分类编制

无类别域间路由选择(CIDR)

CIDR消除了传统的A类、B类、C类地址,以及划分子网的概念。

无分类的两级编制:

IP地址::={<网络前缀>,<主机号>}

地址掩码被用于划分子网,用来表示可变长子网号部分的长度,被称为子网掩码。

由路由器互连起来的每个网络有唯一的网络前缀(即网络号),并用主机号为全0的IP地址来表示该网络的IP地址。

CIDR还使用斜线记法,或称为CIDR记法,斜线记法中,斜线后面的数字就是地址掩码中1的个数。

CIDR把网络前缀都相同的连续的IP地址组成一个“CIDR地址块”。

  1. 不指派给接口的特殊IP地址
  1.  IP地址的分配

4.2.4  地址解析协议

地址解析协议(ARP)用来解决IP地址与物理地址的动态映射关系。

4.2.5  IP数据报格式

  1. 版本——占 4 位,指 IP 协议的版本目前的 IP 协议版本号为 4 (即 IPv4)
  2. 首部长度——占 4 位,可表示的最大数值是 15 (以4 字节为单位),因此 IP 的首部长度的最大值是 60 字节。
  3. 区分服务——占 8 位,只有在使用区分服务(DiffServ)时,这个字段才起作用。在一般的情况下都不使用这个字段
  4. 总长度——占 16 位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节。总长度必须不超过数据链路层协议的最大传送单元 MTU。
  5. 标识(identification)    占 16 位,计数器产生,相同的标识字段的值使分片后的各数据报片最后能在目的地被正确地重装成为原来的数据报。
  6. 标志(flag)    占 3 位,目前只有前两位有意义。

MF (More Fragment):1 表示后面“还有分片”; 0 表示最后一个分片。

DF (Don‘t Fragment),意思是“不能分片” ,为 0 时才允许分片。

例4-4 一数据报的总长度为3820字节,只考虑固定首部,MTU=1420字节,需要分为几片?每个分片IP数据报的字段如何修改?

4.2.6 IP数据报的转发

1. 路由表

2.IP数据报的转发流程

详细过程见课本P154。

3.路由聚合

4.最长网络前缀

4.3 互联网控制报文

ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。

4.3.2  ICMP的应用举例

ICMP的一个重要应用就是分组网间探测(PING),用来测试两个主机之间的连通性。PING使用了ICMP回送请求和回送应答报文。

4.4 互联网路由选择协议

4.4.2 路由协议的几个基本概念

  1. 理想路由算法

算法必须是正确的和完整的。

算法在计算上应简单。

算法应能适应通信量和网络拓扑的变化,这就是说,要有自适应性。

算法应具有稳定性。

算法应是公平的。

算法应是最佳的。

  1. 分层次的路由选择协议
  1. 内部网关协议(IGP):在一个自治系统内部使用的路由选择协议。
  2. 外部网关协议(EGP):若源主机和目的主机处在不同的自治系统中,就需要在自治系统之间进行路由选择,使用一种协议将路由信息从一个自治系统中,这样的协议就是外部网关协议。

4.4.2 路由信息协议

1. 基于向量路由选择协议

2. RIP的基本原理

RIP的优点:实现简单,路由开销较小。

RIP的缺点:RIP限制了网络的规模,它能使用的最大距离为15(16表示不可达);路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也会增加;“坏消息传播的慢”,使更新过程的收敛时间过长。

4.4.3 开放最短路径优先(OSPF)

OSPF最主要的特征就是使用链路状态路由选择算法。

OSPF的基本原理见课本P167

OSPF使用层次结构的区域划分,在上层的区域叫作主干区域。

主干区域的作用是连通非主干区域,所有非主干区域之间的通信必须经过主干区域。

4.9 下一代的网际协议IPV6

IPV6将地址从IPV4的32位增大到128位。

IPv6 仍提供无连接的服务。

IPv6 将协议数据单元 PDU 称为分组,而不是 IPv4 的数据报。

IPv6 将首部长度变为固定的 40 字节,称为基本首部(base header)。

所有的扩展首部和数据合起来叫做IPv6分组的有效载荷(payload)或净负荷。

  • 版本(version)—— 4 位。它指明了协议的版本,对 IPv6 该字段总是 6。
  • 流量类型(traffic class)—— 8 位。这是为了区分不同的 IPv6 分组的类别或优先级。
  • 流标号(flow label)—— 20 位。 “流”是指从特定源点到终点的一系列分组,“流”经过路径上的路由器都会保证对该流指明的服务质量。所有属于同一个流的数据报都具有同样的流标号。
  • 有效载荷长度(payload length)—— 16 位。它指明 IPv6 数据报除基本首部以外的字节数(所有扩展首部都算在有效载荷之内),其最大值是 64 KB。
  • 下一个首部(next header)—— 8 位。指明其有效载荷中下一个首部的类型。当IPv6分组没有扩展首部时,作用相当于IPv4的协议字段。有扩展首部时,就标识后面第一个扩展首部的类型。
  • 跳数限制(hop limit)—— 8 位。作用与IPv4的TTL字段相同。源站在分组发出时即设定跳数限制。路由器在转发分组时将跳数限制字段中的值减1。当跳数限制的值为零时,就要将此分组丢弃。
  • 源地址—— 128 位。是分组的发送结点的 IP 地址。
  • 目的地址—— 128 位。是分组的接收结点的 IP 地址。

4.9.3 IPV6地址

1. IPV6地址的表示方法

IPV6使用冒号十六进制记法

每个 16 位的值用十六进制值表示,各值之间用冒号分隔:

68E6:8C64:F:FFFF:0:1180:960A:FFFF

允许省去两个冒号之间的数中最前面的一串0,如000F可缩写为F。

零压缩(zero compression),即一连串连续的零可以为一对冒号所取代:

             FF05:0:0:0:0:0:0:B3  可以记为:FF05::B3

为保证零压缩不会产生歧义,规定在任意一个地址中只能使用一次零压缩。

            例如:  12AB:0:0:CD30:0:0:0:0  

            可以记为:12AB:0:0:CD30::    但不能记为: 12AB::CD30::

该技术对已建议的分配策略特别有用,因为会有许多地址包含连续的零串。

4.9.6 从IPV4到IPV6过渡

从IPV4到IPV6过渡通常使用双协议栈和隧道技术。

相关习题练习:

1、有如下的4个/24地块,212.56.132.0/24,212.56.133.0/24,212.56.134.0/24,212.56.135.0/24,试进行最大可能的聚合。(写出过程)

解答:

212.56.100001 00. 0,

212.56.100001 01. 0,

 212.56.100001 10. 0,

212.56.100001 11. 0,

找到高位相同的位即为聚合后的地址,所以聚合后的地址块为212.56.132.0/22

4-22 一个数据报长度为4000字节(固定首部长度)。现在经过一个网络传送,但此网络能够传送的最大数据长度为1500字节。试问应当划分为几个短些的数据报片?各数据报片的数据字段长度、片偏移字段和MF标志应为何数值?

解答:

分片前数据部分长度:4000-20=3980。分片后每片数据不能超过:1500-20=1480。由于1480正好能被8整除,因此每片数据最大长度为1480。

共分为3个数据报片。数据字段长度分别为1480, 1480和1020字节。

片偏移字段的值分别为0,185和370。MF字段的值分别为1, 1和0。

4-27  设某路由器建立了如表4-8所示的路由表(这三列分别是目的网络、子网掩码和下一跳路由器,若直接交付则最后一列表示应当从哪一个接口转发出去):

现共收到5个分组,其目的站IP地址分别为:

(1) 128.96.39.10  (2) 128.96.40.12 (3) 128.96.40.151 (4) 192.4.153.17 (5) 192.4.153.90

试分别计算这些分组转发的下一跳。

解答:(1)接口0; (2) R2; (3) R4; (4) R3; (5) R4。

4-31 已知某地址块中的一个地址是140.120.84.24/20。试问该地址块中的第一个地址是什么?这个地址块共包含有多少个地址?最后一个地址是什么?

解答:

第一个地址:140.120.80.0。地址块中的地址数是4096个。最后一个地址:140.120.95.255。

第五章 运输层

1.本章重点

  1. 运输层任务
  2. 运输层两个协议(TCP、UDP)
  3. UDP协议及特点
  4. TCP特点
  5. TCP报文段格式
  6. TCP可靠传输:数据编号与确认、滑动窗口
  7. TCP的流量控制
  8. TCP的连接管理:三次握手建立
  9. TCP拥塞控制

2.名词解释

TCP、UDP

3.知识点梳理

5.1.1 进程之间的通信

(1)了解运输层主要任务:完成了应用进程与应用进程之间的通信(端到端通信).

(2)运输层的主要功能:

  • 运输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)。
  • 运输层还要对收到的报文进行差错检测。
  • 运输层需要有两种不同的运输协议,即面向连接的 TCP 和无连接的 UDP。
  • 运输层向高层用户屏蔽了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等),它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。
  • 当运输层采用面向连接的 TCP 协议时,尽管下面的网络是不可靠的(只提供尽最大努力服务),但这种逻辑通信信道就相当于一条全双工的可靠信道。
  • 当运输层采用无连接的 UDP 协议时,这种逻辑通信信道是一条不可靠信道。

5.1.2  因特网的运输层协议

  • TCP/IP 的运输层有两个不同的协议:

(1) 用户数据报协议 UDP       

(2) 传输控制协议 TCP     

TCP UDP的特点

(1)UDP的特点:

    • 无连接,尽最大努力交付
    • 没有拥塞控制,网络拥塞时发送速率不降低,实时应用好
    • 面向报文,效率高
    • 支持交互通信
    • 首部开销小

(2)TCP的特点:

  1. 面向连接
  2. 一条连接两个端点,即两个套接字地址标识一个连接
  3. 提供可靠交付服务
  4. 全双工通信,两端都有发送和接收缓存
  5. 面向字节流

(3)TCP与UDP协议的对比:

UDP

TCP

无连接的协议,提供无连接服务

面向连接的协议,提供面向连接服务

支持单播、多播、广播

支持点对点单播,不支持多播、广播

不提供可靠传输服务

提供可靠传输服务

简单。适用于很多应用,如:多媒体应用等.

复杂。用于大多数应用,如:万维网、电子邮件、文件传送

5.1.3  运输层的复用与分用

1. 了解复用与分用的概念

  • 复用:发送方的多个应用进程使用同一个运输层,传送数据到IP层;也即运输层为多个应用进程提供服务。
  • 分用:接收方的网络层把数据(多个应用进程的)交给运输层;运输层在剥去报文的首部后,把各自的数据正确交付给相应的目的应用进程

2. 掌握复用与分用以及端口之间的联系(在TCP/IP网络中,使用一种与操作系统无关的协议端口号(简称端口)来标识通信中的应用进程来实现复用和分用)

3.掌握端口的概念、分类以及作用

  • 端口是应用层与运输层之间接口(抽象),端口是应用进程的标志(标识符),是应用进程在运输层的地址
  • 运输层的协议数据单元的首部必须包含两个字段:源端口号和目的端口号
  • 端口的作用:

发送方:各种应用进程将其数据通过各自的端口向下交付给运输层;

接收方:运输层将其报文段中的数据向上通过端口交付给应用层相应的进程

了解软件端口与硬件端口的概念

  • 在协议栈层间的抽象的协议端口是软件端口。
  • 路由器或交换机上的端口是硬件端口。
  • 硬件端口是不同硬件设备进行交互的接口,而软件端口是应用层的各种协议进程与运输实体进行层间交互的一种地址。

TCP 的端口

  • 端口用一个 16 位端口号进行标志。
  • 端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联系的。
  • 熟知端口,数值一般为 0~1023。(熟知几个常用的端口号P224)

5.2  用户数据报协议 UDP
5.2.1  熟练掌握UDP 概述、特点(P225)

  • UDP 是无连接的,即发送数据之前不需要建立连接。
  • UDP 是面向报文的。UDP 没有拥塞控制,很适合多媒体通信的要求。
  • UDP 支持一对一、一对多、多对一和多对多的交互通信。
  • UDP 的首部开销小,只有 8 个字节。

5.2.2  掌握UDP 的首部格式知识点

(1)用户数据报 UDP 有两个字段:数据字段和首部字段。首部字段有 8 个字节,由 4 个字段组成,每个字段都是两个字节。熟练掌握字段意义(P226)

(2)在计算检验和时,临时把“伪首部”和 UDP 用户数据报连接在一起。伪首部仅仅是为了计算检验和。

举例:

【例】以下是十六进制格式的UDP首部内容:CB80 0035  002A 001C,请问

(1)源端口号是多少?

(2)目的端口号是多少?

(3)用户数据报总长度是多少?

(4)数据长度是多少?

(5)分组是从客户端发往服务器端的还是相反方向的?

(6)客户进程是什么?

解答:

(1)源端口号是头4位十六进制数(CB80)16,这意味 着源端口号是52096。

(2)目的端口号是第二组4位十六进制数(0035)16,即目的端口号为53。

(3)第三组四位十六进制数(002A)16,定义了整个UDP分组的长度,即长度为42字节。

(4)数据的长度是整个分组长度减去首部长度,即42-8=34字节。

(5)由于目的端口号是53(为专用端口号),分组是从客户端发送到服务器端。

(6)客户进程是DNS。

5.3   传输控制协议 TCP

5.3.1  掌握 TCP 最主要的特点

  • TCP 是面向连接的运输层协议。
  • 每一条 TCP 连接只能有两个端点(endpoint),每一条 TCP 连接只能是点对点的(一对一)。
  • TCP 提供可靠交付的服务。
  •  TCP 提供全双工通信。
  • 面向字节流(概念、应用)。  

5.3.2  掌握TCP报文段的首部格式

重点:TCP报文段中的序号、确认号、确认ACK、同步SYN、窗口字段的使用。

难点:序号、确认号之间关系。

熟悉掌握TCP报文段的格式:如(P229)

1.  序号字段

  • 序号字段——占 4 字节。序号从0开始,共232个序号
  • TCP 连接中传送的数据流中的每一个字节都编上一个序号
  • 序号字段的值则指的是本报文段所发送的数据的第一个字节的序号

举例:

问题1:一个TCP连接传送5000字节的文件,第一字节编号为10001,用 4 个报文段发送(前3个为1000字节数据,最后一个为2000字节数据),四个报文段中的序号分别为:

  1. 报文段1,范围:10001-11000,序号:10001
  2. 报文段2,范围:11001-12000,序号:11001
  3. 报文段3,范围:12001-13000,序号:12001
  4. 报文段4,范围:13001-15000,序号:13001
  5. 问题:2:一个报文段序号 = 501,其携带的数据是 200个字节,其数据的第一个字节的序号是多少?    501
  6. 问题3: 其下一个报文段的序号字段的值是多少?    701

2.  确认号字段

  • 确认号字段——占 4 字节,
  • 接收方使用确认号字段对它已经收到的字节表示确认,采用累积确认
  • 期望收到对方的下一个报文段的数据的第一个字节的序号。也就是正确收到数据的最后一个字节的编号+1 

确认号字段应用举例:

确认号字段的值 = 901,说明两个问题:

  • 接收方正确收到了发送方的序号900为止的数据;
    • 期望收到对方下一个报文段数据的第一个字节的序号。

问题1:用户 B 正确收到了用户 A 发送过来的一个报文段,其序号字段值是 501,而数据长度是 200 字节。B的确认报文中确认字段的值是多少?

解:此报文段的最后一个字节的编号:700。B 在发送给 A 的确认报文段中把确认号置为 701。表明:

  • B 正确收到了A发送的序号700为止的数据
    • B期望收到 A 的下一个报文段序号是 701。

3. 数据偏移

  • 数据偏移——占 4  位,
  • TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。TCP报文首部长度
  • “数据偏移”的单位不是字节而是 32 位字(4 字节为计算单位)。最大多少?  

4. SYN与ACK

同步位 SYN —— 当 SYN = 1 时,表示这是一个连接请求或连接接受报文。

  • SYN = 1 ,ACK=0时,表示这是一个连接请求报文段
  • SYN = 1 ,ACK=1时,表示这是一个连接接受报文段;

5. FIN

  • 终止位 FIN (FINal) —— 用来释放连接
  • 当 FIN = 1 时,表明此报文段的发送方的数据已发送完毕,并要求释放运输连接

6. 窗口字段

    占两个字节。窗口值指示发送该报文段一方的接收窗口的大小,确认号=701 窗口=1000,则有3个含义:

  • 下一个报文段的第一个字节的序号为 701;
  • 最多只能再发送1000个字节的数据;
  • 发送数据的序号只能在 701--1700 之间。

5.3.3  TCP的可靠传输

1.数据编号与确认

  • 数据编号:

采用面向字节编号

  • 一个字节对应一个序号,初始序号在TCP建立连接时确定
    • TCP报文段中首部的序号是报文段数据的第一个字节的编号
  • 数据确认:

采用累积确认

  • 仅对所有按序接收到的数据的进行确认,并非收到一个报文段就进行确认;
    • 接收方返回的确认号 = 已按序收到数据的最高字节号+ 1
    • 确认号表示接收方期望下次收到的数据中的第一个数据字节序号  。
    • TCP采用延迟确认机制,正确收到数据后等一小段(不超过0.5S)再发确认,又有数据到达的话,可以累积确认两次到达数据。
    • 全双工不必专门确认,在传输数据时顺便把确认信息稍回去,捎带确认提高效率。

举例:接收到:1~700、801~1000、1201~1500,确认号多少?

解答:确认号 = 701,这是因为已经收到了1~700、801~1000、1201~1500,而701~800、1001~1200的数据还没有收到。

2  以字节为单位的滑动窗口

重点TCP的滑动窗口

难点TCP的滑动窗口中接收窗口与发送窗口的关系。

(1)掌握TCP协议的滑动窗口的概念、作用。

作用:提高报文段的发送效率、流量控制等。

发送窗口:允许发送方已发送但还没有收到确认的报文段字节序号的范围,发送方窗口大小是发送方已发送但还没有收到确认的最大字节数。

接收窗口:可用于限制发送窗口的大小。接收方根据自己的接收窗口的大小,可随时地调整对方发送窗口的上限值(可增大或减小)。窗口大小单位是字节。

(2)在“滑动窗口”概念中,了解“发送窗口”和“接收窗口”的作用是什么?如果接收方的接收能力不断地发生变化,则采取何种措施可以提高协议的效率。

  1. “发送窗口”作用是限制发送方连续发送数据的数量,即控制发送方发送数据的平均速率
  2. “接收窗口”反映了接收方当前接收缓存的大小,即接收方接收能力的大小
  3. 当接收方的接收能力不断地发生变化时,通过TCP报文段首部的“窗口”字段将接收窗口的大小发送给发送方,调节发送方的发送速率避免因发送方发送速率太大或太小而导致接收缓存的溢出或带宽的浪费,从而提高协议的效率。

(3)掌握发送缓存与发送窗口的联系:如发送缓存中存储的数据有哪些?发送窗口在什么情况下允许发送数据?发送窗口怎么滑动?

  1. 发送缓存
    • 用来暂时存放发送应用进程传送给 TCP 的数据;
    • 包括:TCP 已发送出,但尚未收到确认的数据。
  2. 发送窗口
    • 发送缓存的一部分,进入发送窗口的数据才允许发送。
    • 在没有收到接收方确认的情况下,发送方可以连续把窗口内的数据都发送出去;
    • 发送方只要收到了对方的确认,发送窗口就可前移。
    • 凡是发送过的数据,在未收到接收方的确认之前,发送方 都必须暂时保留,发送窗口不移动;

(4)掌握接收缓存与接收窗口的与联系:如接收缓存中存储的有哪些数据?接收窗口大小怎么确定?接收窗口与发送窗口的关系?

  1. 接收缓存
    • 暂时存放按序到达的、但尚未被接收应用程序读取的数据;
    • 暂时存放不按序到达的数据。
  2. 接收窗口
    • 接收窗口 = 接收缓存 - 已收到尚未读取的字节数
    • 用于限制发送方的发送窗口的大小。即发送方的发送窗口大小不能超过接收方的接收窗口的大小。

TCP窗口例题:(熟练掌握P233例题5-9

补充例题:

(1)发送窗口的大小为600字节,已经发送了400字节,收到了前200字节的确认,那么发送方还可以最多连续发送   400    字节。

(2)发送窗口的大小为600字节,已经发送了400字节,收到了前200字节的确认,在确认报文段中窗口字段值为500,那么发送方还可以最多连续发送       300       字节。

3  超时重传时间的选择

  • 重传机制是 TCP 中最重要和最复杂的问题之一。
  • TCP 每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的重传时间到但还没有收到确认,就要重传这一报文段。

4.  快速重传

  • 快速重传要求接收方每收到一个失序的报文段后就立即发出重复确认。
  • 发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段
  • 快重传并非取消重传计时器,而是在某些情况下可更早地重传丢失的报文段。 

5.3.4  TCP 的流量控制概括

流量控制(flow control)就是让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞。

流量控制的要点:

接收方根据空余的接收缓存大小调整接收窗口的大小;

接收方在确认对方数据时将自己的接收窗口大小通知给对方

发送方根据收到报文段中确认号和窗口字段调整自己的发送窗口

由于发送方的发送窗口大小总是由接收方的接收窗口大小控制,即接收方通过接收窗口控制发送方的发送速率,保证了接收缓存不会溢出。

5.3.5  TCP的连接管理

1.了解TCP连接的三个阶段,即:连接建立、数据传送和连接释放。

2.注意:TCP连接的建立(TCP连接是运输层连接,只存在通信的两个端系统中)

3.掌握三次握手的定义、建立过程、以及采用三次握手的原因(TCP连接的建立过程,称为三次握手P240

5.4   TCP的拥塞控制
5.4.1  了解拥塞控制原因与危害

  • 在某段时间,若对网络中某资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏——产生拥塞(congestion)。
  • 出现资源拥塞的条件:

             对资源需求的总和 > 可用资源 

5.4.2  掌握拥塞控制的基本方法

1. 拥塞控制与流量控制的关系

  • 流量控制
    • 是在给定发送端接收端之间进行点对点通信量的控制。
    • 抑制发送端发送数据的速率,以便使接收端来得及接收。
  • 拥塞控制
    • 是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。
    • 拥塞控制任务:防止过多的数据注入到网络中,使网络能够承受现有的网络负载

2. 判定网络拥塞的依据:

  • 只要发送方检测到分组丢失, 就可以认为网络可能出现了拥塞。
  • 重传计时器超时或收到三个重复确认(快速重传)认为分组丢失,网络出现拥塞

第六章 应用层

6.1应用层概述

  1. 应用层的主要任务是什么?

通过应用进程之间的交互来完成特定的网络应用。

应用层是网络和用户之间的接口,向用户提供实际的网络应用服务

网络应用服务是通过网络应用程序提供的。网络应用程序运行在网络边缘的端系统上,通过相互的通信来共同完成某项任务。

2.两种网络应用程序的体系结构c/s客户服务器模式和p2p对等体系结构的主要特征是什么?

客户服务器方式所描述的是进程之间服务和被服务的关系。客户是服务的请求方,服务器是服务的提供方。客户相互之间不直接进行通信。

在对等(P2P, Peer-to-Peer)方式中,没有固定的服务请求者和服务提供者,应用进程是对等的,被称为对等方(peer)。对等方相互之间直接通信,每个对等方即是服务的请求者,又是服务的提供者。

3.常见的应用层协议有哪些?

域名系统DNS

  1. 什么是域名,什么是域名系统DNS,它的的主要功能是什么?

域名是一串用点分隔的字符串,构成因特网上一台主机的名称,用来唯一标识网上的一台主机。域名主要是为了方便记忆与使用。

两台主机应用进程之间通信时,必须通过IP地址,当通过域名去访问某台主机时,需要把域名转换成IP地址;DNS就是用来把计算机的域名解析为相对应的IP地址;

DNS是一个联机分布式数据库系统,采用客户/服务器体系结构,大多数名字在本地解析,少量解析需要在因特网上同。

2.域名解析过程中使用的两种解析方法分别是什么?

迭代查询和递归查询

3.域名具备哪些特点?

域名只是个逻辑概念,并不代表计算机所在的物理地点。

域名中的“点”和点分十进制 IP 地址中的“点”并无一一对应的关系。点分十进制 IP 地址中一定是包含三个“点”,但每一个域名中“点”的数目则不一定正好是三个。

因特网采用了层次树状结构的命名方法。域名的结构由若干个分量组成,各分量之间用点隔开:各分量分别代表不同级别的域名,级别最低的域名写在最左边,级别最高的顶级域名写在最右边,完整域名不超过255个字符。  

任何一个连接在因特网上的主机,都有一个唯一的层次结构的名字,即域名。

6.3万维网WWW

  1. 什么是万维网?

万维网WWW (World Wide Web)是一个大规模的、联机式的信息储藏所,是运行在因特网上的一个分布式应用。

   2.万维网的工作方式是什么?

万维网以客户服务器方式工作:

万维网客户程序:用户计算机上的浏览器。

万维网服务器:⑴ 驻留万维网文档;⑵ 运行服务器程序;

客户程序向服务器程序发出请求,服务器程序返回浏览器请求的万维网文档。浏览器将该文档以页面形式呈现在窗口(网页)上。

  3.万维网的信息以什么形式进行存放?

万维网是一个分布式超媒体(hypermedia)系统,它是超文本(hypertext)系统的扩充。

超文本是一种文本,一个超文本由多个信息源链接成。利用一个链接可使用户找到另一个文档。这些文档可以位于世界上任何一个接在因特网上的超文本系统中。超文本是万维网的基础。

超媒体与超文本的区别是文档内容不同。超文本文档仅包含文本信息,

超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,甚至活动视频图像

 4.怎样标志分布在整个因特网上的万维网文档?

使用统一资源定位符 URL (Uniform Resource Locator)来标志万维网上的各种文档。

5.用何协议实现Web页面的传输?

在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议 HTTP (HyperText Transfer Protocol)。

HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。

HTTP 协议本身也是无连接的,虽然它使用了面向连接的 TCP 向上提供的服务

6.如何编写万维网文档使它们能在因特网上的各种计算机上显示出来,如何在文档中嵌入超链?

超文本标记语言 HTML (HyperText Markup Language)使得万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到因特网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。

6.4 电子邮件

  1. 电子邮件具备哪些特点?

电子邮件是因特网上使用最早、最多和最受欢迎的一种网络应用。电子邮件不仅使用方便,而且还具有传递迅速和费用低廉的优点。电子邮件不仅可传送文字信息,而且还可附上声音和图像。

    2.电子邮件的体系结构是什么?

采用C/S体系结构

   3.电子邮件的三个主要构件是什么?

用户代理、邮件服务器、邮件协议

  4.电子邮件使用的三种协议是什么?其中哪些是邮件传送协议,哪些是邮件读取协议?

三种协议分别为:SMTP(简单邮件传输协议), POP3(邮局协议)和IMAP(互联网邮件访问协议

其中,SMTP(简单邮件传输协议):用于发送邮件;  POP3(邮局协议)、 IMAP(互联网邮件访问协议):用于接收邮件

6.7 动态主机配置协议DHCP

DHCP提供了即插即用连网的机制: 允许一台计算机加入新网络时,自动获取IP地址及其相关配置,而不用手工参与。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐