计算机网络常见面试题

1.TCP/UDP区别以及TCP如何保证传输可靠性

TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话才能建立起来,其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。我们来看看这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。 

UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!

tcp协议和udp协议的差别 

 TCPUDP
是否连接面向连接面向非连接
传输可靠性可靠不可靠
应用场合传输大量数据少量数据
速度

TCP的可靠性如何保证

在TCP的连接中,数据流必须以正确的顺序送达对方。TCP的可靠性是通过顺序编号和确认(ACK)来实现的。TCP在开始传送一个段时,为准备重传而首先将该段插入到发送队列之中,同时启动时钟。其后,如果收到了接受端对该段的ACK信息,就将该段从队列中删去。如果在时钟规定的时间内,ACK未返回,那么就从发送队列中再次送出这个段。TCP在协议中就对数据可靠传输做了保障,握手与断开都需要通讯双方确认,数据传输也需要双方确认成功,在协议中还规定了:分包、重组、重传等规则;而UDP主要是面向不可靠连接的,不能保证数据正确到达目的地。


TCP采用两次握手可以吗?

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

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

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

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

2.OSI七层模型与TCP/IP五层模型

OSI七层模型

应用层:文件传输、电子邮件、文件服务、虚拟终端  FTP、HTTP、SNMP、DNS、Telnet。

    DNS是将 域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
例如:微软公司的Web服务器的IP地址是207.46.230.229,其对应的域名是www.microsoft.com,不管用户在浏览器中输入的是207.46.230.229还是www.microsoft.com,都可以访问其Web网站。

表示层:数据格式化、代码转换、数据加密(数据处理)  没有协议

会话层:接触或建立与别的结点的联系  没有协议

传输层:提供端对端的接口  TCP、UDP

     三次握手、TCP如何保证传输的可靠性

网络层:为数据包选择路由  IP、ICMP、RIP、OSPF、BGP、IGMP(一些路由选择协议)

     RIP协议(路由选择信息协议):选择路由的度量标准是跳数,最大跳数是15跳,如果大于15跳,它就会丢弃数据包。
     OSPF协议(优先开放最短路径):底层是迪杰斯特拉算法,是链路状态路由选择协议,它选择路由的度量标准是带宽、延迟。
     ICMP是 internet control message protocal,因特网控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由器是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。 ICMP 报文有两种:差错报告报文和询问报文
数据链路层:传输有地址的帧以及错误检测功能  ARP、RARP
    地址解析协议,即ARP(address resolution protocol),是根据 IP地址获取物理地址的一个TCP/IP协议(网络层协议)。
 首先, 每台主机都会在自己的ARP缓冲区中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址,如果有,就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址;源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
物理层:以二进制数据形式在物理媒体上传输数据

TCP/IP五层模型

物理层:中继器,集线器,网线,网卡(网卡是一半工作在物理层、一半工作在数据链路层)
数据链路层:二层交换机
网络层:路由器、三层交换机
传输层:四层交换机、也有工作在四层的路由器。
应用层

3.IP地址的分类

网络地址+主机地址

A类地址:以0开头,第一个字节范围:0~127,子网掩码:255.0.0.0;

B类地址:以10开头,第一个字节范围:128~191,子网掩码:255.255.0.0;

C类地址:以110开头,第一个字节范围:192~223,子网掩码:255.255.255.0;

子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址。

4.请问交换机和路由器分别的实现原理是什么?分别在哪个层面上面实现的?

交换机用于局域网,利用 主机的MAC地址进行数据传输,而不需要关心 IP数据包中的 IP地址,它工作于 数据链路层。路由器识别网络是通过 IP 数据包中IP地址的网络号进行的,所以为了保证数据包路由的正确性,每个网络都必须有一个唯一的网络号。路由器通过 IP数据包的 IP地址进行路由的(将数据包递交给哪个下一跳路由器)。 路由器工作于网络层。由于设备现在的发展,现在很多设备既具有交换又具有路由功能,两者的界限越来越模糊。

5.双绞线的配对?

1-27-83-64-5白蓝-蓝、白橙-橙、白绿-绿、白棕-














  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值