建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+谷歌浏览器 Firefox 30+ 火狐浏览器

服务器封UDP和不封UDP的区别

发布者:售前小溪   |    本文章发表于:2024-05-07       阅读数:3607

在网络世界中,服务器作为数据存储和传输的核心设备,其安全性和稳定性对于整个网络环境至关重要。在服务器管理中,封UDP和不封UDP是两种常见的配置选择。


一、了解UDP协议

UDP是一种无连接的传输层协议,它为应用程序提供了一种简单的方式来发送和接收数据。与TCP协议不同,UDP不提供数据包的排序、错误检查或重传机制,因此其传输速度快,但可靠性相对较低。UDP协议常用于视频通话、实时游戏等对传输速度要求高但对数据可靠性要求不高的场合。


服务器


二、服务器封UDP

1. 定义

服务器封UDP是指在网络环境中,服务器管理员采取技术手段,对使用UDP协议进行通信的数据包进行封锁或过滤。这种封锁行为通常发生在网络管理或安全防护的过程中,目的在于防止或限制UDP协议的滥用、恶意攻击或其他不符合管理要求的行为。


2. 优点

提高安全性:封锁UDP协议可以有效防止基于UDP的恶意攻击,如UDP洪水攻击(UDP Flood Attack),保护服务器的正常运行。

提升性能:在某些场景下,封锁UDP可以释放服务器资源,提升其他协议(如TCP)的性能。


3. 缺点

限制功能:如果服务器上的应用程序需要使用UDP协议进行通信,封锁UDP将导致这些功能无法正常使用。

潜在风险:虽然封锁UDP可以提高安全性,但也可能导致服务器对某些合法UDP流量进行误封,从而影响正常业务。


三、服务器不封UDP

1. 定义

服务器不封UDP意味着服务器允许UDP协议的数据包自由通过,不进行额外的封锁或过滤。


2. 优点

保持功能完整:服务器上的所有应用程序都可以正常使用UDP协议进行通信,无需担心功能受限。

灵活性高:不封UDP的服务器可以根据需要灵活配置防火墙规则,以应对各种网络威胁。


3. 缺点

安全隐患:由于UDP协议本身的不可靠性,服务器容易受到基于UDP的恶意攻击,如UDP洪水攻击等。

资源占用:在UDP流量较大的情况下,服务器需要投入更多的资源来处理这些数据包,可能导致性能下降。


服务器封UDP和不封UDP各有优缺点,具体选择取决于服务器的应用场景和安全需求。对于需要高安全性和稳定性的服务器,封锁UDP是一种有效的防护措施;而对于需要保持功能完整性和灵活性的服务器,不封UDP则更为合适。在实际应用中,建议根据服务器的实际情况和业务需求进行综合评估,选择最适合的配置方式。

相关文章 点击查看更多文章>
01

服务器上Java程序无限重启是内存溢出还是配置问题?

服务器上Java程序无限重启,是运维和Java开发中最常见的故障之一,其核心诱因主要分为两大类——内存溢出(OOM)和配置异常,二者引发的重启现象相似,但排查思路、解决方法截然不同。很多技术人员在排查时,容易陷入“盲目调优内存”或“无序修改配置”的误区,不仅无法解决问题,还可能导致故障扩大,甚至影响业务正常运行。Java程序无限重启的本质,是程序运行过程中触发了“异常退出”,而服务器的守护进程(如systemd、supervisor)或启动脚本,会按照预设逻辑自动重启程序,形成“异常退出-自动重启”的循环。内存溢出是程序运行时的“资源耗尽”问题,属于运行时异常;配置问题是程序启动或运行时的“参数错误”,属于环境或配置层面的问题,二者的故障特征、日志表现、排查路径有明显区别。一、Java程序无限重启的底层逻辑要区分内存溢出与配置问题,首先要明确Java程序无限重启的底层逻辑:正常情况下,Java程序启动后会持续运行,直至主动停止或发生不可恢复的异常;当程序因异常退出(退出码非0)时,若服务器配置了自动重启机制(如systemd的Restart=always参数、supervisor的autorestart=true),守护进程会立即重启程序,若异常未解决,就会形成无限重启的循环。从诱因来看,内存溢出是Java虚拟机(JVM)运行时,无法分配足够的内存来满足程序需求,导致JVM崩溃,程序异常退出;配置问题是程序启动时无法加载正确的配置,或运行时配置参数不匹配,导致程序无法正常初始化或运行,进而主动退出。二者的核心区别在于:内存溢出是“运行时资源耗尽”,配置问题是“启动或运行时参数异常”。需要注意的是,内存溢出与配置问题并非完全独立——不合理的JVM内存配置(如堆内存设置过小),会直接导致内存溢出;而错误的配置参数(如配置文件路径错误、依赖包缺失),则会直接引发程序启动失败,二者的排查需遵循“先区分、再深挖”的原则,避免混淆。二、内存溢出与配置问题的核心特征内存溢出与配置问题引发的无限重启,在故障表现、日志信息、重启频率上有明显差异,这是快速区分二者的核心依据。掌握这些特征,可在排查初期快速定位问题方向,避免走弯路。(一)内存溢出引发的无限重启内存溢出(OOM,Out Of Memory)是JVM在运行过程中,堆内存、非堆内存(方法区、元空间)被耗尽,无法继续分配内存,进而触发JVM崩溃,程序异常退出,随后被守护进程重启。其核心特征集中在“运行时”,具体表现如下:重启具有明显的“周期性”。程序启动后,会正常运行一段时间(可能是几分钟、几小时,甚至几天),这段时间内业务可正常访问,随着程序运行,内存占用逐渐升高,直至达到内存上限,触发OOM,程序崩溃重启;重启后,内存占用恢复正常,重复上述循环,周期相对固定(取决于内存泄漏速度和业务压力)。日志中会出现明确的OOM标识。这是内存溢出最核心的特征——在Java程序的日志文件(如logs/error.log)或JVM日志中,会出现“java.lang.OutOfMemoryError”关键字,同时会标注具体的内存区域溢出,如堆内存溢出(Java heap space)、元空间溢出(Metaspace)、直接内存溢出(Direct buffer memory)等,不同内存区域的溢出,对应不同的问题根源,但均属于内存溢出范畴。(二)配置问题引发的无限重启配置问题引发的无限重启,核心是程序无法正常启动或启动后立即异常退出,与运行时间无关,守护进程反复重启程序,但始终无法正常运行。其核心特征集中在“启动阶段”,具体表现如下:某Java微服务程序,部署后出现无限重启,日志中提示“Could not find config/application.yml”,排查发现是部署时误删了配置文件目录,程序无法加载核心配置,启动即失败,守护进程反复重启,属于典型的配置路径错误问题。三、优化建议解决故障的同时,更要做好长效优化,从源头避免Java程序无限重启,提升程序稳定性,减少运维成本。1. 优化JVM内存配置根据程序的业务压力、数据量,合理配置JVM内存参数,避免配置过小导致内存溢出,配置过大造成资源浪费。建议:-Xms和-Xmx设置为相同值,堆内存不超过服务器物理内存的2/3,元空间设置为256-512MB;同时配置JVM日志参数(如-XX:+HeapDumpOnOutOfMemoryError),便于出现OOM时快速排查。2. 完善配置管理建立配置文件备份机制,避免配置文件丢失、误删;规范配置参数,避免拼写错误、参数不匹配;将配置文件与代码分离,便于部署时灵活调整,减少配置错误;同时,在程序启动前,增加配置校验逻辑,若配置错误,及时抛出异常,避免无限重启。3. 加强程序代码管控在Java程序开发过程中,规范资源释放逻辑,确保数据库连接、文件流、网络连接等资源正常关闭;避免使用过多静态变量,减少内存占用;定期进行代码审计,排查内存泄漏隐患;同时,在生产环境部署JVM监控工具,实时监控内存占用情况,及时发现内存异常。4. 配置合理的守护进程策略优化服务器守护进程配置,设置合理的重启间隔(如重启间隔为30秒),避免重启过于频繁;配置重启失败告警(如通过邮件、短信告警),及时发现程序异常;同时,设置重启次数限制(如最大重启次数为5次),避免无限重启导致服务器资源耗尽。5. 建立完善的监控与告警机制部署服务器监控工具(如Prometheus、Grafana)和Java程序监控工具(如Arthas、VisualVM),实时监控程序运行状态、内存占用、CPU使用率等指标;设置异常告警(如内存占用超过80%、程序重启次数异常),及时发现故障,避免故障扩大。服务器Java程序无限重启,核心是“异常退出-自动重启”的循环,其根源只有两类:内存溢出和配置问题,二者的区分核心在于“日志特征”和“重启周期”——有OOM关键字、运行一段时间后重启,为内存溢出;无OOM关键字、启动即重启,为配置问题。排查故障的核心逻辑是:先查看日志,快速区分问题类型;再针对性排查根源(内存溢出排查内存配置和内存泄漏,配置问题排查启动配置、核心配置、环境变量和依赖);最后验证解决方案,做好长效优化,避免故障复发。

售前毛毛 2026-03-24 11:03:31

02

开传奇要用什么服务器

对于传奇游戏玩家而言,选择一台性能卓越的物理机进行开服是至关重要的。这不仅关乎游戏的流畅性和稳定性,更直接影响玩家的游戏体验。在众多处理器中,Intel Core i9-14900K凭借其卓越的性能和稳定性,成为传奇游戏开服的理想选择。一、i9-14900K处理器性能概览Intel Core i9-14900K作为全新Intel Core第14代系列的旗舰产品,具备以下显著特点:强大的性能:i9-14900K拥有高达24个内核和32个线程,主频3.2GHz,单核睿频高达6.0GHz。这使得它能够轻松应对传奇游戏服务器需要处理的大量游戏逻辑和玩家交互数据,确保游戏的流畅运行。高速处理:高频处理器的主频较高,可以更快地执行指令和处理数据。对于传奇游戏来说,这意味着能够更快地处理游戏的计算任务,提供更流畅的游戏体验。多任务处理能力:i9-14900K具有出色的超频能力,可以进一步提升处理器的性能,更快地切换任务并同时处理多个线程。这在多任务环境下尤为重要,能够确保服务器在处理多个并发玩家时依然保持高效和稳定。二、为何选择i9-14900K为传奇游戏开服游戏性能卓越:i9-14900K的优秀性能使得它能够轻松应对传奇游戏对服务器的要求,确保游戏的流畅性和稳定性。无论是单人游戏还是多人在线游戏,都能够为玩家提供出色的游戏体验。高效稳定:传奇游戏服务器需要长时间稳定运行,而i9-14900K的稳定性和可靠性能够满足这一需求。它能够持续为服务器提供强大的性能支持,确保游戏的持续稳定运行。扩展性强:i9-14900K支持PCIe 5.0等新技术,为服务器的扩展提供了更多可能性。无论是增加内存、硬盘还是其他硬件设备,都能够轻松应对,满足传奇游戏不断扩展的需求。选择一台性能卓越的物理机为传奇游戏开服是确保游戏流畅性和稳定性的关键。Intel Core i9-14900K凭借其强大的性能、高速处理和多任务处理能力成为传奇游戏开服的理想选择。它不仅能够为玩家提供出色的游戏体验,还能够确保服务器的稳定运行和扩展性。因此,对于传奇游戏玩家而言,选择i9-14900K物理机进行开服是一个明智的选择。

售前鑫鑫 2024-06-20 19:00:00

03

快快网络的快卫士的强大功能等你前来解锁

快快网络的快卫士安装在服务器上防止黑客入侵、具备漏洞修复、基线检测、资产指纹的系统,系统一旦异常登录将即时通过手机进行快速响应。一键开启:即开即用,无需设置       多重认证保证安全:业内首个开创资产拥有者身份二次认证功能       便捷的统一管控:所有数据展示和操作均可在快卫士控制台完成,支持批量管理       安全闭环:既可检测安全问题和威胁,又能解决安全问题       多维智能机器学习:多维数据采集,提升入侵检测效率       大数据攻击防御:每天拦截上亿次攻击,防御模型精准快速目前我们网页防篡改功能已经优化好,需要的老板可以把机器切来体验!快快网络的快卫士的强大功能等你前来解锁联系快快网络小美Q:712730906

售前小美 2022-10-13 15:36:37

新闻中心 > 市场资讯

服务器封UDP和不封UDP的区别

发布者:售前小溪   |    本文章发表于:2024-05-07

在网络世界中,服务器作为数据存储和传输的核心设备,其安全性和稳定性对于整个网络环境至关重要。在服务器管理中,封UDP和不封UDP是两种常见的配置选择。


一、了解UDP协议

UDP是一种无连接的传输层协议,它为应用程序提供了一种简单的方式来发送和接收数据。与TCP协议不同,UDP不提供数据包的排序、错误检查或重传机制,因此其传输速度快,但可靠性相对较低。UDP协议常用于视频通话、实时游戏等对传输速度要求高但对数据可靠性要求不高的场合。


服务器


二、服务器封UDP

1. 定义

服务器封UDP是指在网络环境中,服务器管理员采取技术手段,对使用UDP协议进行通信的数据包进行封锁或过滤。这种封锁行为通常发生在网络管理或安全防护的过程中,目的在于防止或限制UDP协议的滥用、恶意攻击或其他不符合管理要求的行为。


2. 优点

提高安全性:封锁UDP协议可以有效防止基于UDP的恶意攻击,如UDP洪水攻击(UDP Flood Attack),保护服务器的正常运行。

提升性能:在某些场景下,封锁UDP可以释放服务器资源,提升其他协议(如TCP)的性能。


3. 缺点

限制功能:如果服务器上的应用程序需要使用UDP协议进行通信,封锁UDP将导致这些功能无法正常使用。

潜在风险:虽然封锁UDP可以提高安全性,但也可能导致服务器对某些合法UDP流量进行误封,从而影响正常业务。


三、服务器不封UDP

1. 定义

服务器不封UDP意味着服务器允许UDP协议的数据包自由通过,不进行额外的封锁或过滤。


2. 优点

保持功能完整:服务器上的所有应用程序都可以正常使用UDP协议进行通信,无需担心功能受限。

灵活性高:不封UDP的服务器可以根据需要灵活配置防火墙规则,以应对各种网络威胁。


3. 缺点

安全隐患:由于UDP协议本身的不可靠性,服务器容易受到基于UDP的恶意攻击,如UDP洪水攻击等。

资源占用:在UDP流量较大的情况下,服务器需要投入更多的资源来处理这些数据包,可能导致性能下降。


服务器封UDP和不封UDP各有优缺点,具体选择取决于服务器的应用场景和安全需求。对于需要高安全性和稳定性的服务器,封锁UDP是一种有效的防护措施;而对于需要保持功能完整性和灵活性的服务器,不封UDP则更为合适。在实际应用中,建议根据服务器的实际情况和业务需求进行综合评估,选择最适合的配置方式。

相关文章

服务器上Java程序无限重启是内存溢出还是配置问题?

服务器上Java程序无限重启,是运维和Java开发中最常见的故障之一,其核心诱因主要分为两大类——内存溢出(OOM)和配置异常,二者引发的重启现象相似,但排查思路、解决方法截然不同。很多技术人员在排查时,容易陷入“盲目调优内存”或“无序修改配置”的误区,不仅无法解决问题,还可能导致故障扩大,甚至影响业务正常运行。Java程序无限重启的本质,是程序运行过程中触发了“异常退出”,而服务器的守护进程(如systemd、supervisor)或启动脚本,会按照预设逻辑自动重启程序,形成“异常退出-自动重启”的循环。内存溢出是程序运行时的“资源耗尽”问题,属于运行时异常;配置问题是程序启动或运行时的“参数错误”,属于环境或配置层面的问题,二者的故障特征、日志表现、排查路径有明显区别。一、Java程序无限重启的底层逻辑要区分内存溢出与配置问题,首先要明确Java程序无限重启的底层逻辑:正常情况下,Java程序启动后会持续运行,直至主动停止或发生不可恢复的异常;当程序因异常退出(退出码非0)时,若服务器配置了自动重启机制(如systemd的Restart=always参数、supervisor的autorestart=true),守护进程会立即重启程序,若异常未解决,就会形成无限重启的循环。从诱因来看,内存溢出是Java虚拟机(JVM)运行时,无法分配足够的内存来满足程序需求,导致JVM崩溃,程序异常退出;配置问题是程序启动时无法加载正确的配置,或运行时配置参数不匹配,导致程序无法正常初始化或运行,进而主动退出。二者的核心区别在于:内存溢出是“运行时资源耗尽”,配置问题是“启动或运行时参数异常”。需要注意的是,内存溢出与配置问题并非完全独立——不合理的JVM内存配置(如堆内存设置过小),会直接导致内存溢出;而错误的配置参数(如配置文件路径错误、依赖包缺失),则会直接引发程序启动失败,二者的排查需遵循“先区分、再深挖”的原则,避免混淆。二、内存溢出与配置问题的核心特征内存溢出与配置问题引发的无限重启,在故障表现、日志信息、重启频率上有明显差异,这是快速区分二者的核心依据。掌握这些特征,可在排查初期快速定位问题方向,避免走弯路。(一)内存溢出引发的无限重启内存溢出(OOM,Out Of Memory)是JVM在运行过程中,堆内存、非堆内存(方法区、元空间)被耗尽,无法继续分配内存,进而触发JVM崩溃,程序异常退出,随后被守护进程重启。其核心特征集中在“运行时”,具体表现如下:重启具有明显的“周期性”。程序启动后,会正常运行一段时间(可能是几分钟、几小时,甚至几天),这段时间内业务可正常访问,随着程序运行,内存占用逐渐升高,直至达到内存上限,触发OOM,程序崩溃重启;重启后,内存占用恢复正常,重复上述循环,周期相对固定(取决于内存泄漏速度和业务压力)。日志中会出现明确的OOM标识。这是内存溢出最核心的特征——在Java程序的日志文件(如logs/error.log)或JVM日志中,会出现“java.lang.OutOfMemoryError”关键字,同时会标注具体的内存区域溢出,如堆内存溢出(Java heap space)、元空间溢出(Metaspace)、直接内存溢出(Direct buffer memory)等,不同内存区域的溢出,对应不同的问题根源,但均属于内存溢出范畴。(二)配置问题引发的无限重启配置问题引发的无限重启,核心是程序无法正常启动或启动后立即异常退出,与运行时间无关,守护进程反复重启程序,但始终无法正常运行。其核心特征集中在“启动阶段”,具体表现如下:某Java微服务程序,部署后出现无限重启,日志中提示“Could not find config/application.yml”,排查发现是部署时误删了配置文件目录,程序无法加载核心配置,启动即失败,守护进程反复重启,属于典型的配置路径错误问题。三、优化建议解决故障的同时,更要做好长效优化,从源头避免Java程序无限重启,提升程序稳定性,减少运维成本。1. 优化JVM内存配置根据程序的业务压力、数据量,合理配置JVM内存参数,避免配置过小导致内存溢出,配置过大造成资源浪费。建议:-Xms和-Xmx设置为相同值,堆内存不超过服务器物理内存的2/3,元空间设置为256-512MB;同时配置JVM日志参数(如-XX:+HeapDumpOnOutOfMemoryError),便于出现OOM时快速排查。2. 完善配置管理建立配置文件备份机制,避免配置文件丢失、误删;规范配置参数,避免拼写错误、参数不匹配;将配置文件与代码分离,便于部署时灵活调整,减少配置错误;同时,在程序启动前,增加配置校验逻辑,若配置错误,及时抛出异常,避免无限重启。3. 加强程序代码管控在Java程序开发过程中,规范资源释放逻辑,确保数据库连接、文件流、网络连接等资源正常关闭;避免使用过多静态变量,减少内存占用;定期进行代码审计,排查内存泄漏隐患;同时,在生产环境部署JVM监控工具,实时监控内存占用情况,及时发现内存异常。4. 配置合理的守护进程策略优化服务器守护进程配置,设置合理的重启间隔(如重启间隔为30秒),避免重启过于频繁;配置重启失败告警(如通过邮件、短信告警),及时发现程序异常;同时,设置重启次数限制(如最大重启次数为5次),避免无限重启导致服务器资源耗尽。5. 建立完善的监控与告警机制部署服务器监控工具(如Prometheus、Grafana)和Java程序监控工具(如Arthas、VisualVM),实时监控程序运行状态、内存占用、CPU使用率等指标;设置异常告警(如内存占用超过80%、程序重启次数异常),及时发现故障,避免故障扩大。服务器Java程序无限重启,核心是“异常退出-自动重启”的循环,其根源只有两类:内存溢出和配置问题,二者的区分核心在于“日志特征”和“重启周期”——有OOM关键字、运行一段时间后重启,为内存溢出;无OOM关键字、启动即重启,为配置问题。排查故障的核心逻辑是:先查看日志,快速区分问题类型;再针对性排查根源(内存溢出排查内存配置和内存泄漏,配置问题排查启动配置、核心配置、环境变量和依赖);最后验证解决方案,做好长效优化,避免故障复发。

售前毛毛 2026-03-24 11:03:31

开传奇要用什么服务器

对于传奇游戏玩家而言,选择一台性能卓越的物理机进行开服是至关重要的。这不仅关乎游戏的流畅性和稳定性,更直接影响玩家的游戏体验。在众多处理器中,Intel Core i9-14900K凭借其卓越的性能和稳定性,成为传奇游戏开服的理想选择。一、i9-14900K处理器性能概览Intel Core i9-14900K作为全新Intel Core第14代系列的旗舰产品,具备以下显著特点:强大的性能:i9-14900K拥有高达24个内核和32个线程,主频3.2GHz,单核睿频高达6.0GHz。这使得它能够轻松应对传奇游戏服务器需要处理的大量游戏逻辑和玩家交互数据,确保游戏的流畅运行。高速处理:高频处理器的主频较高,可以更快地执行指令和处理数据。对于传奇游戏来说,这意味着能够更快地处理游戏的计算任务,提供更流畅的游戏体验。多任务处理能力:i9-14900K具有出色的超频能力,可以进一步提升处理器的性能,更快地切换任务并同时处理多个线程。这在多任务环境下尤为重要,能够确保服务器在处理多个并发玩家时依然保持高效和稳定。二、为何选择i9-14900K为传奇游戏开服游戏性能卓越:i9-14900K的优秀性能使得它能够轻松应对传奇游戏对服务器的要求,确保游戏的流畅性和稳定性。无论是单人游戏还是多人在线游戏,都能够为玩家提供出色的游戏体验。高效稳定:传奇游戏服务器需要长时间稳定运行,而i9-14900K的稳定性和可靠性能够满足这一需求。它能够持续为服务器提供强大的性能支持,确保游戏的持续稳定运行。扩展性强:i9-14900K支持PCIe 5.0等新技术,为服务器的扩展提供了更多可能性。无论是增加内存、硬盘还是其他硬件设备,都能够轻松应对,满足传奇游戏不断扩展的需求。选择一台性能卓越的物理机为传奇游戏开服是确保游戏流畅性和稳定性的关键。Intel Core i9-14900K凭借其强大的性能、高速处理和多任务处理能力成为传奇游戏开服的理想选择。它不仅能够为玩家提供出色的游戏体验,还能够确保服务器的稳定运行和扩展性。因此,对于传奇游戏玩家而言,选择i9-14900K物理机进行开服是一个明智的选择。

售前鑫鑫 2024-06-20 19:00:00

快快网络的快卫士的强大功能等你前来解锁

快快网络的快卫士安装在服务器上防止黑客入侵、具备漏洞修复、基线检测、资产指纹的系统,系统一旦异常登录将即时通过手机进行快速响应。一键开启:即开即用,无需设置       多重认证保证安全:业内首个开创资产拥有者身份二次认证功能       便捷的统一管控:所有数据展示和操作均可在快卫士控制台完成,支持批量管理       安全闭环:既可检测安全问题和威胁,又能解决安全问题       多维智能机器学习:多维数据采集,提升入侵检测效率       大数据攻击防御:每天拦截上亿次攻击,防御模型精准快速目前我们网页防篡改功能已经优化好,需要的老板可以把机器切来体验!快快网络的快卫士的强大功能等你前来解锁联系快快网络小美Q:712730906

售前小美 2022-10-13 15:36:37

查看更多文章 >
AI助理

您对快快产品更新的整体评价是?

期待您提供更多的改进意见(选填)

提交成功~
提交失败~

售前咨询

售后咨询

  • 紧急电话:400-9188-010

等级保护报价计算器

今天已有1593位获取了等保预算

所在城市:
机房部署:
等保级别:
服务器数量:
是否已购安全产品:
手机号码:
手机验证码:
开始计算

稍后有等保顾问致电为您解读报价

拖动下列滑块完成拼图

您的等保预算报价0
  • 咨询费:
    0
  • 测评费:
    0
  • 定级费:
    0
  • 产品费:
    0
联系二维码

详情咨询等保专家

联系人:潘成豪

13055239889