OSI模型与IP协议

OSI Model OSI 七层网络模型如下(由下到上): 应用层 Application layer :直接接触用户数据的层。软件应用程序依靠应用层发起通信。这里的应用值得是协议而不是客户端软件;应用层协议包括 HTTP, SMTP, FTP, DNS,Telnet, etc.. 表示层 Presentation layer:表示层充当角色为网络数据转换器,负责完成数据转换,加密和压缩 会话层 Session layer:负责建立、管理和终止两个设备之间的通信 传输层 Transport layer:负责两个设备间的端到端通信。包括从会话层提取数据,将数据分解为多个区块(称为数据段);传输层协议包括,TCP, UDP 网络层 Network layer:负责管理网络地址,定位设备,决定路由,通俗来讲是负责*“不同”*网络之间的传输,也就是路由功能;网络层协议包括 IP,ARP,ICMP;代表设备 3 layer swtich, router, firewall。相应就代表对应网络协议也是三层的,如RIP, OSPF, BGP 数据链路层 Data link layer:数据链路层负责*“同一”*网络上设备之间的数据传输;该层协议包括 Ethernet, PPP(Point-to-Point Protocol);代表设备 Switch,Bridges,同样的MAC地址也是该层的 物理层 Physical layer:该层表示参与数据传输的物理设备,如网线,同时还负责将数据转换为位流,也就是由 1 和 0 构成的字符串。 图:OSI七层模型 Source:https://www.cloudflare.com/zh-cn/learning/ddos/glossary/open-systems-interconnection-model-osi/ MAC MAC地址介绍 MAC (Media Access Control) 地址用来定义网络设备的位置,由48比特长,12位的16进制组成,其中从左到右,0-23bit为厂商想IETF等机构申请用来标识厂商的代码OUI Organizationally-Unique Identifier,24-47bit由厂商自行分配,是厂商制造所有网卡的唯一编号。如00-50-56-C0-00-08 MAC地址类型 MAC地址分为三种类型: 物理MAC地址:Mac地址唯一的标识了以太网的一个终端,该地址为全球唯一的硬件地址。 广播(broadcast) MAC地址:每个比特都是 1 的 MAC 地址。广播 MAC 地址是组播 MAC 地址的一个特例。11111111-11111111-11111111-11111111-11111111-11111111 16进制表示为 FF-FF-FF-FF-FF-FF。 组播(multicast) MAC地址:第一个字节的最低位是 1 的 MAC 地址。二进制表示为 xxxxxxx1-xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx ;16进制表示为01-00-00-00-00-00。如 a5-a9-a6-aa-5a-a6 这个mac地址的第一个字节的最低位 16进制a5 转换为二进制为10100101 最后一位为1就是组播MAC地址。 单播 (unicast) MAC 地址:第一个字节的最低位是 0 的 MAC 地址 xxxxxxx0-xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx。 静态MAC地址 由用户通过命令配置的静态转发的MAC地址,静态MAC地址和动态MAC地址的功能不同,静态地址一旦被加入,该地址在删除之前将一直有效,不受最大老化时间的限制...

 ·  · 

源码分析client-go架构 - queue

通用队列 在kubernetes中,使用go的channel无法满足kubernetes的应用场景,如延迟、限速等;在kubernetes中存在三种队列通用队列 common queue ,延迟队列 delaying queue,和限速队列 rate limiters queue Inferface Interface作为所有队列的一个抽象定义 go 1 2 3 4 5 6 7 8 type Interface interface { Add(item interface{}) Len() int Get() (item interface{}, shutdown bool) Done(item interface{}) ShutDown() ShuttingDown() bool } Implementation go 1 2 3 4 5 6 7 8 9 10 11 12 13 type Type struct { // 一个work queue queue []t // queue用slice做存储 dirty set // 脏位,定义了需要处理的元素,类似于操作系统,表示已修改但为写入 processing set // 当前正在处理的元素集合 cond *sync....

 ·  · 

朴素贝叶斯算法

什么是naive bayes 朴素贝叶斯 naive bayes,是一种概率类的机器学习算法,主要用于解决分类问题 为什么被称为朴素贝叶斯? 为什么被称为朴素,难道仅仅是因为贝叶斯很天真吗?实际上是因为,朴素贝叶斯会假设数据属性之间具有很强的的独立性。即该模型中的所有属性彼此之间都是独立的,改变一个属性的值,不会直接影响或改变算法中其他的属性的值 贝叶斯定理 了解朴素贝叶斯之前,需要掌握一些概念才可继续 条件概率 Conditional probability:在另一个事件已经发生的情况下,另外一个时间发生的概率。如,==在多云天气,下雨的概率是多少?== 这是一个条件概率 联合概率 Joint Probability:计算两个或多个事件同时发生的可能性 边界概率 Marginal Probability:事件发生的概率,与另一个变量的结果无关 比例 Proportionality 贝叶斯定理 Bayes' Theorem:概率的公式;贝叶斯定律是指根据可能与事件的先验概率描述了事件的后验概率 边界概率 边界概率是指事件发生的概率,可以认为是无条件概率。不以另一个事件为条件;用公式表示为 $P(X)$ 如:抽到的牌是红色的概率是 $P(red) = 0.5$ ; 联合概率 联合概率是指两个事件在同一时间点发生的可能性,公式可以表示为 $P(A \cap B)$ A 和 B 是两个不同的事件相同相交,$P(A \and B)$ $P(A,B)$ = A 和 B 的联合概率 概率用于处理事件或现象发生的可能性。它被量化为介于 0 和 1 之间的数字,其中 0 表示不可能发生的机会,1 表示事件的一定结果。 如,从一副牌中抽到一张红牌的概率是 $\frac{1}{2}$。这意味着抽到红色和抽到黑色的概率相同;因为一副牌中有52张牌,其中 26 张是红色的,26 张是黑色的,所以抽到一张红牌与抽到一张黑牌的概率是 50%。 而联合概率是对测量同时发生的两个事件,只能应用于可能同时发生多个情况。例如,从一副52张牌扑克中,拿起一张既是红色又是6的牌的联合概率是 $P(6\cap red) = \frac{2}{52} = \frac{1}{26}$ ;这个是怎么得到的呢?因为抽到红色的概率为50%,而一副牌中有两个红色6(红桃6,方片6),而6和红色是两个独立的概率,那么计算公式就为:$P(6 \cap red) = P(6) \times P(red) = \frac{4}{52} \times \frac{26}{52} = \frac{1}{26}$...

 ·  · 

逻辑回归

Overview 逻辑回归通常用于分类算法,例如预测某事是 true 还是 false(二元分类)。例如,对电子邮件进行分类,该算法将使用电子邮件中的单词作为特征,并据此预测电子邮件是否为垃圾邮件。用数学来讲就是指,假设因变量是 Y,而自变量集是 X,那么逻辑回归将预测因变量 $P(Y=1)$ 作为自变量集 X 的函数。 逻辑回归性能在线性分类中是最好的,其核心为基于样本属于某个类别的概率。这里的概率必须是连续的并且在 (0, 1) 之间(有界)。它依赖于阈值函数来做出称为 Sigmoid 或 Logistic 函数决定的。 学好逻辑回归,需要了解逻辑回归的概念、优势比 (OR) 、Logit 函数、Sigmoid 函数、 Logistic 函数及交叉熵或Log Loss Prerequisite odds ratio explain odds ratio是预测变量的影响。优势比取决于预测变量是分类变量还是连续变量。 连续预测变量:$OR > 1$ 表示,随着预测变量的增加,事件发生的可能性增加。$OR < 1$ 表示随着预测变量的增加,事件发生的可能性较小。 分类预测变量:事件发生在预测变量的 2 个不同级别的几率;如 A,B,$OR > 1$ 表示事件在 A 级别的可能性更大。$OR<1$ 表示事件更低的可能是在A。 例如,假设 X 是受影响的概率,Y 是不受影响的概率,则 $OR= \frac{X}{Y}$ ,那么 $OR = \frac{P}{(1-P)}$ ,P是事件的概率。 让概率的范围为 [0,1] ,假设 $P(success)=0.8$ ,$Q(failure) = 0.2$ ;$OR$ 则是 成功概率和失败概率的比值,如:$O(success)=\frac{P}{Q} = \frac{0....

 ·  · 

决策树

熵和基尼指数 信息增益 信息增益 information gain 是用于训练决策树的指标。具体来说,是指这些指标衡量拆分的质量。通俗来说是通过根据随机变量的给定值拆分数据集来衡量熵。 通过描述一个事件是否"惊讶",通常低概率事件更令人惊讶,因此具有更大的信息量。而具有相同可能性的事件的概率分布更"惊讶"并且具有更大的熵。 定义:熵 entropy是一组例子中杂质、无序或不确定性的度量。熵控制决策树如何决定拆分数据。它实际上影响了决策树如何绘制边界。 熵 熵的计算公式为:$E=-\sum^i_{i=1}(p_i\times\log_2(p_i))$ ;$P_i$ 是类别 $i$ 的概率。我们来举一个例子来更好地理解熵及其计算。假设有一个由三种颜色组成的数据集,红色、紫色和黄色。如果我们的集合中有一个红色、三个紫色和四个黄色的观测值,我们的方程变为:$E=-(p_r \times \log_2(p_r) + p_p \times \log_2(p_p) + p_y \times \log_2(p_y)$ 其中 $p_r$ 、$p_p$ 和 $p_y$ 分别是选择红色、紫色和黄色的概率。假设 $p_r=\frac{1}{8}$,$p_p=\frac{3}{8}$ ,$p_y=\frac{4}{8}$ 现在等式变为变为: $E=-(\frac{1}{8} \times \log_2(\frac{1}{8}) + \frac{3}{8} \times \log_2(\frac{3}{8}) + \frac{4}{8} \times \log_2(\frac{4}{8}))$ $0.125 \times log_2(0.125) + 0.375 \times log_2(0.375) + 0.5 \times log_2(0.375)$ $0.125 \times -3 + 0.375 \times -1.415 + 0.5 \times -1 = -0.375+-0.425 +-0.5 = 1....

 ·  ·