openswan专栏序言

“一杯茶,一包烟,一个bug解一天!!!”。

​ 2020年春季,正值新冠病毒在全球肆虐之际,美国的疫情已经相当的严峻,每天仍以3万速度狂奔。而国内的疫情在全国人民的共同努力下已经逐渐减弱,并趋于正常,人们的工作、生活逐步步入正轨。在这里由衷的希望全球人们早日度过难关,开始新的征程。

​ 首先需要说明openswan的起源。 现在网络已经基本实现了互联互通,但是通讯面临着很大的挑战:不安全,容易被攻击、窃听。比如几年前的棱镜门事件。而为了实现安全网络通讯,出现了各种各样的加密手段:网络层加密、传输层加密、套接字层加密等等。而IPsec便是网络层加密的一个杰出的代表,IPsec的开源实现包括最初的freeswan, 以及之后的再次基础上开发的openswan和strongswan工程。我们这里主要通过openswan来学习IPsec功能。

​ 今天特别的在CSDN开通一个openswan源码专栏,主要用来分享个人在学习openswan源码的过程中的心得和体会,将用到的知识和技术分享出来,同时也提供一个平台供大家交流学习。开通这个专栏的目的主要是由于:在学习的过程中,找到的可用资料很少,基本只能去查询RFC文档、分析源码,这样固然让我们印象更加深刻,但是会浪费很多的时间。尽管如此,也可能找不到合适的资料或者结论,因此为了节省宝贵的时间,特将个人的学习历程、获得的资料、用到的知识和技术信息、等等各种信息全部以博客的方式分享。同时也会将笔记、流程图、思维导图等信息整理为文档,后期如果需要则可提交至网盘,并在博客里附上相应的链接。

​ 由于openswan的源码代码量比较多,且涉及到的知识也很广,比如加解密算法、IKE协商、PKI公钥设施等,因为它的最终目的是安全,而不是创建隧道访问内网,因此涉及到很多的算法,这部分导致了IPsec学习起来很费力、枯燥。个人没有这部分算法的任何基础,因此对算法的介绍会放到其他工作之后。在接下来的多半年时间里(2020年5月~2021年初),我会尽自己最大的努力来学习openswan源码。计划是每周做一篇博客用来记录这一周时间内的学习心得和技术,同时也会将注释后的代码进行分享。希望通过自己的努力和付出,为其他人节省更多的时间来学习其他的知识和技术。同时其他人也可以将自己的疑问、见解、相关技术分享出来供大家学习和讨论,增进理解。

​ 结语:决定一个人成就的,不是天分,也不是运气,而是坚持和付出,是不停的做,重复的做,用心的做。如果没有阳光,我们要学会享受风雨的清凉;如果没有鲜花,我们要学会享受泥土的芬芳;记住每天鼓励自己,越努力,越勤奋,越幸运,越感恩,越幸福。

openswan专栏序言的更多相关文章

  1. openswan IPSec专栏目录锦集

    为了方便查阅现有的文章,特准备一个目录页供后续查询使用 专栏序言 1. 基础知识 openswan任务调度基础知识之信号 2. openswan环境搭建 openswan框架和编译时说明 opensw ...

  2. 原来你是这样的http2......

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由mariolu发表于云+社区专栏 序言 目前HTTP/2.0(简称h2)已经在广泛使用(截止2018年8月根据Alexa流行度排名的头 ...

  3. 我是怎么一步步用go找出压测性能瓶颈

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由mariolu 发表于云+社区专栏 序言: ​ 笔者要在线上服务器load日志并且重放来测一些机器性能指标.模拟机器资源比较少,相对的 ...

  4. openswan协商流程之(七):main_inR3

    主模式第六包(收包):main_inR3 1. 序言 main_inR3()函数是ISAKMP协商过程中第一阶段的最后一个报文的接收处理函数,它的作用同main_inI3_outR3()部分功能相同: ...

  5. openswan协商流程之(一):main_outI1()

    主模式第一包:main_outI1() 1. 序言 main_outI1()作为主模式主动发起连接请求的核心处理函数,我们可以通过学习该函数的处理流程来探究openswan中报文封装的基本思想.如果之 ...

  6. [OpenGL超级宝典]专栏前言

    我小时候的梦想呢,是做宇航员或者科学家或者是做一款属于自己的游戏,后来前面两个梦想都没有实现,于是我就来实现我的第三个梦想了,,,我呢,也算是零基础,因为我的专业是物联网工程,这个专业覆盖面之广,简直 ...

  7. [3D数学基础:图形与游戏开发]专栏前言

    期待的书终于到了,接下来我会把自己的学习笔记以及心得整理出来,形成专栏,每一章都进行记录和学习总结,今天是2016年12月30日,再过一天就是元旦了,就要迎来美好的2017年了!!!加油~ 上面的书就 ...

  8. 通过openswan基于Azure平台搭建VPN server

    用过Azure的读者都知道,Vnet一直是Azure比较自豪的地方,尤其是VPN,Azure提供了两种VPN以及专线来保证客户数据的安全性,S2S vpn(站点到站点的,基于IPsec的),P2S v ...

  9. 跟vczh看实例学编译原理——零:序言

    在<如何设计一门语言>里面,我讲了一些语言方面的东西,还有痛快的喷了一些XX粉什么的.不过单纯讲这个也是很无聊的,所以我开了这个<跟vczh看实例学编译原理>系列,意在科普一些 ...

随机推荐

  1. Spring Boot从入门到精通(十一)集成Swagger框架,实现自动生成接口文档

    Swagger是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.Swagger 是一组开源项目,其中主要要项目如下: Swagger-tools:提供各种与S ...

  2. SpringBoot系列——动态定时任务

    前言 定时器是我们项目中经常会用到的,SpringBoot使用@Scheduled注解可以快速启用一个简单的定时器(详情请看我们之前的博客<SpringBoot系列--定时器>),然而这种 ...

  3. 庆FastGithub加入.NET Core Community

    .NET Core Community .NET Core Community是一个基于并围绕着 .NET 技术栈展开组织和活动的非官方.非盈利性的民间开源社区,提供了很多优秀的 .NET 开源项目. ...

  4. 得到、微信、美团、爱奇艺APP组件化架构实践

    一.背景 随着项目逐渐扩展,业务功能越来越多,代码量越来越多,开发人员数量也越来越多.此过程中,你是否有过以下烦恼? 项目模块多且复杂,编译一次要5分钟甚至10分钟?太慢不能忍? 改了一行代码 或只调 ...

  5. jdbc如何注册数据库驱动Driver的?

    1. 先看看原生jdbc执行sql的步骤 // 在程序启动的时候需要注册一次mysql驱动,必须引入 mysql-connnector-java 的包 Class.forName("com. ...

  6. 字符串对比 BASIC-15

    字符串对比 代码 import java.util.Scanner; /*给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等 ...

  7. Kong网关安装之Docker版(1)

    前言: Kong 是天生的微服务网关.她的官方简介是:Kong 是一个云原生,高效,可扩展的分布式 API 网关. 自 2015 年在 github 开源后,广泛受到关注,目前已收获 1.9w+ 的 ...

  8. 流动的观察者模式 | Flutter 设计模式

    观察者模式,又称发布订阅模式,是一种行为设计模式--你可以定义一种订阅机制,可在对象事件发生时通知多个 观察 该对象的其他对象. 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主 ...

  9. Pytest-Allure报告的Logo的完美定制

    --本次需求:如何把生成的pytest-allure报告的logo修改成自定义的logo? --步骤如下: --1.找到本地电脑安装的allure-2.13.2路径E:\allure-2.13.2\p ...

  10. 天翼云安装jdk(注意有坑)

    1.下载jdk8 查看Linux位数,到oracle官网下载对应的jdk ① sudo uname --m  确认32位还是64位 ② https://www.oracle.com/technetwo ...