南航计算机网络考点及答案 .doc
1. TCP/IP与OSI模型的区别及特点(分几层)?O S I模型将网络结构划分为七层:即物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。TCP/IP这个协议遵守一个四层的模型概念:应用层、传输层、互联层和网络、接口层。 TCP/IP没有对网络接口层进行细分;OSI先有分层模型,后有协议规范;OSI对服务和协议做了明确的区别,而TCP/IP没有充分明确区分服务和协议。2. 网络为什么分层?分层通信本质问题。分层理由将网络的通信过程划分为小一些、简单一些的部件,因此有助于各个部件的开发、设计和故 障排除。·通过网络组件的标准化,允许多个供应商进行开发。·通过定义在模型的每一层实现什么功能,鼓励产业的标准化。·允许各种类型的网络硬件和软件相互通信。·防止对某一层所做的改动影响到其他的层,这样就有利于开发。分层优点把网络操作分成复杂性较低的单元,结构清晰,易于实现和维护定义并提供了具有兼容性的标准接口使设计人员能专心设计和开发所关心的功能模块独立性强上层只需了解下层通过层间接口提供什么服务黑箱方法适应性强只要服务和接口不变,层内实现方法可任意改变一个区域网络的变化不会影响另外一个区域的网络,因此每个区域的网络可单独升级或改造多层通信的实质通信虚电路:通信是在同层之间进行,第N层只能与对方的第N层通信通信实电路:每一层将数据和控制信息传送给下一层,直至最底层,通过物理介质进行实际的传输。对等层实体之间虚拟通信;下层向上层提供服务;上层使用下层提供的服务;实际通信在最底层完成3. 物理层四大特性。物理层的主要任务:确定与传输媒体的接口有关的一些特性,即机械特性,电气特性,功能特性,规程特性。机械特性规定了DTE和DCE之间的连接方式,说明接口所用接线器的形状和尺寸、引线数目和排列等电气特性规定了DTE和DCE之间接口电路上信号发生器与接收器之间的电气特性CCITT V.10/X.26, V.11/X.27, V.28功能特性DTE和DCE之间包括数据传送、控制、定时和接地等几类引线的功能。规程特性规定了DTE和DCE之间接口电路所使用的规程,即信号时序的应答关系和操作过程的规则。4. 多路复用技术的种类,每种的用途?多路复用技术由于一条传输线路的能力远远超过传输一个用户信号所需的能力,为了提高线路利用率,经常让多个信号同时共用一条物理线路。常用的有三种方法:时分复用 TDM:主要用于数字数据传输T1载波,分成 24 个信道,E1=32信道。为了有效地利用传输线路,可将多个话路的PCM 信号用时分复用 TDM 的方法装成时分复用帧,然后发送到线路上。频分复用 FDM:频分多路复用的基本原理是在一条通信线路上设置多个信道,每路信道的信号以不同的载波频率进行调制,各路信道的载波频率互不重叠,这样一条通信线路就可以同时传输多路信号。波分复用 WDM:波分复用就是光的频分复用。它是在光学系统中利用衍射光栅来实现多路不同频率光波信号的合成与分解。5. 什么是最短帧?有什么特点?如果发生冲突,就一定是在发送的前 64 字节之内。 由于一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于 64 字节。 以太网规定了最短有效帧长为 64 字节,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧。 6. MAC与IP地址的区别与特点特点是什么。在局域网中,硬件地址又称为物理地址,或 MAC 地址。 网卡从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址.如果是发往本站的帧则收下,然后再进行其他的处理。否则就将此帧丢弃,不再进行其他的处理。1. 对于网络上的某一设备,如一台计算机或一台路由器,其IP地址可变(但必须唯一),而MAC地址不可变。我们可以根据需要给一台主机指定任意的IP地址,如我们可以给局域网上的某台计算机分配IP地址为192.168.0.112 ,也可以将它改成192.168.0.200。而任一网络设备(如网卡,路由器)一旦生产出来以后,其MAC地址永远唯一且不能由用户改变。 2. 长度不同。IP地址为32位,MAC地址为48位。 3. 分配依据不同。IP地址的分配是基于网络拓朴,MAC地址的分配是基于制造商。 4. 寻址协议层不同。IP地址应用于OSI第三层,即网络层,而MAC地址应用在OSI第二层,即数据链路层。数据链路层协议可以使数据从一个节点传递到相同链路的另一个节点(通过MAC地址),而网络层协议使数据可以从一个网络传递到另一个网络上(ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送,从而最终到达目的网络)。7. 光纤从10M、100M、1000M技术上怎么做?双绞线 UTP(Unshielded Twisted-Pair)分类:1,2模拟通讯310M100m10BASE-T4 20M100m5100M100m10BASE-T 、100BASE-T超5类61000M100m100BASE-T 、1000BASE-T用途:以太网8. 连续ARQ协议基本原理(发送窗口与接受窗口关系)工作原理:发送方发完一帧后,不必停下来等待对方的应答,可以连续再发送若干帧;如果在发送过程中收到接收方的肯定应答,可以继续发送;若收到对其中某一帧的否认帧,则从该帧开始的后续帧全部重发。发送窗口:其大小WT表示在收到对方确认的信息之前,可以连续发出的最多数据帧数(只有序号在窗口内的帧才可以发送)停等协议的 WT 1接收窗口:其大小WR可以连续接收的最多数据帧数(只有序号在窗口内的帧才可以接收,否则丢弃)连续ARQ协议和停等协议的 WR1关系:接收窗口驱动发送窗口的转动发送窗口的最值:WT + WR <= 2n (n为序号的位数) WT < 2n - 1 9. 三层路由三层路由就是源路由网桥?有待验证、透明网桥基本原理与区别?透明网桥/生成树网桥:网桥工作在混杂方式,接收所有的帧;网桥接收到一帧后,通过查询地址/端口对应表来确定是丢弃还是转发;网桥刚启动时,地址/端口对应表为空,采用洪泛方法转发帧;在转发过程中采用逆向学习算法收集MAC地址。网桥通过分析帧的源MAC地址得到MAC地址与端口的对应关系,并写入地址/端口对应表; 网桥软件对地址/端口对应表进行不断的更新,并定时检查,删除在一段时间内没有更新的地址/端口项;源路由网桥的原理帧的发送者知道目的主机是否在自己的LAN内;如果不在,在发出的帧头内构造一个准确的路由序列,包含要经过的网桥、LAN的编号。并将发出的帧的源地址的最高位置1;区别:1. 透明网桥容易安装,但网络资源的利用不充分。而路由网桥对带宽进行了最优的使用。2. 透明网桥一般用于连接以太网段,而源路由选择网桥则一般用于连接令牌环网段。3. 路由网桥的插入对于网络是不透明的,需要人工干预。站点要知道网络的拓扑结构。10. IP地址分类、子网划分、子网掩码、和网络广播地址。IP地址长度32bit 子网掩码使用与IP编址相同格式:子网掩码网络地址部分和子网地址部分全为1,它的主机部分全为0 包含子网地址的网络号= IP地址 掩码 广播地址 主机部分变为111. CSMA/CD技术基本思想CSMA/CD协议:载波监听多点接入/碰撞检测,“多点接入”表示许多计算机以多点接入的方式连接在一根总线上;“载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞;“碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小。在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。12. 慢开始拥塞避免算法。发送端的主机在确定发送报文段的速率时,既要根据接收端的接收能力,又要从全局考虑不要使网络发生拥塞。因此,每一个 TCP 连接需要有以下两个状态变量:接收端窗口 rwnd (receiver window) 又称为通知窗口(advertised window)。拥塞窗口 cwnd (congestion window)慢开始算法的原理 在主机刚刚开始发送报文段时可先将拥塞窗口 cwnd 设置为一个最大报文段 MSS 的数值。在每收到一个对新的报文段的确认后,将拥塞窗口增加至多一个 MSS 的数值。用这样的方法逐步增大发送端的拥塞窗口 cwnd,可以使分组注入到网络的速率更加合理。 拥塞避免:当拥塞窗口值大于慢开始门限时,停止使用慢开始算法而改用拥塞避免算法。拥塞避免算法使发送端的拥塞窗口每经过一个往返时延RTT就增加一个MSS的大小。快重传算法规定,发送端只要一连收到三个重复的 ACK 即可断定有分组丢失了,就应立即重传丢失的报文段而不必继续等待为该报文段设置的重传计时器的超时。发送端的发送窗口不能超过拥塞窗口 cwnd 和接收端窗口 rwnd 中的最小值。我们假定接收端窗口足够大,因此现在发送窗口的数值等于拥塞窗口的数值。在执行慢开始算法时,拥塞窗口 cwnd 的初始值为 1,发送第一个报文段 M0。 发送端收到 ACK1 (确认 M0,期望收到 M1)后,将 cwnd 从 1 增大到 2,于是发送端可以接着发送 M1 和 M2 两个报文段。 接收端发回 ACK2 和 ACK3。发送端每收到一个对新报文段的确认 ACK,就把发送端的拥塞窗口加 1。现在发送端的 cwnd 从 2 增大到 4,并可发送 M4 M6共 4个报文段。 发送端每收到一个对新报文段的确认 ACK,就把发送端的拥塞窗口加 1,因此拥塞窗口 cwnd 随着传输次数按指数规律增长。 当拥塞窗口 cwnd 增长到慢开始门限值 ssthresh 时(即当 cwnd = 16 时),就改为执行拥塞避免算法,拥塞窗口按线性规律增长。 假定拥塞窗口的数值增长到 24 时,网络出现超时(表明网络拥塞了)。 更新后的 ssthresh 值变为 12(即发送窗口数值 24 的一半),拥塞窗口再重新设置为 1,并执行慢开始算法。 当 cwnd = 12 时改为执行拥塞避免算法,拥塞窗口按按线性规律增长,每经过一个往返时延就增加一个 MSS 的大小。13. IP分段(偏移字段、DF、MF、标志设置)。IP数据报由报头和正文部分构成,正文部分就是来自传输层的数据。IP报头包括20个字节的固定部分和变长(最长40字节)的可选部分。版本(VERS) 4 bits 目前使用最广的版本是IPv4;最新的是IPv6。 属网络层的范畴头部长(IHL) 4 bits :4bit长;指出以32bit长度为单元的报头长度;IP数据报中除IP选项与填充域外,其它域为定长;不含IP选项与填充域的普通IP数据报报头长为“5”;含IP选项与填充域的IP数据报报头长应为32bit的整数倍,否则用填充位(padding)添0凑齐;服务类型(Service Type) 8 bits -规定对本数据报的处理方式;总长度( Total length,包括报头):总长度域为16bits; IP数据报的长度,以字节为单位,最大为216-1,即65535字节 ;标识字段(Identification)16 bits :唯一地标识主机发送的每一份数据报。通常每发送一份报文它的值就会加1 。标志域(Flags)3 bits :Bit 0:reserved, must be zeroBit 1:(DF) 0 = May Fragment, 1 = Don't Fragment.DF位置1,表示不允许路由器对该数据报分段,因为目的主机不能重组分段。这意味着该数据报可能需要绕过最优路径上的小分组网络,而选择次优路由。所有机器都能够接收小于等于576字节的分组/分段。Bit 2:(MF) 0 = Last Fragment, 1 = More Fragments.除最后一个段外的所有段都要置MF位。段偏移量域(Fragment offset)3 bits :此域的基本单位是8 bytes。除最后段外的其他段的取值应是8字节的倍数。14. 无线局域网的MAC协议特点及其与CSMA/CD技术差异。努力商量一下!在局域网中,硬件地址又称为物理地址,或 MAC 地址。 网卡从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址.如果是发往本站的帧则收下,然后再进行其他的处理。否则就将此帧丢弃,不再进行其他的处理。CSMA/CD协议在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。15. 网络层校验为什么不使用CRC校验?CRC校验码需要使用多项式除法,逐站使用代价太高。数据报每经过一个节点,节点处理机就要计算一下校验和,不用CRC校验,就是为了简化计算,加快在路由器中的简化处理过程。16. 为什么这个没有找到TOT传输层对流量和拥塞控制比数据链路层难?传输层是利用可变窗口大小进行流量控制。数据链路层匹配发送方和接收方的传输速率。链路层的流量是根据分配的带宽由路由器、交换机等网络设备控制的,传输层的流量控制是用户电脑侧为了保证传输质量而由电脑操作系统控制的。传输层流量受链路层流量影响。17. 距离向量路由协议、链路状态协议基本原理、差异、优缺点?距离向量路由算法基本思想:每个路由器维护一张表,表中列出了到每个目的地址的最佳距离和线路,并通过与邻居结点交换信息来更新表。每隔一段时间,路由器向所有邻居结点发送包含若干(V,D)序列组成的表,同时它也接收每个邻居结点发来的距离表。优点:易于实现;缺点:不适应路径剧烈变化或大型网络环境,可能导致不一致性;要交换的信息量极大。链接状态(Link-Status)算法链路状态路由算法又称最短路径优先(SPF)算法算法思想:每个路由器要发现其邻节点,并知道其网络地址(下一跳);测量自己到各个邻节点的延迟或开销;将了解到的信息组装成分组;将分组发送到所有其他路由器;计算到每个其他路由器的最短路径。链路状态路由选择的优点:1.收敛速度快:触发更新在每个路由器上进行2.没有路由环路:才用SPF算法3.分等级设计网络和路由,更合理的利用网络资源4.和距离矢量路由协议相比,链路状态路由协议的故障排除更为复杂链路状态路由选择的缺点:1.占用系统和网络资源:a.对处理器和内存的要求高b.第一次链路状态信息交换使用泛洪方式2.设计复杂:需要遵循严谨的区域划分原则3.配置可能比较复杂:设计多区域链路状态路由选择时,配置有时可能比较复杂距离向量路由协议、链路状态协议区别1. 距离矢量路由协议,更新的是“路由条目”。一条重要的链路如果发生变化,意味着需通告多条涉及到的路由条目。链路状态路由协议,更新的是拓扑。每台路由器上都有完全相同的拓扑,他们各自分别进行SPF算法,计算出路由条。!一条重要链路的变化,不必再发送所有被波及的路由条目,只需发送一条链路通告,告知其它路由器本链路发生故障即可。其它路由器会根据链路状态,改变自已的拓扑数据库,重新计算路由条目。2. 距离矢量路由协议发送周期性更新、完整路由表更新;链路状态路由协议更新是非周期性的,部分的,有边界的。3.距离矢量路由协议由条数来决定最佳路径;链路状态路由协议使用复杂的带宽分析,综合决定最佳路径 。4.距离矢量:运行距离矢量路由协议的路由器,会将所有它知道的路由信息与邻居共享,但是只与直连邻居共享;链路状态:运行链路状态路由协议的路由器,只将它所直连的链路状态与邻居共享,这个邻居是指一个域内,或一个区域内的所有路由器!18. Socket含义?Socket编程客户端、服务器端怎样实现?答:TCP 使用“连接”(而不仅仅是“端口”)作为最基本的抽象,同时将 TCP 连接的端点称为插口(socket),或套接字、套接口。同一个名词 socket有多种不同的意思应用编程接口 API 称为 socket API, 简称为 socket。socket API 中使用的一个函数名也叫作socket。调用 socket 函数的端点称为 socket。调用 socke t函数时其返回值称为 socket描述符,可简称为 socket。在操作系统内核中连网协议的 Berkeley 实现,称为 socket 实现。 服务器端编程实现/创建Socket套接字ServerSock = socket(AF_INET,SOCK_STREAM,0);if (ServerSock=INVALID_SOCKET)return FALSE;dstserver_family = PF_INET;dstserver_port = htons(7016);dstserver_addr.s_addr = INADDR_ANY;/BINDStatus = bind(ServerSock,(struct sockaddr far *)&dstserver_addr,sizeof(dstserver_addr);if (Status != 0)return FALSE;/LISTENStatus = listen(ServerSock,1);if (Status != 0)return FALSE; /ACCEPTint len = sizeof(dstserver_addr);NewSock = accept(ServerSock,(struct sockaddr far *)&dstserver_addr,&len);if (NewSock < 0)closesocket(ServerSock);return FALSE;/Send FalgFALG = US_FLAG;send(NewSock,(char*)&FALG,sizeof(FALG)+1,MSG_OOB);/Get Messagelength = recv(NewSock,(char*)&iMsg,sizeof(iMsg)+1,0);if (length < 0)/Close Sockclosesocket(NewSock);closesocket(ServerSock);return FALSE;/GetMessageDataif (iMsg < 4500) send(NewSock,(char*)&SysWidth,sizeof(SysWidth)+1,MSG_OOB);send(NewSock,(char*)&SysHeight,sizeof(SysHeight)+1,MSG_OOB);客户机端程序设计实现 clientSock = socket(AF_INET,SOCK_STREAM,0);if (clientSock < 0)return FALSE;/建立连接_family = PF_INET;_port = htons(7016);_addr.s_addr = inet_addr(client_address);msgsock = connect(clientSock,(struct sockaddr*)&client,sizeof(client);if (msgsock!=0)return FALSE;19. 知道绘制距离向量协议时路由表分配。V-D算法(2)各路由器周期性广播其V-D路由表的内容,与之直接相连的其他路由器收到报文后,据此刷新本地路由表:Gj列出的某表目Gi路由表中没有。Gi增加相应表目,Vi-r=Vj-r,Di-r=Dj-r+1,路径=Gj;Gj到某目的Dj-r<Di-r1。Gi修改本表目, Gi原路由表:信宿网 距离 路径 Vi-r不变,Di-r=Dj-r+1,路径=Gj;Gj广播的V-D报文:信宿网 距离10.0.0.0 430.0.0.0 440.0.0.0 2 41.0.0.0 3180.0.0.0 510.0.0.0 0 直接30.0.0.0 7 Gn40.0.0.0 3 Gj45.0.0.0 4 G1180.0.0.0 5 Gj190.0.0.0 10 Gm Gi刷新后的路由表:信宿网 距离 路径10.0.0.0 0 直接30.0.0.0 5 Gj40.0.0.0 3 Gj41.0.0.0 4 Gj45.0.0.0 4 G1180.0.0.0 5 Gj190.0.0.0 10 Gm20. 知道路由表,根据收到的IP地址计算出下一跳(next)。路由表(routing table)是每个路由结点用某个特定的路由协议建立和维护的、利用TCP/IP协议在通信中交互的路由信息。IP协议根据路由表中的信息对数据报进行路由,它只是使用者。路由协议是路由表的生成者和维护者,路由表必须时时更新,以准确地反映当前的网络状态,存在静态和动态两种维护方式。路由表包含的主要信息有:目的地址、网关地址下一跳的(IP地址)、接口等。21. 为什么使用IPV6,IPV6相对IPV4有哪些优点。IPV6做了哪些变化?因为从计算机本身发展以及从因特网规模和网络传输速率来看,现在 IPv4 已很不适用。最主要的问题就是 32 bit 的 IP 地址不够用。IPv6 相对IPV4的优点如下:更大的地址空间。IPv6 将地址从 IPv4 的 32 bit 增大到了 128 bit, 扩展的地址层次结构。 灵活的首部格式。 改进的选项。 允许协议继续扩充。 支持即插即用(即自动配置) 支持资源的预分配。 IPV6做的变化:IPv6 将首部长度变为固定的 40 字节,称为基本首部(base header)。将不必要的功能取消了,首部的字段数减少到只有 8 个。取消了首部的检验和字段,加快了路由器处理数据报的速度。在基本首部的后面允许有零个或多个扩展首部。所有的扩展首部和数据合起来叫做数据报的有效载荷(payload)或净负荷。从 IPv4 向 IPv6 过渡1. 双协议栈 2. 隧道技术 22. TCP报文格式。源端口和目的端口字段各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。序号字段占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。 确认号字段占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。 数据偏移占 4 bit,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移”的单位不是字节而是 32 bit 字(4 字节为计算单位)。保留字段占 6 bit,保留为今后使用,但目前应置为 0。紧急比特 URG 当 URG = 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。 确认比特 ACK 只有当 ACK = 1 时确认号字段才有效。当 ACK = 0 时,确认号无效。 推送比特 PSH (PuSH) 接收 TCP 收到推送比特置 1 的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。 复位比特 RST (ReSeT) 当 RST = 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。 同步比特 SYN 同步比特 SYN 置为 1,就表示这是一个连接请求或连接接受报文。 终止比特 FIN (FINal) 用来释放一个连接。当FIN = 1 时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。 窗口字段 占 2 字节。窗口字段用来控制对方发送的数据量,单位为字节。TCP 连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。检验和 占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。紧急指针字段 占 16 bit。紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。 选项字段 长度可变。TCP 只规定了一种选项,即最大报文段长度 MSS (Maximum Segment Size)。MSS 告诉对方 TCP:“我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字节。” MSS 是 TCP 报文段中的数据字段的最大长度。数据字段加上 TCP 首部才等于整个的 TCP 报文段。填充字段 这是为了使整个首部长度是 4 字节的整数倍。 23. Vlan技术划分依据24. DN-S基本原理过程。域名系统 DNS概述:许多应用层软件经常直接使用域名系统 DNS,但计算机的用户只是间接而不是直接使用域名系统; 因特网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统 DNS;名字到域名的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。因特网的域名结构:因特网采用了层次树状结构的命名方法。任何一个连接在因特网上的主机或路由器,都有一个惟一的层次结构的名字,即域名。域名的结构由若干个分量组成,各分量之间用点隔开: .三级域名.二级域名.顶级域名各分量分别代表不同级别的域名。查询域名的IP地址方法 递归查询 递归与迭代相结合的查询