第1章 计算机网络和因特网
1、通过网络链路和交换机移动数据有两种基本方法(构建网络核心的基本方法):电路交换和分组交换各自的特点以及适用情况(如课后习题2(简称为T2))。
电路交换:(circuit switching):网络为数据传输在传输路径上预留资源电话网(专用)通信双方在发送数据之前必须建立一条专用电路,在沿途预留资源。
特点:(专用)分配专用资源;性能保障;建立连接(传输、拆除连接)
多路复用(Multiplexing):将资源(如带宽)分成多个小片,一个小片分给一个call,拥有资源小片的Call不使用该小片时,该资源小片空闲 (资源独占)
时分复用:时间划分成一个个定长时间的Frame(结构,帧等),每个Frame被划分成固定数量的时间槽(时隙)。当建立连接时,网络为每个连接分配Frame中的一个固定的时间槽(slot)。
适用情况:
分组交换:(packet-switching):数据被分成一个一个的分组计算机网络,将长报文分成一个一个的分组(packet),每个分组均携带目的地址,沿途所经过的packet switches根据packet所携带的目的地址决定其输出链路。交换机在转发一个分组时的速度为其输出链路的full速度。
特点:资源不预留,而采用按需分配的原则;与其他会话共享资源;无性能保证
统计时分复用:传统的时分复用接入的每个终端都固定地分配了一个公共信道的一个时隙,是对号入座的。正因为终端和时隙是“对号入座”的,所以它们是“同步”的。而异步时分复用或统计时分复用是把公共信道的时隙实行“按需分配”,即只对那些需要传送信息或正在工作的终端才分配给时隙,这样就使所有的时隙都能饱满地得到使用。
适用情况:
两者对比:1 Mbps link
q 每个用户:
p “活动时”所需数据传输速率:100Kbps
p 活动概率为:10%
q 电路交换:
p 10 个用户
q 分组交换:
p 如果有35个用户,11或更多个用户同时上网的概率小于 0.0004
r 分组交换可以使用链路的full rate发送数据
r 例如
q 10个用户,其中一个用户突然产生 一个 1000-bit 长的分组, 而其他用户保持静默。
q 链路速率是1Mbps(即1000000bps)
r 电路交换
q 1000/100000=10ms
r 分组交换
q 1000/1000000=1ms
2、时延的分类及计算。(如T5、T18、T19、T21、T26)
时延分类:
存储转发时延, store-and-forward delay :分组交换机必须在接收到一个完整的分组后才能在输出链路上传输分组的第一位。因此,沿着转发该分组的路径,在每条链路的输入端,引入一个延迟
分组长度= L bits 链路速率 =R bps 存储转发时延=L/R s
排队时延(Queueing delay):当从多个输入链路到达的分组要从同一输出链路转发时,交换机只能在输出链路上传输一个分组,其他分组需要在缓存(buffer)中等候输出链路空闲。
节点处理时延(Nodal processing delay)
q 路由器/交换机检查分组头部来决定从哪个输出端口转发所需的时间
q 决定输出链路
q 检查分组是否出现错误
q 通常是微秒或更低的数量级
q 经过处理延迟后,分组被缓存到队列中
排队时延(Queuing delay)
q 分组等待输出链路空闲所需的时间
q 分组所经历的排队延迟取决于队列中已有的分组的总长度和队列策略。
q 一般在毫秒到微秒的量级
传输时延(Transmission delay)
q 将分组的全部位发送到link上所需的时间
传播时延(Propagation delay)
q bit从链路的一端到另一端传播所经历的时间
时延计算:
3、加深对计算机网络体系结构分层思想的理解。(在计算机网络分层体系结构中,虽然每一层均在下层服务的基础上为其上一层提供增值服务,但物理通信仅在最底层进行,而不是在每一层都有。)
层次结构的优越性
l 各层之间相互独立、灵活性好
l 每层都可以采用最合适的实现技术、易于实现和维护
l 有利于网络标准化
网络中各节点具有相同的层次------称为同等层或对等层
不同节点的同等层具有相同的功能,功能由相应层上的对等实体完成。
同一节点内的相邻层之间(即相邻层实体之间) 是遵循层间协议,并通过层间接口进行通信的---垂直通信。
每一层(第N层)实体在实现自身定义的功能时一般要使用下层(第N-1层)提供的服务,并向其上层(第N+1层)提供服务---所提供服务的具体实现细节对上一层完全屏蔽。
4、Internet协议栈的分层、每一层的功能、协议数据单元(名称、及首部的长度)、典型协议各是什么?(理解Internet数据发送过程中数据封装的基本原理。)
r 应用层(application layer) :包含大量应用及应用层协议。应用传递的信息叫做报文(message)。
r 运输层( transport layer ):进程-进程间的通信。传输层的分组叫做报文段(segment)。是端-端的通信。
r 网络层( network layer):网络层负责将报文段传输到目的主机的传输层。该层分组称为数据报(datagram)。是主机-主机的通信。
r 链路层( link layer):本层负责将分组从一个节点传输到下一个节点。链路层传输数据的单位叫做帧(Frame)。相邻节点的通信。
r 物理层( physical layer):物理层负责将Frame中的每一位(bit)从链路的一端传输到另一端。
5、常见的网络接入技术。
第2章 应用层
1、HTTP报文的基本格式及其含义,能根据给定的报文回答提出的问题(如T4、T5)。
响应报文的一般格式
2、非持久连接、持久性连接(流水线方式、非流水线方式)各自的特点(注意其区别,如T1、T7、T8)。
非持久连接
l 建立一次TCP连接,browser和server通过此连接只传输一个request消息和一个respond消息。
l 因此,每个TCP连接上传送至多1个Web对象。
l HTTP/1.0使用非持久HTTP连接
非持久连接的问题:
l 每个对象需要2个RTT(连接、请求/响应)
l OS必须为每个TCP连接分配主机资源
l 大量客户的并发TCP连接形成服务器的严重负担
持久连接
l 建立一次TCP连接,browser和server通过此连接可以传输多个request消息和多个respond消息。
l 因此,一个TCP连接上可以传送多个Web对象。
l HTTP/1.1默认使用持久HTTP连接
持久连接
l 服务器发送响应报文后保持连接
l 同一客户/服务器对上的后续HTTP 报文继续在该连接上传送
3、熟悉各种常用的协议的特点及其作用(使用环境),并注意其使用TCP还是UDP。(FTP、SMTP、POP3、DNS(层次性))(图2-5)
HTTP是无状态协议
l HTTP服务器不维护客户先前的状态信息
SMTP: 一个邮件内各个对象置于同一个邮件报文的多个部分发送
协议格式:
4、FTP工作原理(两种连接的作用等)
FTP: 工作过程
l FTP client contacts FTP server at port 21, specifying TCP as transport protocol
l Client obtains authorization over control connection
l Client browses remote directory by sending commands over control connection.
l When server receives a command for a file transfer, the server opens a TCP data connection to client
l After transferring one file, server closes connection.
FTP利用Control和Data两个连接来完成文件传输。
l 1) Control Connection:用来在Client和Server之间传送控制信息,如用户标识、口令、命令等
l 2) Data Connection:实际文件传输是通过Data Connection来完成。
l FTP利用单独的Control连接来传输控制信息的方式叫做 Out of Band(带外机制),
l 而HTTP利用一个连接在控制信息和数据共享的方式叫做In Band(带内机制)。
l 采用Out of band的好处是控制和数据信息传输尽量互不影响.
l 2、FTP中,Control连接是Persistent,而Data连接是Non-Persistent的,一次只能传输一个文件。
l 3、FTP是一种有状态的协议,即Server为每个FTP会话维护相关信息,包括当前目录\账号等。
l 正因为Server需要维护状态,一个FTP服务器支持的并发用户数收到了限制。
l 数据连接的建立有两种方式:
l 1、PASV(被动模式) :服务器通知客户端关于自己开放的数据端口信息,被动等待客户来连接。
l 2、PORT(主动式):客户机通知服务器关于自己开放的数据端口信息,服务器主动连接客户机。
5、DNS的功能、结构及工作机理。
功能:
DNS服务:
l 主机名(域名到)IP地址的转换
l 主机别名
l 规范主机名和主机别名
规范名:relay1.west-coast.enterprise.com
别名: www.enterprise.com
l 邮件服务器别名(类似于主机别名)
l 负载分配
l 冗余服务器:一个IP地址集合(多台服务器)对应于同一个规范主机名。
l DNS为客户机在这些冗余服务器之间旋转分配负载 (N)
结构:
工作机理:
递归(Recursive)查询:
l 名字解析的负担交给被查询的名字服务器
l 被查询的名字服务器负载重
迭代(Iterative)查询:
l 被查询的名字服务器回复另一个可以被查询的名字服务器的IP地址
l “我不知道它的名字,但是可以问问某服务器”
6、Socket的基本知识,TCP套接字及UDP套接字的异同。
注:T4、T5关联理解。T7、T8题干连续。
第3章 运输层
1、可靠数据传输协议的基本机制及作用。(表3-1)
课本P153——154表3-1
2、可靠数据传输协议中,流水线机制的特点、基本的流水线差错恢复机制及其特点(Go-Back-N、SR)。
基本思想:
发送方在发送分组后等待一段时间
如果没有收到ACK,则“定时器”超时事件发生,重传分组.
倒计数定时器(countdown timer)
每发送一个分组(包括重传分组),启动一个定时器.
响应定时器中断
终止定时器(收到ACK或重传多次仍无ACK到达)
如果ACK只是延迟到达,则重传引起重复分组.
seq. #
接收方必须在ACK中携带所确认数据分组的序号.
特点:不适用停等方式运行,允许发送方连续发送多个分组而无需等待确认。
对可靠数据传输增加以下机制:
①必须增加序号范围;②发送方和接收方也许必须缓存多个分组;③差错恢复机制:回退N步或是选择重传。
GBN:
发送方:
分组头部设置k-bit的序号字段(seq #)
等待ACK的数据分组数量最多为N
滑动窗口
已经发送但还未被确认的分组的许可序号可被看成在序号空间内长度为N的窗口
随着收、发双方协议的操作,window在序号空间内向右滑动.
接收方的事件和动作
ACK-only: 每收到一个分组,便对成功、按序收到、序号最大分组进行确认.
可能产生重复的ACK
接收方只需维护所希望分组的序号便可: expectedseqnum
乱序分组(out-of-order pkts)处理:
直接丢弃 -> no receiver buffering! (发送端会因超时重发)
发送ACK(n) (对最后按序正确接收的分组)
发送方仅仅重传有问题(丢失、错误)的分组
发送方需要为每个分组设置单独的定时器
窗口及其操作方式同GBN
接收方必须对正确收到的分组独立地确认(非累积确认)
接收方需要缓存乱序分组,以便向高层按序递交
发送方和接收方的窗口序号空间问题:
选择重传:
发送方:
上层调用
如果有可用序号,创建分组、发送分组、启动定时器.
超时timeout(n)
仅重传Seq.# n 分组
收到ACK(n)
n在 [sendbase,sendbase+N-1]:
将分组n标记为已成功
如果n=send_base,将window的send_base设为窗口中下一个还未被确认的分组的序号(这即滑动了一下窗口,通过修改send-base的值。)
接收方:
序号在 [rcvbase, rcvbase+N-1]中
发送 ACK(n)
缓存失序的分组;向高层递交所有可能的分组,窗口向前滑动.(通过修改rcvbase的值为最小序号的应收分组序号)
序号在 [rcvbase-N,rcvbase-1]中
ACK(n) (书P151PG5)
(因为接收方和发送方所看到的窗口序列号并不一致,故对该范围的分组一律得确认,以便使发送方的窗口能向前滑动)
其他情况:
Ignore(不予处理)
序号空间大小与窗口尺寸的关系怎样才能避免发送方与接收方不同步问题?
通信双方没有同步机制,在序列号空间有限的情况下,序列号空间大小和窗口大小必须要满足一定的关系。
结论:必须保证 2N<=2k成立,即:
N<=2k-1
3、TCP协议可靠数据传输机制的特点。(seq#,ACK#,Timer,重传)(熟悉图
3-31、图3-34、图3-35、图3-36)(如T24)
面向连接的
发送数据前必须首先建立连接
三次握手建立连接
相互交换控制段(segment)
初始化与连接有关的TCP状态变量
连接状态只在端系统中
TCP连接包括:
发送方的缓存、变量、Socket.
接收方的缓存、变量、Socket.
P159 3-31
两个概念:最大段长、最大传输单元。
序号:
TCP将数据看作是无结构、有序的字节流.
Seq. # 指该报文段首字节的字节流编号
确认号:
接收方希望从发送方接收的下一个字节的编号
累积确认(cumulative ACK)
接收方如何处理乱序到达的报文段?
取决于TCP的实现:
直接丢弃失序段. 或者
暂时缓存失序段
由于确认报文丢失而重传:P163 3-34.
应用调用事件:
创建Segment,填充序号(seq #),并发送
启动定时器
如果定时器还未运行的话(定时器与谁关联?sendbase)
超时间隔: TimeOutInterval
更改下次发送字节的序号(nextseqnum)
超时(timeout)事件
重传引起超时的segment
重新启动定时器
收到ACK报文段事件(回想TCP报文段结构,即ACK=1的报文段)
如果是对原先未确认分组的确认 (如何认定?,sendbase存放的值的意义是什么?)
认定:确认号大于sendbase
更新 sendbase
如果仍有未被确认的分组,启动定时器;否则,停止定时器.
重传时:
快速重传:
如果发送方收到3个重复的ACK,则重传ACK#所指的Segment.
不用等待该可能丢失的Segment的Timeout
4、熟悉TCP拥塞控制的基本原理并能灵活运用。(如T33)
重传分组是拥塞的后果:
丢失 = timeout 或 3-duplicate ACKs
当出现丢失后,TCP降低发送速率.
收到ACK意味着网络较好
增大CongWin来提高发送速率
超时或 3-duplicate ACKs
减小CongWin来降低发送速率
TCP拥塞控制算法
加性增-乘性减(AIMD)
慢启动(slow start)
对超时事件作出反应
5、TCP流量控制的主要作用。
总体思想:限制发送方的发送速率,以适应接收方的接受速率,尽量避免丢包事件或溢出的发生,从而达到避免网络拥塞的目的。
6、TCP、UDP协议各自的服务特点及协议数据单元格式。
TCP:面向连接的;全双工的;点对点的;含有拥塞控制机制;三次握手阶段。
其数据单元格式:
UDP:无连接的;因此无建立连接时延;没有拥塞控制机制;
其数据单元格式:
7、运输层的多路复用与多路分解的概念及基本原理(注意socket的标识)。
多路复用:从源主机的不同套接字中收到数据块,并为每个数据块封装上首部信息从而生成报文段,并将报文段传递到网络层的工作成为运输层的多路复用。
原理:套接字有唯一标示符;每个报文段有特殊字段来表示该报文段所要交付的套接字;
多路分解:将运输层的数据包交付到正确套接字的工作成为运输层的多路分解;
原理:……
参照课本P129 图3-3
第4 章网络层
1、Internet中IP编址方式(CIDR)以及为各子网分配地址块的基本方法。(如T11、T14)
无类别域间选路:a.b.c.d/x,32比特的IP地址分为两部分,前x位表示了子网地址,后面的位表示了子网内的主机地址。
最长前缀匹配原则!
2、网络地址转换(NAT)的功能与工作过程。
NAT使能路由器对外界隐藏了家庭网络的细节,使得家庭网络和广域网络能进行互相通信。
工作过程:
NAT 路由器必须:
外出的分组: 替换每个外出的分组的 (源IP 地址, 端口号) 为 (NAT IP 地址, 新端口号)
远程客户/服务器用(NAT IP地址, 新端口号)作为目的地来响应。
(在NAT转换表中) 每个(源IP 地址, 端口号)到 (NAT IP地址, 新端口号) 转换对
进来的分组: 对每个进来的分组,用保存在NAT表中的对应的(源IP 地址, 端口号) 替换分组中的目的域 (NAT IP 地址, 新端口号)
3、两种典型路由算法的基本计算方法。(链路状态算法、距离向量算法(加深对B-F公式的理解如T24))
距离向量算法:
4、IP数据报分片的基本方法。(如T16)
网络链路有 MTU (最大传输单元) – 最大可能的链路层帧
不同的链路类型有不同的MTU
输入链路MTU大于输出链路的MTU时,路由器将分组划分成若干分片
大的 IP 分组在网络中被划分 (“分片”)
1个分组变成几个数据报
“重组” 只能在最后目的地(主机IP层)
IP 首部的一些bit用于标识和保证分片的顺序
5、网络层的主要功能。
Internet的网络层提供了单一的服务,即尽力而为服务。
许多其他的网络层提供了多种服务,如ATM网络的恒定比特率和可用比热率。
见课本表4-1
6、虚电路网路和数据报网络的基本概念及各自的特点。
虚电路网络:仅在网络层提供链接服务的计算机网络成为虚电路网络;特点:在数据传输之前,需要为每个call建立连接。在源到目的的路径上,每个路由器需要为经过它的每个连接维护状态信息为VC分配链路、路由器资源(带宽、缓存);每个分组携带VC标识(而不是目的主机地址)。
数据报网络:仅在网络层提供无连接服务的计算机网络成为数据包网络;特点:网络层是无连接的;路由器不需要维护端到端的连接的状态信息;无网络层上的连接概念;依据目的主机地址对分组进行转发;具有相同源-目的对的分组可能沿不同的路径传输
7、路由器的体系结构及各部分的作用。
输入端口:①将一条接入链路端接到路由器的物理层;②查找和转发功能;③控制分组从输入端口转发到选路处理器;
交换结构:将路由器的输入端口连接到其输出端口;
输出端口:存储经交换结构转发给他的分组,并将这些分组传输到输出链路;
选路处理器:①执行选路协议;②维护选路信息与转发表;③执行路由器中的网络管理功能;
8、ICMP协议功能、与其他协议关系、ICMP报文应用
功能:
用于主机、路由器、网关网络层信息的交互
差错报告: 不可到达的主机、网络、端口、协议
回应请求/应答 (用于 ping,traceroute等)
从体系结构看,ICMP “在 IP之上”:
ICMP 报文用IP分组传输
应用:如实验五。
9、Internet路由协议及其特点(RIP、OSPF、BGP)
RIP:
一种距离向量协议
距离代价度量: 跳数 (max = 15 跳)
从源路由器到目的子网(包括目的子网)的最短路径所经过的子网数量,也就是从源Host到目的Host最短路径上的路由器数量。
距离向量(路由更新消息)每30秒在邻居之间通过RIP响应报文 (通告)来交换
每个RIP通告中包含AS内的最多25个目的网络的一个列表,以及发送方到每个目的网络的距离(跳数)
链路故障和恢复:
如果180秒之后没有听到通告→邻居/链路宣告失败
通过该邻居的路由失效
新的通告发送到邻居
邻居然后再发送通告 (如果表发生变化)
链路故障信息快速传播到整个网络
毒性逆转用于防止两跳环路的无穷计数 (无限距离 = 16 跳)
表处理:
RIP 路由表是由应用层进程称为route-d管理的(后台程序)
RIP通告采用 UDP 报文段周期性重复发送(也可能是在收到RIP Request 消息后的立即响应)
OSPF:
“开放”: 公用的
采用链路状态算法 :
分发LS 报文
每个节点具有拓扑图
路由计算使用 Dijkstra算法
OSPF通告为每个邻居路由器设一个表项
通告会散布到整个自治系统 (通过泛洪法)
OSPF报文直接通过 IP传输 (上层协议字段值为89)
以下为RIP中没有的特点:
安全: 所有OSPF路由器的报文交换都需要认证 (防止恶意入侵)
允许多个同代价的路径 (在 RIP中只有一条路径)
可以为每一条链路针对不同TOS(服务类型)设置不同的开销值。(例:在卫星链路上,对时间敏感性不同(高、低)的应用的IP分组,设置不同的代价(高、低))
单播路由和多播路由的综合支持:
多播 OSPF (MOSPF) 使用和OSPF同样的拓扑数据库,增加了一个新型的链路状态通告
在大的自治系统中使用层次 OSPF---这是OSPF最重要、最关键的特点。
BGP:
BGP 为每个自治系统提供一种手段来:
从邻居ASes获取子网可到达信息.
向自治系统内部的所有路由器传播获得的可达性信息
基于该可达性信息和AS策略,决定到达子网的“好”路由
允许1个子网向Internet其他子网通告自己的存在: “I am here”
10、AS的基本概念、inter-AS以及Intra-AS协议的作用。
自治系统:自治系统“autonomous systems” (AS)是由同一管理者控制下的路由器及其连接所组成的集合。
同一个自治系统的路由器运行同样的路由协议;
不同自治系统之间运行域间路由协议,又称外部路由协议。
网关路由器:
直接链路连接到其它AS的路由器
同时运行域内路由协议和域间路由协议
第5章 链路层和局域网
1、多址访问协议的分类(信道划分协议、随机访问协议、轮流协议)、各自的特点及典型代表。
2、Ethernet中CSMA/CD的基本原理、具体工作过程(其中的有关算法)。(如复习题13等)
3、MAC地址的特点(位数(字节数)、平面性)。
4、ARP的原理、特点(自动生成、缓存作用、本子网中MAC地址解析、封装在帧里传输、广播帧与单播帧)。
5、Ethernet提供服务的特点(无连接、不可靠等)。
6、网络适配器的工作特点(所处协议层次、半自治性)。
7、路由器、交换机、HUB各自的特点。(特别是所在协议层次)
8、总结因特网各层上的协议及其关系(对ICMP、RIP、OSPF、BGP、SNMP等,总结其本身所属的层次,以及其报文传输需要何种下层协议支持)