计算机网络复习整理

本文档仅供个人复习参考
因为是先打好的word再改成博文,有些格式调的不舒服,word文档上传到文件里了,下载不了可以联系博主

ch1 概述

1.三类熟悉的网络:电信网络、有线电视网络、计算机网络

2.互联网的两个重要基本特点是:连通性和共享

3.网络、互连网和互联网
①网络:计算机网络的简称,由若干结点和连接这些结点的链路组成。
②互连网:网络的网络,泛指由多个网络(通过路由器)互连而成的范围更大的计算机网络。
③互联网:指当前全球最大的、开放的、由众多网络相互连接而成的特定互连网,它采用TCP/IP协议族作为通信的规则
区分:
①网络把许多计算机连接在一起,而互连网把许多网络连接在一起
②任意把几个计算机网络互连起来(不管采用什么协议),并能够相互通信,这样构成的是一个互连网,而不是互联网。
补充:
①主机:与网络相连的计算机
②树上的图中用云表示的互连网里面只有许多路由器和连接这些路由器的链路,主机通常画在云外面,好理解。

4.互联网的组成
从工作方式上看,可以划分为以下两个大类:
①边缘部分
组成:由所有连接在互联网上的主机组成。这部分是用户直接使用的。
功能:使众多主机之间能够通信和资源共享
②核心部分
组成:由大量网络和连接这些网络的路由器组成
功能:为边缘部分提供服务(连通性和交换/共享)

5.边缘部分
网络边缘的端系统间的通信方式
端系统:边缘部分的组成部分是互联网上的所有主机,这些主机又称为端系统。
在网络边缘的端系统之间的通信方式:C/S和P2P
①C/S:
客户和服务器指的是:进程
C/S最主要的特征:客户是服务请求方,服务器是服务提供方
②P2P:
对等连接P2P:两台主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方。
P2P本质:C/S 只是对等连接中的每一台主机既是客户又同时是服务器

6.核心部分
路由器:分组交换
最重要的功能:路由器转发收到的分组
以下知识结合p17图理解
①电路交换
(i)定义:整个报文的比特流连续地从源点直达终点,好像在一个管道中传送
(ii)特点:
a.必须经过“建立连接→通话→释放连接”三步骤(开销),在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。
b.线路传输效率低
注:
建立连接:占用通信资源
通话:一直占用通信资源
释放连接:归还通信资源
②报文交换:整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点

③分组交换
(i)定义:单个分组(整个报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点。
(ii)特点:
a.(最重要)存储转发(P15)
b.分组交换在传送数据之前不必先占用一条端到端的链路的通信资源,分组在哪段链路上传送才占用这段链路的通信资源,省去了建立连接和释放连接的开销。
c.开销:(开销的理解可以看题1-10)
分组在各路由器存储转发时需要排队,这会造成一定的时延。
各分组必须携带的控制信息也会造成一定开销。

7.需要知道p20页的几个网,题干可能有 eg.1-18

8.计算机网络的性能指标
①带宽:bit/s eg.1-18
②吞吐量:bit/s bit可以是别的 eg.Mbit
③时延 = 发送时延 + 传播时延
做题练:eg. P23的两道例题、1-10、1-17、1-29
1-17的结论很有意思,强调了一下这两个时延中究竟哪一种时延占主导地位是需要具体分析的。
④往返时间RTT
⑤信道利用率eg.1-10、1-19

9.网络协议三要素:语法、语义、同步。

10.五层协议的体系结构
哪五层?每层的作用和功能?(我理解的不透,总结的不好)
①应用层
通过应用进程间的交互来完成特定网络应用。
②运输层
向上为应用层提供通信服务,实现两个主机的端到端通信。或者说:负责向两台主机进程之间的通信提供通用的数据传输服务。
③网络层
向下进行转发和路由。即:
a.为分组交换网上的不同主机提供通信服务
b.选择合适的路由,使分组能够通过网络中的路由器找到目的主机
④数据链路层
个人感觉可以总结成:封装成帧,透明传输,差错检测。
⑤物理层
在连接各种计算机的传输媒体上传输数据比特流

11.复用和分用
运输层、网络层、物理层都存在。复习到后面再总结。

12.协议和服务
①区别:
协议:“水平的”。是控制两个对等实体进行通信的规则的集合
服务:“垂直的”。由下层向上层(通过层间接口)提供的
②联系:
a.协议→服务:协议的实现保证了能够向上层提供服务。(在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务)
b.服务→协议:实现本层的协议需要使用下层提供的服务。

ch2 物理层

1.比特率、波特率、码元和调制的概念和计算汇总(补充ing)
这题考试居然错了,菜
比特率和波特率:可以理解为bit/s和波特/s是不完全一样的。比特和码元所代表的意义并不相同。在使用二进制编码时,一个码元对应一个比特,这种情况下两者的数值是一样的。但是一个码元可以对应多个比特,几个码元也可以对应一个比特。
参考题:2-06、2-07、3-16

2.物理层传输媒体接口有哪些特性
①机械特性:很好理解…
②电气特性(语法):接口电缆上各条线上出现的电压的范围
③功能特性(语义):某条线上出现某一电平的电压的意义
④过程特性(同步):对于不同功能的各种可能事件的出现顺序
注:后三个分别对应协议的三要素:语法、语义、同步

3.一个数据通讯系统包括:
源系统、传输系统、目的系统。
其中:源系统包括源点和发送器,目的系统包括接收器和终点

4.常用编码方式:
不归零制、归零制、曼彻斯特编码、差分曼彻斯特编码
曼彻斯特编码:位周期中心向下跳变:1
差分:位开始边界没有跳变:1

5.数据在信道中的传输速率受哪些因素的限制?
①码元的传输速率(上限:奈式准则)
②信噪比
香农公式的意义在于:给出了信道的极限信息传输速率C,只要信息传输速率低于C,就一定存在某种办法来实现无差错的传输。

6.信道复用简单了解
频分复用:所有用户在同样的时间占用不同的带宽资源
时分复用:所有用户在不同的时间占用同样的频带宽度
波分复用和码分复用。更常用的是码分多址CDMA,计算题参考2-16

ch3 数据链路层

1.两种类型的信道
①点对点信道——点对点协议PPP
PPP协议中的标志字段是0x7E,表示一个帧的开始和结束。当信息字段中出现了和标志字段一样的比特7E(0111 1110)时,需要使用两种分帧的方法:

  • 面向字节
    当PPP使用异步传输(逐个字符传送)时,把转义字符定义为0x7D,并使用字节填充。有以下三种情况:
    (i)7E→7D 5E
    (ii)7D→7D 5D
    (iii)<0x20 →7D 0x2x eg.0x03->0x7D 0x23
  • 面向比特
    当PPP使用同步传输(一连串的比特连续传送)时,使用零比特填充方法。有连续的5个1,就填入一个0(为了避免出现连续6个1)

②广播信道——CSMA/CD协议

  • 核心
    载波监听、多点接入、碰撞检测
  • 过程
    将要发送时,先检测信道:
    (i)空闲:等待96比特时间,(因为帧间最短间隔规定为9.6us)若期间信道空闲,则发送数据:
    a.发送成功:在争用期512比特时间内没有检测到碰撞
    b.发送失败:在争用期内检测到碰撞,此时应停止发送数据,然后发送干扰信号。干扰信息发送完后,启动退避算法,等待r倍的512比特时间,然后回到最初检测信道。
    (ii)忙:不停检测,直到空闲

2.适配器
首先应该区分链路和数据链路。链路是两个相邻结点间的物理连接,而数据链路是物理连接+通信协议。实现通信协议的方法就是使用网络适配器。
由此可知网络适配器包含了数据链路层和物理层两层的功能。那么适配器具体的功能是什么呢?
最重要的功能是进行数据串行传输和并行传输的转换。主机→适配器→局域网。
主机和适配器之间是并行传输,适配器和局域网之间是串行传输。因此我们可以说,计算机通过适配器和局域网进行通信。

3.数据链路层的三个基本问题
封装成帧、透明传输、差错检测

  • 封装成帧
    在IP数据报的前后分别加上首部和尾部,组成帧。首部和尾部包括帧定界符:SOH、EOT
  • 透明传输
    在数据链路层透明传输数据的含义:无论什么比特组合的数据,都能按照原样无差错地通过数据链路层。
    实现方法:字节填充法。在数据中的SOH、EOT前加ESC
  • 差错检测
    为了保证数据传输的可靠性要进行差错检测。循环冗余检验CRC和帧检测序列FCS要区分。

4.以太网的信道利用率
这个和ch1的发送时延和传输时延很像。发送帧的时间为T0,成功发送一个帧信道被占用的时间为T0+t,那利用率就是T0/T0+t
怎样提高利用率?书上给出了两个思路:
①以太网的帧长不能太短(增加T0,T0 = 帧长/传帧速率)
②以太网连线的长度要有限制(减少t,t=长度/信道传播速率)

5.扩展以太网的两种方法对比

集线器 交换机
哪一层 物理层 数据链路层
实质 多端口转发器 多接口网桥
以太网类型 共享式以太网 交换式以太网
冲突域 扩大 -
广播域 - 扩大
吞吐量 不变 扩大n倍(n个接口)

6.交换机的工作原理
学习源地址、洪泛未知帧、转发已知帧、丢弃源端口帧。

ch4 网络层

1.网络层提供的两种服务及对比分析
①虚电路服务和数据报服务
②对比分析

虚电路服务 数据报服务
思路 可靠通信由网络保证 可靠通信由主机保证
连接的建立
终点地址 每个分组不需要知道终点地址,只需要填写所在虚电路的编号即可。终点地址仅在建立连接阶段使用 每个分组需要有终点的完整地址
分组的转发 同一个虚电路的分组按照同一路由转发 每个分组独立选择路由进行转发
结点出现故障 出故障结点的虚电路不能工作 出故障的结点可能会丢失分组,一些路由可能会发生变化。(因为这个结点出故障时可以选择其他结点转发)
分组顺序 按序到达 不一定按序到达
端到端的差错处理和流量控制 可以由网络负责,也可以由用户主机负责 用户主机负责,网络不负责。网络只尽最大努力交付

③补充

面向连接 无连接
举例 电路交换
虚电路服务
TCP
分组交换
数据报服务
UDP
相同点 1.均经过了3个过程:
建立连接→数据传输→释放连接
2.可靠(无差错、按序、不丢失、不重复)
1.不需要建立连接
2.不可靠,尽最大努力交付
不同点 1.电路交换与(虚电路服务和TCP)的不同:
前者建立了物理连接,后两者建立了逻辑连接
2.虚电路服务与TCP的不同:
层次。网络层、运输层 层次不同
层次不同

2.四种不同的中间设备

网络层以上 网络层 数据链路层 物理层
网关 路由器 网桥、交换机(多接口网桥) 转发器、集线器(多接口转发器)

注:网卡属于数据链路层设备,但不是中间设备

3.IP地址的编址方式(IP:32位)
①分类IP

  • 两级IP地址:网络号+主机号
  • 点分十进制
    eg.10000000 00001011 00000011 00011111 → 128.11.3.31
  • 可用的网络号(前8位):
    A类:1~126
    B类:128~191
    C类:192~223 (192:128+64)
  • IP地址的分配:
    ABC:50%、25%、12.5%
  • 网络号全1和全0
    分类IP中全1和全0只出现在A类地址中,所以A类的网络数:27-2=126
    全1:一般在分类IP中全1指的是A类的01111111情况:代表环回测试
    全0:分类IP中全0指A类的00000000:代表本网络
    补充,子网的网络号全1和全0:
    对子网来说,全0和全1能不能算网络号是不确定的。最开始的规定是和IP保持一致,不使用,但是随着CIDR的广泛使用,全0和全1也可以使用了(因为CIDR地址块允许全0全1),所以如果涉及给定子网位数问子网数,究竟去不去掉全0全1是个问题。老师在习题课上提了一嘴说这种题不会出,不必再深究。
  • 主机号全1和全0
    主机号全1全0在ABC三类地址中都有。以C类为例,所含主机数=28-2=254
    全1:广播,即在该网络上的所有主机
    全0:网络地址
    注:老师上课强调过,在写网络地址的时候一定不要忘了后面的0

②子网划分

  • 三级IP地址:网络号+子网号+主机号
  • 明确为什么要提出子网划分?
    (i)IP地址的利用率低:大的用不完,小的不够
    (ii)每个网络都有一个网络号会使路由表过大而使网络性能变坏
    (iii)两级IP不够灵活(固定的主机数、不能灵活地增删)
    提出子网划分就是为了解决上面的问题,解决的方法就是引入子网号,32位IP没变,就从主机号借用若干位作为子网号。
    每个单位由很多子网组成,但对外表现是一个网络(很明显用到的网络号少了(ii))
    引入子网号后,在每个单位内部怎样找到目的主机呢→子网掩码
  • (IP地址) AND (子网掩码) = 网络地址
    eg1. (141.14.72.24) AND (255.255.192.0) = 141.14.64.0
    eg2. (141.14.72.24) AND (255.255.224.0) = 141.14.64.0
    补充:结果一样的话有哪些区别?(课后题)
    虽然结果一样但是使用不同的子网掩码的效果不同:eg1中子网号2位,主机号14位,eg2中子网号3位主机号13位,两者的子网数和每一个子网下的主机数是不同的,这个结果相同不能代表什么。
  • 在划分子网的情况下,路由器的转发算法
    首先明确路由表的每一项:(目的网络地址,子网掩码,下一跳地址)
    其次要知道这是路由器收到一个分组的转发算法,不要搞混。
    (i)收到一个分组后,第一步是提取目的IP
    (ii)路由器将目的IP与路由表逐行子网掩码AND,是直接交付就启用ARP直接交付,是间接交付就启用ARP交给下一跳。
    (iii)都对不上就交给默认路由
    注:
    1.启用ARP(P134):把目的IP地址送交给网络接口软件,网络接口软件使用ARP将IP→物理地址,将物理地址放在链路层的MAC帧首部,然后交付给下一跳。
    2.书上的特定主机路由不用太关注,我没见过这个(有人说实验中有涉及,我没好好做实验)
  • 路由器的转发算法举例
    P140 从H1到H2的过程:
    ①目的IP是128.30.33.138
    ②(目的IP) AND (本主机网络的子网掩码255.255.255.128) = 128.30.33.128
    ③128.30.33.128 ≠ 本主机的网络地址128.30.33.0 所以应启用ARP,交付给网关(默认路由)
    ④路由器收到该分组后,目的IP是128.30.33.138
    ⑤路由器将目的IP与路由表中逐行子网掩码AND。计算过程省略,最后发现第二行匹配,所以启用ARP,通过接口1直接交付给H2

③无分类编址CIDR

  • 两级编址:网络前缀+主机号

  • 和子网划分一样,为什么要提出CIDR?
    CIDR的提出,首先可以解决主干网路由表项急剧增长的问题(CIDR可以通过地址聚合减少主干网路由表项),其次可以更灵活地分配IP地址(通过网络前缀)。

  • 查找主机,永远先找网络标识
    IP:(IP地址) AND (默认子网掩码) = 网络地址
    划分子网:(IP地址) AND (子网掩码) = 网络地址
    CIDR:(IP地址) AND (地址掩码) = 网络前缀

  • 斜线记法
    eg.192.199.170.82/27可以提供的信息?
    ①掩码:255.255.255.224
    ②网络前缀(也简称前缀):192.199.170.64
    ③CIDR地址块范围:192.199.170.64~192.199.170.95
    即:192.199.170.0100 0000~0101 1111
    ④CIDR能表示的IP地址范围:去掉全0全1即可

  • 斜线记法的简记:
    ①点分十进制中低位连续的0省略:eg.10.0.0.0/10→10/10
    ②主机号用表示:eg.0000101000

  • 路由聚合
    eg.192.168.11.0/27、192.168.11.32/27、
    192.168.11.64/27、192.168.11.96/27
    →11.0000 0000 11.0010 0000 11.0100 0000 11.0110 0000/27
    →11.0000 0000/25
    →192.168.11.0/25
    反例:
    192.168.11.00100000和192.168.11.01000000可以聚合吗?
    不可以,因为聚合前后表示的范围不同。聚合前00和11不在里面,但聚合后把00和11加了进来,导致00和11分组会通过这条聚合项进行路由,从而找错地方。
    有两种改正方法:
    ①把地址聚合在一起,指出例外(通过最长前缀匹配就会正确找到)
    ②不聚合,仍然使用原先的地址块

④老师的题型总结

  • 给一个网络计算怎么分配IP地址
  • 给IP画拓扑图
  • 给拓扑图写路由表
    这些课后题有印象,以后再补充对应题。

4.ARP协议
最常见的直接考ARP的题就是问你H1到H2需要多少ARP,结论就是有多少个网络就用多少次ARP。
①解决的是同一个局域网的问题
②自动解析,对主机用户透明
③主机和路由器都会用ARP协议,见下表:

主机 路由器
直连网络(本地) 直接交付 直接交付
外网 交付给网关(默认路由) 下一跳

使用ARP的例子一般会结合路由器的转发算法。
④ARP怎样实现映射?
每个主机都设有ARP cache,里面有本局域网上的各主机和路由器的IP地址到硬件地址的映射表。如果查表命中则给出硬件地址,如果没命中就通过发ARP请求分组,接受ARP响应分组的过程将IP转MAC,同时补充映射。

5.IP数据报格式
不需要知道具体位置,但需要掌握字段含义。比较重要的:

  • 首部长度(乘4):第一行第2个,4位。min=5,max=15
  • 总长度:第一行最后,16位。即MTU,是首部和数据之和的长度。max=216-1=65535
  • 分片会用到的:(都在第二行)
    标识:相同的标识字段的值会使分片后的各数据报片最后正确重装
    标志:
    MF(more):1:数据报片的最后一个 0:后面还有
    DF(don’t): 1: 可分片 0:不能分片
    片偏移(乘8)
  • 生存时间:8位,TTL
  • 协议
  • 首部校验和:只检验数据报的首部,不包括数据部分。不采用复杂的CRC检验码。
  • 源、目地址,各32位

6. ICMP
①ICMP的出现是为了“尽最大努力交付”。它允许主机或路由器报告差错情况和提供有关异常情况的报告,提高交付成功的机会。
②ICMP的分类
(i)ICMP差错报告报文

  • 终点不可达
    路由器或主机不能交付数据报时,向源点发送终点不可达
    eg.IP数据报中封装的是无法交付的运输层的UDP数据报(使用了非法端口号)
  • 时间超过
    a.路由器收到TTL=0的数据报
    b.在终点预先规定的时间内不能收到一个数据报的全部数据报片
  • 参数问题
    首部字段值不正确
  • 改变路由(重定向)
    有更好的路由

(ii)ICMP询问报文

  • 回送请求和回答
    这种询问报文用来测试目的站是否可达和了解相关状态,(需要回送,所以主机或路由器发回送请求报文,目的站收到了这个报文必须给源站发送ICMP回送回答报文。
  • 时间戳请求和回答

③ICMP的应用(掌握过程)

(i)PING命令

  • 作用
    PING命令用来测试两台主机间的连通性,使用了ICMP回送请求和回答询问报文。PING命令也是应用层直接使用网络层的一个例子,没有经过运输层。
  • 工作原理
    很简单,就是发ICMP回送请求报文,然后收到ICMP回送回答报文。

(ii)traceroute/tracert命令

  • 作用
    跟踪一个分组从源点到终点的路径
  • 工作原理
    源主机向目的主机发送一连串封装了无法交付的UDP数据报的IP数据报。第一个数据报P1的TTL=1,P1到达路径上第一个路由器R1时,TTL=0,R1丢弃,发送ICMP时间超过差错报告报文。
    P2_TTL=2,P2->R2,R2->ICMP时间超过差错报告报文
    ……
    Pn_TTL=n,Pn->目的主机,但是无法交付,主机向源点发送ICMP终点不可达差错报告报文。
    这样,路径上的路由器和目的主机发来的ICMP报文都正好给出了源主机想知道的路由信息(即到达目的主机所经过的路由器的IP地址),以及每一个RTT。

7.路由选择协议
路由表的生成方式有两种:静态路由选择、动态路由选择。互联网使用的是后者。

①内部网关协议IGP
内部网关协议是在一个自治系统(AS)内部使用的路由选择协议。
(补充)自治系统
定义:自治系统AS是在单一技术管理下的一组路由器,而这些路由器使用一种自治系统内部的路由选择协议和共同的度量。
作用:一个AS对其他AS表现出的是一个单一的和一致的路由选择策略。隐藏内部的布局细节,还能连接到互联网上
(i)RIP

  • 基于距离向量的路由选择协议
    a.距离向量:一组距离
    b.距离:路由器到每一个目的网络的距离,计算方法是:直连网络距离为1,非直连网络距离为路由器数+1。
    c.规定:一条路径上最多只能有15个路由器,所以距离=16时:不可达。
    说白了,RIP就是想找出路由器到每个目的网络的最短距离。
  • 距离向量算法
    设相邻路由器为X,路由表项为(目的网络,距离,下一跳)
    第一步,修改X发来的路由表项,全部距离+1,下一跳为X
    第二步,观察X发来的路由表项,出现了新的目的网络就补充进来
    第三步,目的网络如果之前存在,下一跳为X的话就直接修改,如果下一跳为别的路由器就比较,谁距离短就用谁
    具体例子P155 eg4-5

(ii)OSPF
OSPF不用掌握太多,我们将它与RIP对比分析就好。从4个方面分析

RIP OSPF
和谁交换信息 相邻路由器 自治系统内所有路由器
交换什么信息 当前路由器知道的全部信息(目的网络,(最短)距离,下一跳) 与相邻路由器的链路状态(相邻路由器,链路度量)
什么时候交换 固定时间间隔eg30s 链路状态变化
特征 距离向量 链路状态
使用协议 UDP IP
工作在哪一层 应用层 网络层

补充:
(1)

RIP OSPF
Who 相邻 所有
What 所有 相邻

(2)题4-40

②外部网关协议EGP
EGP常用BGP-4(简写为BGP),采用了路径向量路由选择协议。不用太了解

8.IPv6(128位)
①IPv6相比较IPv4,首部大概做了哪些修改,为什么这么修改?比如检验和字段,为什么取消,取消了之后还能发现错误报告吗?
取消是为了加快路由器处理数据报的速度。错误报告的发现可以交给其他层。
②IPv6的地址表示
冒号16进制记法(8个)
eg.FF05:0000:0000:0000:0000:0000:0000:00B3
->允许省略数字前面的0 FF05:0:0:0:0:0:0:B3
->允许省略一连串连续的0(零压缩记法) FF05::B3
允许有点分十进制法的后缀eg ::128.10.2.1
也允许CIDR斜线记法 eg 12AB:0:0:CD30::/60

9.VPN和NAT
这一块知识书上写的很清楚了
课本首先引入了专用IP地址。
①VPN
看这样一个例子:
一个很大的机构的许多部门分布的范围很广,这些部门需要经常交换信息,他们采用的方式就是VPN——利用公用的互联网作为隧道进行通信。
同时,专用网不同网点之间的通信必须经过公用的互联网,但又有保密要求,那么所有通过互联网传送的数据就需要加密和封装。
VPN的实现依赖隧道技术,隧道技术的关键就是发送时加密和封装(加首部),接收时拆封和解密。
②NAT
专用网上的主机想和互联网上的主机通信又该怎么办?NAT就是解决内外网之间的相互访问问题。
在专用网连接在互联网的路由器上安装NAT软件→NAT路由器,NAT路由器内有地址映射表。根据映射表就可解决这个问题。(看课本)
课堂补充:

  • 从内到外:动态NAT(自动添加),透明的,过一段时间会删除
  • 从外到内:静态NAT(手动添加),非透明,不会删除
  • 两种映射表:NAT和NAPT,原理一样,NAPT的利用率更高,能够更高效地利用IP地址。

ch5 运输层

1.运输层的功能
首先明确,运输层向上为应用进程提供端到端通信。
数据链路层中提供的是点到点通信(不是点对点PPP)。那么两者有什么区别?
区别如下:
①端到端通信是两个主机进程之间的通信,点到点通信是同一局域网内两相邻结点(主机或路由器)之间的通信。
注:网络层也是为主机之间提供通信。但数据链路层侧重于同一个局域网的分组从一台主机到另一台主机的传送(不经过路由器转发),而网络层偏向于不同网络间路由器的路由转发过程。
②(这一点有待商榷…)运输层提供的是应用进程间端到端的逻辑通信,而数据链路层提供的是点到点的物理通信

2.复用和分用总结
运输层有一个很重要的功能是复用和分用,除了运输层,网络层和物理层也有提到,稍作总结:

  • 运输层
    ①复用:发送方不同的应用进程可以使用同一个运输层协议对数据封装传送
    (eg.封装成TCP报文)
    ②分用:接收方可以使用同一个运输层协议对接收的数据解封然后交付给对应的不同的应用进程
    ③复用和分用的实现依靠端口
  • 网络层
    ①复用:发送方不同协议的数据可以使用同一个网络层协议对数据封装传送
    (eg.封装成IP数据报)
    ②分用:接收方可以使用同一个网络层协议对接收的数据解封然后交给对应的不同的协议
    ③复用和分用的实现依靠IP数据报首部的协议字段
  • 物理层
    物理层应该只有复用了。包括时分复用、频分复用、波分复用、码分复用等

3.端口
TCP最基本的抽象:连接,每一条TCP连接有两个端点,(端点也叫套接字或插口)。
每一条TCP连接唯一地被通信两端的两个端点所确定,端点=(IP地址:端口号)

4.UDP和TCP的特点对比
这种对比已经很老套了,但仍有一些新东西

UDP TCP
无连接 面向连接(虚连接/逻辑连接)
尽最大努力交付 可靠交付(无差错、不丢失、不重复、按序到达)
面向报文 面向字节流
支持一对一、一对多、多对一、多对多的交互通信 只能是一对一(点对点)
没有拥塞控制 有拥塞控制
首部开销8字节 首部开销20字节
- 全双工通信
发送的报文取决于应用层 应用层交给UDP多长的报文,UDP就发送多长的报文。发送的报文段=
min{接收窗口值,拥塞窗口值}

5.可靠传输
①可靠传输的实现:确认和重传
②两类协议:

  • 停等协议
  • 连续ARQ协议和滑动窗口协议

③连续ARQ的确认方式:

  • 对每一个分组确认
  • 累计确认(对按序到达的最后一个分组发送确认):缺点Go-back-N

④滑动窗口协议的实现
这个过程应该会和流量控制一块考,作为画图题(我猜的)。

6.流量控制
①P227图5-22会画图
没有专门写TCP数据报的格式,是我觉得这个格式没有必要单独出题,在流量控制的图中都可以体现出来,最可能出的是IP数据报的格式。如果TCP单独出了当我没说。
②零窗口通知和持续计时器
咱也不知道为啥李磊老师会专门拎出来这个

  • 零窗口通知
    当接收方向发送方发rwnd=0时,就是零窗口通知。这种使发送方暂停的状态将持续到接收方向发送方重新发送一个新的窗口值为止。
  • 持续计时器
    (i)作用:防止零窗口通知带来的潜在的死锁情况
    (ii)工作原理:
    TCP为每一个连接设有持续计时器。只要TCP连接的一方收到对方的零窗口通知,就启动持续计时器。
    持续计时器若超时,则会发送一个零窗口探测报文段,对方在确认时会给出当前窗口值,若为0,则重置持续计时器,若不为0,则知道当前窗口值,打破死锁。

7.拥塞控制
最最重要的就是图5-27。
①拥塞的条件:
∑(对资源的需求)> 可用资源
②拥塞的征兆:
路由器分组的丢失

  • 超时
  • 快重传算法(收到3个重复的ACK)

8.运输连接
①建立和释放连接

  • 建立连接:三报文握手
    A对B:我要建立连接(SYN=1、seq=x)
    B对A:收到(ACK=1、ack=x+1),我也要建立连接(SYN=1、seq=y)
    A对B:收到(ACK=1、ack=y+1)
  • 释放连接:四报文握手
    A对B:我要释放连接(FIN=1、seq=u)
    B对A:收到(ACK=1、ack=u+1、seq=v)
    B对A:我也要释放连接(FIN=1、seq=w、ACK=1、ack=u+1)
    A对B:收到(ACK=1、ack=w+1)
    其实两个的本质一样……

②2MSL

  • 定义
    当A对B确认连接释放报文后,现在TCP连接还没有释放掉,必须经过2MSL后,A才进入CLOSED状态。
  • 作用
    (i)保证A发送的最后一个ACK报文段能够到达B。
    若ACK报文段丢失了,B会向A重传FIN+ACK报文段,为了能够对这个重传做确认,A不能立刻在发送完ACK报文后就释放连接,必须等待2MSL时间。否则B会一直重传,无法进入到CLOSED状态。
    (ii)防止“已失效的连接请求报文段”出现在连接中
    A在发送完最后一个ACK报文后,再经过时间2MSL后就可以使本连接持续的时间内所产生的所有报文段都从网络中消失,下一个连接中不会再出现这种已失效的连接请求报文段。

ch6 应用层

运输层提供了进程的端到端通信,但不同的应用进程间有不同的通信规则,这需要由应用层定义具体的协议来实现。因此我们可以这样理解应用层的作用:通过定义应用进程间的协议使其进行通信,从而完成特定的网络应用。
那么这一章的大主线是C/S,小主线就是每一个协议对应的工作流程。
1.域名系统DNS
DNS的工作流程围绕两种查询。

  • 域名服务器的四种不同类型
    根域名服务器、顶级域名服务器、权限域名服务器、本地域名服务器
  • 域名的解析过程
    (i)主机向本地域名服务器的查询一般是:递归查询
    (ii)本地域名服务器向其他服务器的查询一般是:迭代查询
    假定一个主机想知道另一个已知域名的主机的IP地址,所经历的查询步骤?先递归,再迭代(p259)
  • 使用的是UDP数据报(减少开销)
  • 在web中输入域名,解释一下web的工作过程?用到了哪些协议?
    该应用进程将带解析的域名放在DNS请求报文中,以UDP数据报的方式发给本地域名服务器(逐层封装、逐层解封),本地域名服务器在查找域名后,把对应的IP地址放在DNS回答报文中给应用进程(逐层封装、逐层解封),应用进程获得主机的IP地址后就可以通信。
    用到的协议包括:
    应用层:DNS协议
    运输层:UDP协议
    网络层:IP协议、ARP协议
    数据链路层:以太网协议
    物理层:没啥协议,就是比特流逐个接口转发

2.万维网WWW
万维网的工作流程围绕请求和响应报文。
大体上说,万维网以C/S方式工作。万维网客户程序向服务器发出请求,服务器程序向客户程序送回客户需要的万维网文档。
关于万维网文档,需要从四个方面入手:(具体只用掌握前两个)
万维网文档如何标志?如何传输?如何标准化?如何查找到?
答案分别是:URL、HTTP、HTML、搜索引擎

  • URL
    统一资源定位符,就是互联网上资源的地址。(更全的话可以用书上的说:标志资源位置和访问资源的方法)
    <协议>://<主机>:<端口>/<路径>
    注:这里的“主机”就是主机在互联上的域名

  • HTTP
    (i)该协议定义了万维网的客户进程怎样向万维网服务器请求万维网文档、服务器怎样把文档传给服务器。(HTTP请求和响应报文)
    (ii)从浏览器请求一个万维网文档到收到整个文档具体的过程:
    ①HTTP协议和服务器建立TCP连接
    ②万维网客户发送HTTP请求报文
    ③服务器向客户发送HTTP响应报文
    (iii)开销:2RTT+文档传输时间(与文档大小正比)
    开销如何减少?
    HTTP/1.0:非持续连接(一次:上述开销)
    HTTP/1.1:持续连接:非流水线方式(一次:RTT+文档传输时间)和流水线方式(所有对象只用一个RTT+文档传输总时间)
    (iv)做一个小总结:当用户点击URL后会发生哪些事件?
    1.浏览器分析URL,提取域名
    2.浏览器以UDP数据报的方式向本地域名服务器发送DNS请求报文,请求解析域名的IP地址
    3.本地域名服务器通过域名系统查询得到IP地址,通过DNS回答报文给浏览器
    4.浏览器与服务器建立TCP连接
    5.浏览器发送HTTP请求报文
    6.服务器向浏览器发送HTTP响应报文
    7.TCP连接释放(当然,这是HTTP/1.0的非持续连接工作方式)
    8.浏览器显示文档内容
    这一过程用到的协议:
    应用层:DNS、HTTP
    运输层:UDP、TCP
    网络层:IP、ARP
    数据链路层:MAC

  • HTML
    老师只提到了动态文档和静态文档,这个也不难理解。

3.电子邮件
电子邮件的工作流程围绕用户代理UA、邮件服务器和相关协议。
计算机间发送和接收电子邮件的重要步骤:
其实就是主机→服务器,服务器→服务器,服务器→主机。

  • 用户写好邮件
  • 主机给服务器:点击“发送邮件”,工作就交给了UA。UA(SMTP客户)通过邮件发送协议SMTP将邮件发送给发送方邮件服务器(SMTP服务器)。
  • 服务器给服务器:发送方邮件服务器的SMTP客户与接收方邮件服务器的SMTP服务器建立TCP连接发邮件
  • 服务器给主机:接收方邮件服务器把邮件放到邮箱中,UA使用POP3协议读取邮件。

计网的总结就到这了,微机的笔记我放到上传文件里了,因为没有直到考前都没有总结完(只有ch2、ch5、ch7),所以就不搬到这里了,有需要的可以去我的上传中下载,下载不了也可以直接告诉我。微机98的奥秘?

你可能感兴趣的:(计算机网络)