大型网络公司面试真题,计算机网络常识详解

1. 电路交换与分组交换的区别?优劣对比。
电路交换:由于电路交换在通信之前要在通信双方之间建立一条被双方独占的物理通路(由通信双方之间的交换设备和链路逐段连接而成)。因而有以下优缺点。
优点:
①由于通信线路为通信双方用户专用,数据直达,所以传输数据的时延非常小。
②通信双方之间的物理通路一旦建立,双方可以随时通信,实时性强。
③双方通信时按发送顺序传送数据,不存在失序问题。
④电路交换既适用于传输模拟信号,也适用于传输数字信号。
⑤电路交换的交换的交换设备控制均较简单。
缺点:
①电路交换的平均连接建立时间对计算机通信来说嫌长。
②电路交换连接建立后,物理通路被通信双方独占,即使通信线路空闲,也不能供其他用户使用,因而信道利用低。
③电路交换时,数据直达,不同类型、不同规格、不同速率的终端很难相互进行通信,也难以在通信过程中进行差错控制。
分组交换:分组交换采用存储转发传输方式,但将一个长报文先分割为若干个较短的分组,然后把这些分组(携带源、目的地址和编号信息)逐个地发送出去,因此分组交换除了具有报文的优点外,与报文交换相比有以下优缺点:
优点:
①加速了数据在网络中的传输。因为分组是逐个传输,可以使后一个分组的存储操作与前一个分组的转发操作并行,这种流水线式传输方式减少了报文的传输时间。此外,传输一个分组所需的缓冲区比传输一份报文所需的缓冲区小得多,这样因缓冲区不足而等待发送的机率及等待的时间也必然少得多。
②简化了存储管理。因为分组的长度固定,相应的缓冲区的大小也固定,在交换结点中存储器的管理通常被简化为对缓冲区的管理,相对比较容易。
③减少了出错机率和重发数据量。因为分组较短,其出错机率必然减少,每次重发的数据量也就大大减少,这样不仅提高了可靠性,也减少了传输时延。
④由于分组短小,更适用于采用优先级策略,便于及时传送一些紧急数据,因此对于计算机之间的突发式的数据通信,分组交换显然更为合适些。
缺点:
①尽管分组交换比报文交换的传输时延少,但仍存在存储转发时延,而且其结点交换机必须具有更强的处理能力。
②分组交换中的每个分组都要加上源、目的地址和分组编号等信息,这将增大传送的信息量,一定程度上降低了通信效率,增加了处理的时间,使控制复杂,时延增加。
③当分组交换采用数据报服务时,可能出现失序、丢失或重复分组,分组到达目的结点时,要对分组按编号进行排序等工作,增加了麻烦。若采用虚电路服务,虽无失序问题,但有呼叫建立、数据传输和虚电路释放三个过程。
总之,若传输的数据量很大,而且传送时间远大于呼叫时间,则采用电路交换较为合适;当端到端的通路有很多段的链路组成时,采用分组交换较为合适。从提高整个网络的信道利用率上看,分组交换优于电路交换。
2、osi有哪几层,知道主要几层的各自作用。
osi七层协议体系结构:物理层、数据链路层、网络层、运输层、会话层、表示层、应用层。
各层作用:
1)物理层:
是osi参考模型的最低层,它利用为数据链路层提供物理连接。为此,该层定义了物理链路的建立、维护和拆除有关的机械、电气、功能和规程特性。
物理层并不是指连接计算机的具体物理设备或传输介质,如双绞线、同轴电缆、光纤等,而是尽可能屏蔽掉具体传输介质和物理设备的差异,使其上面的数据链路层感觉不到这些差异。
2)数据链路层:
是为提供服务的,解决两个相邻结点之间的通信问题,传送的称为。
负责建立和管理节点间的链路,通过各种控制协议,将有差错的物理链路变为无差错的、能可靠传输数据帧的数据链路。
3)网络层:
是为提供服务的,传送的协议数据单元称为或分组。
该层的主要作用是解决如何使通过各结点传送的问题,即通过选择算法()将数据包送到目的地。当要跨越多个才能到达目的地时,还要解决网际互连的问题。
4)传输层:
传输层传送的称为段或。
的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理和等问题。该层向高层屏蔽了下层的细节,使高层用户看到的只是在两个传输实体间的一条到主机的、可由用户控制和设定的、可靠的。
5)会话层:
主要功能是管理和协调不同主机上各种进程之间的通信(对话),即负责建立、管理和终止之间的会话。得名的原因是它很类似于两个实体间的会话概念。例如,一个交互的用户会话以登录到计算机开始,以注销结束。
6)表示层:
处理流经结点的的表示方式问题,以保证一个系统发出的信息可被另一系统的应用层读出。和加密也是可提供的转换功能之一。
7)应用层:
是osi参考模型的最高层,是用户与网络的接口。该层通过来完成网络用户的应用需求,如、收发电子邮件等。
3、tcp/ip有哪几层,知道所有层数的作用,会列举各层主要协议名称。
1)网络接口层:
网络接口层是tcp/ip协议的最低层,负责接收ip数据包并通过网络发送这个ip数据包,或者从网络上接收物理帧,取出ip数据包,并把它交给ip层。
主要协议:ieee802、ppp协议
2)网际层:
网络层负责数据包的寻径功能,以保证数据包能可靠地到达目标主机;若不能到达,则向源主机发送差错控制报文。网络层提供的服务是不可靠的,可靠性由传输层来实现。
主要协议: 协议、 控制报文协议、 、r反向地址转换协议。
3)运输层:
提供 间的通信。其功能包括:一、格式化信息流;二、提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送,即耳熟能详的过程,从而提供可靠的数据传输。
主要协议:传输控制协议tcp和 。
4)应用层:
向用户提供一组常用的应用程序,比如 、访问、 等。
主要协议:ftp、telnet、dns、smtp、nfs、http。
(file transfer protocol)是,一般上传下载用服务,数据端口是20,控制端口是21。
服务是用户远程登录服务,使用23端口,使用明码传送,差、简单方便。
(domain name service)是服务,提供域名到ip地址之间的转换,使用端口53。
(simple mail transfer protocol)是,用来控制信件的发送、中转,使用端口25。
(network file system)是,用于网络中不同主机间的。
(hypertext transfer protocol)是,用于实现互联网中的,使用端口80。
4、硬件(mac)地址的概念及作用。
概念:mac地址就是在媒体接入层上使用的地址,也叫物理地址、硬件地址或链路地址,其被固化在适配器的rom中。可见mac地址实际上就是适配器地址或适配器标识符。当某台计算机使用某块适配器后,适配器上的标识符就成为该计算机的mac地址。mac地址长度为6字节(48比特),由ieee的注册管理结构ra进行管理分配。
作用:mac地址是计算机的唯一标识,在数据链路层中,交换机通过识别mac地址进行数据包的传输。
5. arp协议的用途及算法、在哪一层上会使用arp?
arp (address resolution protocol) 是个地址解析协议。最直白的说法是:在ip以太网中,当一个上层协议要发包时,有了该节点的ip地址,arp就能提供该节点的mac地址。
为什么要有arp?
osi 模式把网络工作分为七层,彼此不直接打交道,只通过接口(layre interface). ip地址在第三层, mac地址在第二层。协议在发生数据包时,首先要封装第三层(ip地址)和第二层 (mac地址)的报头, 但协议只知道目的节点的ip地址,不知道其物理地址,又不能跨第二、三层,所以得用arp的服务。
详细说明:
在网络通讯时,源主机的应用程序知道目的主机的ip地址和端口号,却不知道目的主机的硬件地址,而数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃。因此在通讯前必须获得目的主机的硬件地址。arp协议就起到这个作用
当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据 48位的以太网地址来确定目的接口的,设备驱动程序从不检查 ip数据报中的目的ip地址。arp(地址解析)模块的功能为这两种不同的地址形式提供映射:32位的 ip地址和 48位的以太网地址
arp协议的用途:解决同一个局域网内主机或路由器的ip地址和mac地址的映射问题。
算法:在主机的arp高速缓存中应存放一个从ip地址到mac地址的映射表,并且这个映射表还经常动态更新(新增或超时删除)。
6. crc冗余校验算法,反码和检验算法。
crc校验(循环冗余校验)是数据通讯中最常采用的校验方式。
从奇偶校验说起
所谓通讯过程的校验是指在通讯数据后加上一些附加信息,通过这些附加信息来判断接收到的数据是否和发送出的数据相同。比如说rs232串行通讯可以设置奇偶校验位,所谓奇偶校验就是在发送的每一个字节后都加上一位,使得每个字节中1的个数为奇数个或偶数个。
比如我们要发送的字节是0x1a,二进制表示为0001 1010。
采用奇校验,则在数据后补上个0,数据变为0001 10100,数据中1的个数为奇数个(3个)
采用偶校验,则在数据后补上个1,数据变为0001 10101,数据中1的个数为偶数个(4个)
接收方通过计算数据中1个数是否满足奇偶性来确定数据是否有错。
奇偶校验的缺点也很明显,首先,它对错误的检测概率大约只有50%。也就是只有一半的错误它能够检测出来。另外,每传输一个字节都要附加一位校验位,对传输效率的影响很大。因此,在高速数据通讯中很少采用奇偶校验。奇偶校验优点也很明显,它很简单,因此可以用硬件来实现,这样可以减少软件的负担。因此,奇偶校验也被广泛的应用着。
奇偶校验就先介绍到这来,之所以从奇偶校验说起,是因为这种校验方式最简单,而且后面将会知道奇偶校验其实就是crc校验的一种(crc-1)。
累加和校验
另一种常见的校验方式是累加和校验。所谓累加和校验实现方式有很多种,最常用的一种是在一次通讯数据包的最后加入一个字节的校验数据。这个字节内容为前面数据包中全部数据的忽略进位的按字节累加和。比如下面的例子:
我们要传输的信息为: 6、23、4
加上校验和后的数据包:6、23、4、33
这里 33 为前三个字节的校验和。接收方收到全部数据后对前三个数据进行同样的累加计算,如果累加和与最后一个字节相同的话就认为传输的数据没有错误。
累加和校验由于实现起来非常简单,也被广泛的采用。但是这种校验方式的检错能力也比较一般,对于单字节的校验和大概有1/256的概率将原本是错误的通讯数据误判为正确数据。之所以这里介绍这种校验,是因为crc校验在传输数据的形式上与累加和校验是相同的,都可以表示为:通讯数据 校验字节(也可能是多个字节)
7. 如何实现透明传输。
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。
透明传输的基本概念:
数据透明传输就是用户不受协议中的任何限制,可随机的传输任意比特编码的信息
用户可以完全不必知道协议中所规定的结束段的比特编码或者其他的控制字符,因而不受限制的进行传输。
数据透明传输技术:
转义字符填充法(首尾定界符法):在这种帧同步方式中,为了不使数据信息位中与特定字符相同的字符被误判为帧的首尾定界符,可以在这种数据帧的帧头填充一个转义控制字符(dle stx,data link escape – start of text),在帧的结尾则以dle etx(data link escape-end of text)结束,以示区别,从而达到数据的透明性。若帧的数据中出现dle字符,发送方则插入一个转义字符esc字符,接收方会删除这个字符。如果转义字符也出现在数据当中,那么解决办法仍然是在转义字符的前面插入一个转义字符,当接收端收到两个连续的转义字符时,就删除其中前面的一个。
零比特填充法:使一帧中两个控制字段之间不会出现连续6个1;当发送端出现有5个连续1,则立即填入一个0;当接收端出现5个连续1时,删除其后的一个0。
采用特殊的信号与编码法:ieee802.3(由于使用csma/cd协议,没有结束字符段;ieee802.4(令牌总线,在起始定界符sd/结束定界符ed这两个字段被使用模拟编码,而不是0和1);ieee802.5(令牌环,违例的曼切斯特码)
确定长度法,固定数据段长度法:各控制字段的长度固定,数据段长度也是固定的,那么在帧格式中就不必设结束符,也不必设数据长度字段。
8. 知道各个层使用的是哪个数据交换设备。(交换机、路由器、网关)
物理层用到的设备是集线器和中继器
数据链路层用到的设备是交换机和网桥
网络层用到的设备是路由器
应用层用到的设备是网关
中继器的主要功能是对接收到的信号进行再生整...