# 常见面试题整理–计算机网络篇(每位开发者必备)
# 1. 请简述 TCP\UDP
的区别
TCP
和 UDP
是 OSI
模型中的运输层中的协议。 TCP
提供可靠的通信传输,而 UDP
则常被用于让广播和细节控制交给应用的通信传输。
两者的区别大致如下:
TCP
面向连接,UDP
面向非连接即发送数据前不需要建立链接TCP
提供可靠的服务(数据传输),UDP
无法保证TCP
面向字节流,UDP
面向报文TCP
数据传输慢,UDP
数据传输快
# 2. 请简单说一下你了解的端口及对应的服务?
端口简介:本文介绍端口的概念,分类,以及如何关闭 / 开启一个端口
-
21端口
:21 端口主要用于FTP(File Transfer Protocol,文件传输协议)
服务。 -
23
端口:23 端口主要用于Telnet(远程登录)
服务,是Internet
上普遍采用的登录和仿真程序。 -
25端口
:25 端口为SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)
服务器所开放,主要用于发送邮件,如今绝大多数邮件服务器都使用该协议。 -
53端口
:53 端口为DNS(Domain Name Server,域名服务器)
服务器所开放,主要用于域名解析,DNS
服务在NT
系统中使用的最为广泛。 -
67、68端口
:67、68 端口分别是为Bootstrap
服务的Bootstrap Protocol Server(引导程序协议服务端)
和Bootstrap Protocol Client(引导程序协议客户端)
开放的端口。 -
69端口
:TFTP
是 Cisco 公司开发的一个简单文件传输协议
,类似于FTP
。 -
79端口
:79 端口是为Finger
服务开放的,主要用于查询远程主机在线用户、操作系统类型以及是否缓冲区溢出等用户的详细信息。 -
80端口
:80 端口是为HTTP(HyperText Transport Protocol,超文本传输协议)
开放的,这是上网冲浪使用最多的协议,主要用于在WWW(World Wide Web,万维网)
服务上传输信息的协议。 -
99端口
:99 端口是用于一个名为“Metagram Relay”(亚对策延时)
的服务,该服务比较少见,一般是用不到的。 -
109、110端口
:109 端口是为POP2(Post Office Protocol Version 2,邮局协议2)
服务开放的,110端口是为POP3(邮件协议3)
服务开放的,POP2、POP3
都是主要用于接收邮件的。 -
111端口
:111 端口是SUN
公司的RPC(Remote Procedure Call,远程过程调用)
服务所开放的端口,主要用于分布式系统中不同计算机的内部进程通信,RPC 在多种网络服务中都是很重要的组件。 -
113端口
:113 端口主要用于Windows
的“Authentication Service”(验证服务)
。 -
119端口
:119 端口是为“Network News Transfer Protocol”(网络新闻组传输协议,简称NNTP)
开放的。 -
135端口
:135 端口主要用于使用RPC(Remote Procedure Call,远程过程调用)
协议并提供DCOM(分布式组件对象模型)
服务。 -
137端口
:137 端口主要用于“NetBIOS Name Service”(NetBIOS名称服务)
。 -
139端口
:139 端口是为“NetBIOS Session Service”
提供的,主要用于提供Windows
文件和打印机共享以及Unix
中的Samba
服务。 -
143端口
:143 端口主要是用于“Internet Message Access Protocol”v2(Internet消息访问协议,简称IMAP)
。 -
161端口
:161 端口是用于“Simple Network Management Protocol”(简单网络管理协议,简称SNMP)
。 -
443端口
:43 端口即网页浏览端口,主要是用于HTTPS
服务,是提供加密和通过安全端口传输的另一种HTTP
。 -
554端口
:554 端口默认情况下用于“Real Time Streaming Protocol”(实时流协议,简称RTSP)
。 -
1024端口
:1024 端口一般不固定分配给某个服务,在英文中的解释是“Reserved”(保留)
。 -
1080端口
:1080 端口是 Socks 代理服务使用的端口,大家平时上网使用的 WWW 服务使用的是 HTTP 协议的代理服务。 -
1755端口
:1755 端口默认情况下用于“Microsoft Media Server”(微软媒体服务器,简称MMS)
。 -
4000端口
:4000 端口是用于大家经常使用的QQ
聊天工具的,再细说就是为QQ
客户端开放的端口,QQ
服务端使用的端口是8000
。 -
5554端口
:在今年 4 月 30 日就报道出现了一种针对微软lsass服务
的新蠕虫病毒 —— 震荡波(Worm.Sasser),该病毒可以利用TCP 5554端口
开启一个FTP
服务,主要被用于病毒的传播。 -
5632端口
:5632 端口是被大家所熟悉的远程控制软件pcAnywhere
所开启的端口。 -
8080端口
:8080 端口同 80 端口,是被用于WWW
代理服务的,可以实现网页
# 3. 说一说 TCP
的三次握手
在 TCP/IP
协议中, TCP协议
提供可靠的连接服务,连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换 TCP
窗口大小信息。
下面详细说一下三次握手(来自简析 TCP
的三次握手与四次分手)
# 4. 有哪些私有(保留)地址?
A
类:10.0.0.0 - 10.255.255.255
B
类:172.16.0.0 - 172.31.255.255
C
类:192.168.0.0 - 192.168.255.255
# 5. IP
地址分为哪几类?简单说一下各个分类
IPv6
– 采用 128bit
,首部固定部分为 40
字节。
# 6. 在浏览器中输入网址之后执行会发生什么?
- 查找域名对应的
IP
地址。这一步会依次查找浏览器缓存,系统缓存,路由器缓存,ISPNDS
缓存,根域名服务器 - 浏览器向
IP
对应的web
服务器发送一个HTTP
请求 - 服务器响应请求,发回网页内容
- 浏览器解析网页内容
更加详细的一种说法(以百度为例)(来自计算机网络之面试常考 - 牛客网)
# 7. 简单解释一些 ARP
协议的工作过程
# 8. 说一说 OSI
七层模型
# 9. 说一说 TCP/IP
四层模型
ISO
制定的 OSI
参考模型的过于庞大、复杂招致了许多批评。与此对照,由技术人员自己开发的 TCP/IP
协议栈获得了更为广泛的应用。如图所示,是 TCP/IP
参考模型和 OSI
参考模型的对比示意图。
具体讲解:链接
# 10. HTTP
协议包括哪些请求?
-
GET
:对服务器资源的简单请求 -
POST
:用于发送包含用户提交数据的请求
------------ 以及 ------------ -
HEAD
:类似于 GET 请求,不过返回的响应中没有具体内容,用于获取报头 -
PUT
:传说中请求文档的一个版本 -
DELETE
:发出一个删除指定文档的请求 -
TRACE
:发送一个请求副本,以跟踪其处理进程 -
OPTIONS
:返回所有可用的方法,检查服务器支持哪些方法 -
CONNECT
:用于ssl
隧道的基于代理的请求
# 11. 简述 HTTP
中 GET
和 POST
的区别
从原理性看:
- 根据
HTTP
规范,GET
用于信息获取,而且应该是安全和幂等的 - 根据
HTTP
规范,POST
请求表示可能修改服务器上资源的请求
从表面上看:
GET
请求的数据会附在URL
后面,POST
的数据放在HTTP
包体POST
安全性比GET
安全性高