计算机网络面试题是经常在Java面试被问到的,下面重点详解最常见的计算机网络面试题及答案。
1.什么是计算机网络?
计算机网络是指:连接在一起的计算机和其他设备,比如:打印机、路由器、交换机等组成的系统。
它通过物理介质,比如:电缆、光纤、无线信道等传输数据,并通过协议控制数据的传输和交换。
2.计算机网络按照规模分为哪几种?
计算机网络按照规模可以分为三种:
- 局域网(LAN);
- 城域网(MAN);
- 广域网(WAN);
3.OSI七层模型和TCP/IP四层模型有什么区别?
OSI七层模型是一种理论上的分层模型,包括:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
TCP/IP四层模型是一种实际应用的分层模型,包括网络接口层、网络层、传输层和应用层。
两种模型的主要区别在于OSI模型将应用层进一步细分为表示层和会话层,而TCP/IP模型将网络接口层作为一层独立存在。
如下图所示:
5.详细说下五层模型的作用?
1)应用层
为应用程序提供交互服务,在互联网中的应用层协议很多,比如:域名系统DNS、HTTP协议、SMTP协议等。
2)传输层
负责向两台主机进程之间的通信提供数据传输服务,传输层的协议主要有:传输控制协议TCP、用户数据协议UDP。
3)网络层
选择合适的路由和交换结点,确保数据及时传送,主要包括:IP协议。
4)数据链路层
在两个相邻节点之间传送数据时,数据链路层将网络层交下来的 IP 数据报组装成帧,在两个相邻节点间的链路上传送帧。
5)物理层
实现相邻节点间比特流的透明传输,尽可能屏蔽传输介质和物理设备的差异。
6.简单说下每一层对应的网络协议有哪些?
计算机五层网络体系中涉及的协议非常多,下面就常用的做了列举:
7.什么是HTTP协议?它有哪些问题?
HTTP协议是一种用于在Web浏览器和Web服务器之间传输数据的协议。
一般http中存在如下问题:
- 请求信息明文传输,容易被窃听截取;
- 数据的完整性未校验,容易被篡改;
- 没有验证对方身份,存在冒充危险;
8.什么是HTTPS协议?为什么要用它?
为了解决上述HTTP存在的问题,就用到了HTTPS。
HTTPS 协议:就是HTTP SSL/TLS,通过 SSL证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密。
9.HTTPS和HTTP的区别?
HTTPS是HTTP协议的安全版本,HTTP协议的数据传输是明文的,是不安全的,HTTPS使用了SSL/TLS协议进行了加密处理。
http和https使用连接方式不同,默认端口也不一样,http是80,https是443。
10.什么是IP地址?它有哪些类型?
IP地址是一种用于唯一标识互联网上设备的地址,它包括32位二进制数或4个8位十进制数。
IP地址分为IPv4和IPv6两种类型,IPv4地址使用32位二进制数表示,IPv6地址使用128位二进制数表示,可以满足互联网中设备数量的需求。
11.谈谈三次握手
13.什么是TCP协议?它有哪些特点?
TCP协议是一种面向连接的传输层协议,它提供可靠的数据传输、流量控制和拥塞控制等功能。
TCP协议的特点包括:面向连接、可靠性高、提供流量控制、提供拥塞控制等。
14.什么是UDP协议?适用哪些场景?
UDP协议是一种无连接的传输层协议,它不提供可靠性保证和流量控制等功能。
UDP协议适用于数据传输速度要求高、数据可靠性要求不高的应用场景。
15.TCP和UDP区别和应用?
TCP和UDP的区别,主要区别如下10点:
- TCP是可靠传输,UDP是不可靠传输;
- TCP面向连接,UDP无连接;
- TCP传输数据有序,UDP不保证数据的有序性;
- TCP面向字节流,UDP是面向报文的;
- TCP传输速度相对UDP较慢;
- TCP有流量控制和拥塞控制,UDP没有;
- TCP是重量级协议,UDP是轻量级协议;
- TCP首部20字节,UDP首部8字节;
- TCP连接只能是一对一的(端到端);
- UDP支持一对一、一对多、多对一和多对多的通信方式。
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》