计算机网络
概念
计算机网络是一个复杂的系统,涉及到多个方面。以下是一些关于计算机网络相关的概念和要点:
- 基本概念:计算机网络是由多个地理位置不同、功能独立的计算机系统,通过通信设备和线路相互连接,以实现资源共享和信息传递的系统。这些计算机系统可以是个人计算机、服务器、工作站等。
- 主要组成部分:计算机网络主要由硬件、软件和协议三大部分组成。硬件包括计算机、通信设备(如集线器、交换机、路由器等)和传输介质(如光纤、电缆等)。软件则包括网络操作系统、网络协议软件等,用于实现网络通信和资源共享。协议是计算机网络通信的规则和约定,它确保了数据在网络中的正确传输和处理。
- 分类:根据覆盖范围的不同,计算机网络可以分为广域网(WAN)、城域网(MAN)、局域网(LAN)和个人区域网(PAN)。每种网络都有其特定的应用场景和特点。
- 功能:计算机网络具有多种功能,如数据通信、资源共享、分布式处理、提高系统可靠性、负载均衡等。这些功能使得人们可以更加方便地获取和共享信息,提高了工作效率和生活质量。
- 网络协议:计算机网络中使用的协议有很多种,如TCP/IP、HTTP、HTTPS等。这些协议规定了数据如何在网络中传输、如何处理错误和拥塞等问题。例如,HTTP和HTTPS是用于网页浏览的协议,其中HTTPS是加密的HTTP协议,提供了更高的安全性。
- 安全性:随着计算机网络的发展,网络安全问题也日益突出。网络攻击、数据泄露、恶意软件等安全威胁不断出现。因此,网络安全技术和措施成为了计算机网络领域的重要研究方向。
总的来说,计算机网络是一个庞大而复杂的领域,涉及到硬件、软件、协议、安全等多个方面。随着技术的不断发展,计算机网络也在不断演进和升级,为人们提供更加高效、安全、智能的网络服务。
计算机网络的一些关键概念和组成部分
网络拓扑:网络拓扑指的是计算机网络中各个节点(计算机或设备)之间的连接方式和结构。常见的网络拓扑包括总线型、星型、环形、树型、网状等。
协议:协议是计算机网络中用于控制和管理数据传输的规则和约定。常见的网络协议包括TCP/IP、HTTP、FTP、SMTP等。协议定义了数据的格式、传输方式、错误处理等。
IP地址:IP地址是用于在计算机网络中标识和定位主机的唯一标识符。IPv4和IPv6是目前广泛使用的IP地址标准。IP地址由32位(IPv4)或128位(IPv6)二进制数字组成。
子网掩码:子网掩码用于划分IP地址,将IP地址分为网络部分和主机部分。它与IP地址进行逻辑运算,确定IP地址的网络标识和主机标识。
路由器:路由器是计算机网络中用于连接不同网络的设备。它根据目标IP地址,选择最佳路径将数据包转发到目标网络。
网关:网关是计算机网络中用于连接不同网络协议的设备。它负责将数据从一个网络协议转换为另一个网络协议,实现不同网络之间的通信。
网络协议栈:网络协议栈是计算机网络中用于处理网络通信的软件组件集合。常见的网络协议栈包括TCP/IP协议栈和OSI参考模型。
OSI参考模型:OSI参考模型是一种将计算机网络通信划分为7个层次的概念模型,每个层次负责特定的功能。这些层次依次为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
网络安全:网络安全是指保护计算机网络免受未经授权的访问、破坏或干扰的措施和技术。它包括防火墙、加密、访问控制、认证和授权等技术手段。
常见面试题
-
什么是计算机网络?
- 答案:计算机网络是指将地理位置不同、功能独立的多个计算机系统通过通信设备和线路连接起来,以实现资源共享和信息传递的系统。
-
TCP和UDP协议有什么区别?
- 答案:TCP是面向连接的协议,提供可靠的数据传输服务,通过序列号、确认应答等机制确保数据按顺序到达;UDP是无连接的协议,不保证数据的可靠性,但传输速度快,适用于实时性要求高的场景。
-
什么是IP地址和MAC地址?它们有什么区别?
- 答案:IP地址是逻辑地址,用于在网络层标识设备;MAC地址是物理地址,用于数据链路层标识设备。IP地址可以更改,MAC地址通常固定不变。
-
HTTP和HTTPS协议有什么区别?
- 答案:HTTP是明文传输协议,不加密数据;HTTPS是HTTP的安全版本,通过SSL/TLS加密数据,提供更安全的数据传输。
-
描述一下TCP三次握手和四次挥手的过程。
- 答案:三次握手建立连接:SYN-SYN+ACK-ACK;四次挥手断开连接:FIN-ACK-FIN-ACK。
-
什么是路由协议?常见的路由协议有哪些?
- 答案:路由协议用于在路由器之间传递路由信息,以构建和维护路由表。常见的路由协议有RIP、OSPF等。
-
什么是ARP协议?它的工作原理是什么?
- 答案:ARP协议用于将IP地址解析为MAC地址。工作原理是发送ARP请求,广播询问目标IP对应的MAC地址,收到回应后完成解析。
-
什么是子网掩码?它有什么作用?
- 答案:子网掩码用于划分IP地址的网络部分和主机部分,帮助确定设备是否在同一子网内。
-
描述一下OSI七层模型和TCP/IP四层模型。
- 答案:OSI七层模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层;TCP/IP四层模型包括网络接口层、网络层、传输层和应用层。两者在功能上相似,但TCP/IP更简洁。
-
什么是DNS?它在计算机网络中起什么作用?
- 答案:DNS是域名系统,用于将域名解析为IP地址。它在计算机网络中起着将人类可读的域名转换为机器可读的IP地址的作用。
-
什么是NAT?它有什么应用场景?
- 答案:NAT是网络地址转换,用于在私有IP地址和公有IP地址之间进行转换。应用场景包括私有网络访问公网资源、节省公有IP地址等。
-
解释一下ICMP协议的作用。
- 答案:ICMP是Internet控制消息协议,用于在IP主机、路由器之间传递控制消息。它可以帮助诊断网络问题,如ping命令就利用了ICMP协议。
-
什么是VLAN?它有什么优势?
- 答案:VLAN是虚拟局域网,可以将一个物理局域网划分为多个逻辑子网。优势包括提高网络安全性、灵活性以及管理效率。
-
什么是网络拥塞控制?常见的拥塞控制策略有哪些?
- 答案:网络拥塞控制是防止过多的数据注入网络,避免网络性能下降的策略。常见策略有慢开始、拥塞避免、快重传和快恢复等。
-
描述一下无线网络的基本组成和工作原理。
- 答案:无线网络包括无线主机、无线接入点(AP)和分布式系统(DS)。工作原理是通过无线电波传输数据,实现设备间的通信。
-
什么是VPN?它有什么应用场景?
- 答案:VPN是虚拟私人网络,通过公共网络建立加密通道进行安全通信。应用场景包括远程办公、企业内网扩展等。
-
什么是防火墙?它在网络安全中起什么作用?
- 答案:防火墙是网络安全的第一道防线,用于监控和控制进出网络的数据包。它可以过滤恶意流量、阻止未授权访问,提高网络安全性。
-
描述一下网络安全中的加密技术。
- 答案:加密技术包括对称加密(如AES)和非对称加密(如RSA)。对称加密使用相同的密钥加密和解密数据;非对称加密使用公钥加密、私钥解密,保证数据传输的安全性。
-
什么是网络协议?它在计算机网络中起什么作用?
- 答案:网络协议是计算机网络中设备间通信的规则和约定。它确保数据在不同设备间正确、有序地传输和处理。
-
解释一下CSMA/CD协议工作原理。
- CSMA/CD(Carrier Sense Multiple Access with Collision Detection)是一种用于以太网上的多路访问协议,它主要用于协调多台计算机在共享传输介质(例如同一条电缆)上进行数据传输的过程。下面是CSMA/CD协议的工作原理:
载波监听(Carrier Sense):在CSMA/CD中,每台计算机在发送数据之前会先监听传输介质,检测是否有其他计算机正在发送数据。如果传输介质上没有信号(即空闲状态),则计算机可以开始发送数据;否则,它必须等待传输介质变为空闲。
竞争检测(Multiple Access):如果多台计算机同时检测到传输介质为空闲,并尝试发送数据,就会发生竞争。在这种情况下,根据CSMA/CD协议,它们将进行竞争检测,以避免数据碰撞。这通常涉及随机等待一段时间再次尝试发送数据。
数据传输和碰撞检测(Collision Detection):一旦计算机开始发送数据,它将继续监听传输介质,以确保数据能够成功传输。如果计算机在发送数据的过程中检测到传输介质上有其他信号(即另一台计算机也在发送数据),就会意识到发生了数据碰撞。在这种情况下,所有参与碰撞的计算机将停止发送数据,并采取一定的算法来重新尝试发送数据,以减少碰撞的概率。
- DNS 服务器的主要用途是什么?
DNS 代表域名服务器。它将 Internet 域和主机名转换为 IP 地址,反之亦然。DNS 技术允许在您的 Web 浏览器和我们的计算机中键入名称以自动在 Internet 上查找该地址。DNS 的一个关键要素是全球范围内的 DNS 服务器集合。它负责通过 为每个域指定一个权威名称服务器来分配域名并将这些名称映射到 Internet 资源。Internet 维护两个主要名称空间,如域名层次结构和 Internet 协议地址空间。
-
DNS的协议和端口号是什么?
协议——TCP/UDP
端口号 - 53 -
什么是IP欺骗?
IP 欺骗本质上是黑客用来未经授权访问计算机的一种技术。早在 1980 年,学术界就开始讨论 IP 欺骗的概念。IP 欺骗类型的攻击在理论层面上已为安全专家所知。在 Robert Morris 发现TCP 协议中称为序列预测的安全漏洞之前,它主要是理论上的。有时会进行 IP 欺骗以掩盖 Dos 攻击的来源。事实上,Dos 攻击通常会掩饰发起攻击的实际 IP 地址。
-
OSI 模型中软件层或用户支持层的名称。
应用层
表现层
会话层 -
OSI 模型中硬件层或网络支持层的名称。
网络层
数据链路层
物理层
26 .定义HTTPS协议?
HTTPS 的完整形式是安全的超文本传输协议。它是 HTTP 协议的高级版本。其端口号默认为 443。它使用 SSL/TLS 协议来提供安全性。
-
说出互联网模型中应用层提供的一些服务?
Internet模型中应用层提供的一些服务如下:
邮件服务
目录服务
文件传输
访问管理
网络虚拟终端 -
Header和Trailer是在OSI的哪一层添加的?
在数据链路层添加尾部,并在 OSI 模型层 6、5、4、3 添加标头。 -
当数据包从低层移动到高层时,OSI 模型中会发生什么?
在 OSI 模型中,当数据包从较低层移动到较高层时,标头会被删除。 -
当数据包从上层移动到下层时,OSI 模型中会发生什么?
在 OSI 模型中,当数据包从上层移动到下层时,会添加标头。此标头包含有用的信息。
TCP三次握手与TCP四次挥手
TCP三次握手
TCP(传输控制协议)的三次握手是一个建立可靠连接的过程,它发生在客户端和服务器之间,确保双方对连接参数和初始序列号达成一致,从而为后续的数据传输做好准备。以下是TCP三次握手的详细步骤:
-
SYN(同步序列号)发送:
- 客户端向服务器发送一个SYN报文段。这个报文段包含客户端的初始序列号(Sequence Number)。此时,客户端进入SYN_SEND状态,等待服务器的确认。
-
SYN+ACK(同步序列号+确认)发送:
- 服务器收到客户端的SYN报文段后,向客户端回复一个SYN+ACK报文段。这个报文段包含服务器的初始序列号以及一个对客户端初始序列号的确认(ACK)。确认号是客户端初始序列号加1(因为TCP是累计确认)。此时,服务器进入SYN_RECV状态。
-
ACK(确认)发送:
- 客户端收到服务器的SYN+ACK报文段后,向服务器发送一个ACK报文段,以确认收到服务器的初始序列号。这个ACK报文段的确认号是服务器初始序列号加1。此时,TCP连接建立完成,客户端和服务器都进入ESTABLISHED状态,可以开始传输数据。
通过三次握手,客户端和服务器都知道了对方的初始序列号,并且都确认了对方的接收能力,从而确保后续的数据传输能够按照正确的顺序进行,并且避免了重复发送等问题。这种机制保证了TCP连接的可靠性和有序性。
需要注意的是,在每次发送报文段时,TCP都会使用对方的IP地址和端口号来确定目标地址,并且在传输过程中会使用校验和等机制来确保数据的完整性。此外,TCP还提供了超时重传机制,以处理网络中的丢包问题。如果客户端在发送SYN报文段后没有在规定时间内收到服务器的SYN+ACK报文段,客户端会重新发送SYN报文段,直到建立连接或达到重传次数限制为止。
TCP四次挥手
TCP四次挥手是TCP/IP协议中,断开一个已建立的TCP连接时,双方所进行的过程。由于TCP连接是全双工的,因此每个方向都必须要单独进行关闭,这一关闭过程需要通过客户端和服务端总共发送四次数据包来确认连接的断开。具体过程如下:
- 第一次挥手:客户端将结束标志位FIN置为1,并发送一个序列号seq给服务端,之后进入FIN_WAIT_1状态,等待服务端的确认。
- 第二次挥手:服务端收到FIN后,发送一个确认包ACK给客户端,确认号ack为收到的序列号seq+1,服务端进入CLOSE_WAIT状态。此时,TCP连接处于半关闭状态,即客户端已经没有要发送的数据了,但服务端若发送数据,则客户端仍要接受。
- 第三次挥手:服务端将最后的数据发送完毕后,就向客户端发送FIN包,进入LAST_ACK状态,等待最后确认。
- 第四次挥手:客户端收到FIN后,客户端进入TIME_WAIT状态,接着发送一个ACK给服务端,确认后,服务端进入CLOSED状态,完成四次挥手。客户端在经过2∗MSL(最长报文段寿命)后,也进入CLOSED状态。
- 图示:客户端 → 服务器 [FIN]
- 图示:服务器 → 客户端 [ACK]
- 图示:服务器 → 客户端 [FIN, ACK]
- 图示:客户端 → 服务器 [ACK]
这个四次挥手的过程确保了数据传输的完整性和连接的可靠关闭,从而避免了数据丢失或连接状态不一致等问题。在断开连接的过程中,任何一方都可以在数据传输完毕后主动发起断开连接的请求,通过四次挥手的过程,双方可以协同完成连接的关闭。
OSI七层模型和TCP/IP四层模型
OSI七层模型和TCP/IP四层模型都是用于描述计算机网络中数据传输的层次结构模型。虽然它们都是为了解决网络通信的问题,但在具体的设计和应用上有所不同。
OSI七层模型
OSI(Open System Interconnection,开放系统互连)七层模型是一个逻辑上的定义和规范,它将网络从逻辑上分为七层,从下到上依次为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每一层都有相对应的物理设备,如路由器、交换机等。这个模型的主要目的是解决异种网络互连时的兼容性问题,帮助不同类型的主机实现数据传输。它的最大优点是将服务、接口和协议这三个概念明确地区分开来,通过七个层次化的结构模型使不同的系统、不同的网络之间实现可靠的通信。
TCP/IP四层模型
TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议族。TCP/IP四层模型自底而上分别是:网络接口层、网络层、传输层和应用层。这四层模型是基于TCP/IP协议族的实际应用和发展而形成的。与OSI七层模型相比,TCP/IP四层模型更为简化,更加符合实际网络应用的需求。
比较
OSI七层模型虽然提供了完整的网络通信层次结构,但由于其复杂性和过于理论化,实际应用中并没有大规模使用。而TCP/IP四层模型则更为实用,它简化了网络通信的过程,更加符合实际应用的需求。两者在功能上是相似的,都是为了实现数据的可靠传输和网络通信,但在具体的层次划分和协议定义上有所不同。
总体来说,OSI七层模型为网络通信提供了一个完整的理论框架,而TCP/IP四层模型则更注重实际应用和效率。在实际的网络通信中,TCP/IP四层模型得到了更广泛的应用。但无论是OSI七层模型还是TCP/IP四层模型,它们都是网络通信中不可或缺的重要概念,为我们理解和设计网络通信提供了有力的支持。
TCP/IP四层模型每一层对应的网络协议有哪些
TCP/IP四层模型每一层都对应着一些网络协议,这些协议确保了网络通信的顺利进行。以下是每一层对应的常见网络协议:
-
应用层:
- HTTP(Hypertext Transfer Protocol):用于网页浏览和数据传输。
- FTP(File Transfer Protocol):用于文件传输。
- SMTP(Simple Mail Transfer Protocol):用于电子邮件发送。
- Telnet:用于远程登录和命令执行。
- DNS(Domain Name System):用于域名解析。
-
传输层:
- TCP(Transmission Control Protocol):提供面向连接的、可靠的、字节流服务。
- UDP(User Datagram Protocol):提供无连接的、不可靠的、数据报服务。
-
网络层:
- IP(Internet Protocol):负责网络地址管理和数据包路由。
- ICMP(Internet Control Message Protocol):用于发送控制消息,如错误报告。
- ARP(Address Resolution Protocol):用于将网络层地址映射到数据链路层地址。
- RARP(Reverse Address Resolution Protocol):用于将数据链路层地址映射到网络层地址。
-
数据链路层:
- Ethernet:以太网协议,定义了以太网帧的格式和传输方式。
- PPP(Point-to-Point Protocol):点对点协议,用于拨号网络连接。
需要注意的是,这只是TCP/IP四层模型中每一层对应的一些常见协议,实际上还有更多其他的协议和子协议。这些协议协同工作,确保数据在不同层次之间的正确传输和处理。同时,随着网络技术的不断发展,新的协议和标准也在不断出现,以满足新的应用需求和技术挑战。