转载文章,转载于:猴子姑娘呀
原文链接:https://blog.csdn.net/zsheng_/article/details/105674628
前言:
本文作为本人的考研复试收尾笔记,先梳理精炼全面的基本知识,其次在重点知识点旁边附加了考察频率最高的面试题(标注处)。大家可以用来自测,看是否真正掌握,如果对大家有帮助,希望大家点赞哦~(^▽ ^)
本文仅针对考研复试,祝大家复试顺利,若本文有任何不对欢迎大家留言指正!ヽ( ̄▽ ̄)و
PS:面试前,把本文读一遍并重点看标记处即可
《数据库》的这边走:《数据库》_考研复试_概念篇
《操作系统》的这边走:《操作系统》_考研复试_概念篇
冲刺阶段必背的英语问答题(附加艾宾浩斯记忆表):考研复试_英语面试_必备的30个问题
参考书籍
王道《计算机网络考研复习指导》
谢希仁《计算机网络》第五版
目录
第1章 计算机网络体系结构
1.1 概念
1.2 组成
1.3 功能
1.4 分类
1.5 性能指标
1.6 体系结构与参考模型
1.6.1 网络分层的目的和原则
1.6.2 OSI参考模型
1.6.3 TCP/IP参考模型
第2章 物理层
2.1 通信基础
2.2 奈氏准则和香农定理
2.3 编码与调制
2.4 三种数据交换方式
2.5 传输介质
2.6 物理层接口特性及设备
第3章 数据链路层
3.1 功能
3.2 组帧
3.3 差错控制
3.4 流量控制与可靠传输机制
3.5 介质访问控制
3.6 局域网
3.7 广域网
3.7.1 PPP协议
3.7.2 HDLC协议
3.8 数据链路层设备
第4章 网络层
4.1 功能
4.2 路由算法
4.3 层次路由
4.4 IPv4
4.5 IPv6
4.6 路由协议
4.7 IP组播
4.8 移动IP
4.9 网络层设备
第5章 传输层
5.1 传输层提供的服务
5.1.1 功能
5.1.2 寻址与端口
5.2 UDP协议
5.3 TCP协议
第6章 应用层
6.1 DNS
6.2 FTP
6.3 电子邮件
6.4 万维网和HTTP协议
其他重点面试题
第1章 计算机网络体系结构
1.1 概念
互联的、自治的计算机系统的集合
1.2 组成
按组成部分
硬件,软件,协议
按组成部分
边缘部分:用户主机
核心部分:网络,路由器
按功能组成
通信子网:由各种传输介质组成,实现 数据传输功能
资源子网:由设备和软件组成,实现 资源共享功能
1.3 功能
数据通信(最基本、最重要)
资源共享(最本质、最终目的)
1.4 分类
按分布范围
广域网(交换技术)
城域网
局域网(广播技术)
个人网
按传输技术
点对点式(分组存储转发、路由选择)
广播式(公共信道)
按拓扑结构
星形、总线形、环形(多用于局域网)
网状形(多用于广域网)
按交换技术
电路交换:两结点之间搭建一条专用通路用于数据传输;
报文交换(存储-转发式): 传输对象:报文
将用户数据和控制信息封装成报文,将整个报文传送到相邻结点,全部存储后查找转发表,转发到下一结点,如此下去直到传送到目的结点;
分组交换(存储-转发式): 传输对象:分组(包)
将用户数据分成较小的数据块,再加上控制信息封装成分组,将单个分组传送到相邻结点,全部存储后查找转发表,转发到下一结点,直到传送到目的结点。
1.5 性能指标
带宽、吞吐量、信道利用率、网络利用率、往返时延RTT
时延=发送时延(传输时延)+传播时延+处理时延+排队时延
面试题考点:网络时延由哪几部分组成?各产生于何处?
答:
一般来讲,网络时延主要由传输时延和传播时延组成,传输时延是将数据分组从第一个比特到最后一个比特全部推到链路上传输所花费的时间,传播时延是数据分组在链路上传输所需要的时间;若链路拥塞的时候,分组还要经受排队时延,这是分组在链路上等待传输所花费的时间。
1.6 体系结构与参考模型
1.6.1 网络分层的目的和原则
网络分层的目的
为了降低协议设计和调试过程的复杂性,便于网络的研究和实现。
网络分层的原则
每一层实现 一种相对独立的功能;
层与层之间的 交流尽可能少;
保持下层对上层的独立性, 上层单向使用下层提供的服务;
各层功能的 定义要独立于实现方法。
三个基本概念
协议:协议是“ 水平”的,协议是控制 对等实体之间的通信规则;
协议三要素:语法、语义、同步
语法,定义了数据与控制信息的格式;
语义,定义了需要发出何种控制信息,完成何种响应动作以及作出何种响应;
同步,定义了事件实现顺序的详细说明;
接口:接口是 同一结点、相邻两层交换信息的连接点;
服务:服务是“ 垂直”的,服务是 下层通过接口为上层提供的功能。
面试题考点:网络协议的三个核心要素是什么,各起什么作用?
1.6.2 OSI参考模型
7层:物 数 网 传 会 表 应(记忆口诀)
端到端:会 表 应
点到点:物 数 网 传
(我这之前写反了,竟然都没人指出来,生气气[○・`Д´・ ○])
各层的功能
物理层: 比特,任务是实现比特流的透明传输;
数据链路层: 帧,任务是将网络层传来的IP数据报组装成帧,该层的三大基本问题是封装成帧、透明传输、差错控制;
网络层: 数据报(包),任务是将分组从源端传送到目的端,实现网络中 不同主机之间的数据通信;
传输层: 报文段(段),任务是为主机中 两个进程提供 端到端的 可靠的数据通信;
会话层:允许不同主机上的各个进程之间进行会话,包括建立、管理和终止进程间的会话;
表示层:实现数据压缩、加解密等数据表示变换功能;
应用层:通过应用进程间的交互来完成特定网络应用。
1.6.3 TCP/IP参考模型
4层及其协议栈:(由下往上)
网际接口层 :HDLC/PPP
网络层:ARP/IP/ICMP/IGMP
传输层:TCP/UDP
应用层:HTTP/FTP/DNS
OSI参考模型与TCP/IP参考模型的比较
相似之处:
1 都采用 分层结构;
2 都基于 独立的协议栈;
3 都可以实现 异构网络的互联。
不同之处:
1 OSI定义了三 个主要概念:服务、协议和接口;TCP/IP模型在这三个概念上没有明确区分;
2 OSI参考模型 出现于协议之前,没有偏向于特定协议,通用性好;TCP/IP模型产生与协议之后;
3 OSI参考模型在 网络层支持面向连接和无连接的通信,在 传输层支持面向连接的通信;而TCP/IP模型在 网络层支持无连接的通信,在 传输层支持面向连接和无连接的通信。(重点)
面试题考点:OSI,TCP/IP,五层协议的体系结构,并简述各层的作用、协议、中继设备
第2章 物理层
2.1 通信基础
两种数据传输方式
串行传输(适合远距离)
并行传输
实现同步的两种数据传输方式
异步传输:传输数据时设置发送和接受标志,可以以不可预知的速率发送字符,但是接收端必须时刻处于接受状态;
同步传输:通信双方必须先建立同步(同步传通信的数据速率较高,但是代价大)。
三种数据通信方式
串行传输(适合远距离)
并行传输
数据通信模型
信源、信道、信宿
数据传输术语
码元、速率、波特、带宽
码元传输速率、信息传输速率
面试题考点:波特和比特的区别?
答:波特是码元传输的单位,说明每秒传多少个码元。
比特是信息量的单位,与码元的传输速率"波特"是两个完全不同的概念。
但是,信息的传输速率"比特/秒"与码元的传输速率"波特"在数量上却有一定的关系。
2.2 奈氏准则和香农定理
奈氏准则:带宽受限,无噪声条件下,为避免码间串扰,码元传输速率有上限,但信息传输速率并未给出限制;
香农定理:带宽受限,有噪声条件下,对于一定信噪比和一定带宽,信息传输速率的上限是确定的。
2.3 编码与调制
编码:数据 -> 数字信号
模拟数据 -> 数字信号:PCM编码器(采样、量化、编码,F 采>=2F max)
数字数据 -> 数字信号:数字发送器 (非归零编码、曼彻斯特编码,差分曼彻斯特编码)
调制:数据 -> 模拟信号
模拟数据 -> 模拟信号:放大器调制器
数字数据 -> 模拟信号:调制器(ASK、FSK、PSK、QAM)
2.4 三种数据交换方式
电路交换
优点:传输时延小、没有冲突、实时性强;
缺点:独占式信道利用率低、建立连接时间长、灵活性差。
报文交换
优点:无需建立连接、信道利用率高;
缺点:转发时延长、要求的缓存空间大。
分组交换(无连接的数据报、面向连接的虚电路)
优点:无需建立连接、信道利用率高、简化了存储管理、加速了传输;
缺点:存在发送时延、可能会存在分组失序、丢失、重复。
面试题考点:结合Internet,说说有连接服务和无连接的服务?
答:
面向连接服务具有连接建立、数据传输和连接释放这三个阶段。
面向连接服务是在数据交换之前,必须先建立连接。当数据交换结束后,则必须终止这个连接。在传送数据时是按序传送的,是可靠交付。
无连接服务,两个实体之间的通信不需要先建立好一个连接,资源将在数据传输时动态地进行分配。
无连接服务的优点是灵活方便和比较迅速。但无连接服务不能防止报文的丢失、重复或失序。是一种不可靠的服务。
2.5 传输介质
导向传输介质
双绞线:屏蔽双绞线(STP)、非屏蔽双绞线(UTP)
同轴电缆:粗同轴、细同轴
光纤:单模、多模
非导向传输介质
无线电波
微波:卫星通信
红外线、激光
2.6 物理层接口特性及设备
物理层接口特性
机械特性:规定物理连接时所采用的的引线数目、引脚数目等情况;
电气特性:规定线路上信号的电压高速、传输速率等情况;
功能特性:指明某一电平的电压表示何种意义;
规程特性:定义各条物理线路的工作规程和时序关系。
物理层设备(不可以分割冲突域和广播域)
中继器:信号整形放大再转发(注意:5-4-3规则)
集线器:多端口的中继器,每个端口连接同一个网络的不同网段,且速率要相同。
第3章 数据链路层
3.1 功能
概述:主要作用是加强物理层传输比特流的功能,实现一条逻辑上无差错的数据链路。
链路:指从一个结点到相邻结点的一段物理线路,中间没有任何交换结点.
数据链路:指在物理链路的基础上,加上了一些通信协议和实现这些协议的软硬件资源来控制这些数据的传输
主要功能:
为网络层提供服务:三种(注意:有连接一定有确认!);
链路管理:主要用于面向连接;
组帧:帧定界、帧同步、实现透明传输(透明传输,即不管传输的数据是什么比特流,都可以在链路上进行传送);
流量控制:实质是限制发送方的发送速率,使其发送速率不超过接收方的接受速率;
差错控制:
位错:指某些位发生错误,采用CRC发现位错,通过ARQ重传出错的帧;
帧错:指帧的丢失、重复、失序,采用定时器和编号机制保证帧的正确交付。
3.2 组帧
组帧的原因:为了在出错时只重传出错的帧,而不重传全部的数据,从而提高效率。
组帧的方法:字符计数法、字符填充的首尾定界符法、比特填充的首尾标志法、违规编码法。
3.3 差错控制
引起差错原因:随机热噪声(固有)、冲击噪声(来自外界,主要原因)。
通常利用编码技术进行差错控制,可分为:检错编码、纠错编码
检错编码:奇偶校验码、循环冗余码
纠错编码:海明码
3.4 流量控制与可靠传输机制
流量控制
基本原理:由接收方控制发送方的发送速率,以使接收方有足够的缓冲空间来接受帧。
两种方法:
- 停止等待协议:发送方每发送一帧就要等待接收方的 应答信号,若接收方不应答,则发送方必须等待。
- 滑动窗口协议:发送方和接收方分别维持 发送窗口和接收窗口,以控制可以发送和接受的帧的序号。
3.从滑动窗口机制来看,根据窗口的大小不同,总的可以分为三种:
停止等待协议:发送窗口大小=1,接受窗口大小=1
后退N帧协议:发送窗户大小>1,接受窗口大小>1
选择重传协议:发送窗户大小>1,接收窗户大小>1
可靠传输机制
确认:控制帧,接收方让发送方知道哪些帧已被正确接受。
超时重传:发送方在发送了某一数据帧后就开启一个计时器,如果在一定时间内未收到接收方的确认帧,则重新发送该帧,直到发送成功为止。
自动重传机制分为三种:停止等待ARQ、后退N帧ARQ、选择性重传ARQ。
数据链路层中流量控制机制和可靠传输机制密不可分!
单帧滑动窗口和停止等待协议
应用场合及解决方法:
1.接收端检测到 数据帧出错/数据帧丢失:设置计时器。
2.数据帧正确而 确认帧丢失或破坏:发送的帧交替的用0/1来标识,肯定确认分别用ACK0和ACK1来表示,收到的确认有误时,重传发送的帧。
情况说明:
1.若连续出现发送相同的数据帧,则说明出现了超时重传;
2.若连续出现相同序号的确认帧,则说明接收方收到了重复的帧。
性能分析:信道利用率低
多帧滑动窗口和后退N帧协议
滑动窗口机制特点:
发送方:连续发送;
接收方:只按序接收,累积确认,确认序号最大的帧即可
窗口大小:
发送方:1<=W T<=2 n-1(若超过2 n-1,接收方则无法区分新帧旧帧)
接收方:W R=1
性能分析:连续发送时提高了信道利用率,但当信道误码率较大时不适合,必须重传之前已正确传送的帧。
多帧滑动窗口和选择重传协议
滑动窗口机制特点:
发送方:连续发送
接收方:逐一确认、只重传错帧、接收方有缓存
窗口大小:
发送方:1<=W T<=2 n
接收方:1<=W R<=2 n
且 W T=W R ;W T+W R<= 2 n
性能分析:连续发送时,提高了信道利用率,适用于任何信道。
3.5 介质访问控制
实现层:数据链路层中的介质访问控制子层(MAC层)。
主要任务:为广播信道中的每个结点分配信道,使得各结点之间的通信不会发生互相干扰的情况。
常见方法:信道划分介质访问控制、随机访问介质访问控制、轮询访问介质访问控制
静态划分信道:信道划分介质访问控制
实现途径:多路复用技术:将多个信号整合到一条物理物理信道上进行传输,使多个计算机共享信道资源,提高信道利用率
4种方法:FDM/TDM/WDM/CDM
FDM:共享信道的频率;
TDM:共享时间;
WDM:光的频分多路复用;
CDM:既共享信道的频率,又共享时间,采用不同编码来区分各路信号。
具体介绍CDM中的码分多址(CDMA):
原理:
每比特时间被分成m个更短的时间槽,称为码片,每个站点被指定一个唯一的m位码片序列。发送1时,站点发送码片序列,发送0时,站点发送码片序列的反码。当两个或多个站点同时发送时,各路数据线性相加。为从信道中分离出各路信号,要求各个站点的码片序列相互正交。
重点概念标识:
信号 如何不打架:相互正交
信号 如何合并:线性相加
信号 如何分离:相加的数据与源站数据分别规格化内积
动态分配信道 - 随机访问介质访问控制:
原理:
不同于静态划分信道,在随机访问协议中,所有用户可以 随机发送信息,发送时可 占全部带宽(不共享时间,也不共享空间)。当有多个用户同时发送信号时,会产生帧的冲突(碰撞),故要采用 一定的规则(随机访问介质访问控制协议)来避免碰撞。
4种方法:ALOHA协议、CSMA协议、CSMA/CD协议、CSMA/CA协议
依次介绍4种方法:
ALOH协议:不听就发,随机重发
纯ALOHA协议:当网络中任何一个结点要发送数据时,可以不进行任何检测就发送数据。如果在一段时间内未收到确认,则认为发生了冲突,发送站点等待一段随机时间后再发送数据,直到成功。
时隙ALOHA协议:在纯ALOHA的基础上,限制了发送的时间,把所有站点在时间上进行同步,将时间划分为若干个等长的时隙,规定只能在每个时隙的开始才能发送数据。该方法吞吐量比纯ALOHA网络的吞吐量大。
CSMA协议:在ALOHA的基础上,增加了一个 载波监听装置。
1-坚持CSMA:首先侦听信道,如果信道空闲则发送,如果信道忙则等待,并持续监听直到信道空闲。如果发生冲突则等待随机时间再重新监听。
非坚持CSMA:首先侦听信道,如果信道空闲则发送,如果信道忙则放弃侦听,等待随机一段时间后再重复以上过程。
p-坚持CSMA:首先侦听信道,如果信道忙则等到下一个时隙再侦听,如果信道空闲,则以概率p发送数据,以概率1-p推迟到下一个时隙,如果下一个时隙信道仍然空闲则重复此过程。
CSMA/CD协议(重点):(适用于半双工或总线形网络)
原理:先听后发,边听边发,冲突停发,随机重发
CSMA:载波监听
CD:碰撞检测,即边发送边侦听
重要概念:
总线的传播时延对CSMA/CD影响大:在A、B两结点互发数据的过程中,A给B发送数据,B检测到信道空闲,也开始发送数据,过程中A、B的数据发生碰撞,但他俩却不知道,再过一段时间后,A、B检测到碰撞然后停发。(因此采用CSMA/CD的以太网不可能进行全双工通信,只能进行半双工通信)。
争用期(碰撞窗口):A在B后检测到冲突,且A最多经过2T(T为单程传播时延)就可以检测到。(具体2T怎么来的看书哦~),每个站在发送数据之后一段时间内都有发生冲突的可能,只有经过争用期(2T)还未冲突则可确定安全。
最小帧长:存在这种情况:当A发送了一个很短的帧,并且发生了碰撞,不过由于这个帧太短了,发完了才检测到碰撞,根本来不及停发。因此,要设置最小帧长。
为了确保发送站在发送数据的同时能检测到可能存在的冲突需要在发完帧之前就能收到自己发送的数据,故:最小帧长=总线传播时延×数据传输率×2。(以太网规定的最小帧长为64B)
二进制退避算法:在随机重传中使用该算法可以使重传需要推迟的平均时间随重传次数的增大而增大,因而可降低发生碰撞的概率。
CSMA/CA协议:(适用于无线通信)
CA:碰撞避免(并非完全避免,是尽可能避免)
实现CA的三种机制:预约信道、ACK帧、RTS/CTS帧
基本思想:发送数据前先广播给其他节点,要其他结点在某段时间内先不要发送数据,以免发送碰撞。
动态分配信道 - 轮询访问介质访问控制:(令牌传递协议)
原理:在轮询访问中,用户不能随机的发送信息,而是要通过集中控制,以循环的方式轮询访问每一个结点,当某一个结点使用信道时,其他节点不可以使用信道。
3.6 局域网
主要特点:
地理范围、站点数目有限;
所有站点共享带宽;
低时延、低误码;
能进行广播和组播。
决定其特点的三要素:
拓扑结构:星形、环形、总线形、星形和总线形的复合型;
传输介质:双绞线(主要)、同轴电缆、光纤
介质访问控制方式(最重要的要素):CSMA/CD和令牌总线(总线形网络)、令牌环(环形网络)
三种特殊的局域网:
以太网(IEEE802.3)、令牌环(IEEE802.5)、FDDI(光纤局域网IEEE802.8)
IEEE802标准定义的局域网:
只对应于OSI参考模型的数据链路层和物理层,且将数据链路层分为了 LLC和MAC子层。MAC层提供对物理层访问的接口,LLC层向网络层提供服务。
以太网(IEEE802.3):
拓扑结构:逻辑上总线形
通信方式:广播式
介质访问控制方法:CSMA/CD
提供服务:采用无连接的工作方式,提供不可靠的服务
MAC帧:MAC地址占48位,最小帧长为64B,故MAC帧中数据占46到1500B,帧首尾部占18B,故填充位占0到46字节。FCS采用CRC,除了前导码其他都要校验。
高速以太网:
100BASE-T以太网(支持全双工、半双工,在半双工下使用CSMA/CD协议)、吉比特以太网(同100BASE-T)、10吉比特以太网(只支持全双工,不使用CSMA/CD协议)
3.7 广域网
广域网与局域网的区别:
在OSI中广域网占物理层、数据链路层、网络层三层,局域网只占物理层和数据链路层;
广域网覆盖范围广,通常跨区域,局域网范围较小,通常在一个区域内;
广域网强调资源共享,局域网强调数据传输。
3.7.1 PPP协议
协议简介
串行线路的面向字节的协议;
只支持点对点通信,只支持全双工通信,可用于同步/异步线路;
只保证无差错传输,不保证可靠传输。
组成
链路控制协议(LCP):用于建立、配置、测试和管理数据链路;
网络控制协议(NCP):PPP协议允许同时采用不同网络层协议,为不同网络层协议建立和配置逻辑连接;
一个将IP数据报封装到串行链路的方法。
PPP帧格式
组成:标志F -> 地址A -> 控制C -> 协议 -> 数据信息 -> FCS -> 标志F
标志F:7E(01111110),若出现在数据信息中,要采用 字符填充法,使用控制转义字符7D(01111101).
FCFS:校验部分包括地址、控制、协议、信息.
3.7.2 HDLC协议
协议简介
面向比特的协议;
只支持全双工通信;
信息帧使用了编号和确认机制,能够提供可靠传输.
3种站类型
主站:发出的帧是命令帧,控制链路操作;
从站:发出的帧是响应帧,受控于主站而进行操作;
复合站:既有主站功能又有从站功能.
两种基本配置
非平衡配置:由一个主站控制整个链路的工作.
平衡配置:链路两端的站都是复合站,各个复合站可以平等的发起数据传输,而不需要得到对方的允许.
三种数据操作方式
正常响应方式:非平衡结构,主站向从站发送数据,从站响应传输,但只有收到主站的允许后才可以响应;
异步平衡方式:平衡结构,每个复合站都可以进行对另一站的数据传输;
异步响应方式:非平衡结构,从站即使未收到主站的允许也可以进行传输.
HDLC帧格式
组成:标志F -> 地址A -> 控制C -> 数据信息 -> FCS -> 标志F
标志F:7E(01111110),在传输的数据中可能会含有和标志字段相同的字段,而导致接收端误以为数据传输结束,为了防止这种情况的发生,引入了 位填充技术。
透明传输区间:采用比特填充法,包括地址、控制、信息、FCS.
FCFS:校验部分包括地址、控制、信息.
HDLC分为三类(根据控制字段划分)
信息帧:进行数据传输/采用捎带技术对数据信息确认;
监督帧:用于流量控制和差错控制;
无编号帧:用于对链路进行建立、拆除等控制功能.
3.8 数据链路层设备
设备
网桥
交换机:一个多端口的网桥
网桥的基本特点:
网桥在数据链路层上实现 不同局域网互连;
网桥能够互连两个采用 不同数据链路协议、不同传输介质、不同传输速率的网络;
网桥必须具备 寻址和路径选择的能力;
网桥需要互连的网络 在数据链路层及以上采用相同的协议;
网桥 可以分隔冲突域,不可以分割广播域。
网桥分类(根据路径选择算法不同)
透明网桥(选择的不是最佳路由)
源路由网桥(最佳网桥)
局域网交换机(以太网交换机)
原理:以太网交换机检测从以太端口来的数据帧的源和目的地的MAC地址,然后与系统内部的动态查找表进行比较,若数据帧的MAC地址不在查找表里,则将该地址加入查找表,并将数据帧发送给相应的数据端口.
特点:
以太网的每个端口都与单台计算机直接相连,并且一般都工作在全双工方式下;
以太网可以同时连接许多对端口,使得每对相互通信的主机都能像独占传输媒体一样,无碰撞的传输数据;
以太网交换机采用即插即用的方式,其内部的查找表也是通过自学习算法动态建立起来的.
虚拟局域网(VLAN):利用以太网交换机可以实现VLAN,VLAN可以分隔冲突域和广播域.
两种交换模式:直通式、存储转发式
第4章 网络层
4.1 功能
异构网络互联。中继系统:路由器
路由选择与分组转发。由路由选择算法构造路由表,选择最佳路由转发
拥塞控制:网络吞吐量随着网络负载的增大而下降。全局性问题,采用开环控制(静态)或闭环控制(动态)两种方法。
4.2 路由算法
静态路由算法:网络发生变化时,网络管理员手工配置信息.
动态路由算法:路由器上的路由表项由相互连接的路由器之间彼此交换信息,动态更新,以适应变化的网络。
动态路由算法可分为:距离-向量路由算法(D-V算法)、链路状态路由算法(L-S算法).
距离-向量路由算法
原理:所有结点定期地将它们的 整个路由表传送给所有与之 直接相邻的结点.
路由表项包括:每条路径的目的地、距离.
路由表项需要更新的情况:1.当新路由不存在当前结点的路由表中;2.新路由比当前使用的路由距离更小时.
链路状态路由算法
原理:采用洪泛法向 所有的路由器发送信息,发送的信息是 与路由器相邻的所有路由器的链路状态.
路由表项需要更新的情况:只有当链路状态发生变化时才更新.
4.3 层次路由
原理:将互联网分成若干个自治系统(AS),每个自治系统决定内部协议.
路由选择协议分为两大类:内部网关协议(IGP)、外部网关协议(EGP).
4.4 IPv4
分组格式
版本:4或6;
首部长度:单位为4B,固定首部为20B,最大值为60B;
总长度:单位为1B,数据报的最大长度为216-1(65535)B,以太网的MTU为1500B;
标识:计数器,每产生一个数据报就加1;
标志:MF=1表示后面还要分片,MF=0表示后面没有分片;DF=0表示允许分片,DF=1表示不允许;
片偏移:单位为8B,某片在原分组中的相对位置;
首部校验和:只校验分组的首部,而不校验数据部分;
生存时间TTL:路由器在转发分组前先将TTL减1,若TTL被减为0,则必须丢弃该分组;
协议:指出此分组携带的数据使用何种协议。TCP为6,UDP为17;
源地址字段、目的地址字段:4B.
IP数据报分片
中间路由分片,目的主机重组(使用IP首部中的标识、标志、片偏移进行重组)
网络地址转换NAT
工作在传输层,实现专用网络和公用网络之间的信息交换。它使得整个专用网络只需要一个全球IP地址就可以与因特网进行通信,由于专用网本地IP地址是可重用的,故大大节省了IP地址的消耗.
子网划分
引入目的:二级IP地址的空间利用率很低,而且不够灵活.
IP地址结构:网络号、子网号、主机号.
注意:
CIDR的子网号为全0或全1可以使用
不论是IPv4还是CIDR,子网中主机号为全0或全1的地址都不能被指派.
子网掩码
进行子网划分时,用子网掩码来表达对原网络中主机号的借位.
无分类域间路由选择(CIDR)
引入目的:在变长子网掩码的基础上,提出一种消除传统A、B、C类网络划分,实现超网构造的一种IP地址划分方法.
IP地址结构:网络前缀、主机号.
路由聚合:把网络前缀相等的连续IP地址组合成CIDR地址块。这样可以减小路由器中的路由表大小,有利于减小路由器之间的路由选择信息的交换,提高路由转发能力和网络性能.
优点:网络前缀长度较灵活。上层网络的前缀长度较短,相应的路由表项较少,而内部又可采用延长网络前缀的方法来灵活划分子网.
协议
ARP:
地址解析协议,网络层协议,实现IP地址到MAC地址的映射。
工作原理:
主机A向主机B发送IP数据报,先在A的ARP高速缓存中查看是否有B主机的IP地址,若有,则查出对应的硬件地址,再将此地址写入MAC帧中;若没有,则以广播的方式发送给该局域网中的全部主机,主机B收到请求后作出响应,发出响应ARP分组,分组中包含主机B的IP到MAC地址的映射关系,主机A收到后再写入ARP缓存中。
面试题考点:ARP协议的工作原理
DHCP:
动态主机配置协议,应用层协议,基于UDP,使用C/S工作方式
工作原理:
需要IP地址的主机启动时向DHCP服务器广播发送发现报文,这是该主机就成为DHCP客户,本地网络上的所有主机都能收到此广播报文,但只有DHCP服务器才可以回答此广播报文(回答报文称为提供报文),并进行相应的分配操作.
ICMP:
网际控制报文协议,IP层协议,ICMP作为IP数据报的数据
工作原理:为了提高IP数据报交付成功的机会,让主机或路由器报告差错和异常情况.
两类:ICMP差错报告报文、ICMP询问报文
ICMP差错报告报文:用于路径上的路由器向源主机报告差错和异常情况,共有5种类型:终点不可达,源点抑制,超时,参数问题,重定向.
4.5 IPv6
解决IP地址耗尽的主要措施
采用无类别编制CIDR,使IP地址分配更加合理;
采用网络地址转换NAT,以节省全球IP地址;
采用具有更大地址空间的IPv6.(从根本上解决了IP地址耗尽的问题)
IPv6主要特点(与IPv4的区别)
地址空间从32位增加到128位;
首部固定为40B,灵活的首部格式:扩展首部;
支持即插即用(自动配置),无需DHCP;
IPv6无允许分片;
IPv6首部长度单位为8B,IPv4是4B.
IPv4向IPv6的过渡技术
双协议栈:在完全过渡到IPv6之前,使一部分主机或路由器装有两个协议栈,通过双协议栈进行转换;
隧道技术:将整个IPv6数据报封装到IPv4数据报的数据部分,使得IPv6数据报可以在IPv4网络中传输.
4.6 路由协议
域内路由和域间路由
内部网关协议:RIP、OFSP
外部网关协议:BGP
RIP
规定:
一条路径最多只能包含15个路由器,距离等于16时表示网络不可达;
不支持变长子网掩码和CIDR.
特点:
和谁交换?仅和相邻路由器交换信息
交换什么?交换自己的整个路由表;
多久交换?每隔30秒.
优点:实现简单,开销小,收敛快
缺点:
限制了网络规模,最大距离为15;
每次交换整个路由表,网络规模越大,开销越大;
存在“坏消息传的慢”的现象
OSFP
规定:
支持变长子网掩码和CIDR.
特点:
和谁交换?和所以路由器交换信息
交换什么?和本路由器相邻的所有路由器的链路状态;
多久交换?只有当链路状态发生变化时.
面试题考点:常见的路由选择协议,以及它们的区别
BGP
应用层协议,基于TCP,采用的是路径向量路由选择协议。
只能力求寻找一条能够到达目的网络比较好的路由.
4.7 IP组播
组播的概念
组播机制是让源主机一次发送的单个分组可以抵达由一个组播地址标识的若干目的主机,并被他们正确接受.
注意:
组播仅用于 UDP;
组播地址使用 D类地址格式;
能够运行组播的路由器称为 组播路由器;
主机组播时仅发送一份数据,只有数据在传送到 分岔路径上时才将 分组复制后继续转发;
主机可以选择加入或离开一个组,故一台主机可以同时属于多个组;
主机使用因特网组管理协议(IGMP)管理组播路由器.
4.8 移动IP
移动IP技术
移动结点以固定的IP地址实现跨越不同网段的漫游功能,并保证网络权限在漫游过程中不发生任何改变.
三种功能实体
移动结点:具有永久IP地址的移动结点;
归属代理(本地代理):一个移动结点的永久居所叫“归属网络”,在归属网络中代表移动结点执行移动功能管理功能的实体称为“归属代理”;
外部代理:在外部网络中帮助移动结点完成移动管理功能的实体.
两种IP地址
主地址:移动主机在本地网时,使用的是主地址;
辅地址:移动结点到另一个网络时,需要获得一个临时的辅地址.
移动IP通信过程
在移动IP中,每个移动结点都有一个唯一的本地地址,当移动结点移动时,它的本地地址是不变的。当移动结点在本地网时,按传统TCP/IP方法进行通信,当移动结点移动到外地网络时,移动结点需要向的本地代理注册当前的位置地址,即: 转交地址,然后本地代理会采用隧道技术将截获到的属于该移动结点的IP分组通过隧道传送到该转交地址处,在转交地址处解除隧道封装,回复原始IP分组,最后送到移动结点.
:
4.9 网络层设备
设备
路由器:一种具有多个输入输出端口的专用计算机.
路由器的任务
连接的不同的网络,完成路由转发
路由器的工作原理
当源主机要向目的主机发送数据报时,路由器首先检查源主机和目的主机是否在同一个网络上,如果在,则直接交付无须通过路由器,如果不在,则路由表按照转发表指出路由器将要转发的下一个路由器。
注意
如果一个存储转发设备实现了某个层次的功能,那么它就可以互联在该层次上使用不同协议的网段。路由器实现了网络层、数据链路层、物理层,那么它就可以互联两个网络层、数据链路层和物理层不同的网段。但中继器不可以互联两个物理层不同的网段,因为中继器是直通式设备,不是存储转发式.
路由器的组成
控制部分:路由选择处理机(根据路由选择协议构造路由表)
分组转发部分:交换结构(关键)、一组输入/输出端口
路由器的任务
连接的不同的网络,完成路由转发
路由器的任务
连接的不同的网络,完成路由转发
路由表
标准的路由表有4个项目:目的网络IP地址、子网掩码、下一跳IP地址、接口
路由表示根据路由算法得出的,主要用途是路由选择.
第5章 传输层
5.1 传输层提供的服务
5.1.1 功能
(注意与网络层的区别)
提供不同主机应用进程之间可靠的端到端逻辑通信;而网络层提供的是不同主机之间不可靠的通信;
复用和分用。复用指发送方不同的应用进程都可使用同一个传输层协议传输数据;分用是指接受方的传输层在剥去报文的首部后能把这些数据正确交付给目的应用进程;
差错检验(报文首部和数据部分);而网络层只检查IP数据报的首部;
提供两种不同的传输协议:TCP和UDP;而网络层无法同时提供两种协议.
5.1.2 寻址与端口
端口的作用
用来标识主机中的应用进程;
传输层的SAP:端口;网络层的SAP:IP地址;数据链路层的SAP:MAC地址
路由器和交换机是硬件端口,传输层采用的是软件端口.
端口号
服务端使用的端口号:熟知端口号(0-1023/指派给TCP/IP的重要应用程序)、登记端口号(1024-49151);
客户端使用的端口号:仅在客户进程运行时才动态选择(49152-65535).
套接字
网络中采用发送方和接收方的套接字组合来识别端点,套接字可 唯一的标识一台主机和其上的一个进程.
5.2 UDP协议
UDP协议的概述
UDP只是做了传输协议能够做的最少工作,仅在IP的数据报服务上增加了两个最基本服务:复用和分用、差错控制.
UCP协议的特点
无须建立连接。不会引人建立连接的时延,实时性更好;
无连接状态。不用维护连接状态也不用跟踪参数;
分组首部开销小。TCP首部占20B,UDP仅占8B;
没有拥塞控制。更能满足实时应用的需求;
尽最大努力交付,但不保证可靠交付;
是面向报文的。一次性交付一个完整报文,报文不分割,是UDP数据报处理的最小单位.
UDP的数据报格式
UDP首部和用户数据组成。首部占8B,由4个字段组成:
源端口(2B,可选,不需要时全0)、目的端口(2B,必选)、UDP长度(2B)、UDP校验和(2B).
UDP的校验
12B伪首部
二进制反码运算求和再取反
面试题考点: TCP与UDP的区别是什么?
5.3 TCP协议
TCP协议的特点
面向连接
提供可靠交付的服务;
提供全双工通信;
面向字节流.
TCP报文段
TCP报文段由TCP首部和TCP数据组成
固定首部为20B,通常为4B的倍数
重点字段:seq序号字段,ack确认号字段,ACK确认位字段,SYN同步位字段,FIN终止字段
TCP连接管理
TCP连接采用C/S方式,共三个的阶段:连接建立、数据传送、连接释放
TCP连接的端点为套接字;
每条TCP连接 唯一的被通信两端的两个套接字确定;
TCP连接的建立:三次握手
step1:客户机的TCP首先向服务器的TCP发送一个报文段。(报文段中,SYN=1,seq=x)
step2:服务器的TCP收到连接请求报文段后,如同意连接,就向客户机发回确认报文段,并为该TCP连接分配TCP缓存和变量。
(确认报文段中,SYN=1,seq=y,ACK=1,ack=x+1)
step3:当客户机收到确认报文段后,还要向服务器给出确认,并且也要给该连接分配缓存和变量。
(确认报文段中,ACK=1,seq=x+1,ack=y+1)
TCP连接的释放:四次握手
step1:客户机打算关闭连接时,向其TCP发送一个连接释放报文段,并停止发送数据,主动关闭TCP连接。
(FIN=1,seq=u)
step2:服务器收到连接释放报文段后即发出确认。此时TCP连接处于半关闭状态,若服务器要向客户机发送数据,客户机仍要接受。
(ACK=1,seq=v,ack=u+1)
step3:若服务器已经没有要发送的数据,就通知TCP释放连接。
(FIN=1,ACK=1,seq=w,ack=u+1)
step4:客户机收到连接释放报文段后,必须发出确认。
(ACK=1,seq=u+1,ack=w+1)
面试题考点:TCP三次握手和四次挥手的全过程
TCP可靠传输
使用机制: 校验、序号、确认、重传
校验:TCP的校验机制和UDP相同;
序号:TCP首部的序号字段用来保证数据能有序提交到应用层(只保证有序发送,不保证有序到达);
确认:TCP采用累积确认,确认号是期望收到对方下一个报文段的数据的第一个字节的序号;
重传:
导致TCP重传的两种事件: 超时和 冗余ACK
超时:TCP每发送一个报文就要设置一个计时器,计时器设置的重传时间到期但还未收到确认时,就要重传这一报文段;
冗余ACK:每当比期望序号大的失序报文段到达时,就发送一个冗余ACK,指明下一个期待的字节的序号。如:A发送了1、2、3、4、5,但是2丢失,于是在3、4和5到达时,B就连续发送3个对1的冗余ACK,表示自己期望收到2号报文段,当发送方连续收到3个对同一个报文段的冗余ACK,就可以知道在该报文段(1号)后的报文段(2号)已经丢失.
面试题考点:TCP的可靠性如何保证?
TCP流量控制
提供一种基于滑动窗口机制的流量控制协议。(与数据链路层流量控制的区别是:滑动窗口大小可以动态变化)
原理
接受方:根据自己接受缓存的大小,动态的调整发送方的发送窗口大小,这称为接受窗口(rwnd),即调整TCP报文段首部中的窗口字段值。
发送方:根据其对当前网络拥塞程度的估计而确定的窗口值,这称为拥塞窗口(cwnd)。
发送窗口的上限 = min[ rwnd,cwnd ]
TCP拥塞控制
发送方如何维护拥塞窗口呢?
慢重传和拥塞避免、快重传和快恢复
慢开始和拥塞避免算法
基本术语:最大报文长度MSS、慢开始门限ssthresh
实现原理(举例):
初始时,cwnd=1,ssthresh=16;慢开始阶段,cwnd=1,每经过一个RTT,cwnd呈指数增长;
cwnd增长到ssthresh时(cwnd=16),改用拥塞避免算法,cwnd每经过一个RTT就增加一个MSS的大小,呈线性增长;
若cwnd=24时网络发送拥塞(检测到超时),ssthresh减为cwnd的一半为12,cwnd重置1,并执行慢开始算法,当cwnd=12时采用拥塞避免算法.
快重传和快恢复
使用情况:当发送方收到三个冗余ACK时,直接重传对方尚未收到的报文段,而不必等待其计时器超时.
实现原理:
发送端收到连续三个冗余ACK时,ssthresh置为出现拥塞时cwnd的一半,cwnd置为ssthresh改变后的值,然后执行拥塞避免算法.
第6章 应用层
网络应用模型
客户机/服务器模型(C/S模型)
P2P模型
C/S模型::Web、FTP、远程登录、电子邮件
客户程序必须知道服务器程序的地址,服务器程序不需要知道客户机程序的地址;
网络中计算机地位不平等;
客户机之间不直接通信;
服务器的性能好坏决定了整个系统的性能.
P2P模型
消除了对某个服务器的完全依赖;
多个客户机之间可以直接共享文档;
网络中各个计算机为对等方.
6.1 DNS
域名解析协议:采用UDP,53号端口
作用:将域名转换为IP地址(一个域名只能对应一个IP地址,一个IP地址可以对应多个域名),能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的地址串。
域名服务器分类:根域名、顶级域名、授权域名、本地域名
域名解析过程:递归(靠别人)、递归和迭代(靠自己)
www.abc.com:com为一级域名,abc为二级域名,www为三级域名
6.2 FTP
FTP:采用TCP,2种端口(21号、20号)
作用:允许用户在因特网上存取文件
端口:控制连接为21号,数据连接为20号
(控制连接会话期间始终保持,数据连接仅在传输数据时打开一会)
6.3 电子邮件
组成构件
用户代理、邮件服务器、电子邮件使用协议(SMTP、POP3)
协议
SMTP(发送时):采用TCP,25号端口
POP3(接收时):采用TCP,110号端口
6.4 万维网和HTTP协议
万维网
URL:负责唯一标识万维网上各种文档资源,一般格式<协议://主机:端口/路径>;
HTTP:使用TCP连接进行可靠传输,是客户程序和服务器程序交互的协议;
HTML:一种文档结构标记语言.
HTTP
特点:无状态连接(通常使用Cookie跟踪用户的活动,Cookie由服务器产生,存储在用户主机中);
连接方式:非持久连接、持久连接;
报文结构:请求报文(客户发给服务器)、响应报文(服务器回答给客户)
感觉HTTP这块在面试时出题比较灵活,大家还是认真看一看这个知识点,分享一个讲的比较全的博文(虽然我没怎么看懂o(╥﹏╥)o,但肯定是我的问题):关于HTTP协议,一篇就够了=
其他重点面试题
1.描述一下在浏览器中输入www.baidu.com后执行的全部过程
答:
简单版:
浏览器获取输入的域名www.baidu.com
浏览器向域名系统DNS请求解析www.baidu.com的IP地址
DNS解析出百度服务器的IP地址
浏览器与服务器建立TCP连接(默认端口80)
浏览器发出HTTP请求,请求百度首页
服务器通过HTTP请求把首页文件发给浏览器
TCP连接释放
浏览器解析首页文件,展示web界面
1
2
3
4
5
6
7
8
9
详细版:参考这篇博文:在浏览器中输入www.baidu.com后执行的全部过程
2.HTTP协议包括哪些请求?
答:
GET:请求读取由URL所标志的信息。
POST:给服务器添加信息(如注释)。
PUT:在给定的URL下存储一个文档。
DELETE:请求服务器删除指定的页面。
1
2
3
4
3.HTTP中,POST与GET的区别
答:
Get是从服务器上获取数据,Post是向服务器传送数据
GET提交的数据会放在URL之后. POST方法是把提交的数据放在HTTP包的Body中;
GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制;
GET方式和POST方式获取变量的值的方式不同;
GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码.
1
2
3
4
5
4.点对点协议和端到端工作在哪层?工作机制是什么?
答:
网络层及以下各层采用点到点传输,网络层以上采用端到端传输。
1
端到端与点到点是针对网络中传输的两端设备间的关系而言的。
端到端传输:指的是在数据传输前,经过各种各样的交换设备,但对两端设备来说就像它们是直接相连的一样,链路建立后,发送端就可以发送数据,直至数据发送完毕,接收端确认接收成功。
优点:发送端不需要知道整个传输过程,只需要知道自己要传给谁;
缺点:直到接收端收到数据为止,发送端的设备一直要参与传输。
点到点传输:指的是发送端把数据传给与它直接相连的设备,这台设备在合适的时候又把数据传给与之直接相连的下一台设备,通过一台一台直接相连的设备,把数据传到接收端。
优点:发送端设备送出数据后,它的任务已经完成,不需要参与整个传输过程;
缺点:发送端发出数据后,不知道接收端能否收到或何时能收到数据。
1
2
3
4
5
6
7
8
5.IP组播有那些好处?
答:
Internet上产生的许多新的应用,特别是高带宽的多媒体应用,带来了带宽的急剧消耗和网络拥挤问题。
组播是一种允许一个或多个发送者发送单一的数据包到多个接收者(一次的,同时的)的网络技术。
组播可以大大的节省网络带宽,因为无论有多少个目标地址,在整个网络的任何一条链路上只传送单一的数据包。所以说组播技术的核心就是针对