dblank

一个简单的SDN方案

一个简单的SDN方案Author:daiml首先说明下,这个方案是我在现有的知识下加上之前实习时的经历构思出来的一个方案模型,如果有什么建议欢迎私聊我。可能会显得非常Naive。。方案背景为了解决现代网络中的转发控制,实现高实时性高自动化的网络自我管理系统(个人理解TVT),SDN(软件定义网络)的思想很好的可以用于解决这一问题。在将设计好的程序部署到网络节点上,并将网络节点通过中心化的服务...

继续阅读 »

实现一个简单的vpn demo

实现一个简单的vpn demo简单架构图就是这样的,原理是通过拦截本机的数据包,然后发送给转发服务器,转发服务器对数据包做包头的修改,然后发送并接收,最后再发送回客户端。本地通过tun拦截,发送到转发服务器。转发服务器通过SNAT将数据包拦到TUN上,从TUN读取到完整的IP包,进行相应的修改,发送到网络,后面接收因为存在SNAT表,可以从TUN收到完整的数据包,修改抱头,再通过套接字发送回...

继续阅读 »

多线程和多进程

多线程与多进程首先来看一个简单的对比的表区分维度多进程多线程总结数据共享、同步数据共享复杂,需要IPC(进程通信); 数据是分开的,同步较为简单共享进程数据,数据共享简单,但是也是这个导致同步复杂各有优势内存、CPU占用内存多、CPU利用率低占用内存少,CPU利用率高线程优势创建、切换、销毁创建、切换和销毁速度都较慢创建、切换和销毁速度都较快线程优势编程、调试编程简单,调试简单编程复杂、调试...

继续阅读 »

I/O多路复用 epoll 使用细则

epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多,而对于ep...

继续阅读 »

网络基础知识

MAC 与 IP地址发送方使用 ARP(地址解析协议) ,发送方会在整个LAN中发送一个广播,所有LAN中的主机都会收到这个ARP请求,请求中包括目的主机的IP,LAN中主机都会检查这个请求看是否包含自己的IP,如果包含的话,就会响应。响应中包含了IP对应的MAC。VALN 与 trunkVLAN (virtual local areanetwork)是一组与位置无关的逻辑端口。VLAN就相...

继续阅读 »

守护进程的理解

守护进程的概念守护进程(Daemon)是一种能够运行在后台的一种特殊的进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事情。在Linux中,每个系统与用户进行交流的页面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端被称之为这些终端的控制终端,当控制终端被关闭的时候相应的进程都会自动的关闭。但是守护进程却能够突破这种限制,它脱离于终端并且在后腰运行,并且它...

继续阅读 »

[Offer收割]编程练习赛15(部分)

[Offer收割]编程练习赛15题解 (部分)[[Offer收割]编程练习赛15]](http://hihocoder.com/contest/offers15)题目1 : 偶像的条件时间限制:10000ms单点时限:1000ms内存限制:256MB描述小Hi的学校正面临着废校的大危机。面对学校的危机,小Hi同学们决定从ABC三个班中各挑出一名同学成为偶像。 成为偶像团体的条件之一,就是3...

继续阅读 »

leetcode 31-35题解

代码在我的github也有同步31. Next PermutationImplement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.If such arrangement is not possible, it must r...

继续阅读 »

leetcode 26-30题解

代码在我的github也有同步26. Remove Duplicates from Sorted ArrayGiven a sorted array, remove the duplicates in place such that each element appear only once and return the new length.Do not allocate extra sp...

继续阅读 »

[Offer收割]编程练习赛13

[Offer收割]编程练习赛13[[Offer收割]编程练习赛13](http://www.hihocoder.com/contest/offers13)题目1 : 风格不统一如何写程序时间限制:10000ms单点时限:1000ms内存限制:256MB描述小Hi写程序时习惯用蛇形命名法(snake case)为变量起名字,即用下划线将单词连接起来,例如:file_name、 line_num...

继续阅读 »