【计算机网络】考研复试高频问题

        这篇文章整理了一些计算机网络的高频问答。

一、计算机网络体系结构

 1、OSI 和 TCP/IP体系结构的区别?(高频!!!)

        OSI模型和TCP/IP模型都是用于描述网络通信的分层模型,但它们的设计理念和应用范围不同。OSI模型是一个标准化的网络通信模型,一种理论模型,它将网络通信划分为七层(物理层、数据链路层、网络层、传输层、会话层、表示层和应用层),层次分明,适合教学和标准化指导。但OSI模型在实际应用中并不直接使用。

        相比之下,TCP/IP模型是互联网实际采用的协议模型。它将网络通信划分为五层(物理层、数据链路层、网络层、传输层和应用层)。 TCP/IP模型更加简洁高效,直接指导了互联网通信,所有网络应用(如网页浏览、邮件传输、视频通话)都基于TCP/IP协议。

        在日常生活和工程实践中,TCP/IP模型更贴近现实,几乎所有互联网应用都建立在TCP/IP协议上。原因如下:

  • 互联网标准:所有现代网络通信(如Web浏览、邮件、视频流、在线游戏等)都基于TCP/IP协议,而不是OSI模型。
  • 简单高效:TCP/IP模型只有5层,合并了OSI模型的某些功能,使其更符合实际网络结构。
  • 广泛应用:所有操作系统(Windows、Linux、macOS)和网络设备(路由器、交换机)都基于TCP/IP协议。
  • 灵活性强:TCP/IP支持有线、无线、卫星等多种网络环境,而OSI模型主要是理论指导。

2、协议是什么?(重要)

        协议(Protocol)是指计算机系统之间进行通信和数据交换时,所遵循的规则和约定。协议定义了数据格式、传输方式等通信细节。它确保不同计算机和设备之间能够理解并正确处理数据,从而实现顺利的通信。

         协议由语法、语义和同步三部分组成。语法规格数据格式、语义规定完成功能、同步规定操作顺序。

        协议的分类:

                ①应用层协议:负责具体应用之间的通信。比如HTTP(超文本传输协议)、FTP(文件传输协议)、DNS(域名系统)、SMTP(简单邮件传输协议)等。

                ②传输层协议:负责端到端的可靠传输和流量控制,比如TCP(传输控制协议)和UDP(用户数据报协议)。

                ③网络层协议:负责数据包的寻址与路由,确保数据能够从源头传输到目的地。比如IP(互联网协议)、ICMP(互联网控制消息协议)。

3、接口:同一结点内相邻两层间交换信息的连接点。

4、服务:下层为邻接的上层提供的功能调用,是垂直的。

二、物理层

1、定义

        物理层是OSI模型中的第一层,它负责在物理媒介上传输数据。它定义了电气信号、光信号、无线信号等如何在物理介质(如电缆、光纤、无线电波)上传输。物理层的主要任务是将数据转化为适合传输的信号形式,确保数据从发送端传输到接收端。

2、什么是调制?

        调制是物理层的一项技术,指的是将数字信号转换为适合在物理媒介上传输的模拟信号

常见的调制方法包括:

  1. 幅度调制(AM, Amplitude Modulation):通过改变信号的幅度来传输信息,通常用于无线广播。
  2. 频率调制(FM, Frequency Modulation):通过改变信号的频率来传输信息,广泛用于无线电。
  3. 相位调制(PM, Phase Modulation):通过改变信号的相位来传输信息,常见于无线通信系统中。

注:PWM(脉宽调制)

        PWM(Pulse Width Modulation,脉宽调制)是一种特殊的调制方法,它通过控制脉冲的宽度(而非幅度或频率)来传输信息。PWM广泛应用于开关电源、调光当中。

3、什么是编码?

        编码是物理层的一个重要概念,它指的是将数据转换为适合传输的信号形式。

常见的编码方式包括:

        曼彻斯特编码:通过电平的变化表示数据位,常用于以太网。

4、编码和调制

        编码:把数据变化为数字信号的过程

        调制:把数据变化为模拟信号的过程 

5、什么是串行通信和并行通信?

串行通信是指数据逐位按顺序传输,一次只传输一位数据。它适用于长距离、低速的通信。

并行通信是指一次传输多个数据位,每次传输多个比特。它通常用于短距离、高速的通信。

三、数据链路层

 1、定义       

        数据链路层是OSI模型中的第二层,位于物理层和网络层之间。它的主要任务是为网络层提供可靠的数据传输服务,确保数据帧在物理媒介上传输时的正确性。数据链路层的主要功能包括:

  • 数据帧封装:将网络层的数据包(如IP包)封装成数据帧,并添加头部和尾部信息。
  • 透明传输:采用字节填充,在控制字符前加上转义字符

  • 差错检测:采用循环冗余检验的检测技术(CRC),搭配自动重传请求(ARQ)重传出错的帧

2、CMSA/CD协议

        CMSA/CD协议的功能可概括为“先听后发,边听边发,冲突停发,随即重发”。 

四、网络层

1、定义

        网络层是OSI模型中的第三层,它的主要任务是负责数据从源设备到目标设备的传输,并通过路由选择将数据包从源地址传输到目的地址。网络层不仅负责数据包的路由选择,还涉及到逻辑地址(如IP地址)的分配和管理。网络层还需要处理拥塞控制差错处理等问题,以确保数据能够可靠地到达目标设备。

        网络层的主要功能包括:1、路由选择 2、逻辑地址分配 3、数据包转发 4、拥塞控制 5、差错检测。

2、常见协议(重要,任选一个介绍)

        2.1 IP协议:IP协议是网络层最重要的协议,负责实现网络中设备的地址标识(IP地址)和数据包的路由选择。常见的有IPv4和IPv6两种版本。

             IP地址是网络层中的逻辑地址,用于标识互联网上的设备。IP地址有两个版本:

                        ①IPv4地址:由32位二进制数表示,通常以四个十进制数(每个数范围0-255)表示,如:192.168.1.1。IPv4地址为网络中的每个设备分配一个唯一的标识符。        

                        ②IPv6地址:为了应对IPv4地址耗尽的问题,IPv6地址采用128位表示,格式为8组16进制数

        

              子网掩码是用于IPv4地址中的一种工具,它通过与IP地址进行按位“与”操作,确定IP地址哪些部分表示网络地址,哪些部分表示主机地址

        2.2 ICMP协议(Internet Control Message Protocol):ICMP协议用于在网络设备之间发送控制消息和错误报告,常见的应用有ping命令(用于检测主机是否可达)。

        2.3 ARP协议(Address Resolution Protocol):ARP协议用于将网络层的IP地址映射到数据链路层的MAC地址。

        2.4 IGMP协议(Internet Group Management Protocol):IGMP协议用于管理IPv4网络中的组播通信。

        

五、传输层

1、定义

        传输层是OSI模型的第四层,负责为应用层提供端到端的通信服务。它的主要作用包括:进程到进程通信、数据分段与重组、可靠传输、流量控制、拥塞控制

  • 进程到进程通信:网络层只负责主机之间的通信,而传输层则确保特定进程之间的数据传输(通过端口号进行区分)。
  • 数据分段与重组:将应用层的数据拆分成多个数据段,并在目标主机上重新组装成完整的数据流。
  • 可靠传输:提供可靠的数据传输服务,确保数据不丢失、不重复、按序到达(TCP)。
  • 流量控制:控制数据的发送速率,防止接收方因过载而丢失数据。
  • 拥塞控制:避免网络过载,保证数据高效传输。

2、传输层的主要协议有哪些?(重要!!)

传输层主要有两种协议:

  1. TCP(Transmission Control Protocol,传输控制协议):TCP是面向连接的协议,发送数据前要建立连接,速度较慢、需要握手确认重传,提供的是可靠传输,传输方式是面向字节流。

    • 面向连接的协议,提供可靠的数据传输。
    • 具有流量控制、拥塞控制和数据确认机制,确保数据不丢失、按序到达。
    • 适用于对数据传输可靠性要求高的应用,如文件传输、网页访问、邮件等需要可靠性的应用。
  2. UDP(User Datagram Protocol,用户数据报协议):UDP是无连接的协议,发送数据前不需要建立连接,是不可靠传输,传输方式是面向数据包。

    • 无连接的协议,不保证可靠传输。

    • 传输速度快,适用于对时延敏感但可以接受部分丢包的应用,如视频通话、语音通话、在线游戏等。

3、TCP是如何保证可靠传输的?

TCP通过以下机制确保可靠传输:

  • 三次握手:建立可靠的连接,确保通信双方的发送和接收能力正常。
  • 确认机制(ACK):每次接收数据后,都会发送确认消息(ACK)。
  • 超时重传:如果发送方长时间未收到ACK,则会重传数据。
  • 流量控制(滑动窗口):通过调整窗口大小,防止数据发送过快导致接收方处理不过来。
  • 拥塞控制(慢启动、拥塞避免):避免网络过载,提高传输效率。
  • 有序传输:通过序列号(Sequence Number)确保数据按顺序到达。

4、TCP三次握手建立连接的过程?

TCP使用**三次握手(Three-way Handshake)**来建立连接,过程如下:

  • 第一次握手:客户端发送SYN(同步)请求报文,表示希望建立连接,并携带初始序列号(seq=x)。
  • 第二次握手:服务器收到请求后,回复SYN-ACK报文,表示同意建立连接,并携带自己的初始序列号(seq=y,ack=x+1)。
  • 第三次握手:客户端收到SYN-ACK后,发送ACK(ack=y+1),表示确认连接成功,正式建立TCP连接。

比如说

  • 三次握手建立连接
    • 客户端对服务器端说:方便打电话吗?
    • 服务器端说:方便,打吧。
    • 客户端:好,那我打了(连接建立)。

5、为什么TCP建立连接需要三次握手,而断开连接需要四次挥手?

  • 三次握手的目的是确保双方通信能力正常,并防止已失效的连接请求影响新的连接。
  • 四次挥手是因为TCP是全双工通信,双方都要明确表示“我已经不再发送数据了”,需要独立的确认。

四次挥手过程:

  1. 客户端发送FIN(终止)报文,请求关闭连接。
  2. 服务器收到FIN后,回复ACK,表示收到关闭请求。
  3. 服务器也发送FIN,表示自己也准备关闭连接。
  4. 客户端收到FIN后,回复ACK,并等待一段时间(TIME_WAIT),确保服务器成功关闭,再彻底关闭连接。

比如说:

  • 客户端对服务器端说:我们分手吧。
  • 服务器端说:好,我知道了。(服务器端说一些感慨的话)
  • 服务器端确定没有话想跟客户端说了,就说:删微信吧。
  • 客户端说:好,删吧。

6、什么是流量控制?TCP如何实现流量控制?

       流量控制是指防止发送方发送过多数据,导致接收方处理不过来

TCP使用滑动窗口(Sliding Window)机制实现流量控制:

  • 发送方可以在接收方的接收窗口(Receiver Window)大小范围内发送数据。
  • 接收方会根据自身的缓冲区情况,动态调整窗口大小,通知发送方是否可以继续发送数据。
  • 如果窗口大小变为0,发送方会暂停发送,等待接收方恢复可用窗口后再继续传输。

7、什么是拥塞控制?TCP如何进行拥塞控制?(重要!!!)

        7.1 定义

        拥塞控制是指防止网络中出现过载,导致性能下降

        拥塞控制是控制整个网络的通信量,涉及所有的主机、路由器和降低网络传输性能的有关因素;流量控制是控制点对点的通信量,是端到端的问题。 

        7.2 拥塞控制方法

        主要是开环控制闭环控制。

              ①开环控制:采用预防策略,在数据传输前对网络进行控制,尽量避免发生拥塞。

              ②闭环控制:采用检测和反馈机制,在发生拥塞后调整数据流量。

        7.3 拥塞控制的四个阶段

TCP通过**拥塞窗口(Congestion Window, cwnd)**来控制数据发送速率,主要有四个阶段:

注:RTT(Round-Trip Time,往返时延)指的是从发送方发送数据到接收方,并收到接收方的ACK确认所经历的总时间

        ①慢启动(Slow Start)

                开始时拥塞窗口大小为1,每次收到ACK后(经过一个RTT后),拥塞窗口成指数型增长。等拥塞窗口大小超过了规定的慢启动限制,则改用拥塞避免算法。

        ②拥塞避免(Congestion Avoidance)

                当拥塞窗口达到一定阈值后,不再指数增长。而是每经过一个RTT,拥塞窗口加1,线性增长。

        ③快速重传(Fast Retransmit)

                当网络拥塞,也就是连续收到三个重复的确认时,立即重传对方尚未收到的报文段,而不必等待超时。

        ④快速恢复(Fast Recovery)

                进入快速恢复后,不执行慢启动,而是直接将拥塞窗口减半,然后进入拥塞避免阶段,继续线性增长。

8、什么是UDP的无连接特性?

UDP是无连接的,意味着它在传输数据前不需要建立连接,直接将数据报发送给目标主机,不保证对方是否收到。因此:

  • 发送数据时,不需要握手过程,减少了通信延迟。
  • 适用于实时性强但可以容忍丢包的应用,如视频会议、在线游戏。

六、应用层

        

1、定义

应用层是TCP/IP五层模型的最高层,直接为用户和应用程序提供网络服务,如Web浏览、文件传输、电子邮件等。它定义了应用程序如何与网络通信,包括数据格式、加密方式、会话管理等。

2、常见协议(任选一个详细介绍)

常见的应用层协议包括:

  • HTTP/HTTPS(超文本传输协议):用于Web浏览器和服务器之间的通信。
  • DNS(域名系统):用于将域名解析为IP地址。
  • FTP(文件传输协议):用于文件上传和下载。
  • SMTP/POP3/IMAP(电子邮件协议):用于邮件发送和接收。
  • DHCP(动态主机配置协议):用于自动分配IP地址。

任选其一---HTTP协议

考生回答示例:
        HTTP(HyperText Transfer Protocol,超文本传输协议)是无状态的、基于请求-响应模式的应用层协议,用于在 Web 浏览器和服务器之间传输超文本数据(如 HTML、CSS、JavaScript、图片等)。通常使用 80 端口(HTTPS 使用 443 端口)。

        常见的 HTTP 方法 包括 GET(获取资源)、POST(提交数据)、PUT(更新资源)和 DELETE(删除资源)。服务器通过 状态码 返回请求结果,如 100 Continue(继续请求)、200 OK(成功)、以3开头的(重定向)、400 Bad request(请求错误)、403 Forbidden(无权限)、404 Not Found(未找到资源)、500 Internal Server Error(服务器错误)、503 service unavailable(服务器不可用)。

3. HTTP 和 HTTPS 的区别?

        HTTP(HyperText Transfer Protocol)和 HTTPS(HyperText Transfer Protocol Secure,安全超文本传输协议)都是用于客户端和服务器之间通信的协议,主要区别在于安全性:

  • 安全性:HTTP 不加密 数据,信息以明文传输,容易被窃听或篡改;HTTPS 使用 SSL/TLS 加密,确保数据传输的机密性和完整性,防止中间人攻击。
  • 默认端口:HTTP 使用 80 端口,HTTPS 使用 443 端口。

        HTTPS 是 HTTP 的安全升级版,能够有效保护数据传输安全,因此现代 Web 应用 普遍使用 HTTPS,特别是在涉及用户登录、支付、隐私数据等场景时,HTTPS 是必然选择。

4、DNS是什么?为什么需要DNS?

DNS(Domain Name System,域名系统)用于将人类可读的域名(如 **www.google.com**)转换为计算机可读的 IP 地址(如 142.250.190.78)。

为什么需要 DNS?

  • 方便用户访问网站,无需记住复杂的 IP 地址。

5、FTP 和 HTTP 的区别?

    两者都是应用层的协议。

  • FTP(文件传输协议):专用于文件上传和下载,使用 主动模式(Active)和被动模式(Passive) 进行数据传输。
  • HTTP(超文本传输协议):用于网页加载,适合超文本传输,不能高效处理大文件。
  • 端口号
    • FTP 默认端口是 21,数据传输使用端口 20(主动模式)。
    • HTTP 默认端口是 80,HTTPS 是 443
  • 区别
    • FTP 需要身份验证(用户名 + 密码),HTTP 可直接访问。
    • FTP 适用于批量文件传输,而 HTTP 主要用于浏览网页。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值