一、电路交换、报文交换、分组交换的比较
1、电路交换
公共电话网(PSTN网)和移动网(包括GSM和CDMA网)采用的都是电路交换技术,它的基本特点是采用面向连接的方式,在双方进行通信之前,需要为通信双方分配一条具有固定宽带的通信电路,通信双方在通信过程中一直占用所分配的资源,直到通信结束,并且在电路的建立和释放过程中都需要利用相关的信令协议。这种方式的优点是在通信过程中可以保证为用户提供足够的带宽,并且实时性强,时延小,交换设备成本低,但同时带来的缺点是信道利用率低,一旦电路被建立不管通信双方是否处于通话状态分配的电路一直被占用。
2、报文交换
报文交换是以报文为数据交换的单位,报文携带有目标地址、源地址等信息,在交换结点采用存储转发的传输方式;由于报文长度差异很大,长报文可能导致很大的时延;为了满足各种长度报文的需要并且达到高效的目的,节点需要分配不同大小的缓冲区,否则就有可能造成数据传送的失败,这样对每个节点来说缓冲区的分配也比较困难。另外一个缺点是出错时,整个报文都将重传。
3、分组交换
分组交换仍采用存储转发传输方式,但将一个长报文先分割为若干个较短的分组,然后把这些分组(携带源、目的地址和编号信息)逐个地发送出去。采用分组交换技术,在通信之前不需要建立连接,每个节点首先将前一节点送来的分组收下并保存在缓冲区中,然后根据分组头部中的地址信息选择适当的链路将其发送至下一个节点,这样在通信过程中可以根据用户的要求和网络的能力来动态分配带宽。分组交换比电路交换的信道利用率高,但时延较大。分组转发的带来的问题:排队时延以及增加头部带来的开销。
总之,若要传送的数据量很大,且其传送时间远大于呼叫时间,则采用电路交换较为合适;当端到端的通路有很多段的链路组成时,采用分组交换传送数据较为合适。从提高整个网络的信道利用率上看,报文交换和分组交换优于电路交换,其中分组交换比报文交换的时延小,尤其适合于计算机之间的突发式的数据通信。
二、接口、协议和服务
接口:下层向上层提供的原语操作
协议:同一层之间,通信双方进行信息交换必须遵守的规则
服务:不同层之间交换信息必须遵守的规则
三、计算机网络系统结构
四、网络各层的作用
l物理层:通过传输介质发送和接收二进制比特流。属于物理层定义的典型规范如RJ-45等。
l数据链路层:数据的封装成帧、数据的透明传输、数据的差错检测。数据链路层协议的代表包括:PPP、帧中继等。
l网络层:负责对子网间的数据包进行路由选择,为分组交换网上的不同主机提供通信服务。网络层协议的代表包括:IP、ICMP、IGMP等。
l运输层:负责向两个主机中进程之间的通信提供服务。运输层还要处理端到端的差错检测(与数据链路层不同)、拥塞控制、流量控制等问题。运输层协议的代表包括:TCP、UDP等。
l应用层:为操作系统或网络应用程序提供访问网络服务的接口。应用层协议的代表包括:FTP、HTTP、SNMP等。
五、数据如何在网络各层之间传输
物理层,数据链路层,网络层属于OSI模型的低三层,负责创建网络通信连接的链路,传输层,会话层,表示层和应用层是OSI模型的高四层,具体负责端到端的数据通信。当然,并不是所有通信都是要经过OSI的全部七层,如物理接口之间的转接,只需要物理层中进行即可;而路由器与路由器之间的连接则只需网络层以下的三层。
六、在网络各层之间,数据是以什么单位进行传输的
在物理层数据的传输单位称为比特;在数据链路层数据的传输单元称为帧;在网络层数据的传输单元称为数据包;在传输层数据的传输单元称为报文段。
七、奈氏准则和香农公式的主要区别是什么
奈氏准则:在任何信道中,码元传输的速率是有上限的,传输速率超过此上限,就会出现严重的码间串扰的问题,使接收端对码元的判决(即识别)成为不可能。
香农公式:求出了信息传输速率的极限。
八、数据链路层协议的三个基本问题
1、封转成帧
就是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧。
2、透明传输
不管什么字符都可以放在帧中传输过去,这样的传输就是透明传输。解决透明传输的问题方法是:发送端的数据链路层在数据中出现控制字符"SOH"或"EOH"的前面插入一个转义字符"ESC",而在接收端的数据链路层在将数据送往网络层之前删除这个插入的转义字符。
3、差错检测
采用的是循环冗余检验(CRC:Cyclic Redundancy Check)的差错检查技术,如果仅仅使用CRC,则只能做到对帧的无差错接收,即接收的帧在传输的过程中没有产生差错,并没有要求数据链路层向网络层提供“可靠传输”的服务。
九、适配器(网卡)的作用
1、适配器的一个重要功能就是要进行数据串行传输和并行传输的转换。
2、由于网络上的数据率和计算机总线上的数据率并不相同,因此在适配器中必须装有对数据进行缓存的存储芯片。
3、适配器还要实现以太网协议。
十、CSMA/CD(载波监听多点接入/碰撞检测)协议的要点
l多点接入:说明这是总线型网络
l载波监听:就是“发送前先监听”,即每一个站点在发送数据之前先要检测一下总线上是否有其他的站点在发送数据,如果有,则暂时不要发送数据,要等待信道变为空闲时再发送。
l碰撞检测:就是“边发送边监听”,即适配器边发送数据边检测信道上的信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。
十一、为什么以太网有一个最小帧长和最大帧长
设置最小帧长是为了区分开正常和因发生碰撞而异常中止的短帧。
设置最大帧长是为了保证个站都能公平竞争接入到以太网。因为如果某个站发送特长的数据帧,则其他的站就必须等待很长的时间才能发送数据。
十二、ARP的工作原理
1、首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。
2、当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,如果有,则直接发送数据,如果没有,就向“本网段”的所有主机发送ARP数据包,该数据包包括的内容有:源主机IP地址,源主机MAC地址,目的主机的IP地址。
3、当本网络的所有主机收到该ARP数据包时,首先检查数据包中的目的主机IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,则覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。
4、源主机收到ARP响应包后,将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
广播发送ARP请求,单播发送ARP响应。
十三、IP协议的定义,主要有什么作用?TCP与UDP呢?
IP协议(Internet Protocol):网际协议,主要提供网际互联的作用。
TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,在收发数据前,必须和对方建立连接。UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议,它是面向非连接的协议,不与对方建立连接,而是直接就把数据包发送过去。
十四、链路层广播和IP广播有何区别
链路层广播是用数据链路层协议(第二层)在一个以太网上实现的对该局域网上的所有主机的MAC帧进行广播。
IP广播则是用IP协议通过因特网实现的对一个网络(即目的网络)上的所有主机的IP数据报广播。
十五、当运行PING 127.0.0.1时,这个IP数据报将发送给谁
127.0.0.1是环回地址。主机将测试用的IP数据报发送给本主机的ICMP(而不是发送到因特网上)以便进行环回测试。
十六、RIP协议的特点?RIP的优缺点?RIP用什么来传送?
1、特点
l仅和相邻路由器交换信息
l路由器交换的信息是当前本路由器所知道的全部信息,即自己的路由表
l按固定的时间间隔交换路由信息
2、优缺点
优点:实现简单、开销较小
缺点:限制了网络的规模(因为它能使用的最大距离为15),坏消息传播得慢。
3、RIP用UDP来传送
十七、OSPF协议的特点?OSPF用什么来传送?
1、特点
l向本自治系统中所有路由器发送信息(而RIP是发送给邻居)
l发送的信息就是与本路由器相邻的所有路由器的链路状态(RIP发送的是整个路由表)
l只有当链路状态发生变化时,路由器才向所有路由器用洪泛法发送此信息(而RIP是30秒更新一次)
2、OSPF直接用IP数据报传送
十八、交换机和路由器各自的实现原理是什么?有什么区别?
实现原理:
路由器通过路由决定数据的转发。转发策略称为路由选择。
而交换机则是一种基于MAC地址识别,能完成封转转发数据包功能的网络设备。交换机可以“学习”MAC地址,并把其存放在内部地址表中,通过在数据帧的起始者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址。
区别:
l二者的工作层次不同
交换机工作在数据链路层,而路由器工作在网络层。
l二者转发所依据的对象不同
交换机是利用MAC地址确定转发数据的目的地址,而路由器则是利用IP地址来确定数据转发的地址。
十九、如果一个路由器要同时连接在一个以太网和一个ATM网络上,需要有什么样的硬件加到路由器上
一个以太网适配器(网卡)和一个ATM适配器(网卡)。
二十、TCP最主要的特点
lTCP是面向连接的运输层协议
l每一条TCP连接只能有两个端点(一对一)
lTCP提供可靠交付的服务
lTCP提供全双工通信
l面向字节流
二十一、TCP可靠传输、流量控制和拥塞控制的实现
可靠传输:
l对于收到的请求,给出确认响应
l超时重传
流量控制:所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。利用滑动窗口实现流量控制。
拥塞控制:所谓拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。
l慢开始:慢开始的“慢”并不是指增长速率的慢,而是指在TCP开始发送报文段时先设置拥塞窗口为1。
l拥塞避免:使拥塞窗口按线性规律增长。
l快重传:发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段,而不必继续等待为其设置的重传计时器到期。
l快恢复(与快重传配合使用)
当发送方连续收到三个重复确认时,就执行“乘法减小”算法,把慢开始门限减半。这是为了预防网络发生拥塞。请注意,接下来不执行慢开始算法。
由于发送方现在认为网络很可能没有发生拥塞(如果网路发生了严重的拥塞,就不会一连有好几个报文段连续达到接收方,就不会导致接收方连续发送重复确认),因此与慢开始不同之处是现在不执行慢开始算法(即拥塞窗口现在不设置为1),而是把它设置为慢开始门限减半后的数值,然后开始执行拥塞避免算法(“加法增大”),使拥塞窗口缓慢地线性增大。
二十二、TCP协议的三次握手和四次挥手
注:seq:序列号;ack:确认号;SYN:请求同步标志;;ACK:确认标志";FIN:结束标志。
TCP连接建立过程:首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。
为什么A还要发送一次确认呢?
这主要是为了防止已失效的连接请求报文段突然又传送到了B,因而产生错误。假定出现一种异常情况,即A发出的第一个连接请求报文段并没有丢失,而是在某些网络结点长时间滞留了,以致延误到连接释放以后的某个时间才到达B。本来这是一个早已失效的报文段。但B收到此失效的连续请求报文段后,就误认为是A又发出新的连接请求。于是就向A发出确认报文段,同意建立连接。假定不采用三次握手,那么只要B发出确认,新的连接就建立了。
由于现在A并没有发出建立连接的请求,因此不会理睬B的确认,也不会向B发送数据。但B却认为新的运输连接已经建立了,并一直等待A发来数据。B的许多资源就这样白白浪费了。
TCP连接断开过程:假设Client端发起中断连接请求,也就是发送FIN报文。Server端接到FIN报文后,意思是说"我Client端没有数据要发给你了",但是如果你还有数据没有发送完成,则不必急着关闭Socket,可以继续发送数据。所以你先发送ACK,"告诉Client端,你的请求我收到了,但是我还没准备好,请继续你等我的消息"。这个时候Client端就进入FIN_WAIT状态,继续等待Server端的FIN报文。当Server端确定数据已发送完成,则向Client端发送FIN报文,"告诉Client端,好了,我这边数据发完了,准备好关闭连接了"。Client端收到FIN报文后,"就知道可以关闭连接了,但是他还是不相信网络,怕Server端不知道要关闭,所以发送ACK后进入TIME_WAIT状态,如果Server端没有收到ACK则可以重传。“,Server端收到ACK后,"就知道可以断开连接了"。Client端等待了2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,我Client端也可以关闭连接了。Ok,TCP连接就这样关闭了!
二十三、DNS(Domain Name System)域名系统
DNS提供的服务是用来将域名转换为IP地址的工作。它的基本工作原理如下图所示:
DNS的工作过程:
举例:
在浏览器中输入www.baidu.com后执行的全部过程
现在假设如果我们在客户端(客户端)浏览器中输入http://www.baidu.com,而baidu.com为要访问的服务器(服务器),下面详细分析客户端为了访问服务器而执行的一系列关于协议的操作:
1)客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层。
2)在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。
3)客户端的网络层不用关系应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,不作过多的描述,无非就是通过查找路由表决定通过那个路径到达服务器。
4)客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。