计算机网络1、OSI的七层模型。(10分)OSI的七层模型如下图所示:请描述下TCP和UDP的差别,并且各列举出一个上层协议。(10分)TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。经常使用“ping”命令的原理就是向对方主机发送UDP数据包,ftp等就是使用到的TCP协议1.网络结构在OSI参考模型中,物理层的作用是透明的传输比特流。对等实体在一次交互作用中传送的信息单位称为协议数据单元,它包括控制信息和用户数据两部分。上下层实体之间的接口称为服务访问点(SAP),网络层的服务访问点也称为网络地址,通常分为网络号和主机号。OSI参考模型分为:物理层、数据链路层,网络层,传输层,会话层,表示层,应用层。物理层涉及到在信道上传输的原始比特流。数据链路层的主要任务是加强物理层传输原始比特流的功能,使之对应的网络层显现为一条无错线路(差错控制)。发送包把输入数据封装在数据帧,按顺序传送出去并处理接受方回送的确认帧(交换确认机制)。网络层关系到子网的运行控制,其中一个关键问题是确认从源端到目的端如何选择路由。传输层的基本功能是建立端到端的连接,为保证数据从一端到另一端的完整性,提供流量控制,差错控制等服务。会话层允许不同机器上的用户建立会话关系。TCP/IP的五层结构图:物理层、数据链路层、网络层、运输层,应用层。2.请你详细地解释一下IP协议的定义,在哪个层上面?主要有什么作用?TCP与UDP呢?答:IP协议(InternetProtocol)又称互联网协议,是支持网间互连的数据报协议,它与TCP协议(传输控制协议)一起构成了TCP/IP协议族的核心。它提供网间连接的完善功能,包括IP数据报规定互连网络范围内的IP地址格式。IP是网络层协议TCP和UDP都是传输层协议.TCP(TransmissionControlProtocol,传输控制协议)是面向连接的协议,在收发数据前,必须和对方建立连接。TCP保障可靠传输(按序、无差错、不丢失、不重复)。UDP(UserDataProtocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去。UDP不保障可靠传输,使用最大努力交付;什么是ARP(AddressResolutionProtocol)地址解析协议?ARP(AddressResolutionProtocol),是根据IP地址获取物理地址的一个TCP/IP协议。其功能是:主机将ARP请求广播到网络上的所有主机,并接收返回消息,确定目标IP地址的物理地址,同时将IP地址和硬件地址存入本机ARP缓存中,下次请求时直接查询ARP缓存。反向地址转换协议(RARP:ReverseAddressResolutionProtocol)反向地址转换协议(RARP)允许局域网的物理机器从网关服务器的ARP表或者缓存上请求其IP地址。3.请问交换机和路由器各自的实现原理是什么?分别在哪个层次上面实现的?答:交换机属于OSI第二层即数据链路层设备。它根据MAC地址寻址,通过站表选择路由,站表的建立和维护由交换机自动进行。路由器属于OSI第三层即网络层设备,它根据IP地址进行寻址,通过路由表路由协议产生。交换机最大的好处是快速,路由器最大的好处是控制能力强。4.交换和路由的区别是什么?VLAN有什么特点?交换是指转发和过滤帧,是交换机的工作,它在OSI参考模型的第二层。而路由是指网络线路当中非直连的链路,它是路由器的工作,在OSI参考模型的第三层。交换和路由的区别很多。首先,交换是不需要IP的,而路由需要,因为IP就是第三层的协议,第二层需要的是MAC地址;再有,第二层的技术和第三层不一样,第二层可以做VLAN、端口捆绑等,第三层可以做NAT、ACL、QOS等。VLAN是虚拟局域网的英文缩写,它是一个纯二层的技术,一个VLAN就是一个广播域,VLAN之间的通信是通过第3层的路由器来完成的。它的特点有三:控制广播,安全,灵活性和可扩展性。5.什么是SNMP协议?它有什么特点?SNMP协议需要专门的连接么?答:SNMP(SimpleNetworkManagerProtocol)即简单网络管理协议,它为网络管理系统提供了底层网络管理的框架。SNMP的特点是:SNMP易于实现;SNMP协议是开放的免费产品;SNMP协议有很多详细的文档资料,网络业界对这个协议也有较深入的了解,这些都是SNMP协议进一步发展和改进的基础;SNMP协议可用于控制各种设备。SNMP是一种无连接协议。无连接的意思是它不支持像TELNET或FTP这种专门的连接。通过使用请求报文和返回响应的方式,SNMP在管理代理和管理员之间传送消息。6.路由表是做什么用的?在Linux环境中怎么配置一条默认路由?答:路由表是用来决定如何将包从一个子网传送到另一个子网的,换句话说就是用来决定从一个接口接受到的包应该送到哪一个接口上去。路由表的每一行至少由目标网络号、netmask、下一跳接口这3条信息。当路由器从一个网卡接受到一个包时,它扫描路由表的每一行,用里面的netmask和包里的目标IP地址做并逻辑运算(&)找出目标网络号。如果此网络号和这一行里的网络号相同,就将这条路由保留下来作为备用路由。如果已经有备用路由了,就在这两条路由里将网络号最长的留下来,另一条丢掉。如此接着扫描下一行直到结束。如果扫描结束仍没有找到任何路由,就用默认路由。确定路由后,直接将包送到对应的网卡上去。在Linux上可以用“routeadddefaultgw默认路由器IP”命令配置一条默认路由。7.在网络中有两台主机A和B,通过路由器和其他交换机设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么判断故障点?怎么排除故障?答:测试这两台机器是否连通:从一台机器ping另一台机器。如果ping不同,用traceroute命令可以确定是哪个路由器不能连通,然后再找问题是否在交换设备或HUB或网线等。8.每个路由器在寻找路由时需要知道哪5部分信息?答:所有的路由器需要如下信息为报文寻找路由:目的地址报文发送的目的主机。邻站的确定指明谁直接连接到路由器的接口上。路由的发现发现邻站知道哪些网络。选择路由通过从邻站学习到的信息,提供最优的到达目的地的路径。保持路由信息路由器保存一张路由表,它存储所知道的所有路由信息。9.什么是BGP?答:BGP(BorderGatewayProtocol,边界网关协议)是一种在自治系统之间动态交换路由器信息的路由协议。一个自治系统的经典定义是一个管理机制控制之下的一组路由器,它使用IGP和普通度量值向其他自治系统转发报文。10.自适应网卡只有红灯闪烁,绿灯不亮,这种情况正常?答:自适应网卡红灯代表Link/Act(连通/工作),即连通时红灯长亮,传输数据时闪烁;绿灯代表FDX(全双工),即全双工状态时亮,半双工状态时灭。如果一个半双工的网络设备和自适应网卡相连,由于这张网卡是自适应网卡,它就会工作在半双工状态,所以绿灯不亮也属于正常情况。11.两台笔记本电脑连起来后ping不通,你觉得可能存在哪些问题?答:(1)首先想到的就是你的网线问题。确认网线是否正确,电脑之间连的线和电脑与HUB之间连的线分正线、反线,是不同的。但是对于使用千兆位网卡的除外,千兆位网卡有自动识别的功能,既可以是正线也可以是反线。(2)局域网设置问题。电脑互连是要设置的。看看是否安装了必要的网络协议,最重要的是,IP地址是否设置正确。互连的时候,最好一台为主,一台为副,主的设为网关。(3)网卡驱动未正确安装。(4)防火墙设置有问题。(5)是否有什么软件阻止ping包。12.解释什么叫“透明”?什么叫“网格”?答:透明即向高层隐蔽其具体实现。网格就是有规律的方格集,是虚拟的。网格是把整个因特网整合一台巨大的超级计算机,实现各种资源的全面共享。网格的根本特征不是它的规模,而是资源共享,消除资源孤岛。在不同地区的计算机各自分析某一项计算的一部分,综合起来计算出同一项东西。13.我们在南京,与深圳的网络是通的,但和北京的网络不通,你以怎样的顺序查找问题所在?答:查找路由器是否可以测试到目的地、所经过的路由器及路由延迟状态。通过这个命令看最后的一个数据包是在哪儿被丢弃或中断的。14.香农定理是什么?答:香农定理:香农定理描述了有限带宽、有随机热噪声信道的最大传输速率与信道带宽、信号噪声功率比之间的关系。在有随机热噪声的信道上传输数据信号时,数据传输率Rmax与信道带宽B、信噪比S/N的关系为:Rmax=B*log2(1+S/N)。香农定理由如下的公式给出:C=B*log2(1+S/N),其中C是可得到的链路速度,B是链路的带宽,S是平均信号功率,N是平均噪声功率,信噪比(S/N)通常用分贝(dB)表示,分贝数=10*lg(S/N)。15.IP地址的分类A类、B类和C类地址的网络号字段net-id分别为1,2和3字节长,而在网络号字段的最前面有1~3bit的类别比特,其数值分别规定为0,10,110。A类、B类和C类地址的主机号字段分别为3个、2个和1个字节长。IP地址的使用范围网络类别最大网络数第一个可用的网络号最后一个可用的网络号每个网络中的最大主机数A126(27-2)112616777214(224-2)B16384(214)128.0191.25565534(216-2)C2097152(221)192.0.0223.255.255254(28-2)在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下:A类地址:10.0.0.0~10.255.255.255B类地址:172.16.0.0~172.31.255.255C类地址:192.168.0.0~192.168.255.255A类地址的第一组数字为1~126。注意,数字0和127不作为A类地址,数字127保留给内部回送函数,而数字0则表示该地址是本地宿主机,不能传送。B类地址的第一组数字为128~191。C类地址的第一组数字为192~223。一般不使用的特殊IP地址net-idhost-id源地址使用目的地址使用代表的意思00可以不可在本网络上的主机0host-id可以不可在本网络上的某个主机全1全1不可可以只在本网络上进行广播net-id全1不可可以对net-id上的所有主机进行广播127任何数可以可以用作本地软件环回测试之用16.TCP/IP建立连接的过程?(3-wayshake)答:在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。syn是TCP中的一个标志位。如果该位被置为1,则表示这个报文是一个请求建立连接的报文TCP的三次握手过程?为什么会采用三次握手,若采用二次握手可以吗?答:建立连接的过程是利用客户服务器模式,假设主机A为客户端,主机B为服务器端。(1)TCP的三次握手过程:主机A向B发送连接请求;主机B对收到的主机A的报文段进行确