计算机网络作为IT行业的一个基础领域,是程序员在面试时经常需要面对的一个考察项目。了解并掌握计算机网络的基本知识点,是每一个有志于从事IT行业的专业人士所必备的技能。以下将会详细解释2018年计算机网络面试中常见的基本知识点。
OSI模型和TCP/IP模型是计算机网络中最为基础的两种模型。OSI模型全称为开放式系统互联通信参考模型,它由7层构成,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每一层都有其特定的功能和作用。而TCP/IP模型则是一种简化的四层模型,包括网络接口层、网际层、运输层和应用层。OSI模型的7层与TCP/IP的4层模型在一定程度上是对应关系,但并不完全相同。随后,在一些场合中,还会使用一个五层模型来代替OSI的七层模型,其层次结构类似于OSI,但更加简化。
IP地址是网络通信的基础,分为A、B、C、D、E五类。A类地址适用于大型网络,B类地址适用于中型网络,C类地址适用于小型网络,D类地址用于多播,E类地址则为保留地址。在实际应用中,A、B、C类地址是常用的基本类别,而D类地址用于多播,E类地址保留未使用。除此外,内部私有地址如10.x.x.x,172.16.x.x至172.31.x.x,和192.168.x.x,用于局域网内部分配,不能在互联网上直接使用。
ARP协议,即地址解析协议,是网络通信中的关键技术之一。它的主要功能是将网络层的IP地址解析为数据链路层使用的MAC地址。当一台主机需要发送数据给另一台主机时,如果它在ARP缓存中找不到目标主机的MAC地址,就会发送一个ARP请求广播,目标主机接收到请求后,会单播发送一个ARP响应包给请求主机,请求主机收到后会将目标主机的IP与MAC地址对应关系存入ARP缓存。
关于协议的介绍,例如ICMP协议是因特网控制报文协议,它是TCP/IP协议族中的一部分,用于主机或路由器之间传递控制消息。TFTP协议是TCP/IP中的简单文件传输协议,它提供基本的文件传输服务,而HTTP协议是超文本传输协议,应用层的一个协议,是互联网上应用最广的一种网络协议。NAT协议是网络地址转换,它允许内部网络中的私有IP地址转换为合法的IP地址,从而访问互联网。
网络通信过程中,最为重要的通信过程之一是TCP三次握手与四次挥手。TCP三次握手是指建立连接时,客户端和服务端通过发送SYN(同步序列编号)、ACK(确认应答)等报文完成连接的建立。而四次挥手则是断开连接时,同样需要经过一定次数的报文交换才能确保数据传输完毕,然后释放连接资源。整个过程中,三次握手用于保证双方的发送和接收能力正常,而四次挥手则用于正确关闭连接。
当我们在浏览器中输入一个网址时,背后所发生的是一个完整的DNS解析过程,以及TCP三次握手建立连接的过程。从用户输入网址到最终在浏览器中显示网页内容,涉及到域名解析、IP地址查找、TCP连接建立、数据传输以及内容渲染等多个环节。
网络中的交换机、路由器、网关各自承担着不同的角色。交换机工作在数据链路层,主要负责局域网内部设备的数据转发。路由器工作在网络层,主要负责不同网络之间的数据包传递。网关的概念相对更广泛,它可以是交换机,也可以是路由器,或者专用的协议转换设备,主要负责网络之间的协议转换和数据传递。