面试网络总结

1 OSI七层模型和TCP/IP

 

2 B/S与C/S有什么区别?web

C/S是客户端/服务器的缩写,在C/S架构中,服务器一般采用高性能的PC、工做站或者小型机,并且采用大型数据库系统,如SQL server 、DB二、Oracle和Sybase等。客户端须要安装专用的客户端软件。数据库

B/S是浏览器/服务器的缩写,客户端一般只须要安装一个浏览器,服务器安装SQL server、DB二、Oracle或Sybase等数据库。编程

 

3 MVC模型结构是什么浏览器

MVC是模型(model)、视图(view)和控制(controller)这3个单词的第一个字母。它是一种目前普遍流行的应用模型。它的目的是实现web系统的职能分工。其中模型层实现系统中的业务逻辑,一般能够用JavaBean或EJB实现;视图层则用于与用户的交互,一般用JSP来实现;控制层则是模型与视图view之间沟通的桥梁,它能够把用户的请求分派并选择恰当的视图来显示它们,同时它也能够解释用户的输入并将其映射为模型层可以执行的操做。服务器

 

4 交换机与路由器有什么区别?

交换机是一种基于MAC失败,能完成封装转发数据包功能的网络设备。网络

交换机与路由器的区别主要表现值如下3个方面:架构

1)工做层次不一样。交换机工做在OSI模型的数据链路层,而路由器工做在网络层socket

2)数据转发所依据的对象不一样。交换机是利用物理地址来肯定转发数据的目的地址,而路由器是利用IP地址来肯定数据转发的地址。性能

3)传统的交换机只能分割冲突域,不能分割广播域;而路由器能够分割广播域。spa

4)交换机负责同一网段的通讯,路由器负责不一样网段的通讯。

集线器与交换机的区别?

1)工做位置不一样。集线器工做在OSI模型的物理层,而交换机工做在数据链路层。

2)集线器不能分割冲突域,而交换机能够分割冲突域

3)带宽不一样。无论有多少个端口,集线器的全部端口都是共享一条带宽,而交换机每一个端口独占带宽。

4)性能不一样。交换机以MAC地址进行寻址,有必定的额外开销,集线器以广播方式传播数据。

5 TCP和UDP的区别有哪些?

UDP提供无链接的通讯,不能保证数据包被发送到目的地址,典型的即时传输少许数据的应用程序一般使用UDP。TCP是一种面向链接的、可靠的、基于字节流的通讯协议,它为传输大量数据或为须要接收数据许可的应用程序提供链接定向和可靠的通讯。

TCP和UDP的区别主要以下:

1)TCP是面向链接的传输控制协议,而UDP提供的是无链接的数据报服务

2)TCP具备高可靠性,确保传输数据的正确性,不出现丢失或乱序;UDP在传输数据前不创建链接,不对数据报进行检查与修改,无需等待对方的应答,因此会出现分组丢失、重复、乱序,应用程序须要负责传输可靠性方面的全部工做。

3)TCP对系统资源要求较多,UDP对系统资源要求较少

4)UDP具备较好的实时性,工做效率较TCP高

5)UDP的段结构比TCP的段结构简单,所以网络开销也小

6 什么叫三次握手?什么叫四次断开

 

为何要有TIME_WAIT

1 保证可靠的实现TCP全双工链接的终止

2 容许链接中老的重复分节在网络中消逝。

 

为何“三次握手,四次挥手“

6 如何使用socket编程

7 阻塞模式和非阻塞模式的区别

 8 TCP经过如下方式来提供可靠性:

  • 应用数据被分割成TCP任务最合适发送的数据块。这和UDP彻底不一样,应用程序产生的数据报长度将保持长度不变。由TCP 传递给IP的信息单位称为报文段或段。
  • 当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。若是不能及时收到一个确认,将重发这个报文段。
  • 当TCP收到发自TCP 链接另外一端的数据,它将发送一个确认。这个确认不是当即发送的,一般将推迟几分之一秒。
  • TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程当中的任何变化。若是收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段(但愿发端超时并重发)。
  • 既然TCP报文段做为IP数据报来传输,而IP数据报的到达可能失序,所以TCP报文段的达到也可能会失序。若是必要,TCP将对收到的数据进行从新排序,将收到的数据以正确的顺序交给应用层。
  • 既然IP数据报会发生重复,TCP的接收端必须丢弃重复的数据。
  • TCP还能提供流量控制。TCP链接的每一方都有固定大小的缓冲空间。TCP的接收端只容许另外一端发送接收端缓冲区所能收纳的数据。这将防止较快导致较慢主机的缓冲区溢出。

9 TCP管理4种不一样的定时器:

1)重传定时器使用于当但愿收到另外一端的确认。(保证可靠传输)

2)坚持定时器使窗口大小信息保持不断流动,即便另外一端关闭了其接收窗口。(当接收端的窗口为0时,用来进行检测)

3)保活计时器能够检测一个空闲链接的另外一端什么时候崩溃或重启。(用来检测服务器崩溃)

4)2MSL定时器测量一个链接处于TIME_WAIT状态的时间。(为何要有TIME_WAIT:2个缘由)

相关文章
相关标签/搜索