
IM
文章平均质量分 90
OpenIM
这个作者很懒,什么都没留下…
展开
-
# 靠谱:开源IM项目OpenIM压测程序介绍-自己动手压测性能和稳定性
# 靠谱:开源IM项目OpenIM压测程序介绍-自己动手压测性能和稳定性原创 2022-09-01 18:39:26 · 1774 阅读 · 0 评论 -
收藏-即时通讯(IM)开源项目OpenIM-功能手册
收藏-即时通讯(IM)开源项目OpenIM-功能手册原创 2022-08-03 19:55:33 · 5924 阅读 · 0 评论 -
Openim支持十万超级大群
openim支持十万超级大群原创 2022-07-30 20:49:48 · 1052 阅读 · 0 评论 -
# 重要-即时通讯IM开源项目OpenIM关于版本管理及v2.3.0发布计划
# 重要-即时通讯IM开源项目OpenIM关于版本管理及v2.3.0发布计划原创 2022-07-14 17:50:40 · 1163 阅读 · 0 评论 -
即时通讯(IM)开源项目OpenIM每周迭代版本发布-音视频实时通话-v2.0.4
介绍OpenIM每周五发布新版,包括新特性发布,bug修复,同时合并PR由于2.0版本重构完毕,架构更清晰,代码更规范,先邀请各位参与OpenIM社区建设,包括技术开发,技术分享等,特性开发,性能优化,bug修复等,有兴趣的同学可以加我私聊。可以多人音视频聊天,以及多端同步呼叫。web端体验:https://open-im-online.rentsoft.cn/安卓端体验:https://www.pgyer.com/OpenIMiOS端体验:https://testflight.apple.c原创 2022-03-19 14:21:54 · 2632 阅读 · 3 评论 -
开源IM项目OpenIM 客户端SDK架构剖析-确保消息的有序性,以及消息百分百可达
开源IM项目OpenIM第二版对于客户端架构进行了局部重构,解决了消息触发时序等bug,也梳理了内部模块。目前已经接近尾声,本文重点讲解SDK架构,以便大家深入了解OpenIM,并希望大家能深度参与开发。很多开发者有个误区,认为IM的挑战主要在服务端,当然服务端有其挑战,包括性能、压力、时延等,但优秀的IM架构需要服务端和客户端完美配合,比如消息对齐机制,本地缓存和后台数据同步,app多端如何实时同步。github 6.5K star 具体地址:OpenIM Corporationgithub.co原创 2022-03-18 11:20:27 · 1859 阅读 · 0 评论 -
即时通讯(IM)开源项目OpenIM重构版本发布- v2.0.0
介绍OpenIM开发团队花费了2个月时间,加班加点对代码进行了局部重构,优化代码结构,规范代码开发流程,为社区未来深度参与开发打好基础。由于改动较大,涉及大量的测试工作,并且还有打包 发布 等一些琐碎的事情,导致发布延期了十天,在此略表歉意。后续会建立相对完整的开发和发布计划,也邀请各位社区同学参与OpenIM的建设工作。有志于参与OpenIM建设的同学,可以与我私聊,介绍系统架构,并探讨社区开发流程和规范。由于涉及到数据库字段变化,下载前要先删除app把历史数据全部清理干净web端体验地址:htt原创 2022-03-04 09:43:37 · 2538 阅读 · 0 评论 -
强烈推荐github 6.6k star前微信技术专家基于go开源IM项目OpenIM
OpenIM使命从公司成立之初就将“开源”作为核心战略来推进,开源充分体现了自由、平等、分享的互联网精神。全球范围频繁发生的数据泄露、勒索病毒、隐私滥用等安全事件一次次给企业敲响警钟,企业管理者对数据资产的价值、数据安全的重要性有了更清晰的认识,数据安全成就企业核心价值。IM作为核心业务数据,安全的重要性毋庸置疑,OpenIM开源以及私有化部署让企业能更放心使用。如今IM云服务商收费高企,如何让企业低成本、安全、可靠接入IM服务,是OpenIM的历史使命,也是我们前进的方向。有劳开发者点一下原创 2022-02-27 22:25:25 · 938 阅读 · 0 评论 -
即时通讯(IM)开源项目OpenIM本周版本发布- v1.0.7-web端一键部署
介绍OpenIM:由前微信技术专家打造的基于 Go 实现的即时通讯(IM)开源项目,包括IM服务端和客户端SDK。开发者私有化部署,基于SDK二次开发,可以轻松替代第三方IM云服务,打造具备聊天、社交功能的app。无论是开发同城交友、企业办公亦或是当今最热门的元宇宙,还是在应用中集成IM功能,都非常便捷。OpenIM代码100%开源,开源协议Apache-2.0 License任何企业和个人都可以免费使用(包括商用)。请各位看官多多支持,转发和宣传,助力OpenIM成为开源IM的No1web端体验地址原创 2021-12-10 17:31:33 · 5813 阅读 · 2 评论 -
即时通讯(IM)开源项目OpenIM本周版本发布-v1.0.6
OpenIM介绍OpenIM是由前微信技术专家打造的开源的即时通讯组件。OpenIM包括IM服务端和客户端SDK,实现了高性能、轻量级、易扩展等重要特性。开发者通过集成OpenIM组件,并私有化部署服务端,可以将即时通讯、实时网络能力快速集成到自身应用中,并确保业务数据的安全性和私密性。代码100%开源,开源协议Apache-2.0 License任何企业和个人都可以免费使用(包括商用)。开发者可以选择自行安装私有化部署,基于SDK二次开发。项目成果官方文档:https://doc.rentso原创 2021-12-06 15:46:34 · 1785 阅读 · 0 评论 -
分享一套golang实现的 IM 系统,一键部署服务端,客户端SDK全平台支持,可以替代IM云服务
开篇自互联网诞生以来,即时通讯平台就一直存在。从世界范围来看,WhatsApp、Facebook、 微信、Telegram是领先的消息平台,用户主要使用这些平台与家人和朋友保持联系。随着互联网的发展,人与人之间的沟通是刚需,无处不在,几乎所有的APP都集成IM功能,从社交、游戏、到生活中的方方面面,打车、找房等。可以说IM作为一种通讯能力,已经成为互联网上的基础设施,成为许多APP不可或缺的功能。现在绝大多数APP使用IM云服务商的SDK,方便接入的同时,也带来了几个深层次的问题:(1)成本问题:企业每年原创 2021-10-08 18:04:47 · 2159 阅读 · 0 评论 -
「IM开源推荐」前微信技术专家打造,golang实现,一键部署,客户端SDK全平台支持,轻松替代IM云服务
背景OpenIM成立之初就将“开源”作为核心战略来推进,开源充分体现了自由、平等、分享的互联网精神。全球范围频繁发生的数据泄露、勒索病毒、隐私滥用等安全事件一次次给企业敲响警钟,企业管理者对数据资产的价值、数据安全的重要性有了更清晰的认识,数据安全成就企业核心价值。IM作为核心业务数据,安全的重要性毋庸置疑,OpenIM开源以及私有化部署让企业能更放心使用。如今IM云服务商收费高企,如何让企业低成本、安全、可靠接入IM服务,是OpenIM的历史使命,也是我们前进的方向。优势OpenIM:由前微信原创 2021-10-08 14:10:41 · 1645 阅读 · 0 评论 -
【OpenIM原创】AppServer、AppClient、Open-IM-Server以及Open-IM-SDK之间的关系
写在前面Open-IM是由前微信技术专家打造的开源的即时通讯组件。Open-IM包括IM服务端和客户端SDK,实现了高性能、轻量级、易扩展等重要特性。开发者通过集成Open-IM组件,并私有化部署服务端,可以将即时通讯、实时网络能力快速集成到自身应用中,并确保业务数据的安全性和私密性。了解更多原创文章:【OpenIM原创】开源OpenIM:轻量、高效、实时、可靠、低成本的消息模型【OpenIM原创】C/C++调用golang函数,golang回调C/C++函数【OpenIM原创】简单轻松入门 一文原创 2021-09-23 15:18:57 · 1076 阅读 · 0 评论 -
Golang正确使用kafka的姿势-细节决定成败
本文转自 跟我学IM后台开发作者 杰克.许 经OpenIM技术人员整理修订后发布。写在前面Open-IM是由前微信技术专家打造的开源的即时通讯组件。Open-IM包括IM服务端和客户端SDK,实现了高性能、轻量级、易扩展等重要特性。开发者通过集成Open-IM组件,并私有化部署服务端,可以将即时通讯、实时网络能力快速集成到自身应用中,并确保业务数据的安全性和私密性。Kafka在OpenIM项目中承担重要的角色,感谢作者在使用OpenIM中发现的bug(使用Kafka不当的bug)了解更多原创文章:转载 2021-09-22 20:14:26 · 1116 阅读 · 0 评论 -
通俗易懂 即时通讯初学者入门 WhatsApp技术架构
本文译自Codin Gurukul经OpenIM技术人员整理修订后发布。写在前面Open-IM是由前微信技术专家打造的开源的即时通讯组件。Open-IM包括IM服务端和客户端SDK,实现了高性能、轻量级、易扩展等重要特性。开发者通过集成Open-IM组件,并私有化部署服务端,可以将即时通讯、实时网络能力快速集成到自身应用中,并确保业务数据的安全性和私密性。了解更多原创文章:【OpenIM原创】开源OpenIM:轻量、高效、实时、可靠、低成本的消息模型【OpenIM原创】C/C++调用golang函翻译 2021-09-22 17:58:31 · 1746 阅读 · 0 评论 -
【OpenIM原创】uni-app使用之 初始化会话 消息 好友 监听器
写在前面Open-IM是由前微信技术专家打造的开源的即时通讯组件。Open-IM包括IM服务端和客户端SDK,实现了高性能、轻量级、易扩展等重要特性。开发者通过集成Open-IM组件,并私有化部署服务端,可以将即时通讯、实时网络能力快速集成到自身应用中,并确保业务数据的安全性和私密性。了解更多原创文章:【OpenIM原创】开源OpenIM:轻量、高效、实时、可靠、低成本的消息模型【OpenIM原创】C/C++调用golang函数,golang回调C/C++函数【OpenIM原创】简单轻松入门 一文原创 2021-09-22 10:43:11 · 1470 阅读 · 0 评论 -
即时通讯系统架构设计-如何设计一款WhatsApp
本文译自tech takshila经OpenIM技术人员整理修订后发布。写在前面Open-IM是由前微信技术专家打造的开源的即时通讯组件。Open-IM包括IM服务端和客户端SDK,实现了高性能、轻量级、易扩展等重要特性。开发者通过集成Open-IM组件,并私有化部署服务端,可以将即时通讯、实时网络能力快速集成到自身应用中,并确保业务数据的安全性和私密性。了解更多原创文章:【OpenIM原创】开源OpenIM:轻量、高效、实时、可靠、低成本的消息模型【OpenIM原创】C/C++调用golang函原创 2021-09-18 18:09:26 · 2649 阅读 · 0 评论 -
【IM开源推荐】前微信技术专家打造的开源的即时通讯组件OpenIM
【IM开源推荐】前微信技术专家打造的开源的即时通讯组件OpenIM[外链图片转存中…(img-eTc3gpSt-1631868964512)]Open-IM是由前微信技术专家打造的***开源***的即时通讯组件。Open-IM包括IM服务端和客户端SDK,实现了高性能、轻量级、易扩展等重要特性。开发者通过集成Open-IM组件,并私有化部署服务端,可以将即时通讯、实时网络能力快速集成到自身应用中,并确保业务数据的安全性和私密性。Open-IM包括哪些模块(一)客户端(1) golang实现的跨平台原创 2021-09-18 15:26:43 · 1653 阅读 · 0 评论 -
【IM开源推荐】前微信技术专家打造的开源的即时通讯组件OpenIM
Open-IM是由前微信技术专家打造的***开源***的即时通讯组件。Open-IM包括IM服务端和客户端SDK,实现了高性能、轻量级、易扩展等重要特性。开发者通过集成Open-IM组件,并私有化部署服务端,可以将即时通讯、实时网络能力快速集成到自身应用中,并确保业务数据的安全性和私密性。Open-IM包括哪些模块(一)客户端(1) golang实现的跨平台的SDK:Open-IM-SDK-Core ,开发者不需要关心(2)在Open-IM-SDK-Core 基础上生成的iOS版本SDK:Open.原创 2021-09-17 16:27:56 · 2243 阅读 · 1 评论 -
【OpenIM原创】IM服务端docker、源码、集群部署 非常实用
写在前面Open-IM是由前微信技术专家打造的开源的即时通讯组件。Open-IM包括IM服务端和客户端SDK,实现了高性能、轻量级、易扩展等重要特性。开发者通过集成Open-IM组件,并私有化部署服务端,可以将即时通讯、实时网络能力快速集成到自身应用中,并确保业务数据的安全性和私密性。创始团队来自前微信高级架构师、IM/WebRTC专家团队,我们致力于用开源技术创造服务价值,打造轻量级、高可用的IM架构,开发者只需简单调用 SDK,即可在应用内构建多种即时通讯及实时音视频互动场景。IM作为核心业务数据原创 2021-09-17 14:10:56 · 3319 阅读 · 0 评论 -
微信、陌陌等著名IM软件设计架构详解
本文由作者jinglijun编写修改,出处链接:https://blog.youkuaiyun.com/justinjing0612/article/details/38322353OpenIMgithub开源地址:https://github.com/OpenIMSDK/Open-IM-ServerOpenIM官网 :https://www.rentsoft.cn**OpenIM官方论坛:**https://forum.rentsoft.cn/对微信、陌陌等进行了分析,发出来分享一下(时间有些久了) 电量:转载 2021-09-15 16:29:32 · 1625 阅读 · 0 评论 -
闲鱼消息发展回顾
简介: 转自闲鱼技术 作者:今朝 、有攸OpenIMgithub开源地址:https://github.com/OpenIMSDK/Open-IM-ServerOpenIM官网 :https://www.rentsoft.cnOpenIM官方论坛:https://forum.rentsoft.cn/引言闲鱼消息系统经过几代开发的建设,目前稳定的支撑亿级消息体量。在消息系统建设过程中,我们经历了从简单到复杂,从困扰到破局,每一次的技术改变都是为了更好的解决当下业务面临的问题。“忆昔午桥桥上饮,坐中转载 2021-09-15 14:19:31 · 767 阅读 · 0 评论 -
[VLDB2019]DLM:微信大规模分布式n-gram语言模型系统
Wechat & NUS《A Distributed System for Large-scale n-gram Language Models at Tencent》分布式语言模型,支持大型n-gram LM解码的系统。本文是对原VLDB2019论文的简要翻译摘要n-gram语言模型广泛用于语言处理,例如自动语音识别(ASR)。它可以对从发生器(例如声学模型)产生的候选单词序列进行排序。大型n-gram模型通常可以提供良好的排名结果,但这需要大量的内存空间。将模型分布到多个节点,可以解决内存转载 2021-09-14 14:43:07 · 503 阅读 · 0 评论 -
一个通用即时通讯(IM)系统的设计
本文章参考https://systeminterview.com/design-a-chat-system.php,有删减。在本章中,我们将探讨聊天系统的设计。几乎每个人都使用聊天应用程序。图12-1显示了市场上一些最流行的应用程序。聊天应用为不同的人执行不同的功能。确定确切的要求是极其重要的。例如,当面试官考虑一对一聊天时,您不希望设计一个专注于集体聊天的系统。探索功能需求是很重要的。步骤1-确定需求当然,世界上没有最完美的架构,只有最合适的架构,也没有所谓的通用方案,不同的解决方案都有其优缺.转载 2021-09-14 11:13:30 · 2420 阅读 · 0 评论 -
面对面小程序开源
开源地址:https://github.com/Tencent/Face2FaceTranslator近期我们发布了微信同声传译小程序插件,免费开放微信AI团队在机器翻译、智能语音领域的业界领先成果,使开发者简便地在小程序中加入机器翻译、智能语音能力。现在我们开源完全基于微信同声传译插件实现的面对面翻译小程序,以进一步降低小程序开发者使用插件的门槛。小程序开发者参考面对面翻译开源实现,只需要调用几个简单API,就可以完成一个翻译应用。我们的终极目标是:0门槛搞定!!插件功能语音输入语音合成转载 2021-09-10 17:36:09 · 740 阅读 · 0 评论 -
揭秘超分辨率的正确打开方式
写在前边:图像和视频通常包含着大量的视觉信息,且视觉信息本身具有直观高效的描述能力,所以随着信息技术的高速发展,图像和视频的应用逐渐遍布人类社会的各个领域。近些年来,在计算机图像处理,计算机视觉和机器学习等领域中,来自工业界和学术界的许多学者和专家都持续关注着视频图像的超分辨率技术这个基础热点问题。本文试着讲述超分辨率技术的正确打开方式,浅谈视频图像的超分辨率技术的基本概念和应用场景等问题。1.什么是超分辨率?1.1 超分辨率初体验简单来讲,图像超分辨率就是提高图像的空间分辨率,例如将一幅图片的分..转载 2021-09-10 11:48:02 · 2666 阅读 · 0 评论 -
微信亿级用户异常检测框架的设计与实践
月活用户越高的互联网产品,被黑产盯上的可能性就越大。在微信的安全生态里,正是有网络黑产的层出不穷,变化多端,才有了微信安全的不断进化。本文将带你一窥究竟,微信是怎么做异常检测框架的?1写在前面如何在大规模数据下检测异常用户一直是学术界和工业界研究的重点,而在微信安全的实际生态中,一方面,黑产作恶手段多变,为了捕捉黑产多变的恶意模式,若采用有监督的方法模型可能需要频繁更新,维护成本较高;另一方面,通过对恶意帐号进行分析,我们发现恶意用户往往呈现一定的“聚集性”特征,因此这里需要更多地依赖无监督或半监督的手转载 2021-09-09 18:21:54 · 1472 阅读 · 1 评论 -
微信开源PhxQueue:高可用、高可靠、高性能的分布式队列**
消息队列概述消息队列作为成熟的异步通信模式,对比常用的同步通信模式,有如下优势:解耦:防止引入过多的 API 给系统的稳定性带来风险;调用方使用不当会给被调用方系统造成压力,被调用方处理不当会降低调用方系统的响应能力。削峰和流控:消息生产者不会堵塞,突发消息缓存在队列中,消费者按照实际能力读取消息。复用:一次发布多方订阅。PhxQueue 诞生背景旧队列微信初期使用的分布式队列(称为旧队列)是微信后台自研的重要组件,广泛应用在各种业务场景中,为业务提供解耦、缓存、异步化等能力。旧队列以转载 2021-09-09 17:45:09 · 276 阅读 · 0 评论 -
PhxSQL设计与实现(详细版)
之前发表过一篇ppt版的“PhxSQL设计与实现”,本文是在ppt的基础上,加上解说的文字内容,形成一篇详细版。本文详细描述了PhxSQL的设计与实现。从MySQL的容灾缺陷开始讲起,接着阐述实现高可用强一致的思路,然后具体分析每个实现环节要注意的要点和解决方案,最后展示了PhxSQL在容灾和性能上的成果。设计背景互联网应用中账号和金融类关键系统要求和强调强一致性及高可用性。当面临机器损坏、网络分区、主备手工或者自动切换时,传统的MySQL主备难以保证强一致性和高可用性。PhxSQL将MySQL集群.转载 2021-09-09 16:14:30 · 494 阅读 · 0 评论 -
微信后台基于时间序的海量数据冷热分级架构设计实践
写在前面微信的后台数据存储随着微信产品特性的演进,经历了数次的架构改造,才形成如今成熟的大规模分布式存储系统,有条不紊的管理着由数千台异构机型组成的机器集群,得以支撑每天千万亿级的访问、键值以及 PB 级的数据。作为以手机为平台的移动社交应用,微信内大部分业务生成的数据是有共性可言的:数据键值带有时间戳信息,并且单用户数据随着时间在不断的生成。我们将这类数据称为基于时间序的数据。比如朋友圈中的发表,或者移动支付的账单流水等业务生成的数据都满足这样的特征。基于时间序的数据都天然带有冷热分明属性――这是由手转载 2021-09-09 14:12:40 · 475 阅读 · 0 评论 -
【OpenIM原创】C/C++调用golang函数,golang回调C/C++函数
需求来源Open-IM 是由前微信技术专家打造的全开源、永久免费、无限制的即时通讯组件。Open-IM 包括 IM 服务端和客户端 SDK,实现了高性能、轻量级、易扩展等重要特性。开发者通过集成 Open-IM 组件,并私有化部署服务端,可以将即时通讯、实时网络能力免费、快速集成到自身应用中,并确保业务数据的安全性和私密性。OpenIM包括Server和SDK,两者都是采用golang实现的,移动端通过gomobile生成代码,再加上对应的插件,这样能适应多个前端开发框架,无论是原生的iOS、Andro原创 2021-09-09 10:02:34 · 1582 阅读 · 0 评论 -
详解微信异步队列 MQ 2.0 的功能优化及拓展思路
背景介绍MQ 1.0 发布之初,基本满足了一般业务场景的异步化需求,实现了单机下高性能的任务持久化和消费调度。1.0 的基本框架如下图所示:可以看到,其主要分为 MQ 和 Worker 两部分。MQ 是任务的持久化和调度框架,Worker 是任务的处理框架。该组件与常见的队列相比,有几个特点:关注单机性能,任务单机持久化,本机消费;框架介入了任务的整个生命周期,其中包括了:入队落盘、派发、处理、提交结果、销毁。业务基于框架开发,专注任务的处理逻辑。随着业务发展,面对日益复杂的业务场景,1.0转载 2021-09-09 10:01:39 · 311 阅读 · 0 评论 -
TLS协议分析 (九) 现代加密通信协议设计
六. TLS协议给我们的启发 — 现代加密通信协议设计在看了这么多的分析和案例之后,我们已经可以归纳出加密通信协议设计的普遍问题,和常见设计决策,设计决策点:四类基础算法 加密/MAC/签名/密钥交换 如何选择?对称加密目前毫无疑问应该直接用aead,最佳选择就是 aes-128-gcm/aes-256-gcm/chacha20-poly1305了数字签名/验证方案,如果是移动互联网,应该考虑直接放弃 RSA,考虑 P-256 的 ECDSA 公钥证书,或者更进一步的 ed25519 公钥证书转载 2021-09-09 10:00:31 · 1861 阅读 · 0 评论 -
TLS协议分析 (八) 实现与开源项目
三. TLS协议的代码实现TLS的主要实现:OpenSSLboringssl(Google)libressls2n(Amazon)nss(Mozilla)polarsslbotangnutls(gpl)cyasslgo.cryptoopenssl 的 tls 协议实现有 6W 行,libressl 3.68W行, polarssl 1.29 W行, Botan 1.13 W行openssl是其中代码最糟糕的(没有之一)。openssl提供了的api都太过于底层,api设计的也转载 2021-09-09 09:56:17 · 1272 阅读 · 0 评论 -
TLS协议分析 (七) 安全性分析
9. TLS协议的安全分析安全分析,重中之重,也是大家最关心的。安全分析的第一步是建立攻击模型,TLS的攻击模式是:攻击者有充足的计算资源攻击者无法得到私钥,无法得到客户端和服务器内存里面的密钥等保密信息攻击者可以抓包,修改包,删除包,重放包,篡改包。这个模型其实就是密码学里面一般假定的攻击模型。好了,在这个模型下,TLS的安全性分析如下:9.1. 认证和密钥交换 的安全性TLS有三种认证模式:双方认证,服务器认证,无认证。只要包含了有服务器端认证,就可以免疫 man-in-the-转载 2021-09-09 09:55:30 · 2098 阅读 · 0 评论 -
TLS协议分析 (五) handshake协议 证书与密钥交换
5.4. handshake — Server Certificate当服务器确定了CipherSuite后,根据CipherSuite里面的认证算法,如果需要发送证书给客户端,那么就发送 Server Certificate消息给客户端。Server Certificate总是在ServerHello之后立即发送,所以在同一个RTT里。Server Certificate里面包含了服务器的证书链。消息结构:opaque ASN.1Cert<1..2^24-1>;struct {转载 2021-09-07 11:17:33 · 1805 阅读 · 0 评论 -
TLS协议分析 (四) handshake协议概览
5. handshake 协议handshake protocol重要而繁琐。TLS 1.3对握手做了大修改,下面先讲TLS 1.2,讲完再介绍一下分析TLS 1.3.5.1.handshake的总体流程handshake protocol用于产生给record protocol使用的SecurityParameters。在handshake中:客户端和服务器端协商TLS协议版本号和一个CipherSuite,认证对端的身份(可选,一般如https是客户端认证服务器端的身份),并且使用密钥转载 2021-09-07 09:43:41 · 2778 阅读 · 0 评论 -
TLS协议分析 (三) record协议
4. record 协议record协议做应用数据的对称加密传输,占据一个TLS连接的绝大多数流量,因此,先看看record协议图片来自网络:Record 协议 — 从应用层接受数据,并且做:分片,逆向是重组生成序列号,为每个数据块生成唯一编号,防止被重放或被重排序压缩,可选步骤,使用握手协议协商出的压缩算法做压缩加密,使用握手协议协商出来的key做加密/解密算HMAC,对数据计算HMAC,并且验证收到的数据包的HMAC正确性发给tcp/ip,把数据发送给 TCP/IP 做传输(或其它转载 2021-09-07 09:41:36 · 1358 阅读 · 1 评论 -
TLS协议分析 (二) 架构总览
二. TLS协议的原理1. 自顶向下,分层抽象构建软件的常用方式是分层,把问题域抽象为多层,每一层的概念定义为一组原语,上一层利用下一层的组件构造实现,并被上一层使用,层层叠叠即成软件。例如在编程语言领域中,汇编语言为一层,在汇编上面是C/C++等静态编译语言,C/C++之上是python/php/lua等动态类型脚本语言层,之上常常还会构造领域特定的DSL在网络架构中,以太网是一层,其上是ip协议的网络层,ip之上是tcp等传输层,tcp之上是http等应用层密码学通信协议也是分层构造得到。转载 2021-09-06 17:14:43 · 1369 阅读 · 0 评论 -
TLS协议分析 (一) 设计目标及历史
最近发现密码学很有意思,刚好还和工作有点关系,就研究了一下,本文是其中一部分笔记和一些思考。密码学理论艰深,概念繁多,本人知识水平有限,错误难免,如果您发现错误,请务必指出,非常感谢!本文目标:学习鉴赏TLS协议的设计,透彻理解原理和重点细节跟进一下密码学应用领域的历史和进展整理现代加密通信协议设计的一般思路本文有门槛,读者需要对现代密码学有清晰而系统的理解,本文最后的参考文献里有一些很不错的学习资料。目录 :TLS协议分析 与 现代加密通信协议设计一 . TLS协议的设计目标:1.转载 2021-09-06 15:29:19 · 432 阅读 · 0 评论