您的位置:首页 > 理论基础 > 计算机网络

计算机网络总结(二)

2015-06-25 17:24 639 查看
29 、 TCP 的三次握手过程?为什么会采用三次握手,若采用二次握手可以吗?

答:建立连接的过程是利用客户服务器模式,假设主机 A 为客户端,主机 B 为服务器端。

( 1 ) TCP 的三次握手过程:主机 A 向 B 发送连接请求;主机 B 对收到的主机 A 的报文段进行确认;主机 A 再次对主机 B 的确认进行确认。

( 2 )采用三次握手是为了防止失效的连接请求报文段突然又传送到主机 B ,因而产生错误。失效的连接请求报文段是指:主机 A 发出的连接请求没有收到主机 B 的确认,于是经过一段时间后,主机 A 又重新向主机 B 发送连接请求,且建立成功,顺序完成数据传输。考虑这样一种特殊情况,主机A 第一次发送的连接请求并没有丢失,而是因为网络节点导致延迟达到主机 B ,主机 B 以为是主机 A 又发起的新连接,于是主机 B 同意连接,并向主机 A 发回确认,但是此时主机 A 根本不会理会,主机 B 就一直在等待主机 A 发送数据,导致主机 B 的资源浪费。

( 3 )采用两次握手不行,原因就是上面说的实效的连接请求的特殊情况。

30 、电路交换、报文交换分组交换的比较?

答:电路交换:公共电话网( PSTN 网)和移动网(包括 GSM 和 CDMA 网) 采用的都是电路交换技术,它的基本特点是采用面向连接的方式,在双方进行通信之前,需要为通信双方分配一条具有固定宽带的通信电路,通信双方在通信过程中 一直占用所分配的资源,直到通信结束,并且在电路的建立和释放过程中都需要利用相关的信令协议。这种方式的优点是在通信过程中可以保证为用户提供足够的带 宽,并且实时性强,时延小,交换设备成本低,但同时带来的缺点是网络带宽利用率不高,一旦电路被建立不管通信双方是否处于通话状态分配的电路一直被占用。连接建立——数据传输——释放链接

报 文交换:报文交换和分组交换类似,也采用存储转发机制,但报文交换是以报文作为传送单元,由于报文长度差异很大,长报文可能导致很大的时延,并且对每个节 点来说缓冲区的分配也比较困难,为了满足各种长度报文的需要并且达到高效的目的,节点需要分配不同大小的缓冲区,否则就有可能造成数据传送的失败。在实际 应用中报文交换主要用于传输报文较短,实时性要求较低的通信业务,如公用电报网,报文交换比分组交换出现的要早一些,分组交换是在报文交换的基础上,将报 文分割成分组进行传输,在传输时延和传输效率上进行了平衡。另外一个缺点是出错时,整个报文都将重传。

分 组交换:电路交换技术主要适用于传送话音相关的业务,这种网络交换方式对于数据业务而言,有着很大的局限性。首先是数据通信具有较强的突发性,峰值比特率 和平均比特率相差较大,如果采用电路交换技术,若按峰值比特率分配电路带宽会造成资源的极大浪费,如果按平均比特率分配带宽,则会造成数据的大量丢失,其 次是和语音业务比较,数据业务对时延没有严格的要求,但是需要进行无差错的传输,而语音信号可以有一定程序的失真但实时性要高。分组交换技术就是针对数据 通信业务的特点而提出的一种交换方式,它的基本特点是面向无连接而采用存储转发的方式,将需要传送的数据按照一定长度分割成许多小段数据,并在数据之前增 加相应的用于对数据进行选路和校验等功能的头部字段,作为数据传送的基本单元,即分组。采用分组交换技术,在通信之前不需要建立连接,每个节点首先将前一 节点送来的分组收下并保存在缓冲区中,然后根据分组头部中的地址信息选择适当的链路将其发送至下一个节点,这样在通信过程中可以根据用户的要求和网络的能 力来动态分配带宽。分组交换比电路交换的电路利用率高,但时延较大。分组转发的带来的问题:带来排队时延以及增加头部带来的开销。

31 、电信网络分类

电信网络

电路交换网络

分组交换网络

FDM

TDM

虚电路网络

数据报网络

32 、网络按地域范围分类?

答:局域网、城域网、广域网。

33 、网络按使用者分类为:公共网和专用网。

34 、网络的拓扑结构主要有:星形、总线型、环形以及树型、全连接、不规则网状。

星形 树型

总线型 环形

35 、计算机网络体系结构?

答:实际是分层加每层对应的协议集合。协议包括三个组成部分:

语法:数据与控制信息结构或格式;

语义:需要发出何种控制信息,完成何种动作以及做出何种响应;

时序(同步):事件实现顺序的详细说明。

36 、双绞线的线对?

答: 1-2 、 7-8 、 3-6 、 4-5 白蓝 - 蓝、白橙 - 橙、白绿 - 绿、白棕 - 棕

37 、数据链路层协议可能提供的服务?

答:成帧、链路访问、透明传输、可靠交付、流量控制、差错检测、差错纠正、半双工和全双工。最重要的是帧定界(成帧)、透明传输以及差错检测。

38 、帧定界?

答:帧定界就是确定帧的界限,其方法有:字节计数法、字符填充法、零比特填充法。

39 、透明传输?

答:即应能传输任何的数据,在帧定界中用到的标记帧起点和结束的字符也应该能正确的被传输。

40 、差错检测?

答:循环冗余检验 CRC ,计算出的结果叫做帧检验序列 FCS 。循环冗余检验序列 CRC 差错检测技术只能做到无差错接受,即凡是接收端数据链路层接受的帧,我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错,但是要做到可靠传输(即发送什么就收到什么),也就是说,传输到接收端的帧无差错、无丢失、无重复,同时还按发送的顺序接收,这时就必须再加上确认和重传机制。

41 、实现可靠传输的协议?

( 1 )停止等待协议:每发送完一帧就停止发送,直到收到接收到发送回来的确认在发送下一帧,如果没有收到接收端的确认,则通过设定的定时器超时了重传上一帧。其存在的三种可能:

重 传可能会导致接收端收到相同的帧,这时候根据序号来判定,如果收到的帧的序号之前已经被接收到了,则新接收到的帧被丢弃。因为可能会出现接收端不能在一次 情况就能正确接收,因此帧需要在发送端备份一份,直到被确认后才丢弃,因为该协议一次只能发送一帧,因此发送端的缓存区不需要太大。

( 2 )连续 ARQ 协议:发送窗口大于 1 ,接收窗口等于 1 ,因此发送窗口已经发送到了序号为 5 的帧,但是接收端接收到序号为 3 的帧出现错误时,那 3 号以后的帧都需要重传,因此出现错误的情况可能会导致重传多个帧,同时为了能够在出错时重传,因此发送出来还没有经过确认的帧都需要在发送端全缓区进行保存,这种情况需要的缓冲区比停止等待协议需要的更大。但采用 n 比特来表示编号时,则发送窗口的的大小为 时,该协议才能正确工作。若用n比特编号时,则发送窗口的大小 WT<=2n -1。

( 3 )选择重传 ARQ 协议:发送窗口和接收窗口都大于 1 ,这种情况可能减少重传帧的数量,若用 n 比特编号时,则接收窗口的大小为 WR £ 2n /2。

42 、 PPP 协议工作过程?

答:用户拨号接入 ISP , ISP 的调制解调器对拨号做出确认,并建立一条物理链路,用户向 ISP 的路由器发送一系列的 LCP 分组,这是为 PPP 选择一些参数,然后配置网络层, NCP 为新接入的 PC 分配一个临时的 IP 地址,这样用户 PC 就成为因特网上的主机,通信结束后, NCP 释放网络层连接收回 IP 地址,然后, LCP 释放数据链路层连接,最后释放物理层的连接。

43 、数据链路层互联设备

答:( 1 )网桥:互连两个采用不同数据链路层协议,不同传输介质与不同传输速率的网络,网桥互连的网络在数据链路层以上采用相同的协议。

( 2 )交换机在数据链路层上实现互连的存储转发设备。交换机按每个包中的 MAC 地址相对简单地决策信息转发,交换机对应硬件设备,网桥对应软件。

44 、局域网的关键技术?

答:拓扑结构(星形,总线型,环形,树型),介质访问方式( CSMA/CD , Token-passing ),信号传输形式(基带、宽带)。

45 、网络接口卡(网卡)的功能?

答:( 1 )进行串行 / 并行转换。

( 2 )对数据进行缓存。

( 3 )在计算机的操作系统安装设备驱动程序。

( 4 )实现以太网协议。

46 、 CSMA/CD ?

答:是指载波监听多点接入 / 碰撞检测

( 1 )多点接入是指多台计算机以多点接入的方式连接在一条总线上

( 2 )载波监听是指每一个站在发送数据之前首先要检查一下总线上是否已经有其他计算机在发送数据,如果有,则暂时不要发送,避免碰撞

( 3 )实际在总线上并没有什么载波,实际是采用电子技术检测总线上是否有其他计算机发送的数据信号

( 4 )碰撞检测就是计算机边发送数据边检测信道上的信号电压大小,当发生了碰撞即产生了冲突,碰撞检测也叫做“冲突检测”

( 5 )当发生了碰撞时,总线上传输的信号就产生了失真,无法恢复出有用的信息,因此为了不浪费网络资源,一旦检测到碰撞发生时,就停止数据发送。然后再等待一段随机时间后在发送。

( 6 )强化碰撞,当检测到碰撞后,不仅立即停止发送数据外,还要人为的发送一些干扰信息,让其他站也知道此时碰撞发生了。

( 7 )由于信号在总线上的传输也是需要一定的时间的,所以当一个站检测到总线是空闲的时候,也可能并非是真正的空闲,因为会存在其他站发送了数据,只是还没有传送到该站能检测的范围内。这种情况下,发送数据最终也会导致碰撞发生。

( 8 )工作原理

( 81 )发送前先监听信道是否空闲,若空闲则立即发送;

( 82 )如果信道忙,则继续监听,一旦空闲就立即发送;

( 83 )在发送过程中,仍需继续监听。若监听到冲突,则立即停止发送数据,然后发送一串干扰信号( Jam );

( 84 )发送 Jam 信号的目的是强化冲突,以便使所有的站点都能检测到发生了冲突。等待一段随机时间(称为退避)以后,再重新尝试。

总结为四句话:发前先听,空闲即发送,边发边听,冲突时退避。

47 、以太网 MAC 帧格式?

答:

目的地址( 6 字节) 源地址( 6 字节) 类型( 2 字节) 数据( 46 ——1500 字节) FCS ( 4 字节)

48 、虚拟局域网 VLAN ?

答:( 1 ) VLAN 只是局域网提供给用户的一种服务,而并不是一种新的局域网络。 VLAN 限制了接收广播消息的工作站数,使得网络不会因传播过多的广播信息(即广播风暴)而引起性能恶化。

( 2 )划分 VLAN 的方法:基于端口;基于 MAC 地址;基于 IP 地址。

( 3 ) VLAN 的帧格式

目的地址( 6字节) 源地址(6 字节) VLAN 标记(表明该站是属于哪个 VLAN的) 类型( 2 字节) 数据( 46 ——1500 字节) FCS ( 4字节)

49 、无线局域网的 MAC 层?

答:( 1 )隐藏站问题,暴露站问题

( 2 ) CSMA/CA :是改进的 CSMA/CD ,增加的功能是碰撞避免,实际就是在发送数据之前对信道进行预约。

50 、 NAT ?

答:( 1 )网络地址转换,是一种将私有地址转换为合法 IP 地址的转换技术,这种技术可以解决现在 IP 地址不够的问题。

( 2 ) NAT 的实现方式:静态转换;动态转换;端口多路复用(即 内部 IP+ 端口号——外部 IP+ 端口号,这种方式改变外出数据包的源端口并进行端口转换,内部网络的所有主机都可共享一个合法外部 IP 地址实现对 Internet 的访问,从而节约 IP 资源,同时隐藏网络内部的所有主机,有效避免来自 Internet 的攻击)。

( 3 )缺点:由于需要将 IP 包头中的 IP 地址进行转换,因此不能进行加密操作。

51 、私有(保留)地址?

答: A 类: 10.0.0 .0 —— 10.255.255.255

B 类: 172.16.0.0 —— 172.31.255.255

C 类: 192.168.0.0 —— 192.168.255.255

52 、交换和路由的区别是什么? VLAN 有什么特点?

答:交换是指转发和过滤帧,是交换机的工作,它在 OSI 参考模型的第二层,而路由是指网络线路当中非直连的链路,它是路由器的工作,在 OSI 参考模型的第三层。交换和路由的区别很多,首先,交换是不需要 IP 地址的,而路由需要,因为 IP 就是第三层的协议,第二层需要的是 MAC 地址,再有,第二层的技术和第三层的不一样,第二层可以做 VLAN ,端口捆绑等,第三层可以做 NAT , ACL , QoS 等。

VLAN 是虚拟局域网的英文缩写,它是一个纯二层的技术,它的特点有三:控制广播,安全,灵活性和可扩张性。

53 、 SNMP ?

答:简单网络管理协议的英文缩写。

54 、 TTL 是什么?作用是什么?哪些工具会用到它( ping traceroute ifconfig netstat )?

答: TTL 是指生存时间,简单来说,它表示了数据包在网络中的时间,经过一个路由器后 TTL 就减一,这样 TTL 最终会减为 0 ,当 TTL 为 0 时,则将数据包丢弃,这样也就是因为两个路由器之间可能形成环,如果没有 TTL 的限制,则数据包将会在这个环上一直死转,由于有了 TTL ,最终TTL 为 0 后,则将数据包丢弃。 ping 发送数据包里面有 TTL ,但是并非是必须的,即是没有 TTL 也是能正常工作的, traceroute 正是因为有了 TTL才能正常工作, ifconfig 是用来配置网卡信息的,不需要 TTL , netstat 是用来显示路由表的,也是不需要 TTL 的。

55 、路由表是做什么用的?在 Linux 环境中怎么配置一条默认路由?

答: 路由表是用来决定如何将一个数据包从一个子网传送到另一个子网的,换句话说就是用来决定从一个网卡接收到的包应该送到哪一个网卡上去。路由表的每一行至少 有目标网络号、子网掩码、到这个子网应该使用的网卡这三条信息。当路由器从一个网卡接收到一个包时,它扫描路由表的每一行,用里面的子网掩码与数据包中的 目标 IP 地址做逻辑与运算( & )找出目标网络号。如果得出的结果网络号与这一行的网络号相同,就将这条路由表六下来作为备用路由。如果已经有备用路由了,就载这两条路由里将网络号最长的留下来,另一条丢掉(这是用无分类编址 CIDR 的情况才是匹配网络号最长的,其他的情况是找到第一条匹配的行时就可以进行转发了 )。如此接着扫描下一行直到结束。如果扫描结束仍没有找到任何路由,就用默认路由。确定路由后,直接将数据包送到对应的网卡上去。在具体的实现中,路由表可能包含更多的信息为选路由算法的细节所用。

在 Linux 上可以用“ route add default gw< 默认路由器 IP> ”命令配置一条默认路由。

56 、每个路由器在寻找路由时需要知道哪 5 部分信息?

答:目的地址:报文发送的目的地址

邻站的确定:指明谁直接连接到路由器的接口上

路由的发现:发现邻站知道哪些网络

选择路由:通过从邻站学习到的信息,提供最优的到达目的地的路径

保持路由信息:路由器保存一张路由表,它存储所知道的所有路由信息。

57 、 EGP , IGP ?

答:( 1 ) IGP :内部网关协议,即在一个自治系统内部使用的路由选择协议,如 RIP 和 OSPF 。

( 11 ) RIP 是一种分布式的基于距离向量的路由选择协议,要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离向量。距离即是跳数,路由器与直接相连的网络跳数为 1 ,以后每经过一个路由器跳数加 1 。 RIP 允许一条路径最多包含 15 个路由器,因此当距离为16 时认为不可达,这因为如此限制了网络的规模,说明 RIP 只能工作在规模较小的网络中。 RIP 的三个要点:仅和相邻路由器交换信息;交换的信息是当前路由器知道的全部信息,即路由表;按固定的时间间隔交换路由信息,如 30 秒。 RIP 协议使用运输层的用户数据报 UDP 进行传送,因此 RIP 协议的位置位于应用层,但是转发 IP 数据报的过程是在网络层完成的。 RIP 是好消息传播的快,坏消息传播的慢。

( 12 ) OSPF :最短路径优先,三个要点:采用洪泛法向本自治系统的路由器发送信息;发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息;只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。 OSPF 直接使用 IP 数据包传送,因此 OSPF 位于网络层。

EGP :外部网关协议,若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中,如 EGP 。

58 、自适应网卡只有红灯闪烁,绿灯不亮,这种情况正常吗?

答:正常。自适应网卡红灯代表连通 / 工作,即连通时红灯长亮,传输数据时闪烁,绿灯代表全双工,即全双工状态是亮,半双工状态灭。如果一个半双工的网络设备(如 HUB )和自适应网络相连,由于这张网卡是自适应网卡,它就会工作在半双工状态,所以绿灯不亮也属于正常情况。

补充:网卡红绿灯是网卡工作的指示灯,红灯亮表示正在发送或接收数据,绿灯亮则表示网络连接正常。因此正常情况下应该是绿灯长亮,因为绿灯长亮才代表网络是通的。而有数据传输时,红灯就会闪烁。

59 、两台笔记本电脑连起来后 ping 不同,你觉得可能存在哪些问题?

答:( 1 )首先考虑是否是网络的问题

( 2 )局域网设置问题,电脑互联是要设置的。看是否安装了必要的网络协议,最重要的是 IP 地址是否设置正确。

( 3 )网卡驱动未安装正确

( 4 )防火墙设置有问题

( 5 )是否有什么软件阻止了 ping 包

60 、与 IP 协议配套的其他协议?

答: ARP :地址解析协议 RARP :逆地址解析协议

ICMP :因特网控制报文协议 IGMP :因特网组管理协议

其关系为:

61 、 IP 地址分类?

答: IPv4 地址共有 32bit

网络号 网络范围 主机号

A 类 8bit 第一位固定为 0 0 —— 127 24bit

B 类 16bit 前两位固定为 10 128.0 —— 191.255 16bit

C 类 24bit 前三位固定为 110 192.0.0 —— 223.255.255 8bit

D 类 前四位固定为 1110 ,后面为多播地址 所以 D 类地址为多播地址

E 类 前五位固定为 11110 ,后面保留为今后所用

一般全 0 或全 1 的地址不使用,有特殊意思,主机地址为全 1 时为广播地址,全 0 时表示网络地址。同时 127.0.0.1 表示回路, ping 该 IP 地址可以测试本机的 TCP/IP 协议安装是否成功。

62 、 RARP ?

答:逆地址解析协议,作用是完成硬件地址到 IP 地址的映射,主要用于无盘工作站,因为给无盘工作站配置的 IP 地址不能保存。工作流程:在网络中配置一台 RARP 服务器,里面保存着 IP 地址和 MAC 地址的映射关系,当无盘工作站启动后,就封装一个 RARP 数据包,里面有其 MAC 地址,然后广播到网络上去,当服务器收到请求包后,就查找对应的 MAC 地址的 IP 地址装入响应报文中发回给请求者。因为需要广播请求报文,因此 RARP只能用于具有广播能力的网络。

63 、划分子网?

答:从大的方面来看,跟只有网络号和主机号的分类方式类似,这是由分配到网络号的网络内部自己在进行分配,是从主机号部分借用位来形成子网,涉及到子网时,就要有子网掩码,一个涉及到了子网的 IP 地址的网络号等于该 IP 地址与子网掩码的与( & )运算的结果。

64 、 IPv6 ?

答:采用 128bit ,首部固定部分为 40 字节。

65 、运输层协议与网络层协议的区别?

答:网络层协议负责的是提供主机间的逻辑通信

运输层协议负责的是提供进程间的逻辑通信

66 、运输层的协议?

答: TCP ,传输单位称为: TCP 报文段

UDP ,传输单位称为:用户数据报

其端口的作用是识别那个应用程序在使用该协议。

67 、接入网用的是什么接口?

答:一般采用 E1 , V.24 , V.35 ,等接口。

68 、直接链接两个信令点的一组链路称作什么?

答: PPP 点到点连接。

1、connect方法会阻塞,请问有什么方法可以避免其长时间阻塞?

答:最通常的方法最有效的是加定时器;也可以采用非阻塞模式。

2、网络中,如果客户端突然掉线或者重启,服务器端怎么样才能立刻知道?

答:若客户端掉线或者重新启动,服务器端会收到复位信号,每一种tcp/ip得实现不一样,控制机制也不一样。

3.在子网210.27.48.21/30种有多少个可用地址?分别是什么?

答:

简:

30表示的是网络号(network number)是30位,剩下2位中11是广播(broadcast)地址,00是multicast地址,只有01和10可以作为host address。

详:

210.27.48.21/30代表的子网的网络号是30位,即网络号是210.27.48.21 & 255.255.255.251=210.27.48.20,此子网的地址空间是2位,即可以有4个地址:210.27.48.20, 210.27.48.21, 210.27.48.22, 210.27.48.23。第一个地址的主机号(host number/id)是0,而主机号0代表的是multicast地址。最后一个地址的最后两位是11,主机号每一位都为1代表的是广播(broadcast)地址。所以只有中间两个地址可以给host使用。其实那个问题本身不准确,广播或multicast地止也是可以使用的地址,所以回答4也应该正确,当然问的人也可能是想要你回答2。我个人觉得最好的回答是一个广播地址,一个multicast地址,2个unicast地址。

4.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)

答:

简:TTL是Time To Live,一般是hup count,每经过一个路由就会被减去一,如果它变成0,包会被丢掉。它的主要目的是防止包在有回路的网络上死转,浪费网络资源。ping和traceroute用到它。

详:TTL是Time To Live,目前是hup count,当包每经过一个路由器它就会被减去一,如果它变成0,路由器就会把包丢掉。IP网络往往带有环(loop),比如子网A和子网B有两个路由器相连,它就是一个loop。TTL的主要目的是防止包在有回路的网络上死转,因为包的TTL最终后变成0而使得此包从网上消失(此时往往路由器会送一个ICMP包回来,traceroute就是根据这个做的)。ping会送包出去,所以里面有它,但是ping不一定非要不可它。traceroute则是完全因为有它才能成的。ifconfig是用来配置网卡的,netstat -rn 是用来列路由表的,所以都用不着它

5.路由表示做什么用的?在linux环境中怎么来配置一条默认路由?

答:

简:路由表是用来决定如何将包从一个子网传送到另一个子网的,换局话说就是用来决定从一个网卡接收到的包应该送的哪一张网卡上的。在Linux上可以用“route add default gw <默认路由器IP>”来配置一条默认路由。

详:路由表是用来决定如何将包从一个子网传送到另一个子网的,换局话说就是用来决定从一个网卡接收到的包应该送的哪一张网卡上的。路由表的每一行至少有目标网络号、netmask、到这个子网应该使用的网卡。当路由器从一个网卡接收到一个包时,它扫描路由表的每一行,用里面的netmask和包里的目标IP地址做并逻辑运算(&)找出目标网络号,如果此网络号和这一行里的网络号相同就将这条路由保留下来做为备用路由,如果已经有备用路由了就在这两条路由里将网络号最长的留下来,另一条丢掉,如此接着扫描下一行直到结束。如果扫描结束任没有找到任何路由,就用默认路由。确定路由后,直接将包送到对应的网卡上去。在具体的实现中,路由表可能包含更多的信息为选路由算法的细节所用。题外话:路由算法其实效率很差,而且不scalable,解决办法是使用IP交换机,比如MPLS。

在Linux上可以用“route add default gw <默认路由器IP>”来配置一条默认路由。

6.在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排除故障?

答:测试这两台机器是否连通:从一台机器ping另一台机器

如果ping不通,用traceroute可以确定是哪个路由器不能连通,然后再找问题是在交换设备/hup/cable等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: