- 学习计算机网络过程中遇到的一些问题及解答,解答大多是自己的理解,若有错误还望各位大佬指正
计算机网络疑难问题理解
计算机体系结构
计算机网络是什么?
- 广义观点:计算机通信网络
- 用通信线路将多个计算机连接起来的计算机系统的集合,以传输信息为主要目的;
- 资源共享观点:资源共享系统
- 分布在不同地理位置上的具有自治功能的多台计算机、终端及其附属设备在物理上互连,按照网络协议相互通信,以共享硬件、软件和数据资源以及协同计算为目标的系统;
- 分布在不同地理位置的多台独立的“自治计算机”;
- 联网计算机之间通信必须遵循特定的网络协议;
- 主要目的:资源共享与协同计算;
- 分布在不同地理位置上的具有自治功能的多台计算机、终端及其附属设备在物理上互连,按照网络协议相互通信,以共享硬件、软件和数据资源以及协同计算为目标的系统;
- 用户透明观点:分布式系统
- 利用网络操作系统为用户提供网络资源管理服务,整个网络像一个大的计算机系统一样对用户提供透明服务;
新型网络的基本特点
- 网络能够连接不同类型的计算机,不局限于单一类型的计算机;
- 用于计算机之间的数据传送;
- 所有的网络结点同等重要,因而大大提高网络的生存性;
- 计算机在进行通信时,必须有冗余的路由;
- 网络结构尽可能简单,复杂性交给端系统计算机处理;
星型、环形、总线型网络中各自采用什么方法实现广播传播?
- 星型网络通过中间结点发来的数据同时传送给其他结点;
- 环形通过发送数据帧,数据帧遍历各个结点,最后由发送方将数据帧从环上取下;
- 总线依赖与信号沿着总线向两端传播的基本特征实现“广播式”传播;
IOS/OSI中层次结构及功能
- 物理层:完成0/1比特流在物理介质上传输;
- 数据链路层:传输单位是帧,将不可靠物理链路变为可靠数据链路,提供点到点通信;
- 网络层:提供路由选择、拥塞控制、差错控制及网络互联功能,将网络层的数据单元从远端发送到目的端;
- 传输层:负责两个进程之间的通信,提供面向连接或者无连接的服务;
- 会话层:为进程间会话提供建立、维护、终止连接功能;
- 表示层:协商应用层程序间交互数据格式;
- 应用层:为网络应用提供协议支持和服务;
线路时延与线路利用率之间是否有关?
- 网络延迟与网络利用率之间关系?
- 完全空闲的线路利用率是零;
- 网络利用率指网络中所有线路利用率的加权平均值;
- 当信道的利用率增大时,引起的网络时延也就迅速增加;
计算机网络体系结构采用分层设计思想,有什么好处?
- 问题简单化
- 分解为若干个相对独立子系统(模块、实体),降低了问题复杂度,易实现和维护;
- 灵活性好
- 各层之间相对独立,上层不需要知道下层实现,每层可采用合适的技术;
- 可通过层间接口使用下层提供的服务;
- 只要接口规范不变,某一层的变化对其他层不会产生影响;
- 促进标准化工作
- 每层所提供的功能(服务)有精确定义。
注意
- 层数多少要适当
- 若层数太少,每一层的协议仍旧复杂;
- 若层数太多,系统集成复杂,有些层难适应实际需求(空、重复);
物理层
数据链路层差错控制方法
- 分两类:自动重传请求ARQ和向前纠错FEC
- 差错控制编码可分为:
- 检错编码-奇偶校验码和循环冗余校验CRC
- 纠错编码-海明码
面向连接和无连接在路由选择上有什么差别?
- 面向连接的通信在建立连接阶段通过使用路由表建立一个路径转发表,连接建立好之后,不再使用路由器,而使用路径转发表;
- 无连接的通信,在每个数据报达到路由器时,都要进行路由选择,然后进行转发;
电路交换、报文交换、分组交换
- 电路交换:交换过程中,用户始终占用端到端的固定传输带宽;
- 优点:通信时延小,有序传输,没有冲突,适用范围广,发送大量数据效率高;
- 缺点:建立时间长,线路独占使用率低,灵活性差;
- 报文交换:数据交换的单位是报文,在交换结点采用存储转发的传输方式;
- 优点:无需建立连接,动态分配线路,线路可靠性和利用率高;
- 缺点:易产生转发时延,要求网络结点由较大的缓存空间;
- 分组交换:同报文交换一样采用存储转发的传输方式,限制传输数据块上限;
- 优点:具有报文交换的特点,且各分组小,路由灵活;
- 缺点:存在传输时延,需要传输额外信息;
数据报和虚电路
数据报 | 虚电路 | |
连接的建立 | 不需要 | 需要 |
目的地址 | 每个分组有完整的地址 | 仅在建立连接时使用,之后采用虚电路号 |
路由选择 | 每个分组独立进行路由选择和分组转发 | 同一条虚电路的分组按同一路由转发 |
分组顺序 | 不保证分组的有序到达 | 保证分组有序到达 |
可靠性 | 不保证可靠性,由用户主机保证可靠性 | 可靠性由网络保证 |
对网络故障适应性 | 故障结点丢失分组,其他分组路径选择变化,可正常传输 | 经过故障结点的虚电路均不能正常工作 |
差错处理和流量控制 | 由用户主机进行流量控制,不保证数据报的可靠性 | 可由分组交换网负责,也可由用户主机负责 |
拥塞控制与流量控制的不同
- 拥塞控制用于保证网络通常传送数据,涉及网络所有与之有关的主机和路由转发,是一种全局的控制措施-慢开始、拥塞避免、快重传、快恢复;
- 流量控制只涉及发送端和接收端之间的点到点的流量控制行为,主要用于保证发送速率与接收端的缓冲容量相匹配,以防止接收端缓冲区不足发生的数据丢失;
数据链路层
无线网与有线网的区别
- 在组网和应用方式上没有差别,仅仅是断电与断电,节点与节点间连接传输媒介不同;
- 所有能用有线的方式,无线也可以,仅仅是网络性能差异;
- 无线网适用于无法布线或者经常变更布线或复杂的网络中;
CSMA/CD与CSMA/CA的区别
- CSMA/CD可以检测,但无法“避免”,CSMA/CA发送时不能检测信道有无冲突,本结点上无冲突不代表接受结点无冲突;
- 传输介质不同,CSMA/CD用于总线以太网,CSMA/CA用于无线局域网;
- 检测方式不同,CSMA/CD通过电缆中电压变化来检测,CSMA/CA采用能量检测,载波检测和能量混合检测;
在WLAN中,为什么不能用CSMA/CD?简述CSMA/CA
- WLAN不能使用CSMA/CD
- CSMA/CD协议要求每一个站点在发送本站数据的同时,还必须不间断的检测信道,但在无线局域网的设备中实现这种功能就会花费很大;
- 即使能够实现碰撞检测功能,而且在发送数据时检测到信道是空闲的,在接收端仍然有可能碰撞;
- 接收端接收到的信号的强度往往会远小于发送信号的强度,且在无限介质上信号的强度往往会变化很广,要实现碰撞检测,硬件花费过大;
- 在无线局域网中,并非所有节点都能听见对方,即“隐蔽站”问题;
- 在无线局域网中,允许两个或多个结点同时将数据发送到信道上进行传输,前提是彼此之间不发生冲突,而CSMA/CD会时刻检测信道,不允许在信道忙碌是发送数据,尽管此时数据的发送不会造成冲突,即“暴露站”问题;
- 简述CSMA/CA
- 先进性载波检测,只有信道空闲才允许发送;
- 发送结点先发送RTS控制帧;
- 接收点收到RTS帧后,回应CTS响应;
- 发送方收到CTS帧后,启动时间片,发送数据;
- 接收方收到一个数据帧后,进行检查,无误后,发送ACK确认;
给出CSMA/CD介质访问控制协议发送和接收过程
- 发送过程
- 接收过程
CSMA/CD为何会发生冲突?采用何种方式解决冲突?
- 多个发送方同时检测介质,并且发送数据,因而产生冲突;
- 冲突发生后,发送方各自延迟随机时间,再争用介质,采用二进制指数退避算法;
CSMA/CD为何会有帧碎片,如何滤除帧碎片?
- 冲突后产生帧碎片,当数据帧长度小于最小帧长度-64字节限制时,将碎片丢弃;
简述CSMA/CD与二进制指数退避算法
- 简述CSMA/CD
- 发送端:
- 发送前线监听信道,若空闲则发送数据;若信道忙则等待信道直至空闲再发送数据;
- 在传输工程中,发送结点还要检测其它结点的能量信号,若传输了整个数据帧而没有检测到其他信号,则完成传输;若检测到来自其他结点的信号,则停止传输;
- 在中止后,采用阶段二进制指数退避算法等待一点时间后执行2;
- 接收端:
- 滤除因冲突产生的帧碎片;
- 检查目的字段地址是否与本结点地址匹配;地址匹配分两种情况:单地址-必须完全匹配,组地址或广播地址-最优匹配,因为MAC层没能力处理这两种,需先接受上交上层处理;
- 对帧进行CRC检查;
- 对帧进行长度检查,即首帧必须是8位的整数倍;
- 保留有效的数据帧,去掉帧首帧尾,上交LLC层;
- 发送端:
- 二进制指数退避算法
- 将冲突发生后的时间划分为2t的时隙;
- 发生第一次冲突后,各站点等待0或1个时隙再开始重传;
- 发生第二次冲突后,各站点随机等待0、1、2或3个时隙再开始重传;
- 第i次冲突后,在0~2i-1间随机选择一个等待时隙,再开始重传;
- 10次冲突后,选择等待的时隙固定在0~1023间;
- 16次冲突后,发送失败,向上层报告;
网络层
在动态路由选择算法中,路由表如何更新?
- DVR:相邻路由表交换信息,使路由表总是反映最新动态变化情况;
- LSR:通过发送echo分组测算估计值,然后分组可以周期性发送,也可以在网络发生重大事件时发送,链路状态以软件状态保存在路由表中;
- DVR-告诉相邻
- LSR-告诉所有
解释子网掩码
- 子网掩码是一个与IP地址相对应的长32bit的二进制串,由一串1和一串0组成,其中1对应IP地址中的网络号和子网号,而0对应于主机号,计算机只需将IP地址与其对应的子网掩码按位相“与”就能得出其子网的网络地址;
具有三层交换机功能的交换机可以作为路由器连接WLAN吗?
- 不能,第三层交换机是一种简化路由器,由于各个子网之间的互连,一般不提供广域网接口,不能用于WLAN和LAN之间的互连;
请比较三层交换机和路由器的工作差别
- 三层交换机是一种简化的路由器,主要功能是数据交换,路由功能较简单,主要用于局域网连接;
- 路由器的主要功能是路由功能,用于不同类型网络之间的互联;
- 路由器和三层交互那几在数据报交换操作上存在明显区别,路由器一般基于微处理器的软件路由引擎执行数据报交换,而三层交换机通过硬件执行数据报交换;
什么是虚拟网?两个虚拟网如何通信?
- 建立在交换机基础上的逻辑网络,使用管理软件可以在同一物理网络上划分多个不同的VLAN,每个VLAN构成一个广播域,将数据流限制在该广播域内的各个网段上;
IPv4到IPv6的过渡技术
- 采用双协议栈和隧道技术:
- 双协议栈是指在完全过渡到IPv6之前,是一部分主机或路由器装有两个协议栈,一个IPv4一个IPv6,通过双协议栈进行转换;
- 隧道技术时间整个IPv6数据报封装到IPv4数据报中,可将IPv6数据报在IPv4网络中传输;
以太网交换机有何特点?用它怎样组成虚拟局域网?
- 以太网交换机为数据链路层设备,可实现透明交换;
- 虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,这些网段具有某些共同的需求,虚拟局域网协议允许在以太网的帧格式中插入一个4字节的标识符,称为VLAN标记,用来指明发送该帧的工作站属于哪一个虚拟局域网;
传输层
TCP为何使用三次握手?
- 延迟的重复CR分组时传输层特殊的问题,因此TCP必须解决此问题,以保证数据交换的可能性和安全性;
TCP和UDP有何异同?
- UDP建立在IP协议基础上,提供了与IP协议相同的不可靠、无连接服务,UDP协议不使用确认信息对报文的到达进行确认,他不能保证报文到达的顺序,也不能向源端反馈信息来进行流量控制,因而会出现报文丢失等现象;
- TCP协议时TCP/IP协议族中最重要的协议之一,它提供了面向连接的数据流传输服务,TCP肯定将数据传送出去,并且在目的主机上的应用程序能以正确的顺序接收数据,相反UDP却不能保证数据的可靠性传送,也不能保证数据以正确顺序到达目的地;
TCP/IP,OSI两种模型的异同?
- 相同:
- 两者均分层,OSI七层,TCP/IP四层;
- 都可以解决异构互联问题;
- 不同:
- OSI定义了服务、协议、接口;
- OSI先有模型后有协议,TCP/IP先有协议后有模型;
- OSI网络层支持无连接和面向连接的通信,但传输层仅有面向连接的通信,而TCP/IP在网络层仅有无连接的通信模式,但在传输层无连接和面向连接两种模式;
- TCP/IP最初考虑多种异构网的互联问题,并将IP作为一个单独重要层次,OSI最初只考虑一种标准公用数据网络将各种不同网络互联,后来,OSI只好在网络层划分出一个子层完成IP功能;
应用层
IP、ARP、RARP、ICMP
- IP协议:实现网络互连,使参与互连的性能各异的网络从用户看起来好像是一个统一的网络,网际协议IP是TCP/IP体系中两个最主要的协议之一,与IP协议配套使用的还有四个协议;
- ARP协议:是解决同一局域网上的主机或路由器的IP地址和硬件地址的映射问题;
- RARP协议:是解决同一局域网上的主机或路由器的硬件地址和IP地址的映射关系;
- ICMP:提供差错报告和询问报文,以提高IP数据交付成功的机会,因特网组管理协议IGMP用于探寻、转发本局域网内的组成员关系;
一个例子
- 一名学生希望访问www.google.com.输入http:\www.google.com并回车,google首页显示在浏览器中,问:
- 此过程中TCP/IP,从应用层到网络接口层用到了哪些协议?
- 描述此过程
- 回答:
1.
- 应用层:HTTP:www访问协议,DNS域名解析;
- 传输层:TCP:客户和服务器之间的连接,提供可靠数据传输;
- 网络层:IP:路由选择,ICMP:差错检测,ARP:将IP映射成MAC地址;
- 网络接口层:LLC和MAC:提供数据链路层功能,实现可靠数据链路;
2.
- 利用DNS,查询www.google.com对应的IP地址;
- 浏览器与google服务器建立TCP协议的连接;
- 浏览器利用GET向服务器发送资源请求;
- google发送回应信息;
- 浏览器解释回应信息,并图像化;