计算机网络面试题总结

1.OSI有哪几层,每一层的各自作用

应用层(数据):确定进程之间通信的性质以满足用户需要以及提供网络与用户应用

 

表示层(数据):主要解决用户信息的语法表示问题,要加密解密

 

会话层(数据):提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制,如服务器验证用户登录便是由会话层完成的

 

传输层(端):实现网络不同主机上用户进程之间的数据通信,可靠与不可靠传输,传输层的错误检测,流量控制等

 

网络层(包):提供逻辑地址(IP)、线路、数据从远端到目的端的传输

 

数据链路层(帧):将上层数据封装成帧,用MAC地址访问媒介,错误检测与修正

 

物理层(比特流):设备之间比特流的传输、物理接口、电气特征等

 

2.知道各个层使用的是那个数据交换设备

 

1. 网关:应用层、传输层(网关在传输层上以实现网络互连,是最复杂的网络互连设 备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是 互连层。网关既可以用于广域网互连,也可以用于局域网互连)

 

2. 路由器:网络层(路由选择、存储转发)

 

3. 交换机:数据链路层、网络层(识别数据包中的 MAC 地址信息,根据 MAC 地址进 行转发,并将这些 MAC 地址与对应的端口记录在自己内部的一个地址表中)

 

4. 网桥:数据链路层(将两个 LAN 连起来,根据 MAC 地址来转发帧)

 

5. 集线器(Hub):物理层(纯硬件设备,主要用来连接计算机等网络终端)

 

6. 中继器:物理层(在比特级别对网络信号进行再生和重定时,从而使得它们能够在 网络上传输更长的距离) 

 

3.如何理解IP的不可靠和无连接

 

不可靠:指的是不能保证数据报能成功到达目的地。发生错误的时候,丢弃改数据包,发送ICMP消息给信源端。可靠性由上层提供

 

无连接:IP不维护关于后续数据报的状态信息。体现在:IP数据可以不按顺序发送和接收。

 

4.主机和路由器的本质区别是什么?

 

主机从不把数据报从一个接口转发到另一个接口上,而路由器则要转发数据报

 

5.IP地址的分类,如何划分

 

1. A 类地址:首位为 0,1.0.0.1~~126.255.255.254;主机号 24 位

2. B 类地址:首位为 10,128.0.0.1~~191.255.255.254;主机号 16 位

3. C 类地址:首位为 110,192.0.0.1~~223.255.255.254;主机号 8 位

4. D 类地址(多播地址,也叫做组播地址):首位为 1110,224.0.0.1~~239.255.255.254 5. E 类地址:此类地址是保留地址,首位为 11110,240.0.0.1~~254.255.255.254 

 

6.UDP和TCP的简单介绍

UDP是一个简单的面向数据报的传输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报

 

TCP是面向流字符,应用程序惨省的全体数据与真正发送的单个IP数据报可能没什么关系

 

 

7.TCP与UDP的概念相互的区别以及优劣

 

1.TCP面向连接,UDP面向无连接

 

2.TCP面向报文,UDP面向字节流

 

3.TCP提供可靠传输服务(数据顺序、正确性)、UDP传输不可靠

 

4.TCP协议传输速度慢,UDP协议传输速度快

 

5.TCP协议对系统资源要求多(头部开销大),UDP协议要求少

 

 

8.为什么要3次握手、4次挥手

 

1. 3次握手:防止已过期的连接请求报文突然又传送到服务器,因而产生错误

 

2. 4次挥手:确保数据能够完成传输;但关闭连接时,当收到对方的FIN报文通知时,它仅仅表示对方没有数据发送给你了;但未必你将所有的数据全部发送给对方了,所以你可以未必马上会关闭SOCKET,也即你可能还需要发送一些数据给对方之后,在发送FIN报文给对方表示你同意现在可以关闭连接了。

 

9.DNS的概念,用途,DNS查询的实现算法

 

概念:域名解析,把www.xxx.com转换成ip,能够使用户更方便的访问互联网,而不用记住能够被机器直接读取的ip地址

 

主机解析域名的顺序:

1.浏览器缓存

2.找本机的hosts文件

3.路由缓存

4.找DNS服务器(本地域名、顶级域名、根域名)

 

迭代查询、递归查询

 

 

10.GET和POST的区别

 

数据位置:

get:HTTP包头

post:HTTP正文

明文密文:

get:明文

post:可明可密

数据安全:

get:不安全

post:安全

长度限制:

get:长度比较小

post:支持较大数据传输

应用场景:

get:查询数据

post:修改数据

 

12.Cookies和Session区别

 

Cookie是一种发送到客户浏览器的文本传句柄,并保存在客户机硬盘上,可以用来在某个WEB站点会话间持久的保持数据

 

Session指的就是访问者从到达某个特定主页到离开为止的那段时间。Session其实是利用Cookie进行信息处理的,当用户首先进行请求后,服务端就在用户浏览器上创建了一个Cookie,当这个Session结束时,其实就是意味着这个Cookie就过期了

 

Cookie数据保存在客户端、Session数据保存在服务器端

 

13.进程和线程的区别是什么?

 

定义上:

进程:是执行中一段程序,即一旦程序被载入到内存中并准备执行,它就是一个进程。进程表示资源分配的基本概念,有事调度运行的基本单位,是系统开发的并发执行单位

 

线程:单个进程执行中每个人物就是一个线程。线程是进程中执行运算的最小单位

 

一个线程只能属于一个进程,但是一个进程可以拥有多个线程,多线程处理就是允许一个进程中在同一时刻执行多个任务

 

线程是一种轻量级的进程,与进程相比。线程给操作系统带来的创建、维护、管理的负担要请,意味着现成的代价或开销比较少

 

线程没有地址空间,线程包含在进程的地址空间中,线程上下文只包含一个堆栈、一个寄存器、一个优先权,线程文本包含在她的进程的文本片段中

 

相同点:

进程和线程都有ID/寄存器,状态和优先权、信息块、创建后都可更改自己的属性、都可与父进程共享资源,都不能直接访问其他无关进程或线程资源。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值