【面试分享】面试题——网络题目

一、题目

1、网关、网桥、路由器、中继器作用、实现以及对应的osi层?

2、MAC地址是什么?

3、webSocket是什么?

4、常见的协议有哪些?

5、什么是arp协议?

6、FTP依赖于哪种协议?

7、ip和域名分别是什么,计算机上网如何获取ip?

8、http和https是什么,他们的功能、对应的OSI层以及区别?

9、你知道有哪些网络通信协议?

10、TCP.IP.UDP区别? UDP怎么确保正确传输?

11、udp传输图片怎么实现,超出大小怎么办

12、网络通信协议有哪些? ftp具体用什么实现的?

13、网络通讯中,端口有什么含义。端口的取值范围?

二、简单答案

  1. 网关、网桥、路由器、中继器

    • 网关:OSI 7层中的高层,连接不同网络协议的网络。实现协议转换。
    • 网桥:数据链路层,连接两个局域网段,过滤和转发数据包。
    • 路由器:网络层,决定数据包的最佳路径,实现不同网络间的通信。
    • 中继器:物理层,放大信号,延长网络距离。
  2. MAC地址:媒体访问控制地址,网络设备的唯一物理地址,用于局域网中的数据链路层通信。

  3. WebSocket:是一种在单个TCP连接上进行全双工通讯的协议,在Web浏览器和服务器之间提供持久的连接。

  4. 常见协议:HTTP、HTTPS、FTP、SMTP、DNS、TCP、UDP等。

  5. ARP协议:地址解析协议,用于将网络层地址(如IP地址)解析为链路层地址(如MAC地址)。

  6. FTP依赖于哪种协议:FTP依赖于TCP协议,通常使用TCP端口20(数据)和21(控制)。

  7. IP和域名:IP是互联网协议地址,用于标识网络设备;域名是IP地址的友好名称,通过DNS解析为IP。计算机上网时,通过DHCP自动获取IP或手动配置。

  8. HTTP和HTTPS

    • HTTP:超文本传输协议,用于从Web服务器传输超媒体文档到本地浏览器。位于OSI应用层。
    • HTTPS:安全的HTTP,通过SSL/TLS加密传输数据,提供加密通信和身份验证。
    • 区别:HTTPS比HTTP更安全,因为数据传输是加密的。
  9. 网络通信协议:TCP/IP、HTTP、HTTPS、FTP、SMTP、DNS等。

  10. TCP、IP、UDP区别

    • TCP:面向连接,可靠传输,流量控制,适用于数据传输需保证完整性的场景。
    • UDP:无连接,不可靠传输,高效,适用于实时性要求高或数据量小的场景。
    • IP:网络层协议,负责数据包的路由和转发。
    • UDP确保正确传输:应用层需实现如校验和、重传等机制。
  11. UDP传输图片:将图片数据分割成多个数据包发送,接收端重组。超出大小需分片发送,并在应用层处理重组。

  12. 网络通信协议:TCP/IP、HTTP、HTTPS、FTP等。FTP具体使用TCP协议实现文件传输功能。

  13. 端口:在网络通讯中,端口是逻辑上的概念,用于区分同一台计算机上运行的不同应用程序或服务。取值范围通常为0-65535。

三、详细答案

1、网关、网桥、路由器、中继器作用、实现以及对应的OSI层

网关

  • 作用:网关是OSI参考模型中负责将从传输层到应用层的数据进行转换和转发的设备。它在两个不能进行直接通信的协议之间进行翻译,最终实现两者之间的通信。
  • 实现:网关通常会使用一个表示层或应用层网关,进行协议转换和数据转发。
  • 对应的OSI层:网关处理OSI模型中从传输层(第4层)至应用层(第7层)的数据。

网桥

  • 作用:网桥是在OSI模型的第二层——数据链路层面上连接两个网络的设备。它能够识别数据链路层中的数据帧,并将这些数据帧临时存储于内存,再重新生成信号作为一个全新的帧转发给相连的另一个网段。
  • 实现:网桥通过检查数据帧中的FCS(帧校验序列)来校验数据是否正确,并通过地址自学机制和过滤功能控制网络流量。
  • 对应的OSI层:数据链路层(第2层)。

路由器

  • 作用:路由器是在OSI模型的第3层——网络层面上连接两个网络,并对分组报文进行转发的设备。路由器可以连接不同的数据链路,并具备分担网络负荷和一定的网络安全功能。
  • 实现:路由器根据IP地址进行路由决策,将数据分组从一个网络转发到另一个网络。
  • 对应的OSI层:网络层(第3层)。

中继器

  • 作用:中继器是在OSI模型的第一层——物理层面上延长网络的设备。它将电缆传过来的电信号或光信号进行波形调整和方法转换,再传给另一个电缆。
  • 实现:中继器只负责将电信号转换为光信号(或反之),但不能在传输速度不同的媒介之间转发。
  • 对应的OSI层:物理层(第1层)。

2、MAC地址是什么?

MAC地址(Media Access Control Address)是媒体接入层上使用的地址,也叫物理地址、硬件地址或链路地址,由网络设备制造商生产时写在硬件内部。MAC地址用于定义网络设备的位置,由48比特长(即12个16进制数),通常表示为每2个16进制数之间用冒号隔开,如08:00:20:0A:8C:6D。MAC地址的前16位16进制数代表网络硬件制造商的编号,由IEEE分配,后6位16进制数代表该制造商的某个网络产品的系列号。每个以太网设备都具有唯一的MAC地址。

3、WebSocket是什么?

WebSocket是一种网络通信协议,是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议。它允许客户端和服务器之间进行全双工通信,即任一方都可以通过建立的连接将数据推送到另一端。WebSocket连接只需要建立一次,就可以一直保持连接状态,这使得实时通信变得更为高效和便捷。

4、常见的协议有哪些?

常见的网络协议包括但不限于:

  • TCP/IP协议:传输控制协议/互联网协议,是互联网通信的基础协议。
  • HTTP协议:超文本传输协议,用于在网络中传输超文本。
  • FTP协议:文件传输协议,用于在网络中传输文件。
  • SMTP协议:简单邮件传输协议,用于在网络中传输电子邮件。
  • DHCP协议:动态主机配置协议,用于自动分配IP地址等网络配置信息。
  • DNS协议:域名系统协议,用于将域名解析为IP地址。
  • Telnet协议:用于远程登录到其他计算机进行操作和管理。
  • SSH协议:提供安全的远程登录方式。
  • SSL/TLS协议:用于安全的网络通信,提供数据加密和认证功能。

5、什么是arp协议?

ARP(Address Resolution Protocol)即地址解析协议,是用来将对方IP地址解析为MAC地址的一种协议。在局域网通信中,当设备有数据要发送给另一个设备时,它必须知道对方的IP地址和MAC地址。ARP协议通过发送ARP请求和接收ARP应答来实现IP地址到MAC地址的映射。

6、FTP依赖于哪种协议?

FTP(File Transfer Protocol,文件传输协议)依赖于TCP/IP协议。FTP使用TCP协议来建立和管理连接,确保文件传输的可靠性和顺序性。

7、ip和域名分别是什么,计算机上网如何获取ip?

IP地址:IP地址(Internet Protocol Address)是互联网协议中用于标识计算机或其他设备的数字地址。它由一组用点分隔的四个数字组成,例如192.168.1.100。每个连接到互联网的设备都有一个唯一的IP地址。

域名:域名(Domain Name)是互联网上识别和定位计算机的层次结构式的字符标识,与计算机的IP地址相对应。它通常由一串用点分隔的名字组成,如www.example.com。域名使得人们能够更容易地记住和访问网站,而不是使用难以记忆的IP地址。

计算机上网获取IP的方式

  • 动态分配:大多数家庭和小型企业网络使用动态主机配置协议(DHCP)来动态分配IP地址。当计算机连接到网络时,它会向DHCP服务器发送请求,服务器会分配一个可用的IP地址给该计算机。这种分配是临时的,每次计算机连接到网络时可能会获得不同的IP地址。

  • 静态配置:在一些情况下,网络管理员会为特定设备手动配置(静态分配)一个固定的IP地址。这种方式通常用于需要长期保持相同IP地址的设备,如服务器或打印机。

  • 自动配置:在某些网络环境中,如家庭网络或小型办公室网络,计算机可能会使用自动私有IP地址配置(如IPv4的169.254.x.x地址范围)来自我分配一个IP地址,如果DHCP服务器不可用或网络未配置DHCP服务。

8、HTTP和HTTPS是什么,他们的功能、对应的OSI层以及区别?

HTTP(HyperText Transfer Protocol)

  • 功能:HTTP是一种用于传输超文本(如HTML页面)的协议。它定义了客户端(如Web浏览器)和服务器之间交换数据的方式。
  • 对应的OSI层:HTTP工作在应用层(第7层)。
  • 特点:HTTP是无状态的,意味着服务器不会自动保留关于之前客户端请求的任何信息。

HTTPS(HyperText Transfer Protocol Secure)

  • 功能:HTTPS是HTTP的安全版本,它通过SSL/TLS协议在HTTP和TCP之间提供了一个加密层,以确保数据传输的机密性和完整性。
  • 对应的OSI层:HTTPS同样工作在应用层(第7层),但它通过SSL/TLS协议在HTTP之上添加了加密层。
  • 区别:HTTPS比HTTP更安全,因为它提供了数据加密、服务器身份验证和完整性保护。HTTPS可以防止数据在传输过程中被窃听或篡改,并验证服务器的身份以防止中间人攻击。

9、你知道有哪些网络通信协议?

网络通信协议非常多,包括但不限于前面提到的TCP/IP、HTTP、HTTPS、FTP、SMTP、DHCP、DNS等。此外,还有如ICMP(Internet Control Message Protocol,互联网控制消息协议)、POP3(Post Office Protocol 3,邮局协议版本3,用于接收电子邮件)、IMAP(Internet Message Access Protocol,互联网邮件访问协议,也是一种用于接收电子邮件的协议)、SSH(Secure Shell,安全外壳协议,用于加密远程登录会话)、SNMP(Simple Network Management Protocol,简单网络管理协议,用于网络管理)等。

10、TCP、IP、UDP区别?UDP怎么确保正确传输?

TCP(Transmission Control Protocol,传输控制协议)

  • TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。
  • TCP通过序列号、确认应答、数据校验和重发控制等机制确保数据的正确传输。
  • TCP提供全双工通信,即数据可以同时在两个方向上传输。

IP(Internet Protocol,互联网协议)

  • IP是互联网协议的核心,负责将数据包从一个网络传输到另一个网络。
  • IP不保证数据包的可靠性、顺序性或完整性。它只负责将数据包从源地址传输到目的地址。

UDP(User Datagram Protocol,用户数据报协议)

  • UDP是一种无连接的、不可靠的传输层协议。
  • UDP不保证数据包的到达、顺序或完整性。它不提供确认应答、数据重发或流量控制等机制。
  • UDP的优点是简单、速度快、开销小,适用于对实时性要求较高但不要求可靠传输的应用场景,如视频流、音频流等。

UDP如何确保正确传输?

UDP本身不提供确保数据正确传输的机制。然而,在应用层,可以通过一些方法来提高UDP传输的可靠性,如:

  • 应用层确认机制:接收方在收到数据包后向发送方发送确认消息,发送方在收到确认消息后才发送下一个数据包。
  • 超时重传:如果发送方在预定时间内未收到确认消息,则重新发送数据包。
  • 数据校验和:在数据包中添加校验和字段,接收方在收到数据包后验证校验和,以确保数据在传输过程中未被篡改。
  • 序列号:为每个数据包分配一个唯一的序列号,以便接收方能够按正确的顺序重组数据包。

11、UDP传输图片怎么实现,超出大小怎么办?

UDP传输图片的实现

数据封装:首先,需要将图片文件转换为字节流(byte stream)。这通常涉及读取图片文件的内容,并将其存储在一个字节数组中。然后,这些字节可以通过UDP数据包进行发送。由于UDP数据包的大小有限制(通常是64KB到1MB之间,具体取决于网络配置和MTU大小),因此可能需要将图片数据分割成多个较小的数据包进行发送。

  1. 发送数据包:在客户端,将图片数据分割成多个UDP数据包,并为每个数据包添加必要的头部信息(如序列号、时间戳等),以便接收方能够按正确的顺序重新组合这些数据包。然后,通过UDP套接字发送这些数据包。

  2. 接收数据包:在服务器端,通过UDP套接字接收数据包。由于UDP是无连接的,因此接收到的数据包可能不是按照发送的顺序到达的。因此,服务器需要维护一个缓冲区来存储接收到的数据包,并根据序列号或时间戳等信息对它们进行排序和重组。

  3. 数据重组和图片恢复:一旦所有数据包都被接收并排序,服务器就可以将它们重新组合成一个完整的字节流,并将其写入到文件系统中以恢复原始图片。

超出大小的处理

如果图片数据太大,无法适应单个UDP数据包的大小限制,那么必须将其分割成多个较小的数据包进行发送。这通常涉及以下几个步骤:

  1. 确定数据包大小:首先,需要确定每个UDP数据包可以承载的最大数据量。这取决于网络的MTU(最大传输单元)大小以及任何可能的协议头开销。

  2. 分割数据:将图片数据按照确定的数据包大小进行分割。每个数据包都应该包含足够的信息(如序列号或时间戳)以便接收方能够将其重新组合。

  3. 发送和接收:发送方依次发送每个数据包,接收方则接收并存储这些数据包。

  4. 重组数据:接收方在收到所有数据包后,根据序列号或时间戳等信息将它们重新组合成一个完整的图片数据。

  5. 错误处理:由于UDP不提供可靠性保证,因此接收方可能需要实现一些错误处理机制(如超时重传、数据校验等)来确保数据的完整性和正确性。然而,这些机制将增加实现的复杂性,并且可能降低性能。因此,在选择UDP作为传输协议时,需要仔细权衡其优缺点,并根据具体应用场景进行选择。

12、网络通信协议有哪些?FTP具体用什么实现的?

网络通信协议有很多,包括但不限于前面提到的TCP/IP、HTTP、HTTPS、FTP、SMTP、DHCP、DNS、ICMP、UDP等。这些协议共同构成了互联网的基础架构,使得计算机能够相互通信并交换数据。

FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上传输文件的协议。FTP使用TCP作为传输层协议,通常运行在TCP的20和21端口上。其中,21端口用于控制连接(用于发送命令),而20端口用于数据连接(用于传输文件数据)。FTP客户端和服务器之间通过FTP命令进行交互,以实现文件的上传和下载。

FTP协议的具体实现可能因不同的软件而异,但大多数FTP客户端和服务器都遵循RFC 959(File Transfer Protocol)标准,该标准定义了FTP的基本操作和命令。此外,还有一些扩展协议(如FTPS、SFTP等)提供了更高级别的安全性和加密功能。

13、网络通讯中,端口有什么含义。端口的取值范围?

端口在网络通讯中是一个逻辑概念,用于区分同一台计算机上运行的不同应用程序或服务。当计算机接收到一个数据包时,它会根据数据包中的目标端口号来确定应该将数据包发送给哪个应用程序或服务进行处理。

端口的取值范围通常是从0到65535(共65536个端口)。其中,一些端口号被预留给特定的应用程序或服务使用,称为“知名端口”或“标准端口”。例如,HTTP服务通常使用80端口,HTTPS服务通常使用443端口,FTP服务通常使用20和21端口等。

除了知名端口外,其他端口号可以被任意应用程序或服务使用。但是,为了避免冲突和混淆,建议在使用非知名端口时遵循一定的命名约定或注册机制。

需要注意的是,并非所有端口都可以被任意使用。一些端口号被系统保留用于特殊目的(如操作系统进程间的通信),而另一些端口号则可能受到防火墙或安全软件的限制和监控。因此,在选择端口号时,需要考虑到这些因素并遵守相关的安全规定和标准。

  • 23
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值