计算机网络期末总结

写在前面

作者:夏日

博客地址:https://blog.csdn.net/zss192

本文结合天勤考研的高分笔记和王道考研的PPT进行总结

所用到的资料:传送门 密码: rp2t

概述

知识点

1.计算机网络:是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统

2.计算机网络的组成

  • 物理组成上看可分为硬件、软件、协议(可理解为一种规则)。
  • 工作方式上看可分为边缘部分(由主机组成)和核心部分(由网络和路由器组成,为边缘部分提供服务)。
  • 逻辑功能上看可分为通信子网(数据通信)和资源子网(数据处理)。
    • 通信子网包括物理层、数据链路层和网络层。

3.计算机网络的功能

  • 数据通信(最基本和最重要的功能)
    • 包括流量控制、路由选择、传输控制
  • 资源共享:可共享硬件(如共享打印机)、软件、数据
  • 分布式处理:多个主机各自承担同一任务的不同部分,如Hadoop
  • 信息综合处理:将分散的数据集中处理或分级处理
  • 负载均衡:将工作任务均衡的分配给网络中各计算机
  • 提高可靠性:网络中各计算机可通过网络互为替换机

4.计算机网络的分类

image-20201207083410816

其中按范围划分

局域网 几千米内如学校
城域网 一个城市
广域网 一个国家或大洲

5.计算机网络为什么要采用分层结构:各层之间相互独立、灵活性好、易于实现和标准化。

助记:一个公司如果非常大肯定要分部门工作,但要只有两三个人就没必要细分了。

6.协议:一种规则,用来控制两个对等(同一层)实体通信。

  • 语法:数据与控制信息的结构或格式(即怎么讲)
  • 语义:需要发出何种控制信息,完成何种动作以及做出何种响应(即讲什么)
  • 同步:事件实现顺序的详细说明

7.接口:上层使用下层服务的入口即服务访问点(SAP)(类似于程序里的接口)

8.服务:下层为相邻上层提供的功能调用。(协议是水平的而服务是垂直的)

助记:肯定是你(下级)为领导(上级)服务

  • 面向连接的服务和面向无连接的服务
    • 连接:通信前先建立连接,比较可靠如TCP;无连接:不连接直接发,速度快但可能丢包如UDP
  • 可靠服务(数据一定准确送达)和不可靠服务(尽力而为)
  • 有应答服务(收到数据后给发送方说下)和无应答服务

9.下一层对上一层提供的服务对上一层透明

透明:打游戏你负责玩就行,你不用知道这游戏是咋实现的。即游戏对你透明

10.OSI七层结构

image-20201207091242863

image-20201207172709968

image-20201207172709969

11.OSI5层结构总结

应用层 传输层 网络层 数据链路层 物理层
用户对用户(端到端) 应用对应用;进程对进程(端到端) 主机对主机(点到点) 点到点 点到点
传输单位 —— 报文段(TCP)或用户数据报(UDP) IP数据报 比特
所实现的硬件 —— —— 路由器 交换机、网桥 集线器、中继器
任务 提供系统与用户的接口(如QQ) 负责主机中两个进程之间的通信 1.将传输层传来的报文段封装成分组;2.选择适当的路由使分组能够交付到目的主机 将网络层传来的IP数据报组装成帧 透明的传输比特流
功能 1.文件传输;2.访问和管理;3.电子邮件服务 1.可靠传输、不可靠传输;2.流量控制;3.差错控制;4.复用分用 1.路由选择;2.流量控制;3.差错控制; 1.成帧(定义开始和结束);2.差错控制;3.流量控制;4.访问控制 为数据端设备提供传送数据通路
协议 FTP、SMTP、POP3、HTTP TCP、UDP、ARQ ICMP、ARP、RARP、IP、IGMP PPP、HDLC ——

12.OSI参考模型和TCP/IP模型对比

OSI参考模型 TCP/IP模型
3个主要概念:服务、接口、类型 没有明确区分服务、接口、类型
产生在协议发明之前 产生在协议发明之后
共有7层 一定是4层(一般教材为了更好的讲解才按5层模型讲解)
网络层:连接和无连接 网络层:仅有无连接
传输层:仅有面向连接 传输层:面向连接和无连接

13.计算机网络性能指标

  • 带宽:网络设备可支持的最高速度(b/s)

  • 时延:数据从一端传到另一端所需要的时间

    • 发送时延(传输时延):从发送数据第一位到最后一位发送完毕所需时间
      • 发送时延 = 数据帧长度(bit) / 发送速率(bit/s)
    • 传播时延:电磁波在信道中传播一定距离所需时间
      • 传播时延 = 信道长度(m) / 电磁波在信道上的传播速度(m/s)
    • 排队时延:在输入和输出队列中排队等待处理所需时间
    • 处理时延:主机或路由器收到分组进行处理所需时间
    • 总时延 = 发送时延+传播时延+排队时延+处理时延
  • 时延带宽积:又称以比特为单位的链路长度即某段链路现有多少比特(容量)

    • 时延带宽积(bit) = 传播时延(s) x 带宽(bit/s)

    助记:时延带宽积:时延和带宽的乘积

  • 往返时延(RTT):数据发送后来回跑一趟的时间

    • 往返时延 ≈ 2x传播时延
  • 信道利用率 = 有数据通过时间 / (有+无)数据通过时间

  • 利用率:D0表示网络空闲下来时的时延,D表示网络当前时延,U表示利用率

    • D0=D-D*U (空闲时延=当前时延-利用了的时延)

14.两种通信方式

  • C/S(客户-服务器)方式:客户是服务请求方,服务器是服务提供方,指的都是进程不是使用者
  • P2P(peer-to-peer)方式:任一主机既可以是客户也同时可以是服务器

15.OSI参考模型与TCP/IP参考模型

image-20210102153253752

注意TCP/IP模型是4层模型,把物理层和数据链路层合成一个网络接口层

习题

1.下列选项中,不属于网络体系结构所描述的内容是(C)

A.网络的层次 B.每一层使用的协议 C.协议的内部实现细节 D.每一层必须完成的功能

答:层次、协议、完成的功能教材均有提及,内部细节这是专门的工作人员去实现

2.下列属于通信子网的是(A)

I.网桥 II.交换机 III.计算机软件 IV.路由器

A. I、II、IV B. II、III、IV

答:通信子网是负责通信的而且只包括物理层、数据链路层、网络层。计算机软件显然不是用于通信的工具也不在那三层里面,它属于资源子网。

3.局域网和广域网之间的差异是(D)

A.所使用的传输介质不同 B.所覆盖的范围不同

C.所使用的协议不同 D.B和C

答:我们都知道他俩范围肯定不一样。至于协议不同是因为广域网范围更广,信号可靠度不高就要采取一系列差错控制、流量控制等手段,而局域网信道质量较好主要实现信道复用和提高速度就行。传输介质可能都是光纤。

4.下列说法错误的是(C)

I.广播式网络一般只包含3层,即物理层、数据链路层和网络层
II. Internet 的核心协议是TCP/IP
III.在Internet中,网络层的服务访问点是端口号

A. I、II、III B. III C. I、III D. I、II

答:广播式网络谁都发不存在路由选择的问题,所以没有网络层

网络层的服务访问点是IP地址,传输层的服务访问点才是端口号

5.在n个节点的星型拓扑结构中,有(A)条物理链路

A.n-1 B.n C.nx(n-1) D.nx(n+1)/2

答:星型拓扑是中间一个点与外边一圈的点相连,所以是n-1

而在环型拓扑结构中是n条链路

6.在TCP/IP体系结构中,直接为ICMP提供服务的协议是(B)

A.PPP B.IP C.UDP D.TCP

答:网际控制报文协议ICMP是TCP/IP体系结构网络层中的一个协议,ICMP报文需要使用IP协议封装为IP数据报,因此可以认为直接为ICMP提供服务的协议是IP协议。

PPP协议在TCP/IP体系结构中属于最底层协议,也就是网络接口层协议,在OSI体系中属于数据链路层协议,所以PPP协议为网络层提供服务,但并不能认为PPP直接为ICMP提供服务。

UDP和TCP都属于传输层协议,它们为应用层提供服务。

本题关键字在于"直接",一般协议都是为上一层提供服务

7.在OSI参考模型中,下列功能需由应用层的相邻层实现的是(B)

A.对话管理 B.数据格式转换

C.路由选择 D.可靠数据传输

答:应用层的相邻层是表示层。表示层的任务主要是数据字符集的转换、数据格式化、文本压缩、数据加密以及解密等工作。

选项A中的对话管理,是会话层实现的功能;

选项C中的路由选择,是网络层实现的功能;

选项D中的可靠数据传输,是传输层实现的功能。

8.在下列情况下,计算传送1000KB文件所需的总时间,即从开始传送时起直到文件的最后一位到达目的地为止的时间。假设往返时间RTT为100ms,一个分组是1KB(即1024B)的数据,在开始传送整个文件数据之前进行的起始握手过程需要2RTT的时间。(类似于谢版P39 1-28)

(1)带宽是1.5Mb/s,数据分组可连续发送
(2)带宽是1.5Mb/s,但在发送完每一个数据分组之后,必须等待一个RTT,才能发送下一个数据分组
(3)假设带宽无限大,即发送时间为0,但是在等待每个RTT后可以发送多达20个分组

(4)假设带宽是无限大的值,在紧接起始握手后可以发送一个分组,此后,在第1次等待RTT后可发送21个分组,在第2次等待RTT后可发送22个分组…在第n次等待RTT后可发送2n个分组

答:(1):总时延 = 发送时延 + 传播时延 + 握手时延

发送时延 = 1000KB / 1.5Mb/s = 5.46s (注意单位换算

1000KB = 1000*8Kb = 1000*8*1024bit = 8192000bit

1.5Mb/s = 1500000bit/s

传播时延 = RTT/2=100ms/2 = 50ms(前面发的传播时延算在了发送时延里,所以只算最后发的那个的传播时延即可)
握手时延 = 2*RTT=200ms

总时延=5.46s+0.05s+0.2s=5.71s

发送时延可想象成豌豆射手吐完所有豌豆所需时间

传播时延是吐出来的豌豆去打僵尸的路上所花的时间

(2):发送完一个分组等一个RTT,总共有1000个分组在(1)的基础上加上999RTT即可(发第1000个分组后就发完了不用再等了)。

总时延=5.71s+999x0.1s=105.61s

(3):总时延 = 发送时延 + 传播时延 + 等待时延 + 握手时延

①发送时延本题为0,而握手时延为固定值2RTT

一共1000分组,一次能发20分组,需要发50次

②等待时延:从发第二次到第五十次发送前都要等一个RTT即49RTT

③传播时延:第一次发后数据需要0.5RTT才能到达目的地,但与此同时这0.5RTT时间内第二次发送也在等待一个RTT。

由于我们已经计算过等待时延,所以不用额外加上这些传播时延。

而第五十次发送后由于是最后一次发送所以需要加上0.5RTT的传播时延。

t=0:第一次发送,t=0.5RTT第一次发送的数据到达目的地,t=1RTT,第二次发送数据,…t=49RTT,第五十次发送,t=49.5RTT,第五十次发送的数据到达目的地

所以总时延=2RTT+49RTT+0.5RTT=51.5RTT=5.15s

(4):第n次等待RTT后共发了1+2+4+…+2n=2n+1-1个分组

2n+1 > 1000 则n为9,也就是等九次RTT就可以发完所有分组

但等第九次后虽然把分组发出去了传到目的地还需要0.5RTT

所以总时延=2RTT(握手时间)+9RTT+0.5RTT=1.15s

总结:记住无论啥情况都要加上传播时延,而且都是只计算最后一次发送的0.5RTT传播时延

同时注意区分这题和书上习题

9.互联网具有两个重要基本特点是 [连通性] 和 [共享]

10.因特网由 [边缘部分] 和 [核心部分] 组成

11.在网络边缘的端系统之间的通信方式通常可划分为两大类: [C/S方式] 和 [P2P方式]

12.网络中的三种数据交换方式分别是 [电路交换]、[报文交换]、[分组交换]

13.上网时,感觉网络时快时慢,主要是哪种时延引起的?[排队时延]

物理层

知识点

1.物理层解决如何在各种传输媒体传输数据比特流,而不是指具体的传输媒体。(记住每个层都不是指具体的实体)

2.物理层主要任务:确定与传输媒体接口有关的一些特性(定义标准)

  • 机械特性:规定所采用的规格、接口形状、引脚数量等情况。无对应
  • 电气特性:规定传输过程中的电压范围、传输速率、距离限制等。对应语法
    • 如+10V ~ +15V 表示二进制数据 0 ,电线长度在15m以内
  • 功能特性:描述 电平 的意义 , 接口部件 信号线用途。对应语义
    • 如一个接口的引脚处于高电平的含义
  • 过程特性(规程特性):规定各个物理线路工作规程 , 时序关系。对应同步

3.基带传输对应数字信号(0和1用电压表示),宽带传输对应模拟信号(连续变化的)

image-20201212190029799

助记:基数(基带–数字)

4.数据传输方式

  • 串行传输:一个信道一个比特一个比特的传输(远距离常用)
  • 并行传输:多个比特通过多个信道同时传输(近距离常用)

通信方式

  • 同步通信:发送端和接收端的时钟频率相等(单位为帧)(技术复杂,效率高,贵)
  • 异步通信:发送端发完一个发送单位即字节后,可过任意时间发下一个(价格低)

同步传输的帧头和帧尾占很少一部分可近似认为传输效率为100%,而异步传输每8bit就要加一个起始位和终止位,传输效率为80%,可见同步效率比异步效率要高(既然贵,肯定高)

通信模式

  • 单工(单向):只有一个方向的通信,需一条信道(如广播)
  • 半双工(双向交替):双方都可以发或接,但不能同时发和接,需两条信道(如对讲机)
  • 全双工(双向同时):双方可同时发和接,需两条信道(如打电话)

5.码元:用一个固定时长的信号波形代表不同的离散数值的基本波形,而1码元可携带多个比特的信息

如二进制有两种码元即0和1,而4进制则有00、01、10、11四种码元

6.速率:即传输速率,有两种描述形式

  • 波特率:也称码元速率,表示每秒可传输多少个码元,单位为波特(B)
  • 比特率:也称信息传输速率,表示每秒可传输多少个比特,单位为比特每秒(b/s)

关系:若一个码元携带2bit信息,则3B波特率对应比特率为3x2 bit/s

7.带宽:单位时间内所能通过的最高数据率,单位比特每秒(bit/s)(数字信号中)

可理解为大马路有多宽

模拟信号中的带宽表示允许通过的最高频率减最低频率

8.奈氏准则:理想低通(无噪声、带宽受限)条件下,为了避免码间串扰(码元之间失去清晰界限)存在一个极限数据传输率
C m a x = 2 ∗ W ∗ l o g 2 N ( b i t / s ) Cmax=2*W*log2N (bit/s) Cmax=2Wlog2N(bit/s)

其中W为带宽HZ(模拟信号中),N为几种码元或每个码元的离散电平的数目(几种状态)

奈氏准则只给出了码元传输速率的限制并没有给出信息传输速率的限制

f采样≥2f信号最高频率,而f采样=2*W

9.信号越强,噪声的影响就越小,因此只考虑其中一方是没有意义的,所以求信噪比才有意义
信 噪 比 ( d B ) = 10 ∗ l o g 10 ( S / N ) ( d B ) 信噪比(dB)=10*log10(S/N) (dB) (dB)=10log10(S/N)(dB)

其中S为信号的平均功率,N为噪声的平均功率

10.香农定理:在宽带受限且有噪声的信道中,为了不产生误差,信息的传输速率有上限值
C m a x = W ∗ l o g 2 ( 1 + S / N ) ( b i t / s ) Cmax=W*log2(1+S/N) (bit/s) Cmax=Wlog2(1+S/N)(bit/s)

其中W为带宽(Hz),S/N需要由信噪比推出

通过公式我们可知道

  • 信道中宽带或信噪比越大,信息的极限传输速率越高
  • 对于一定的带宽和信噪比,信息的传输速率上限就确定了
  • 只要信息的传输速率低于极限传输速率,就一定能找到某种方法实现无差错的传输
  • 实际信道的传输速率要比极限速率低不少

11.奈氏准则指出了码元传输的速率是受限的(内忧),而香农定理给出了信息传输速率的极限(外患)

image-20201212201158273

12.数据------------>数字信号 (编码)

数据------------>模拟信号 (调制)

13.数字数据编码为数字信号

image-20201213141647340

  • 非归零编码(NRZ):低电平为0,高电平为1,但无法判断码元的开始和结束,双方难以同步
  • 翻转不归零编码(NRZI):电平遇0翻转,遇1不变
  • 曼彻斯特编码:每个码元内前高后低为1,前低后高为0,所占频带宽度是原始基带宽度的两倍(以太网用这个)
  • 差分曼彻斯特编码:前半个部分的电平与上一个码元的后半部分电平相同时为1,抗干扰强

后两个都是用每个码元的中间跳变作为收发双发的同步信号

14.数字数据调制为模拟信号

image-20201213141917786

15.模拟数据编码为数字信号:抽样、量化、编码

16.模拟数据调制为模拟信号:为了实现传输的有效性,有时需要较高的频率

17.数据传输(交换)方式

image-20201213142711040

  • 电路交换:双方需建立一条被双方独占的物理通路
    • 优点:通信时延小、实时性强、有序传输、适用范围广、控制简单、避免冲突
    • 缺点:建立连接时间长、通信利用率低、缺乏统一标准、灵活性差
    • 适用于传输数据量大且传送时间远大于呼叫时间
  • 报文交换:无需建立专有线路,传输单位为报文,采用存储转发方式
    • 优点:无需建立连接、动态分配线路、提高可靠性、提高线路利用率、提供多目标服务
    • 缺点:存储转发会产生时延、只适用数字信号、报文大小没限制需节点有较大存储缓存空间
  • 分组交换:仍采用存储转发但一个长报文分割成若干分组即限制所传输单位长度
    • 优点:加速传输、简化存储管理、减少出错概率和重发数据量
    • 缺点:仍存在存储转发时延、若采用数据报服务要进行编号排序若采用虚电路需有呼叫连接等过程
    • 适用于端到端的通路由很多段的链路组成

从信道利用率看,报文和分组交换优于电路交换,分组交换时延小,尤其适用于突发式的数据通信

18.分组交换可采用的两种方式

image-20210102174401148

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6NtV5Am8-1610353121379)(https://cdn.jsdelivr.net/gh/zss192/Typora-notes@master/images/image-20210102174442580.png)]

image-20201213175034810

19.无连接和连接服务

无连接服务:不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径可能不同。

连接服务:首先为分组的传输确定传输路径(建立连接),然后沿该路径(连接)传输系列分组,系列分组传输路径相同,传输结束后拆除连接。

20.传输介质:数据传输系统中双方之间的物理通路,在物理层下面,可称为0层。

  • 导向性传输介质:沿着实实在在的线传播

    • 双绞线:由两根采用一定规则并排绞合的、相互绝缘的铜导线组成。价格便宜较常用。

      image-20201213180150736

    • 同轴电缆:由于外导体屏蔽层,其比双绞线抗干扰性能好,价格贵

    image-20201213180705742

    • 光纤:由纤芯(实心)和包层组成
      • 误码率低,带宽大
      • 抗雷电和电磁干扰性能较好、不易被窃听和截取数据、体积小重量轻
      • 单模光纤衰减小适合远距离传输,多模光纤易失真适合近距离传输
  • 非导向型传输介质:在自由空间中传播,如水、空气等

21.物理层设备

  • 中继器:对数字信号进行再生和还原,对衰减的信号(传输过程会衰减到一定程度会失真)放大,以增加信号传输的距离。
  • 集线器(Hub):可理解为多口中继器,对信号进行再生放大转发,会转发到除输入端口外的所有工作端口,是一个共享式设备。

image-20201213182206346

22.宽带和带宽的关系:如100M的宽带(名词)指这条宽带的带宽(量词指传输速率)为100Mbps,传输速率为12.5MB/s

习题

1.在无噪声的情况下,若某通信链路的带宽为3kHz,采用4个相位,每个相位具有4种振幅的QAM调制技术,则该通信链路的最大数据传输率是多少?

答:题目中说无噪声所以用奈氏准则求解

4个相位,每个相位具有4种振幅所以有16种状态即N=16

Cmax=2*3k*log216=24kb/s(注意公式中带宽的单位为HZ)

也可以理解为带宽为3kHZ,则采样频率为6kHZ即每秒采样6k次,16种状态,则每个码元携带4bit信息,Cmax=每秒采样次数*每码元携带信息

2.电话系统的典型参数是信道带宽为3000Hz,信噪比为30dB,则该系统的最大数据传输率为(C)
A. 3kbit/s B. 6kbit/s C. 30kbit/s D. 64kbit/s

答:电话系统的信道是有噪声的信道,所以用香农定理求解

香农公式用到了S/N,而我们已知了信噪比,先求S/N

10log10(S/N)=30,所以S/N=1000

Cmax = 3000*log2(1+S/N) = 3000*log2(1+1000) ≈ 30kbit/s

注意S/N并不是信噪比,一般题目都是给信噪比我们要先求S/N

3.调制解调技术主要使用在(A)通信方式中。
A.模拟信道传输数字数据 B.模拟信道传输模拟数据
C.数字信道传输数字数据 D.数字信道传输模拟数据

答:调制就是将基带数字信号的频谱变换为适合在模拟信道中传输的频谱(比如数字数据调制为模拟信号),解调正好与之相反(还原成数字数据)。

所以,调制解调技术用于模拟信道传输数字数据通信方式,而模拟信道传输模拟数据不需要调制解调技术

4.一个传输数字信号的模拟信道的信号功率是0.62W,噪声功率是0.02W,频率范围为3.5~3.9MHz,该信道的最高数据传输速率是(B)
A. 1Mbit/s B. 2Mbit/s C. 4Mbit/s D. 8Mbit/s

答:S/N=0.62/0.02=31,带宽W=3.9MHZ-3.5MHZ=0.4MHZ

W*log2(1+S/N)=0.4MHZ*log2(1+31)=2Mbit/s

注意信噪比、S/N和带宽的含义

5.为了使模拟信号传输得更远,可以采用的设备是(B)
A.中继器 B.放大器 C.交换机 D.路由器

答:要想传的远就要进行放大,而放大信号是物理设备应执行的功能,所以交换机(数据链路层)和路由器(网络层)都可以排除。

中继器和放大器都可以放大信号,但中继器放大的是数字信号而放大器才能放大模拟信号。

6.因特网上的数据交换方式是(C)
A.电路交换 B.报文交换 C.分组交换 D.光交换

答:电路交换主要用于电话网,报文交换用于早期电报网,因特网使用的是分组交换。

助记:打电话按分钟(双方独享线路)计费,手机上网按流量(分组-用多少付多少)计费

7.image-20201214112513935

答:①每个分组大小为1000B,而分组头为20B,则每个分组数据部分为980B。所以980 000B应该被分为1000个分组,每个分组1000B,则一共传送1000 000B信息

一个分组能除去头部能装的有效数据为980B现有980 000B所以要1000分组

②链路传输速率100Mbit/s即100/8=12.5MB/s(1B=8bit)

③H1发完所有分组需要1000 000B / 12.5MB/s=80ms

此时刚好最后一个分组刚从H1发出去,最快是从上面直线过经过两次存储转发到达H2

用时2*1000B / 12.5MB/s=0.16ms

80ms时,所有数据都已发送出去,但可能线路上还有很多没到目的地的分组,而其实我们只需计算最后一个分组到达目的地的时间即可(最后一个要是到了前面的肯定都到了)

综上,总用时为80ms+0.16ms=80.16ms

8.波特率和比特率之间的转换image-20201214121555601

答:从图中可以看出有十六种状态,需要用log216=4bit来表示这16种状态,2400Baud即每秒传2400码元,一个码元有4bit,则比特率为2400*4=9600bit/s

9.10Base-T指的是(B)

B.10Mbit/s,使用数字信号,使用双绞线

答:10表示每秒传10Mbit,Base(基础—>基带)表示基带传输即数字信号,T(Twisted-pair)表示用的是双绞线

10.下列关于单模光纤的描述中,正确的是(D)
A.单模光纤的成本比多模光纤的成本低
B.单模光纤传输距离比多模光纤短
C.光在单模光纤中通过内部反射来传播
D.单模光纤的直径一般比多模光纤小

答:单模在荒郊野外用传的远(贵),多模在学校用传的近(便宜)

多模才用到内部反射,单模可理解为一条直线,而多模需要在通道内来回反射的传播所以多模直径更大

11.主机甲通过1个路由器(存储转发方式)与主机乙互联,两段链路的数据传输速率均为10Mbps,主机甲分别采用报文交换和分组大小为10kb的分组交换向主机乙发送1个大小为8Mb(1M=106)的报文。若忽略链路传播延迟、分组头开销和分组拆装时间,则两种交换方式完成该报文传输所需的总时间分别为 (D)

A.800ms、1600ms B.801ms、1600ms

C.1600ms、800ms D.1600ms、801ms

答:①当采用报文交换时,只需考虑两次发送时延,一次在主机甲,一次时在路由器,而每次的发送时延都为8Mbit/10Mbit/s=800ms,所以共需1600ms

②当采用分组交换时,每个分组为10kbit,发送时延为10kbit/10Mbit/s=1ms,共800个分组。

主机甲发送完所有分组需要800ms,发的最后一个还需经历一个路由器的存储转发所以再加上1ms,即最终结果为800ms+1ms=801ms

800ms时,主机甲发完全部数据,由于忽略传播延迟,甲发的最后一个分组立马到达路由器,然后需要1ms的存储转发,又立马到达主机乙,此时为801ms。

这种题都是一个套路,发完后最后一个发的到达了目的地,它前面的肯定也都到了,所以只需算一个分组的

12.下列因素中,不会影响信道数据传输速率的是 (D)

A.信噪比 B.频率宽带 C.调制速率 D.信号传播速度

答:由香农定理得知信噪比和频率宽带都会对数据传输速率产生影响。

信道的传输速率其实就是发送速率,所以调制速度也会影响数据传输速率。

信号传播速度是在信道传播的速度,和发送率无关。

发送时延也称为传输时延,而传输速率也指的是发送速率,不是在信道上传输的速率!

实际上带宽等也都是和发送速率有关,传播速率一般都是固定的(如在光纤上传播),我们研究的基本都是发送速率。

13.通信系统的一般模型中,以下哪些部分是可有可无的(BD)

A.信息源 B.发送器 C.信道

D.接收器 E.受信者

答:信道肯定要有要不然没法传输信息

那么要么选信息源和受信者或者选发送器和接收器

而我们要明白的是信息源才是真正发消息的那个,你把它去了只留下个发送器没人产生消息了还有什么用

所以发送器和接收器是可有可无的部分,他们仅仅只是起到个中间人的作用

数据链路层

知识点

1.名词解释

  • 链路:网络中两个结点之间的物理通路
  • 数据链路:网络中两个结点之间的逻辑通道,即链路加上控制数据传输协议的硬件和软件
  • 帧:链路层的协议数据单元,封装网络层数据报

2.数据链路层的主要功能

  • 链路管理:用于面向连接的服务即连接的建立、维持、释放
  • 封装成帧
  • 差错检测
  • 透明传输

3.封装成帧:在一段数据前后加上首部(SOH即start of header)和尾部(EOT),就成了一个帧。

只有既加头又加尾接收方收到后才能知道哪是开头哪是结尾(MAC帧特殊他不用加尾)

每一条链路协议都规定了所能传输帧的数据部分长度上限–最大传送单元MTU(maximum transfer unit)

以太网的MTU(最大数据部分)=1500,如携带的IP数据报最长为1500

4.透明传输:不管数据是什么比特组合都应能在链路上传送,若有部分数据和控制信息冲突就要采取适当措施

  • 字符填充法:传送非ASCII码的文本时数据部分可能含有帧定界符SOH和EOT在数据部分的他们前面加上ESC(相当于转义’\’)

5.全世界使用最多的数据链路层协议就是点对点协议PPP(Point-to-Point Protocol),分为三部分

  • 一个将IP数据报封装到串行链路的方法(成帧方法)
  • 一个用来建立、配置和测试数据链路连接的链路控制协议LCP
  • 一套网络控制协议NCP

各字段的意义为

image-20201225235804734

当信息字段出现和标志字段一样的比特0X7E时要采取措施

当使用异步传输时采用字节填充法(转义)

当PPP用在SONET/SDH链路时使用同步传输,采用零比特填充实现透明传输

  • 零比特填充法:发送端遇到5个连续的1就插入1个0,接收端逆操作遇到连续5个1就删除后面的0

PPP不需要的功能:纠错(PPP只负责检错)、流量控制(由TCP负责)、序号(PPP是不可靠传输协议,所以不需要对帧进行编号)、多点线路(PPP是点对点的通信方式)、半双工或单工(PPP只支持全双工链路)。

6.概括来说传输中的差错都是由于噪声引起的,差错可分为以下两种

  • 位错:1变成0或0变成1
  • 帧错:帧丢失、重复、失序

7.差错检测

  • 检错编码

    • 奇偶检验码:奇检验就是加上1位检验位后1的个数为奇数,但只能检验奇数个比特出错。

    • 循环冗余码CRC

      image-20201225204746513

      数据链路层仅仅使用CRC做到无差错接收(认为收到的都没出错)并没有向网络层提供可靠传输

  • 纠错编码

    • 海明码
      • 满足2r-1 ≥ k+r(r位冗余检验码,k位信息位)
      • 若想检测d位错误,海明距为d+1
      • 若想纠正d位错误,海明距为2d+1

8.流量控制:较高的发送速度和较低的接收能力不匹配,会造成传输出错,因此要加以控制

  • 数据链路层流量控制:接收方收不下就不回复确认(点对点)
  • 传输层流量控制:接收端给发送端一个窗口公告(端到端)

流量控制和可靠传输机制在谢希仁版的第五章,此处采用所选参考资料顺序进行总结

9.流量控制方法

  • 停止等待协议:发送方发完一帧后要等到收到应答信号才能继续发下一帧

    • 无差错时用1bit编号即可
    • 出错时:设置超时计时器,其重传时间要比帧传输的RTT更长一些,数据帧和确认帧要编号且要发完一个帧要保留副本
    • 简单但信道利用率太低
    • 发送窗口=1,接收窗口=1
  • 后退N帧协议(GBN):发送方发一个数据帧后不用停下等待确认帧而是继续发,如果某个帧出错,接收方丢弃该帧及其以后的帧

    • 发送窗口的大小应满足 1≤WT≤2n-1,过大会使得接收方无法区别新帧和旧帧(n位比特对帧编号)
    • 确认序列号最大、按序到达的帧
    • 因连续发送数据帧提高了信道利用率但重传时必须把已经正确传送的帧重传使得传送效率降低
    • 帧号大于等于发送窗口+1
    • 发送窗口>1,接收窗口=1
  • 选择重传协议(SR):若一帧出错,则其后续帧先存入接收方的缓冲区中,同时要求发送方重传出错帧,一旦收到重传帧,就和原先存在缓冲区的其余帧一起按顺序送至主机

    • 收到一个确定一个
    • 只传送出错帧
    • 最大发送窗口和最大接收窗口=2n-1(n位比特对帧编号)
    • 发送窗口>1,接收窗口>1

    image-20201225213859717

接收窗口为1时一定可保证帧按序接收

10.复用和分用

image-20201225215702847

11.介质访问控制:采取一定的措施,使得两对节点之间的通信不会互相干扰

  • 信道划分介质访问控制(静态划分信道)

    • 频分多路复用FDM:用户在同一时间始终占用不同频率的带宽(并行)
      • 充分利用带宽效率高实现容易
    • 时分多路复用TDM(同步):用户使用各自对应的时间间隙轮流使用信道(并发)
      • 可能导致线路资源的浪费
    • 统计时分复用STDM(异步):改进版的TDM,不是固定分配时隙而是按需分配
    • 波分多路复用WDM:就是光的频分复用(如光纤中传输不同波长(频率)的光)
    • 码分多路复用CDMA:又称码分多址,既共享频率又共享时间(习题讲解具体步骤)
      • 每个站点对应一个m位的芯片序列。发送1时发送芯片序列,发0时发送序列反码
      • 任意两个站点芯片序列正交,规格化内积为0
      • 任一站点与自身规格化内积为1,与自身反码规格化内积为-1
      • 优点:抗干扰强、保密性强、语音质量好、减少成本
  • 轮询访问介质控制(动态划分信道)

    • 典型的是令牌传递协议,令牌按环形传递,只有拿到令牌的才能发送数据
  • 随机访问介质控制(动态划分信道)

    • CSMA/CD协议:全称为带冲突检测的载波监听多路访问协议,广泛应用于局域网中(重点

      • 工作过程:先听后发,边听边发,冲突停止,随机重发

      • 争用期:两倍的端到端的往返时延2τ,若这段时间没检测到冲突那么这次发送肯定没有冲突

        • 2τ = RTT(一个往返时延)
      • 最短帧长:以太网取51.2us为争用期的长度,10Mbit/s的以太网争用期内可发512bit即64B,所以以太网规定最短帧长为64B,若小于这个长度一定是由于冲突而异常终止的帧

        • 最短帧长=数据发送速率*往返时延

        注意和MTU的区别,MTU是最大有效数据部分,不包括帧的首部和尾部

      • 当重传16次仍然不成功说明网络太拥挤,则认为永远无法正确发出,抛弃此帧向高层报告

    • 纯ALOHA协议:不监听信道、不按时间槽发送、随机重发也就是想发就发(不听就发)(了解)

      • 若发生冲突接收方不予确认,发送方一段时间收不到就判断发生冲突
      • 发生冲突后等一随机时间重传
      • 信道利用率低
    • 时隙ALOHA协议:划分若干时间片,必须在时间片开始时才可发送数据(不听就发)(了解)

      • 比纯ALOHA协议吞吐量大效率高
    • CSMA协议:即载波监听多路访问协议发送前先检测下是否有其它计算机在发数据(先听后发,边听边发)(了解)

      • 1-坚持CSMA:监听到信道空闲立即发送,否则一直监听
      • 非坚持CSMA:监听到信道空闲立即发送,否则等一个随机时间再监听
      • p-坚持CSMA:监听到信道空闲时,以概率p发送数据,以概率(1-p)延迟一段时间再监听

12.局域网(Local Area Network):简称LAN,指某一区域内有多台计算机互联组成的计算机组,使用广播信道

image-20201225233129778

13.以太网(Ethernet):当今局域网采用的最通用的通信协议标准,采用CSMA/CD技术,无连接不可靠

image-20201225233636424

  • 前导码:可分为前同步码(使接收端和发送端时钟同步)和帧开始定界符
    • 由硬件生成插入到MAC帧前进行传输(不属于MAC帧的一部分)
    • 使用SONET/SDH进行同步传输时不需要前同步码
  • 源地址最后一位恒为0
  • 类型:表明上层使用的协议,如0x0800代表上层使用的是IP数据报
  • FCS:即检验码,采用CRC,不检验前导码其他均检验
  • 除数据部分长度为18字节(IP首部长度为20字节)

由于以太网传送帧时,各帧之间必须要有一定的间隙,所以接收端只要找到帧开始定界符即可确定一个连续的帧,因此MAC帧没有帧结束符

除上图中的标准还有一种IEEE802.3标准

14.MAC地址实际上就是适配器地址,适配器(网卡)插入到计算机其标识符就成了MAC地址,而适配器有过滤功能

  • 单播帧(一对一):收到的帧的MAC地址与本站的硬件地址相同
  • 广播帧(一对全体):发送给本局域网上所有站点的帧(全1地址)
  • 多播帧(一对多):发送给本局域网上一部分站点的帧

以太网的适配器有种混杂模式,其可收下监听到的所有帧

15.虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组

  • 使用VLAN,交换机可将一个广播域划分,使得网络不会因传播过多广播信息(广播风暴)而引起性能恶化

16.网桥:根据MAC帧的目的地址进行转发和过滤

  • 透明网桥:以太网上的站点并不知道所发送的帧将经过哪几个网桥,即插即用自学习
  • 源路由网桥:发送帧时,将详细的最佳路由信息放到帧的首部

17.交换机:实质上是多端口网桥,一般全双工工作,主机不会平分带宽(集线器会)

  • 每个端口都直接和一个主机或另一个集线器相连避免了碰撞,且都是一个冲突域
  • 根据MAC地址转发

18.冲突域和广播域

image-20201226002509072

设备 区别
路由器 可以互联两个不同网络层协议的网段
交换机 可以互联两个物理层和链路层不同的网段
集线器 不能互联两个物理层不同的网段

19.理想条件下,信道利用率=发一帧时间/(发一帧时间+一个端到端时延)

习题

1.某个CDMA站接收方收到一条碎片系列:(-1+1-3+1-1-3+1+1)
假设各个站点的码片向量如下:
站点A:(-1-1-1+1+1-1+1+1) 站点B:(-1-1+1-1+1+1+1-1)
站点C:(-1+1-1+1+1+1-1-1) 站点D:(-1+1-1-1-1-1+1-1
问哪些站点发送了数据?分别发送了什么数据?

答:只需将接收到的碎片序列分别与站点A、B、C、D的码片向量进行规格化内积即可。

内积为1表示发送了比特1,内积为-1表示发送了比特0,内积为0表示没有发送数据
站点A:(-1+1-3+1-1-3+1+1)·(-1-1-1+1+1-1+1+1)/8=1。
站点B:(-1+1-3+1-1-3+1+1)·(-1-1+1-1+1+1+1-1)/8=-1。
站点C:(-1+1-3+1-1-3+1+1)·(-1+1-1+1+1+1-1-1)/8=0
站点D:(-1+1-3+1-1-3+1+1)·(-1+1-1-1-1-1+1-1)/8=1。
因此,站点A和站点D发送了比特1,站点B发送了比特0,站点C没有发送数据。

2.某以太网交换机具有24个100Mbit/s的全双工端口与2个1000 Mbit/s的全双工端口,其总带宽最大可以达到(D)
A. 0.44Gbit/s B. 4.4Gbit/s
C. 0.88Gbit/s D. 8.8Gbit/s
解析:因为是全双工,总带宽=24×100Mbit/s×2+2×1000Mbit/sx2=8800Mbit/s=8.8Gbit/s。

若此题改为半双工,则答案为B。
交换机最大的优点是不仅其每个端口节点所占用的带宽不会因为端口节点数量的增加而减少,而且整个交换机的总带宽会随着端口节点的增加而增加。

3.在OSI参考模型中,下面哪些是数据链路层的功能?(A)
Ⅰ.帧同步 II.差错控制 Ⅲ.流量控制 Ⅳ.拥塞控制
A.I、Ⅱ和Ⅲ B.I、Ⅱ和Ⅳ
C.I、Ⅲ和Ⅳ D.Ⅱ、Ⅲ和Ⅳ

答:在OSI模型中数据链路层有流量控制和差错控制的功能,而在TCP/IP模型中这两个功能交给了传输层。而无论哪一个模型,帧同步都是数据链路层的,拥塞控制都是传输层的。

4.发送方准备发送的信息位为1101011011,采用CRC校验算法,生成多项式为G(x)=x4+x+1,那么发出的校验位应该为(D)
A.0110 B.1010 C.1001 D.1110

答:生成多项式为x4+x+1,即10011

1101 0110 11 0000 % 10011 =1110

第一步先加0,x最高4次方那就加4个0

5.假设数据链路层采用后退N帧协议进行流量控制,发送方已经发送了编号为0~6号的帧。当计时器超时时,2号帧的确认还没有返回,则发送方需要重发的帧数是(B)
A.1 B.5 C.6 D.7

答:因为2号帧没返回确认所以要将2号及以后的所有帧均重发,23456即5个

后退N帧协议没收到一个就要把它和它之后的都重发使得效率降低,而选择重传哪个出错就只重传哪个就可以

6.根据 CSMA/CD协议的工作原理,需要提高最短帧长度的是(D)
A.网络传输速率不变,冲突域的最大距离变短
B.上层协议使用TCP的概率增加
C.在冲突域不变的情况下减少线路的中继器数量
D.冲突域的最大距离不变,网络传输速率提高

答:最小帧长=数据传输速率*往返时延

最小帧若想变大,那么可以提高传输速率或者提高时延。A中距离变短会使得往返时延也降低

由公式可以看出,最小帧长与距离和速率成正比

7.在以太网的二进制后退算法中,在4次碰撞之后,站点会在0和(C)之间选择一个随机数
A.7 B.8 C.15 D.16

答:10次以内:2i-1。10次以上:210-1=1023

8.一个通过以太网传送的IP分组有60B长,其中包括所有头部。若没有使用LLC
则以太网帧中需要(C)填充字节。
A.4字节 B.144字节 C.0字节 D.64字节

答:以太网最小帧为64字节。其中帧的目的地址+源地址+类型+FCS已经占了18字节,加上帧的数据部分(整个IP分组就是帧数据部分)已经达到了60+18=78字节的长度,因此不需要再填充字节。

9.下列介质访问控制方法中,可能发生冲突的是(B)
A. CDMA B.CSMA C. TDMA D. FDMA

答:码分多路复用CDMA、时分多路复用TDMA和频分多路复用FDMA都属于信道划分介质访问控制,相当于一人一个专用道肯定不会发生冲突。

而对于随机访问介质来说可能就会发生冲突,如CSMA、CSMA/CD等

助记:CSMA和CDMA判断静态还是动态记住玩"CS"动起来,所以CSMA是动态划分信道

10.主机甲与主机乙之间使用后退N帧协议(GBN)传输数据,甲的发送窗口尺寸为1000,数据帧长为1000字节,信道宽带为100Mbps,乙每收到一个数据帧立即利用一个短帧(忽略其传输延迟)进行确认,若甲乙之间的单向传播延迟是50ms,则甲可以达到的最大平均数据传输速率约为(C)

A.10 Mbps B.20 Mbps C.80 Mbps D.100 Mbps

答:甲的发送窗口为1000,也就是发完第一个帧之后在收到该帧的确认前最多能再发999个帧。

不考虑带宽要想传输速率最大就要把这999帧都发出去。

而收到确认时延为2*50ms=0.1s,也就是说大约0.1s内发送1000x1000B=1MB数据。

V=1MB/0.1s=10MB/s=80Mbit/s

最终结果为min{100Mbit/s,80Mbits/s}=80MBit/s

注意这里的最大传输速率是指豌豆射手吐豌豆的速率

11.站点A、B、C通过CDMA共享链路,A、B、C的码片序列(chipping sequence)分别是(1,1,1,1)、(1,-1,1,-1)和(1,1,-1,1)。若C从链路上收到的序列是(2,0,2,0,0,-2,0,-2,0,2,0,2),则C收到A发送的数据是(B)
A.000 B.101 C.110 D.111

答:将收到的序列分为三组分别为(2,0,2,0)、(0、-2、0、-2)、(0、2、0、2)分别与A的码片序列做内积运算

(2,0,2,0)*(1,1,1,1)/4=1

(0、-2、0、-2)*(1,1,1,1)/4=-1

(0、2、0、2)*(1,1,1,1)/4=1

所以A收到的数据为101

12.决定局域网特性有3个主要技术分别为(传输介质、拓扑结构和介质访问控制方法)

13.一个PPP帧的数据部分(用十六进制写出)是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E。试问真正的数据是什么(用十六进制写出)?

答:字节填充:7D–>7D 5D,7E–>7D 5E

所以答案为7E FE 27 7D 7D 65 7E

14.数据链路层的主要功能是(D)
A.直接为用户的应用进程提供服务 B.负责主机中两个进程之间的通信
C.负责为分组交换网上的不同主机提供通信 D.在两个相邻结点间的链路上传送以帧为单位的数据

答:A.应用层才是顶层离用户进程最近,因此直接为用户的应用进程提供服务的是应用层

B.负责主机中两个进程之间的通信的是传输层(进程对进程)

C.注意"分组"二字,应想到这和网络层有关,因此负责为分组交换网上的不同主机提供通信的是网络层

D.显然帧是数据链路层的内容

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

16.假定1km长的 CSMA/CD网络的数据率为1Gbit/s。设信号在网络上的传播速度为200000km/s。能够使用此协议的最短帧长是 [1250]字节

答:问的是最短帧长所以是最短帧长问题

最短帧长=数据发送速率*往返时延

数据发送速率是1Gbit/s,所以要求往返时延

而往返时延=2倍的传播时延。一个传播时延=1km / 200000km/s =5us,因此往返时延=10us

所以最短帧长=10us*1Gbit/s=10 * 10-6 * 109=10000bit=1250B

要能根据题目想到隐含条件,这里的往返时延就是根据题目计算得来

17.在一个采用CSMA/CD协议的网络中,传输介质是一根完整的电缆,传输速率为1Gbit/s,电缆中的信号传播速度为200000km/s,若最小数据帧减少800bit,则最远的的两个站点之间的距离至少需要?(B)

A.增加160m B.减少80m C.减少160m D.增加80

答:设距离为L,则最短帧长MIN=发送速率*往返时延=109 *2* (L/2*108)

所以MIN=10L,因此最短帧长较少800bit,那距离至少减少800/10=80m

18.某局域网采用CSMA/CD协议实现介质访问控制,数据传输速率为10Mbit/s,主机甲和主机乙之间的距离为2km,信号传播速度为200 000km/s。请回答下列问题,要求说明理由或写出计算过程。

1)若主机甲和主机乙发送数据时发生冲突,则从开始发送数据时刻起,到两台主机均检测到冲突时刻止,最短需经过多长时间?最长需经过多长时间(假设主机甲和主机乙发送数据过程中,其他主机不发送数据)?

答:当甲和乙同时发送数据时,这种时候时间最短。这段时间相当于端到端单倍传播时延。

Tmin = 2km ÷ 200 000km/s = 0.01ms

若甲或乙先发送数据,当数据即将到达对方时,对方也开始发送数据。此时两台主机检测到冲突的时间最长

Tmax = (2km ÷ 200 000km/s) × 2 = 0.02ms

img

2)若网络不存在任何冲突与差错,主机甲总是以标准的最长以太网数据帧(1518B)向主机乙发送数据,主机乙每成功收到一个数据帧后立即向主机甲发送一个64B的确认帧,主机甲收到确认帧后方可发送下一个数据帧。此时主机甲的有效数据传输速率是多少(不考虑以太网的前导码)?

答:甲的发送时延为 (1518 × 8b) ÷ 10Mb/s=1.2144ms

甲发送数据帧最后一比特的传播时延为 0.01ms

乙发送确认帧的发送时延为 (64×8bit) ÷ 10Mb/s=0.0512ms

乙发送确认帧的最后一比特的传播时延为 0.01ms

所以主机甲的发送周期T=1.2144ms+0.01ms+0.512ms+0.01ms ≈ 1.2856ms

以太网帧的有效载荷为1500B,即去掉14B首部和4B尾部后的长度,而且题目说明不考虑前导码

综上所述,主机甲的有效数据传输速率为 (1500 × 8b) ÷ 1.2856ms ≈ 9.33Mb/s。

注意有效数据传输速率的含义,虽然甲的发送速率已知,但发过去后乙只有确认后甲才能继续发,所以要求一个发送周期所需时间

而且甲发的数据并不都是有效数据,去掉首部和尾部才是有效数据

19.下图中,以太网交换机有 6 个接口,分别接到 5 台主机和一个路由器。

image-20210103095048960

在下面表中的“动作”一栏中。表示先后发送了 4 个帧。假定在开始时,以太网交换机的交换表是空的。

试把该表中其他的栏目都填写完。表格如下:

image-20210103095232348

从这题也能看出交换机的工作原理,如果交换表中没有目的主机就向除发送端口外的所有端口转发,同时把发送方的端口存到交换表中(交换表不存在它的端口时),以后谁想给它发由于交换表存有它的接口所以就只用向这个接口转发就行了

网络层

知识点

1.网络层提供的两种服务

image-20210102174401148

image-20210102174442580

image-20201213175034810

2.网络层功能

  • 异构网络互联:IP协议使得性能各异的网络形成一个虚拟互联网络,使得看起来好像是一个统一的网络

  • 路由选择(确定哪一条路径)与分组转发(从合适的端口转发出去)

  • 拥塞控制:结点都来不及接收分组而丢弃大量分组,此时就处于拥塞状态要采取措施缓解

    • 开环控制:事先考虑发生拥塞的因素,运行后不再修改(静态–事前诸葛亮)
    • 闭环控制:即时检测然后报告拥塞再调整措施(动态–监控系统–事后算你账)
    • 判断依据:网络的吞吐量是否随着负载的增加而不断下降
    • 拥塞控制考虑全局,而流量控制只考虑发送端和接收端

3.IPV4分组

image-20201228084343061

  • 版本:占4位,指明IP数据报是IPv4还是IPv6,通信双方需保持一致
  • 首部长度:占4位,单位是4B,最大值1111时最大表示60B
    • 实际首部60B,但有40B基本不用,所以做题默认首部20B
  • 区分服务:占1B,指期望获得哪种类型的服务
  • 总长度:占2B,单位为1B,就是首部+数据的长度
  • 标识:占2B,同一数据报的分片使用同一标识
  • 标志:占3位,目前只有前2位有意义
    • MF(More Fragment):分割后表该分片后面还有分片吗,1为真表后面还有分片
    • DF(Don’t Fragment):表不能分片吗?1为真表不能分片
  • 片偏移:占13位,单位是8B,表分片后该片在原分组的相对位置
  • 生存时间(Time To Live–TTL):占8位,防止数据报在网络中一直转圈,即表可通过的最大路由器数
  • 协议:占8位,携带数据部分的协议,以便让接收方知道应该交给谁处理(如交给TCP)
  • 首部检验和:占16位,注意只检验数据报首部不检验数据部分
  • 源地址:占32位,表发送端主机的IP地址
  • 目的地址:占32位,表接收端主机的IP地址
  • 填充:首部长度单位为4B,若不是4B倍数就要填充成4B倍数

一种八片首饰(总长度单位1B,片偏移单位8B,首部长度单位4B)

得到目标IP后要转成MAC地址,因为MAC地址才是数据链路层和物理层使用的地址,可理解为它不认识IP地址

虚拟分组(Virtual Packet)就是IP数据报

2.分类的IP地址

格式:{网络号,主机号}采用点分十进制如10.12.26.178,32位

image-20201228092559704

最大可用网络号如A类有8位网络号,但第一位是固定的还剩7位,最多表示27但不能全0(表本网络)也不能全1(127表环回测试)所以要减2。对于B类(不能指派128.0)和C类(不能指派192.0.0)所以都要减1

最大主机数都减2是减去了全0(表示一个网络)和全1(广播地址)的情况

NetID网络号 HostID主机号 作为IP分组源地址 作为IP分组目的地址 用途
全0 全0 可以 不可以 本网络上的本主机,路由表中用于表示默认路由
全0 特定值 可以 不可以 表示本网内某个特定主机
全1 全1 不可以 可以 本网广播地址(路由器不转发)
特定值 全0 不可以 不可以 网络地址,表示一个网络
特定值 全1 不可以 可以 直接广播地址,对特定网络上的所有主机进行广播
127 非全0或非全1 可以 可以 用于本地软件环回测试,称为环回地址

3.私有IP地址

私有IP地址只能用于局域网,无法在internet使用,如最常见的192.168.0.1

地址类别 地址范围 网段个数
A类 10.0.0.0~10.255.255.255 即10.0.0.0/8 1
B类 172.16.0.0~172.31.255.255 即172.16.0.0/12 16
C类 192.168.0.0~192.168.255.255 即192.168.0.0/16 256

事实上我们的手机电脑都可以连网但他们并不在因特网上,查看ip会发现都是私有IP地址

那他们又是怎么上网的呢,答案为用NAT

4.网络地址转换NAT(Network Address Translation):NAT将专用网内部使用的IP转换成有效的全球IP使得专用网内只需一个全球IP就可以和因特网连通

  • 在专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫NAT路由器,它至少有一个有效的外部全球IP地址。

  • NAT节省了IP的消耗,但没增加IP个数,真正解决IP耗尽问题的是IPv6

5.子网划分

  • 原因:IP地址空间利用率很低且两级IP地址不够灵活
  • 将两级地址划为三级即IP地址={网络号,子网号,主机号}
    • 划分子网后,对外仍表现为一个网络,即本单位外的网络看不见本单位内子网的划分

6.子网掩码:将IP地址分为网络地址和主机地址两部分,可据此判断两个主机是否处于同一网段

  • 对应IP地址中的网络号和子网号位置为全1,主机号位置为全0
  • 不管有没有划分子网,只要将子网掩码和IP地址相与就一定能得到网络地址

7.使用了子网掩码后的路由转发分组算法

  • 1.从收到的分组首部提取目的IP地址D
  • 2.先判断是否为直接交付,用那些和路由器直接相邻的网络的子网掩码和D逐位相“与”,看是否和相应的网络地址匹配。若匹配,则将分组直接交付,否则就是间接交付。
  • 3.若路由表中有目的地址为D的特定主机路由,则将分组传送给指明的下一跳路由器,否则执行4
  • 4.对路由表中的每一行的子网掩码和D逐位相“与”。若其结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行5
  • 5.若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则执行6
  • 6.报告转发分组出错

8.无分类编址CIDR:ip地址后加上"/",然后写上网络前缀位数

  • 为解决IP地址耗尽而提出的一种措施
  • 作用:把小的网络汇聚成大的超网
  • 消除了传统的A类,B类和C类地址以及划分子网的概念
  • 融合子网地址与子网掩码,方便子网划分,把网络前缀都相同的连续的IP地址组成一个"CIDR地址块"

9.路由聚合(构成超网):将多个子网聚合成一个较大的子网

  • 方法:将网络前缀缩短即所有网络地址取交集

10.最长前缀匹配:使用CIDR查路由表(与网络掩码相与)时可能得到多个匹配结果,应选择网络前缀最长的那个

  • 原因:前缀越长,地址块越小,路由越具体

    外卖可以送到你的小区,也可以送到你家门口(更具体),那当然是选择送家门口了

11.ARP协议:完成主机或路由器IP地址到MAC地址的映射,解决下一跳走哪的问题

  • 出现原因:在链路上传送数据帧时,必须要使用MAC地址
  • 使用过程:检查ARP高速缓存,有对应项则写入MAC帧,没有则用目的MAC地址为FF-FF-FF-FF-FF-FF的帧封装并广播ARP请求分组,同一局域网中所有主机都能收到该请求。目的主机收到请求后就会向源主机单播一个ARP响应分组,源主机收到后将此映射写入ARP缓存(10-20min更新一次)
  • 4种典型情况(地址解析自动进行)
    • ARP找到本地主机B的硬件地址
      • 主机A发给本网络的主机B
      • 路由器发给本网络的主机B
    • ARP找到本网络上的一个路由器的硬件地址,剩下的由路由器完成
      • 主机A发给另一网络的主机B
      • 路由器发给另一网络的主机B
    • 总结:发给本网络就找本地对应主机的硬件地址,发给另一网络就找路由器的硬件地址

12.动态主机配置协议DHCP:提供即插即用连网的机制,主机可从服务器动态获取IP地址等信息。

  • 属于应用层协议,使用客户/服务器方式

  • 客户端和服务端通过广播方式交互,基于UDP

  • 支持地址重用、移动用户加入网络、在用地址续租

  • 客户端和服务端交换过程如下

    • 主机广播DHCP发现报文:试图找到网络中的服务器,服务器获得一个IP地址
      • 即主机喊了一声:“有没有DHCP服务器呀?”
    • DHCP服务器广播DHCP提供报文:服务器拟分配给主机一个IP地址及相关配置
      • 多个服务器回答:“有的有的,我发给你IP地址用我的吧”
    • 主机广播DHCP请求报文:主机向服务器请求提供IP地址
      • 主机继续问:“你们哪个先到我就用哪个,那我用啦?”
    • DHCP服务器广播DHCP确认报文:正式将IP地址分配给主机
      • 服务器回答:“好的好的,你用吧”

    13.网际控制ICMP协议:为了更有效的转发IP数据报和提高交付成功的机会

    可理解为哪地方错了你告诉我一声我好改 或者 我有事要问问你

    • ICMP差错报文

      • 终点不可达:无法交付时向源点发
      • 源站抑制拥塞丢数据时向源点发
      • 时间超过:路由器收到生存时间TTL=0的数据报,向源点发送该报文
      • 参数问题:收到的数据报首部字段有问题时向源点发
      • 改变路由(重定向):可以选择更好的路由,向源点发
    • 不应发送ICMP差错报文的情况

      • 对ICMP差错报文不再发送ICMP差错报文
      • 对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文
      • 对具有组播地址的数据报都不发送ICMP差错报告报文
      • 对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文
    • ICMP询问报文

      • 有回送请求和回答报文:测试目的站是否可达以及了解其相关状态
      • 时间戳请求和回答报文:请某个主机回答当前时间,用来时钟同步和测量时间
      • 掩码地址请求和回答报文
      • 路由器询问和通告报文
    • 应用

      • ping:测试两个主机的连通性,使用了ICMP回送请求和回答报文
      • tracert:跟踪一个分组从源点到终点的路径,使用了ICMP时间超过差错报告报文
    • ICMP报文格式

      • 下图中根据ICMP报文类型源主机就知道发生了什么故障了
      • ICMP报文是放在IP数据报中的数据部分,组成IP数据报发送出去

      image-20201228165533997

      • 下图中根据IP数据报的首部就知道是哪个数据报错了

      • ICMP前8字节相当于ICMP的首部,对应上图的64位即最上面两行部分

      • 而IP数据报数据部分前8个字节也要放入ICMP报文因为该8个字节包含了TCP(也可能是UDP,下同)报文首部中的TCP端口号,这样源主机和用户进程有了端口才能更好的联系起来

      image-20201228165601583

14.IPv6:由于IPv4即将耗尽且NAT和CIDR都没从根本上解决耗尽问题,为此诞生出IPv6从根本解决耗尽问题

  • 更大的地址空间:从32位增加到128位
  • 不允许分片,数据报太大就会被丢弃,允许在源节点分片
  • 扩展的地址层次结构:地址多了自然可划分更多层次
  • 将IPv4的检验和字段移除以减少每跳的处理时间
  • 取消协议字段改为下一个首部字段
  • 取消总长度字段改为有效载荷长度字段
  • 取消服务类型字段
  • 将IPv4的可选字段移除首部变成扩展首部,首部更加灵活,路由器通常不检查扩展首部
  • 允许协议继续扩充
  • 支持即插即用(自动配置),不需要DHCP协议
  • 支持资源的预分配,支持实时影像等要求
  • 首部长度必须是8B的倍数而非IPv4的4B的倍数

15.IPv6数据报格式

image-20201228201932828

  • 版本:占4位,指明协议版本,对于IPv6,该字段为6
  • 优先级:占8位,区分不同IPv6类别或优先级,0-15优先级依次增大,0-7表允许延迟,8-15表高优先级需固定速率传输
  • 流标签:占20位,所有属于同一个流的数据报具有相同的流标签
  • 有效载荷长度:占16位,指明IPv6除基本首部以外的字节数,最大值为64KB
  • 下一个首部:占8位,相当于IPv4的协议字段或可选字段
  • 跳数限制:占8位,每经过一个路由器减1值为0时丢弃该数据报(TLL换了个名字)
  • 源地址:占128位,数据报发送方的IP地址
  • 目的地址:占128位,数据报接收方的IP地址

16.IPv6用冒号十六进制表示:每16bit用一个十六进制数表示,各值用冒号分隔

  • 如4BF5:AA12:0216:FEBC:BA5F:039A:BE9A:2170
  • 缩写法
    • 4BF5:0000:0000:0000:BA5F:039A:000A:2176–》4BF5:0:0:0:BA5F:39A:A:2176
  • 零压缩:一连串连续的0可以被一对冒号取代但双冒号表示法一个地址仅能出现一次双冒号
    • FF05:0:0:0:0:0:0:B3–》FF05::B3

17.IPv6基本地址类型

  • 单播:一对一通信,可做源地址+目的地址
  • 多播:一对多通信,可做目的地址
  • 任播:一对多中的一个通信,可做目的地址

18.IPv4向IPv6过渡的策略

  • 双栈协议:一台设备上同时启用IPv4协议栈和IPv6协议栈
  • 隧道技术:隧道技术将其它协议的数据帧或包重新封装然后通过隧道传输

19.路由算法

  • 静态路由算法(非自适应路由算法):管理员手动配置路由信息
    • 路由更新慢,不适合大型网络
    • 虽然非自适应并不是一旦启动就不能更改只是它不能自动更改(可人为修改)
  • 动态路由算法:路由器间彼此交换信息,按照路由算法优化出路由表项
    • 全局性:所有路由器掌握完整的网络拓扑和链路费用信息,如OSPF
    • 分散性:路由器只掌握物理相邻的邻居及链路费用,如RIP
    • 特点:算法复杂,增加网络负担

20.自治系统AS:一个AS内的所有网络都属于一个行政单位管辖,内部使用AS内部的路由选择协议

  • 诞生原因:因特网规模很大,很多单位不想让外界知道自己的路由选择协议,但还想进入因特网

21.路由选择协议

  • 内部网关协议IGP:在一个自治系统内使用,如RIP和OSPF(inside内部)
  • 外部网关协议EGP:不同自治系统间使用,如BGP (external外部)

网关和路由器是同义词,可按路由器理解

22.RIP协议:分布式的基于距离向量的路由选择协议,最大优点是简单

  • 要求每个路由器维护从它自己到其它每个目的网络的唯一最佳距离记录
    • 距离:即跳数,从源端口到目的端口所经历的路由器个数
    • 注意最大距离为16表示网络不可达
  • 和谁交换,多久交换一次,交换什么内容,传送方式
    • 和谁交换:仅和相邻路由器交换信息
    • 交换什么:交换信息内容为自己所知道的全部信息即自己的路由表
    • 多久交换:按固定间隔(如30s)交换路由信息
    • 传送方式:UDP
  • 收敛:路由器第一次工作只知道自己相邻距离即1而经若干次更新后,所有路由器都会知道任一个网络的最短距离和下一跳地址
  • 只适用于小的互联网(大的网络路由器数量肯定远远大于15个)

23.RIP协议格式

image-20201228212747369

24.RIP协议特点:好消息传的快,坏消息传的慢

  • 当网络出现故障时,要经过比较长的时间(如数分钟)才能将此信息传送到所有的路由器(慢收敛)
    • 若一个网络出现故障可能两个路由器不断更新路由表直到距离为16才知道不能到达那个损坏的网络

25.距离向量算法:即使用RIP协议的路由表怎么更新

image-20201228212310617

一个小例题帮助理解(更新R6路由表)

image-20201228212614653

26.开放最短路径优先OSPF协议:使用分布式的链路状态协议

  • 和谁交换,多久交换一次,交换什么内容,传送方式
    • 和谁交换:使用洪泛法向自治系统内所有路由器发送信息(广播)
    • 交换什么:与本路由器相邻的所有路由器的链路状态(路由器所知道的部分信息)
    • 多久交换:只有链路状态发生变化时,路由器才向所有路由器洪泛发送此消息
    • 传送方式:IP(由于要交换信息较大不适合用传输层协议)
  • 最终所有路由器都能建立一个链路状态数据库即全网拓扑图
  • 为了使OSPF能用于很大的网络,将自制系统划分为若干范围,叫做区域

27.边界网关协议BGP:在不同自治系统之间交换信息,使用路径-向量路由选择协议

  • 和谁交换:与其它AS的邻站BGP发言人交换信息
  • 交换什么:交换网络可达性信息,即要到达某个网络所要经历的一系列自治系统(如10.11.21.1/24可通过AS2、AS4、AS5到达)
  • 多久交换:发生变化时更新有变化的部分
  • 传送方式:TCP
  • 四种报文
    • OPEN(打开)报文:用来和相邻的另一个BGP发言人建立关系,并认证发送方
    • UPDATE(更新)报文:通告新路径或撤销原路径
    • KEEPALIVE(保活)报文:无更新时周期性验证邻站的连通性,也作为OPEN的确认
    • NOTIFICATION(通知)报文:报告先前报文的差错,也被用于关闭连接

28.三种路由协议对比

image-20201228220304625

image-20201228220319735

image-20201228220343383

RIP适用于规模较小的网络,OSPF适用于规模很大的自治系统,BGP适用于不同自治系统间通信

29.单播和组播(也称多播)

  • 单播:发送者和每一个接收者之间都需要单独的数据信道(10个接收者那就要发10份数据)
  • 组播:源主机只发一份数据,目的地址为组播地址,传输数据遇到如路由器时才会将数据复制继续转发
    • 组播地址范围为部分D类地址,不能用作源地址
    • 尽最大努力交付,不提供可靠交付
    • 对组播数据不产生ICMP差错报文

30.网际组管理协议IGMP:让路由器知道本局域网上是否有主机参加或退出了某个组播组

  • 某主机若想加入组播组,向组播地址发IGMP报文声称想要加入
  • 本地组播路由器收到后利用组播路由选择协议把这组成员关系发到因特网其它组播路由器
  • 本地组播路由器周期性探寻本地局域网主机,以便知道这些主机是否还是组播成员
    • 组内只要有一个主机响应则认为这个组是活跃的,若几次探寻都无主机回应则不再把这组成员关系发给其他组播路由器
  • 目的是找出以源主机为根节点的组播转发树(树可避免兜圈子)
  • IGMP和ICMP一样都使用IP数据报传递报文

31.移动IP:移动结点以固定的网络IP地址,实现跨越不同网段的漫游功能,并保证网络权限不会改变

  • 移动结点:具有永久IP地址的移动设备

  • 归属(本地)代理:有一个端口和移动节点本地链路相连的路由器,根据移动用户的转交地址采用隧道技术转交其数据报

  • 永久地址(主地址):移动站点在归属网络中的原始地址

  • 外部代理:移动结点漫游链路上的路由器,通知本地用户代理自己的转交地址,是移动结点漫游链路的默认路由器

  • 转交地址(辅地址):可以是外部代理的地址或动态配置的一个地址(临时地址)

  • 通信过程

    • 移动结点在外部代理登记注册一个转交地址

    • 本地代理截获发给移动节点的数据报

    • 本地代理再封装数据报,新的数据报目的地址是转交地址,发给外部代理

    • 外部代理拆封数据报并发给移动节点

      你去学校(外部网络)上学,有人给你写信寄到你家(归属网络),你妈妈(归属代理)拿着信去学校交给你(虽然目的是交给你,但先给外部代理(路由器),由外部代理交给你)

      也就是你要是在家就直接交给你,但你不在家就要有个中间人转交给你

32.路由器:一种具有多个输入和输出端口的专用计算机,任务是连接不同的网络转发分组

路由器的结构如下

image-20201228233119198

路由器的输入或输出队列产生溢出是造成分组丢失的重要原因

33.路由表由路由选择算法得出,主要用于路由选择,用软件来实现

image-20201228233901800

来了一个分组,就要根据路由表将其转发出去

  • 将该目的IP分别与路由表子网掩码相与(二进制),看结果是否有和表中的目的网络相同的
    • 若有相同的按表中转发端口和下一跳将其转发出去
    • 若都没有相同的就按照图中最后一行的默认路由转发出去

默认路由:根据目的地址在路由列表中没有匹配的路由时就交给默认路由,再由它交给另一个路由

习题

1.在路由器进行互连的多个局域网的结构中,要求每个局域网©
A.物理层、数据链路层、网络层协议都必须相同,而高层协议可以不同
B.物理层、数据链路层协议可以不同,而数据链路层以上的高层协议必须相同
C.物理层、数据链路层、网络层协议可以不同,而网络层以上的高层协议必须相同
D.物理层、数据链路层、网络层协议及高层协议都可以不同

答:本层及本层以下的协议可以不同,但是高层协议必须相同,而局域网处于网络层因此选C

2.在链路状态路由算法中,每个路由器得到了网络的完整拓扑结构后,使用(B)算法来找出从它到其他路由器的路径长度。
A.Prim最小生成树算法 B.Dijkstra最短路径算法
C.Kruskal最小生成树算法 D.拓扑排序

答:在链路状态路由算法中,路由器通过交换每个节点到邻居节点的延迟或开销来构建一个网络的完整拓扑结构。得到了完整的拓扑结构后,路由器就使用 Dijkstra最短路径算法来计算到所有节点的最短路径。

路由算法肯定是要找最短路径,其它几个都不是求最短路径的算法

3.下列关于分层路由的描述中,(B)是错误的。

A.采用了分层路由之后,路由器被划分成区域

B.每个路由器不仅知道如何将分组路由到自己区域的目标地址,而且知道如何路由到其他区域

C.采用了分层路由后,可以将不同的网络连接起来

D.对于大型网络,可能需要多级的分层路由来管理

答:采用了分层路由之后,路由器被划分为区域,每个路由器知道如何将分组路由到自己所在区域内的目标地址,但是对于其他区域内部结构毫不知情

当不同的网络被相互连接起来的时候,可以将每个网络当作一个独立的区域,这样做的好处是一个网络中的路由器不必知道其他网络的拓扑结构。

4.对路由选择协议的一个要求是必须能够快速收敛,所谓“路由收敛”是指(C)
A.路由器能把分组发送到预订的目标
B.路由器处理分组的速度足够快
C.网络设备的路由表与网络拓扑结构保持一致
D.能把多个子网汇聚成一个超网

答:收敛,就是当路由环境发生变化后,各路由器调整自己的路由表以适应网络拓扑结构的变化,最终达到稳定的状态。“收敛”得越快,路由器就越快适应网络拓扑结构的变化

5.假设有一个B类地址指定了子网掩码255.255.255.0,则每个子网可以有的主机数为(B)
A.256 B.254 C.1024 D.1022

答:B类地址的默认子网掩码是255.255.0.0,而题目给的子网掩码为255.255.255.0

所以只剩下最后8位来表示主机位,8位可最多表示28而还要去除全0(表示一个网络)和全1(广播地址)的情况也就是256-2

6.把IP网络划分成子网,这样做的好处是©。
A.增加冲突域的大小 B.增加主机的数量
C.减小广播域的大小 D.增加网络的数量

答:划分子网也就是把一个大的网络划分成许多小的网络。

而广播域指这个范围内一个主机发广播信息其它主机能收到信息,而由于大网变成了许多小网,每个小网都形成了一个广播域,因此广播域减小了

7.在一条点对点的链路上,为了减少地址的浪费,子网掩码应该指定为(A)

A.255.255.255.252 B.255.255.255.248
C.255.255.255.240 D.255.255.255.196

答:点对点链路也就是只有两台主机,所以只分配两个主机位就可以

两个主机位所需位数n:2n-2=2,所以n=2

所以子网掩码为 11111111.11111111.11111111.11111100即255.255.255.252

注意要减去全0和全1,两台主机最后一部分分别为11111101和11111110

8.如果用户网络需要划分成5个子网,每个子网最多20台主机,则适用的子网掩码是(C)
A.255.255.255.192 B.255.255.255.240
C.255.255.255.224 D.255.255.255.248

答:划分5个子网需要占3位,而最多20台主机需要占5位(注意要满足等于20台的情况),因此需要3位子网段和5位主机段,所以网络段占32-5=27位,即27位全1也就是255.255.255.224

其实只看20台主机需要占多少位就行了,子网段一定包含在网络段里也就是说在子网掩码中一定是全1

9.以下给出的地址中,属于子网192.168.15.19/28的主机地址是(A)
I.192.168.15.17 Ⅱ.192.168.15.14
Ⅲ.192.168.15.16 Ⅳ.192.168.15.31
A.仅I B.仅I、Ⅲ C.仅I、Ⅲ、Ⅳ D.Ⅰ、Ⅱ、Ⅲ和Ⅳ

答:将IP地址192.168.15.19和28位子网掩码255.255.255.240相与后得到该子网的网络地址为192.168.15.16即最后一部分为0001 0000

主机位占4位,去掉主机位全0和全1主机位的范围就是0001 0001~0001 1110

也就是17-30对应主机地址范围为192.168.15.17-192.168.15.30

10.设有两个子网202.118.133.0/24和202.118.130.0/24,如果进行路由汇聚,得到的网络地址是(A)
A.202.118.128.0/21 B.202.118.128.0/22
C.202.118.130.0/22 D.202.118.132.0/20

答:从前往后看第一个不同的部分即133和130

转换为二进制为1000 0101和 1000 0010可以发现它们前5位是相同的

所以第三个字节应该是1000 0000(保留前5位,后面都为0)即128,而掩码中1的个数变为8+8+5=21

最终答案为202.118.128.0/21

11.若将网络213.0.0/16划分为128个规模相同的子网,则每个子网可分配的最大IP地址个数是©
A.254 B.256 C.510 D.512

答:这个网络有16位网络地址,16位主机地址,而要划分128个子网而27=128即需要占用7位地址(这7位就是子网号),而剩下的9位主机地址用来作主机号。

主机号除去全0和全1即29-2=512-2=510

12.为什么要划分子网?子网掩码的作用是什么?(帮助理解)

答:由于因特网的每台主机都要分配一个唯一的IP地址,所以分配的IP地址很多,这将使路由器的路由表变得很大,进而影响了路由器在进行路由选择时的工作效率。解决这个问题的方法就是将一个大的网络划分为几个较小的网络,每个小的网络称为一个子网。

当一个分组到达一个路由器时,路由器应该能够判断出IP地址的网络号。子网掩码用来判断IP地址的哪一部分是网络号与子网号,哪一部分是主机号。为了完成这种分离,路由器将对IP地址和子网掩码进行“与”运算。

13.当路由器转发一个IP数据报时,可能改变首部中的哪些字段(DFGHJKL)
A.版本 B.首部长度 C.服务类型 D.总长度

E.标识 F.标志 G.片偏移 H.生存时间

I.协议 J.首部检验和 K.源IP地址 L.目的IP地址

答:本题为课堂习题,答案是对的,但解释为个人理解

A.版本不会变,不可能IPv4传着传着变成IPv6了

B.首部长度固定20B也不会变

C.服务类型设置了数据报的优先程度也不会改变的

D.总长度是首部+数据,而如果中间分片了数据部分肯定变短了

E.标识是原始数据报发出后就确定了的,即使分片也不会改变不然到达目的地没法组装

F.标志中如MF,如果传输中分片肯定有一个分片的MF=0而它前面的都为1,这是在分片后改变的

G.片偏移显而易见只要分片它肯定会变

H.生存时间每经过一个路由器就减1也会改变

I.协议中表明它携带的数据使用什么协议,比如携带的是ICMP,那传输过程即使分片也还是携带的ICMP

J.首部检验和检验的是首部,而首部中的生存时间每经过一个路由器都要变所以它每次也要跟着变

K和L.源IP和目的IP也会改变

  • 如果使用了NAT即网络地址转换,如手机想上网,手机的IP其实是私有IP,它首先要通过NAT把私有IP地址转为公网IP,这个过程中数据报的源IP由私有地址转为了公网地址。

  • 同理因特网上的主机要想与手机发消息,首先它肯定会发给安装了NAT的那个路由器,而路由器收到后会把ip数据报的目的IP换成手机的私有IP地址

14.在一个路由表中,特定主机路由的子网掩码表示为 [255.255.255.255] (用点分十进制表示)
默认路由项中的子网掩码表示为[0.0.0.0],目的网络地址表示为[0.0.0.0]

答:子网掩码为全1和谁相与都不改变它的值

默认路由子网掩码是全0也就是无论哪个IP地址和我相与结果都是全0和目的网络全0相匹配,达到了默认路由的功能

15.假定网络中的路由器B的路由表有如下的项目(这三列分别表示"目的网络"、“距离"和"下一跳路由器”)

N1 7 A
N2 2 C
N6 8 F
N8 4 E
N9 4 F
现在B收到从C发来的路由信息(这两列分别表示“目的网络”“距离”):
N2 4
N3 8
N6 4
N8 3
N9 5
试求出路由器B更新后的路由表(详细说明每一个步骤)

答:路由器B更新后的路由表如下:
N1   7  A    无新信息,不改变
N2   5  C    相同的下一跳,更新
N3   9  C    新的项目,添加进来
N6   5  C    不同的下一跳,距离更短,更新
N8   4  E    不同的下一跳,距离一样,不改变
N9   4  F    不同的下一跳,距离更大,不改变

注意距离一样时不用改变

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

答:固定首部位20B,所以数据报的有效数据为4000B-20B=3980B

而网络最大能传1500B,传输前要为每个分片加上首部,1500B去掉首部的20B,所以网络一次能传送有效数据1480B

3980 ÷ 1480 =2 余 1020 ,所以需要3片 (注意这些都是有效数据长度即不带首部)

第一个偏移量为0,第二个为1480/8,第三个为(1480+1480)/8

​ 总长度(字节) 数据长度 MF 片偏移

原始数据报 4000 3980 0 0

数据报片1 1500 1480 1 0

数据报片2 1500 1480 1 185

数据报片3 1040 1020 0 370

注意算分几片和偏移量的时候都不考虑首部长度,因为分片时,每个分片的首部是后来加上的,我们只用关心数据部分就行

传输层

知识点

1.传输层的功能如下

  • 提供应用进程间的逻辑通信:逻辑通信指两个进程之间"好像"有一条水平方向的物理连接
    • 注意网络层提供的是主机之间的逻辑通信
  • 差错检测:对报文的首部和数据部分都进行检测(网络层只检查IP首部)
  • 提供无连接和面向连接的服务
    • 面向连接的TCP提供了一种可靠性较高的传输服务
    • 无连接的UDP提供了一种高效率但不可靠的传输服务
  • 复用和分用
    • 复用指发送方不同的应用进程可使用同一个传输层协议传送数据到网络层(多到一)
    • 分用指接收方从网络层收到数据后能够把这些数据正确的交付到目的应用进程(一到多)

2.端口:网络层按IP寻址,而传输层按端口寻址,表明主机中的应用进程,长度16bit

  • 服务端使用的端口
    • 熟知(保留)端口号:给TCP/IP等最重要的一些应用程序,让所有用户都知道。0~1023
    • 登记端口号:为没有熟知端口号的应用程序使用且为防止重复必须先登记。1024~49151
  • 客户端使用:仅在客户进程运行时才动态选择的端口号。49152~65535

3.套接字:唯一标识了网络中的某台主机和它的某个应用进程

  • 套接字Socket=(主机IP地址,端口号)

image-20201229085634033

4.用户数据报协议UDP:UDP只是在IP数据报服务之上增加了端口和差错检测的功能

  • UDP是无连接的,减少开销和发送数据前的时延
  • 尽最大努力交付,即不保证可靠传输
  • UDP用户数据报只有8个字节的首部开销
  • 提供复用/分用技术
  • 面向报文
  • 无拥塞控制,适合很多实时应用(如实时视频会议)
  • 适合一次性传输少量数据

image-20201229090549174

5.UDP检验

image-20201229090731295

  • 伪首部只在计算检验和时才出现,不向下传送也不向上递交
    • 17是协议字段,UDP固定为17
  • UDP长度:指UDP的8B首部 + 数据部分长度(不包括伪首部)

image-20201229091519236

协议名称 检验和检验内容
IP 首部
ICMP 首部+数据
TCP 伪首部+首部+数据
UDP 伪首部+首部+数据

助记:越往上检验的越多

6.TCP:面向连接的传输层协议,特点如下

  • 每一条TCP连接只能有两个端点即点对点
  • TCP提供可靠交付的服务,无差错,不丢失、不重复、按序到达(不多不少不出错还有序)
  • 提供全双工通信
  • 面向字节流,把应用程序传下来的数据看成一连串的无结构的字节流

7.TCP报文首部格式

image-20201229092454191

  • 序号:占4B,传送的字节流按顺序编号,这样才能保证按序交付
  • 确认号:占4B,期望收到的下一个报文段的序号
    • 若确认号为N表明到序号N-1为止的数据都已正确收到
  • 数据偏移:占4位,其实就是首部长度,最小为0001表示4B最大为1111表示60B
  • 保留字段:占6位,保留为以后使用,但目前应置0
  • 紧急URG:URG=1时表明此报文段有紧急数据高优先级不用在缓存排队配合紧急指针使用
  • 确认位ACK:ACK=1时确认号才有效,连接建立后所有传送的报文段都要把ACK置为1
  • 推送位PSH:PSH=1时,接收方就应该尽快交付给应用进程,不再等整个缓存填满才交付(催你一下)
    • URG数据不经过缓冲区直接交付,PSH前提是经过缓冲区
  • 复位RST:RST=1时表明TCP连接中出现严重差错,必须释放连接,然后重新建立连接
  • 同步位SYN:SYN=1时表明这是一个连接请求或连接接受报文
  • 终止位FIN:FIN=1时表明此报文段发送方数据已发完,要求释放连接
  • 窗口:占2B,现在允许对方发送的字节数
  • 检验和:占2B,检验首部+数据,检验时要加上12B伪首部(只需将UDP的伪首部的协议17改为6)
  • 紧急指针:占2B,当URG=1时才有意义,指出本报文段中紧急数据的字节数
  • 选项:长度可变,最大报文段MSS、窗口扩大、时间戳、选择确认…
  • 填充字段:使首部长度是4B的整数倍

由于TCP首部没有目的IP地址,因此TCP必须告诉IP层目的IP地址,此目的IP地址填写在IP首部中

8.TCP连接管理,分为三个阶段

  • 连接建立:采用三次握手的方法(客户/服务器模式)

    seq表发送报文的第一个字节的序号,记住TCP连接和释放每次都是只发一个字节内容,而ack是期望收到的第一个字节序号,所以ack=seq+1

    image-20201229100046134

    可理解为如下图所示

    image-20201229100208593

    为什么不采用两次握手?

    答:可能引起死锁,A发送请求,B收到后认为连接建立了,开始发数据。但若B的确认传输过程中丢失了,A不知道B是否准备好甚至怀疑B收到了请求吗,因此A认为连接未建立。最终A忽略B发的任何数据一直等B的确认,而B发数据无响应超时后会重复发同样的分组,形成了死锁。

    SYN泛洪攻击利用三次握手攻击者发送第一次握手,服务器返回ACK即二次握手后,攻击者一直不确认使得该TCP连接处于挂起状态,会损耗服务器大量资源。

  • 数据传送

    • 没啥说的,传就完了
  • 连接释放(客户/服务器模式)

    image-20201229100936147

    可理解为如下图所示

    image-20201229101004373

9.TCP实现可靠传输的机制

  • 检验:与UDP一样,增加伪首部
  • 序号:一个字节占一个序号,即使接收的顺序是乱的按序号排序即可
  • 确认:采用累积确认,如A发送123456,但ACK3(12已收到期望收3)丢失了,此时发送方正准备重发1和2,但又收到了ACK6表明12345接收方都收到了,因此就无需重传12了
  • 重传:发送方发一个报文段就计一次时,规定时间内没收到确认就重传该报文段(超时重传)
    • TCP采用自适应算法,动态改变重传时间RTTs(加权平均往返时间)
      • 记录每个报文发出时间与确认时间之差即往返时延
      • 求加权平均往返时延RTTs
      • 每新测量一次往返时延样本,就重新计算RTTs
        • 新的RTTs=(1-a)*(旧的RTTs) + a*(新测的RTT)
      • 超时重传时间RTO应略大于加权平均往返时延RTTs
    • 收到了确认如何确定这是先发送的报文段的确认还是后来超时重传的报文段的确认?
      • Karn提出一个算法:计算RTTs时,若重传了就不采用其往返时间样本

可靠:保证接收方接收的数据和发送方发送的完全一样

10.快重传(冗余确认、冗余ACK):每收到比期望序号大的报文段时发送一个冗余ACK

例如

  • 发送方发送1、2、3、4、5

  • 接收方收到1,返回确认号2

  • 接收方收到3,仍返回确认号2(期望收2却收到了比2大的3,发送第一个冗余ACK)

  • 接收方收到4,仍返回确认号2(期望收2却收到了比2大的4,发送第二个冗余ACK)

  • 接收方收到5,仍返回确认号2(期望收2却收到了比2大的5,发送第三个冗余ACK)

发送方收到3个对报文1的冗余ACK,则认为2报文段丢失重传2报文段

事不过三,别人都说了三次它想收到的是2,那就赶紧给它传个2吧

11.TCP流量控制:让发送方慢点发,接收不过来了。TCP利用滑动窗口实现

image-20201229110309849

12.TCP拥塞控制:防止过多的数据注入到网络中,全局性问题

  • 发送窗口=Min{接收窗口rwnd,拥塞窗口cwnd}

  • 慢开始算法和拥塞避免算法

    image-20201229110708518

    • 慢开始算法:cwnd设置为一个最大报文段(通常为1),一个RTT就加倍一次拥塞窗口
      • 最大报文段MSS指的是TCP报文段中的数据字段的最大长度
    • 拥塞避免算法
      • 当cwnd<ssthresh(慢开始门限)时,使用慢开始算法
      • 当cwnd>ssthresh时,停止慢开始算法改用拥塞避免算法
      • 当cwnd=ssthresh时,既可以使用慢开始算法也可以使用拥塞避免算法
    • 加法增大:经过一个RTT就让cwnd增加一个MSS(最大报文段)
    • 乘法减小:若出现网络拥塞就把ssthresh设为当前cwnd的一半
    • 网络拥塞时:采用乘法减小且将cwnd设为一个最大报文段(通常为1)
  • 快重传算法和快恢复算法

    image-20201229110748864

    • 快重传:收到3个重复确认就重传,详见第10个知识点
    • 快恢复:快重传后不是像慢开始那样把cwnd设为一个最大报文段(通常为1)而是设置为当前cwnd的一半,然后开始拥塞避免算法

习题

1.假设某应用程序每秒产生一个60B的数据块,每个数据块被封装在一个TCP报文中,然后再封装到一个IP数据报中,那么最后每个数据报所含有的应用数据所占的百分比是(C)(注意:TCP报文和IP数据报的首部没有附加字段)。
A.20% B.40% C.60% D.80%

答:之前说过TCP和IP的首部都是按20B计算(这题题目也指出了没有附加字段)。

一个TCP的首部是20B,一个IP的首部也是20B,即60/(60+20+20)=60%

注意UDP的首部只有8B

2.假设在没有发生拥塞的情况下,在一条往返时间RTT为10ms的线路上采用慢开始控制策略。如果接收窗口的大小为24KB,最大报文段长度MSS为2KB,那么需要(B)发送方才能发送出一个完全窗口。
A. 30ms B. 40ms C. 50ms D. 60ms

答:慢开始指拥塞窗口设置为一个最大报文段(通常为1),一个RTT就加倍一次拥塞窗口。

而本题中指出最大报文段是2KB,所以从2KB开始依次翻倍是4KB,8KB,16KB,然后达到接收窗口的大小24KB,经历了4个RTT即4*10ms=40ms

3.下列有关面向连接和无连接的数据传输的速度的描述,正确的说法是(D)。
A.面向连接的网络数据传输得快 B.面向无连接的数据传输得慢
C.二者速度一样 D.不可判定

答:面向连接由于建立了一个虚链路,所以每个数据分组可以省略信源地址,减小了数据冗余,这是速度增加的因素。

另外,建立虚链路也要花费一定的时间,这是速度降低的因素。因此,很难说二者速度谁快,但是可以肯定的是大量数据传输时面向连接的方式更有利

4.UDP报文头部不包括(A)。
A.目的地址 B.源UDP端口 C.目的UDP端口 D.报文长度

答:和TCP一样,目的地址放在伪首部里面,但伪首部并不属于UDP和TCP的一部分。

由于它们首部没有目的IP地址,因此它们必须告诉IP层目的IP地址是什么(不用管怎么告诉反正不是放在首部里面)

5.A和B之间建立了TCP连接,A向B发送了一个报文段,其中序号字段seq=300,确认号字段ACK=101,数据部分包含7个字节,那么在B对该报文的确认报文段中(D)
A. seq=301, ACK=101 B. seq=301, ACK=108
C. seq=101, ACK=101 D. seq=101, ACK=307

答:seq=300说明发送报文的第一个字节的序号为300,有7字节数据,所以发的最后一个字节序号是306(不要弄错了)

ACK表示期待收到的第一个字节的序号,B收到的最后一个字节序号是306期待收到307所以ACK=307

A发的ACK=101说明A期望收到B发的第一个字节序号是101,所以B发的seq的值即为101

6.假设TCP的拥塞窗口的慢启动门限值初始为8(单位为报文段),当拥塞窗口上升到12时,网络发生超时,TCP开始慢启动和拥塞避免,那么第12次传输时拥塞窗口大小为(B)
A.4 B.6 C.7 D.8

答:题目没指明最大报文段,则默认最大报文段为1即拥塞窗口初始值为1

首先是慢启动序列依次是1、2、4、8。

达到门限值8后开始拥塞控制每次增加一个最大报文段即1,序列依次是9、10、11、12

达到12后出现超时,门限值设为当前拥塞窗口的一半即6同时将拥塞窗口置为初始值1,接着采用慢开始算法,序列依次是1、2、4。注意此时4再翻倍就是8而此时的门限值为6所以4接下来只能到门限值6

所以第12次传输拥塞窗口大小为6(注意第一次传输从1开始)

7.假设某时刻接收端收到有差错的UDP用户数据报,其动作为(A)。
A.将其丢弃 B.请求重传 C.纠错 D.忽略差错

答:由于UDP采用的是无连接不可靠的方式,所以只要出错就会直接丢弃了

8.TCP中滑动窗口的值设置太大,对主机的影响是(A)
A.由于传送的数据过多而使路由器变得拥挤,主机可能丢失分组
B.产生过多的ACK
C.由于接收的数据多,而使主机的工作速度加快
D.由于接收的数据多,而使主机的工作速度变慢

答:TCP使用滑动窗口机制来进行流量控制,其窗口尺寸的设置很重要。

如果滑动窗口的值设置太小,会产生过多的ACK(因为窗口大可以累积确认,这样就会有更少的ACK);

如果设置太大,又会由于传送的数据过多而使路由器变得拥挤,导致主机可能丢失分组。

C和D可理解为现在的主机的处理能力都很强,窗口大点也不会拖慢工作速度

9.下列关于传输层协议中面向连接的描述,(C)是错误的。
A.面向连接的服务需要经历3个阶段:连接建立、数据传输以及连接释放
B.面向连接的服务可以保证数据到达的顺序是正确的
C.面向连接的服务有很高的效率和时间性能
D.面向连接的服务提供了一个可靠的数据流

答:由于面向连接的服务需要建立连接,并且需要保证数据的有序性和正确性,导致了它比无连接的服务开销大,而速度和效率方面也比无连接的服务差一点。

助记:无连接:年轻人就要追求速度和效率 面向连接:年轻人还是太浮躁,出错了怎么办,还是稳点好

10.一个UDP用户数据报的数据字段为8192B。在链路层要使用以太网来传输,那么应该分成(D)IP数据片。
A.3个 B.4个 C.5个 D.6个
答:数据报总长度=8192+8(UDP首部)=8200字节,以太网传的最大数据负载MTU(最大数据部分)=1500,也就是所能携带的一个IP数据报是1500B

因为IP首部为20字节,所以数据部分占了1480字节。则:8200/1480=5…800,所以划分为6个IP数据报片,前五个数据字段长度为1480字节,最后一个数据字段长度为800字节。

8200B有效数据都要封装到IP数据报中,而一个IP数据报虽然1500B,但每个IP数据报都会有20B首部,因此实际一个IP数据报所能存放的有效数据只为1480B

第一个偏移量的值为0,长度为1480;

第二个偏移量的值为1480/8=185,因为片偏移以8个字节为偏移单位,长度为1480;

第三个偏移量的值为1480*2/8=370,长度为1480;

第四个偏移量的值为1480*3/8=555,长度为1480;

第五个偏移量的值为1480*4/8=740,长度为1480;

第六个偏移量的值为1480*5/8=925,长度为800。

注意这题和IP数据报分片的区别,IP数据报算分片没算首部长度,而这题算了

可理解为UDP加了首部后才是一个完整的UDP,然后把它分片再在每个分片前添加IP数据报的首部,这也就意味着UDP的数据加首部都是有效数据

11.主机甲和主机乙新建一个TCP连接,甲的拥塞控制初始阈值为32KB,甲向乙始终以MSS=1KB大小的段发送数据,并一直有数据发送;乙为该连接分配16KB接收缓存,并对每个数据段进行确认,忽略段传输延迟。若乙收到的数据全部存入缓存,不被取走,则甲从连接建立成功时刻起,未发送超时的情况下,经过4个RTT后,甲的发送窗口是(A)。
A. 1KB B. 8KB C. 16KB D. 32KB

答:第一个RTT发送1KB,第二个RTT发送2KB,依次是发送4KB、8KB。

4个RTT总共发了1KB+2KB+4KB+8KB=15KB数据,而乙只分配了16KB的接收缓存即接收窗口为16

现在接收窗口已经存了15只剩下1KB的剩余,而发送窗口=min{拥塞窗口,接收窗口}={16,1}=1

所以4个RTT后甲的发送窗口为1

注意甲在前几次的发送过程中其实也要判断拥塞窗口和接收窗口的大小来判断当前发送窗口的大小

应用层

知识点

1.应用层的功能

  • 文件传输、访问、管理
  • 电子邮件
  • 虚拟终端
  • 查询服务和远程作业登录

2.两种网络应用模型

  • 客户/服务器(C/S)模型:服务器:提供永久服务的设备,客户:请求计算服务的主机
    • 各计算机地位不平等,服务器可对客户进行权限限制
    • 网络管理由少量服务器承担,管理集中且方便
    • 可扩展性不佳
    • 应用:Web、文件传输FTP、远程登录、电子邮件
  • P2P模型(peer to peer):每个主机既可以提供服务也可以请求服务
    • 计算任务被分配到各结点,聚合各计算机实现强大的服务
    • 可扩展性好
    • 网络更加健壮,不存在中心节点失效的问题

3.域名解析系统DNS:将域名解析成IP地址

  • 最右面的是顶级域名,向左依次是二级域名、三级域名…
    • 如www.baidu.com
    • com是顶级域名,baidu是二级域名,www是三级域名

4.域名服务器:域名系统DNS采用C/S模型,域名解析由若干服务器完成

下面各服务器按树状结构从树根向下一层一层排列

  • 根域名服务器:最高层次的域名服务器,用来管辖顶级域名
    • 本地域名服务器对任何一个域名无法解析时首先就会去问根域名服务器
    • 它不直接解析域名而是告诉本地域名服务器下一步应该找哪一个顶级域名服务器查询
  • 顶级域名服务器:管理所有该顶级域名服务器注册的所有二级域名
  • 权限域名服务器:负责一个区的域名服务
  • 本地域名服务器:一个主机发出DNS查询请求时,这个查询请求报文就发给本地域名服务器

5.域名解析过程

image-20201229190543683

一台主机想解析域名,首先主机去本地DNS高速缓存里看有没有

若缓存里没有就去找本地域名服务器(查询的第一个域名服务器)

如果本地域名服务器没找到时,本地域名服务器就会跑去问根域名服务器

如果根域名服务器还没找到时,就分两种情况

  • 递归查询:根域名服务器到查询域名的授权域名服务器(可理解为一定能找到的服务器)去找,查询结果逐级返回给原主机
  • 递归与迭代相结合的方法(迭代查询):根域名服务器把授权域名服务器的IP地址返回给本地域名服务器,由本地域名服务器自己去找授权域名服务器查询

助记:递归转个圈,迭代发三叉

6.文件传输协议FTP:提供不同种类系统之间的文件传输能力

  • 基于C/S模型,使用TCP实现可靠传输

  • FTP服务器主进程负责接收新的请求,若干从属进程负责单个请求

  • 控制连接与数据连接

    • 控制连接:用于传输控制命令和响应,会话期间始终保持
      • FTP服务器监听21号端口,等待客户机连接
    • 数据连接:用于实际的文件内容传输,数据传送完毕就关闭连接
      • 数据连接通常使用20端口(被动方式下不一定是20由客户和服务器协商一个端口)

7.电子邮件:又称E-mail

  • 用户代理:用户与电子邮件系统(如Foxmail)的接口,用于撰写、显示和处理

  • 邮件服务器:因特网上所有的ISP(互联网服务提供商)都有邮件服务器,用于发送和接收邮件,还要向发信人报告邮件传送状态

  • 电子邮件使用的协议:如简单邮件传送协议SMTP、邮局协议版本3(POP3)等

  • 格式:由信封和内容组成

  • 发送和接收过程如下

    image-20201229192342219

8.电子邮件使用的协议

  • SMTP(Simple Mail Transfer Protocol):使用25号端口,C/S模型,TCP。规定了14条命令和21种应答信息

    • 通信分为三个阶段:连接建立(发方SMTP客户和收方SMTP服务器)、邮件传送、连接释放
  • MIME:由于SMTP只能传送7位ASCII码,通过MIME可以发音频、视频等各种形式文件

    • quoted-printable编码:用一个等号后面加两个数字来表示一个非ASCII码,适合只有少量非ASCII码
    • base64编码:适用于任意的二进制文件
  • POP3(Post Office Protocol 3):用于邮件读取

  • 网际报文存取协议IMAP:用户可用不同的计算机随时阅读处理邮件且可只读其中一部分

  • 基于万维网的电子邮件:只要有网都可发邮件

    • 浏览器到邮件服务器使用HTTP,邮件服务器之间使用SMTP

总结:SMTP用于发邮件,POP3和IMAP用于收邮件,MIME对SMTP进行了拓展

9.万维网WWW:是一个大规模的、联机式的信息储藏所,是无数网站站点和网页的集合

  • 以C/S方式工作,浏览器是客户端,存有万维网文档的主机运行服务器程序
  • 使用URL(统一资源定位符)来标志WWW上的各种文档
    • 格式:<协议>://<主机>:<端口>/<路径> 如http://baidu.com
  • 用户点击超链接获取资源,这些资源使用HTTP传给用户
  • 使用超文本标记语言HTML,可以很方便地从一个界面跳转到另一个界面
  • 不是协议,是应用层提供的一种最为重要和普及的服务

10.超文本传输协议HTTP:定义了浏览器怎样向服务器请求万维网文档和服务器怎样把文档传给浏览器

  • 使用TCP可靠传输,80端口,但HTTP协议本身是无连接的

  • 非持久连接:每一个网页元素对象的传输都需要单独建立一个TCP连接(三次握手)

    • Connection:Close
  • 持久连接:服务器发送响应后仍然保持这条连接

    • 流水线:客户每遇到一个对象引用就立即发出一个请求
    • 非流水线:客户只能在接收到前一个请求的响应后才能发新的请求
    • Connection:Keep-Alive
  • 报文结构

    image-20201229200630366

11.远程终端协议TELNET:又称为终端仿真协议,定义了数据和命令怎么通过互联网

  • 诞生原因:如中断程序有的系统使用^C而有的使用ESC,为了适应这种差异即格式统一
  • 客户端格式转为NVT(网络虚拟终端)格式后发给服务器,到了服务器NVT再转为服务器使用的格式

11.应用层与传输层协议对应关系

image-20201229195947832

习题

1.域名与(D)是一一对应的。
A.IP地址 B.MAC地址 C.主机名称 D.以上都不是

答:域名和IP不是一一对应关系,一个IP可能有多个域名而多个域名也可能都指向同一个IP

主机名称和域名根本没关系

一个主机如果有两个网卡,实际上就有两个MAC地址,与域名也不是一一对应

结合生活中域名的配置

2.匿名FTP访问通常使用©作为用户名。
A.guest B.E-mai地址 C.anonymous D.主机id

答:anonymous中文为匿名的意思,记住即可

3.在TCP/IP协议族中,应用层的各种服务是建立在传输层提供服务的基础上的。下列协议组中(B)需要使用传输层的TCP建立连接。
A.DNS、DHCP、FTP B.TELNET、SMTP、HTTP
C.RIP、FTP、TELNET D.SMTP、FTP、TFTP

答:通常在传送对实时性要求较高,传送数据量较小时选择用UDP,可以节省开销,减小时延。

在传送数据量较大,可靠性要求较高时,采用TCP较合适。

注意DNS多数情况下使用UDP,但有时也使用TCP。

4.现给出一串二进制的文件:11001100 10000001 00111000,如果对该二进制文件进行base64编码,则最后所传送的ASCII码是(B)
A.8A 49 45 34 B.7A 49 45 34

C.7A 49 34 45 D.7A 34 49 45

答:首先将24位二进制11001100 1000001 0011000分成4等份,即110011 001000 000100 11100

助记:3个8分为4个6(实际传输是3个8分为4个6,然后6在前面补两个0即4个8)

根据转换原则:用A表示0,用B表示1。先排26个大写字母(0-25),再排26个小写字母(26-51),再排10个数字(52-61),最后用"+“表示62,用”/"表示63。

如果最后一组不足24位就要填充成24位

  • 最后一组只有一个字节时,第二个六后面全补0填充到六位,最终编码结果加两个"="
  • 最后一组只有两个字节时,第三个六后面全补0填充到六位,最终编码结果加一个"="

110011为51,对应小写z;00100为8,对应大写I;000100为4,对应大写E;11100为56,对应4。(注意大写字母从0开始)

而z、I、E、4对应的ASCII码分别是0111 1010、0100 1001、0100 0101、0011 0100。将这4组32位二进制数转换成十六进制数为7A、49、45、34。

ascii码:0-10(48-57),a-z(97-122),A-Z(65-90) 记住每个的起始

5.FTP客户机发起对FTP服务器的连接,此时建立的第一阶段为(D)。
A.控制传输连接 B.数据连接
C.会话连接 D.控制连接

答:一个完整的FTP的工作过程需要历经连接建立、数据传输、释放连接3个阶段。

其中,连接建立又分为控制连接建立和数据连接建立两个阶段。因此,FTP客户端
与FTP服务器连接建立的第一个阶段是控制连接的建立,主要用于传输FTP的各种命令。

6.下面关于客户服务器模型的描述,(D)存在错误。
A.客户端必须知道服务器的地址,而服务器则不需要知道客户端的地址
B.客户端主要实现如何显示信息与收集用户的输入,而服务器主要实现数据的处理
C.浏览器的现实内容来自服务器
D.客户端是请求方,即使连接建立后,服务器也不能主动发送数据

答:客户端是连接的请求方,在连接未建立之前服务器在某一个端口上监听。这时客户端必须要知道服务器的地址才能发出请求。显然服务器不需要知道客户端的地址。
一旦连接建立后,服务器也能主动发送数据给客户端,用于些消息的通知,如一些错误的通知。

7.下面关于POP3,(B)是错误的。
A.由客户端选择接收后是否将邮件保存在服务器上
B.登录到服务器后,发送的密码是加密的
C.协议是基于ASCII码的,不能发送二进制数据
D.一个账号在服务器上只能有一个邮件接收目录

答:POP3是使用明文来传输密码的,并不对密码进行加密,所以B选项是错误的。

POP3是基于ASCII码的,如果要传输非ASCII码的数据,需要使用MINE协议来将数据转换成ASII码的形式。

8.使用浏览器访问某大学Web网站主页时,不可能使用到的协议是(D)
A. PPP B. ARP C. UDP D. SMTP

答:SMTP是用于发送邮件的,访问网站肯定用不到

当接入网络时可能会用到PPP协议,A可能用到;

而当计算机不知道某主机的MAC地址时,用IP地址查询相应的MAC地址时会用到ARP协议,B可能用到;

而当访问web网站时,若DNS缓冲没有存储相应域名的IP地址,用域名查询相应的IP地址时要使用DNS协议,而DNS是可以基于UDP协议的,所以C可能用到;

9.假设所有域名服务器均采用迭代查询方式进行域名解析。当一主机访问域名为www.abc.xyz.com的网站时,在完成该域名解析过程中,可能发出DNS查询的最少和最多次数分别是©。
A.0,3 B.1,3 C.0,4 D.1,4

答:最少情况下:当本机DNS高速缓存中存有该域名的DNS信息时,则不需要查询任何域名服务器,这样最少发出0次DNS查询。

最多情况下:因为均采用迭代查询方式,在最坏的情况下,需要依次迭代地向本地域名服务器、根域名服务器(.com)、顶级域名服务器(xyz.com)、权限域名服务器(abc·xyz.com)发出DNS查询请求,因此最多发出4次DNS查询。

权限域名服务器管理所有的xxx.abc.xyz.com所以它一定知道www.abc.xyz.com的ip地址

10.下列关于FTP协议的叙述中,错误的是©
A.数据连接在每次数据传输完毕后就关闭
B.控制连接在整个会话期间保持打开状态
C.服务器与客户端的TCP20端口建立数据连接
D.客户端与服务器的TCP21端口建立控制连接

答:FTP协议使用控制连接和数据连接,控制连接存在于整个FTP会话过程中,数据连接在每次文件传输时才建立,传输结束就关闭,A对,B对。

默认情况下FTP协议使用TCP20端口进行数据连接,TCP21端口进行控制连接。

但是是否使用TCP20端口建立数据连接与传输模式有关,主动方式使用TCP20端口,被动方式由服务器和客户端自行协商决定,C错,D对。故选C。

只需记住FTP用于数据传输的不一定是20端口即可

11.如果本地域名服务无缓存,当采用递归方法解析另一网络某主机域名时,用户主机和本地域名服务器发送的域名请求条数分别为(A)

A.1条,1条 B.1条,多条 C.多条,1条 D.多条,多条

答:递归方式下转个圈的查询,但是主机和本地域名起始都只发了一次请求(序号1和序号2),如下图

image-20201229190543683

12.设TELNET的客户端有n种格式,服务器端有m种格式

若不使用NVT,客户端需要装 [m] 种格式转换程序,服务器端需要装 [n] 种格式转换程序
若使用NVT,客户端需要装 [1] 种格式转换程序,服务器端需要装 [1] 种格式转换程序

答:不使用NVT的情况下,对于客户机它要能解析所有服务器发来的格式即m,同理服务器也要有n种格式转换

而使用了NVT后,只需安装1种和NVT互相转换的转换程序即可。发送方将数据转成NVT传输给接收方,接收方收到后再把NVT转成自己能识别的格式即可。

猜你喜欢

转载自blog.csdn.net/zss192/article/details/112426855