网络类型

如何设计一个RPC系统

北城余情 提交于 2020-03-02 16:37:37
版权声明:本文由韩伟原创文章,转载请注明出处: 文章原文链接: https://www.qcloud.com/community/article/162 来源:腾云阁 https://www.qcloud.com/community RPC是一种方便的网络通信编程模型,由于和编程语言的高度结合,大大减少了处理网络数据的复杂度,让代码可读性也有可观的提高。但是RPC本身的构成却比较复杂,由于受到编程语言、网络模型、使用习惯的约束,有大量的妥协和取舍之处。本文就是通过分析几种流行的RPC实现案例,提供大家在设计RPC系统时的参考。 由于RPC底层的网络开发一般和具体使用环境有关,而编程实现手段也非常多样化,但不影响使用者,因此本文基本涉及如何实现一个RPC系统。 认识RPC(远程调用) 我们在各种操作系统、编程语言生态圈中,多少都会接触过“远程调用”的概念。一般来说,他们指的是用简单的一行代码,通过网络调用另外一个计算机上的某段程序。比如: RMI——Remote Method Invoke:调用远程的方法。“方法”一般是附属于某个对象上的,所以通常RMI指对在远程的计算机上的某个对象,进行其方法函数的调用。 RPC——Remote Procedure Call:远程过程调用。指的是对网络上另外一个计算机上的,某段特定的函数代码的调用。 远程调用本身是网络通信的一种概念

[Android] AsyncTask详解

吃可爱长大的小学妹 提交于 2020-03-01 10:42:51
本篇随笔将讲解一下Android的多线程的知识,以及如何通过AsyncTask机制来实现线程之间的通信。 一、Android当中的多线程 在Android当中,当一个应用程序的组件启动的时候,并且没有其他的应用程序组件在运行时,Android系统就会为该应用程序组件开辟一个新 的线程来执行。默认的情况下,在一个相同Android应用程序当中,其里面的组件都是运行在同一个线程里面的,这个线程我们称之为Main线程。当我们 通过某个组件来启动另一个组件的时候,这个时候默认都是在同一个线程当中完成的。当然,我们可以自己来管理我们的Android应用的线程,我们可以根据 我们自己的需要来给应用程序创建额外的线程。 二、Main Thread 和 Worker Thread 在Android当中,通常将线程分为两种,一种叫做Main Thread,除了Main Thread之外的线程都可称为Worker Thread。 当一个应用程序运行的时候,Android操作系统就会给该应用程序启动一个线程,这个线程就是我们的Main Thread,这个线程非常的重要,它主要用来加载我们的UI界面,完成系统和我们用户之间的交互,并将交互后的结果又展示给我们用户,所以Main Thread又被称为UI Thread。 Android系统默认不会给我们的应用程序组件创建一个额外的线程

IPV6安全计划

给你一囗甜甜゛ 提交于 2020-03-01 00:31:09
第6章IPV6安全计划 如果计划在你的网络中引进一个新的网络层协议,必然会引起安全团队的重视。事实上,在你的网络中可能早已拥有了一些试图连接网络资源的IPv6寻址设备。因此,作为引进IPv6计划的重要组成部分,更新你的安全策略就非常关健了。本章主要从安全的视角来探讨IPv4和IPv6之间的差异,并突出了在更新安全策略时需要考虑的一些关键点。 6.1好消息:IP依然是IP 如同IPv4,IP6是属于OSl七层协议族中的一种网络层协议)。在一个 IPv4的网络中使用IPv6并不会对网络层的上层或下层有潜在的安全影响。IPv6本身并不比IP4更安全或更不安全,但它与IPv4不同,必须从安全的角度加以 考虑。因此,没有新的应用层、传输层、链路层或物理层漏洞被引入,也没有被消除。一般来说,以下的***类型应该继续包含在您的安全策略中: 物理安全性和访问。 未经授权的网络访问许可:通过第二层(如可扩展身份验证协议(Exensible Authentication Protocol, EAP), Radius/Diameter协议)或者第三层(DHCP或者 Spoofing) 应用层,传输层,链路层或物理层***。 中间人*** 操作系统漏洞和***。 流量嗅探。 拒绝服务 ( Denial of Service,DOS)和分布式拒绝服务 (Distributed DOS,DDOS)。

Openstack管理

自作多情 提交于 2020-02-15 02:23:25
所有的管理可以通过访问dashboard进行,这里只列出命令行管理方法 1)项目管理 项目:一组隔离的资源和对象。由一组关联的用户进行管理 在旧版本里,也用租户(tenant)来表示 根据配置的需求,项目对应一个组织、一个公司或是一个使用客户等 项目中可以有多个用户,项目中的用户可以在该项目创建、管理虚拟资源 具有 admin角色的用户可以创建项目 项目相关信息保存到 MariaDB中 默认情况下,packstack安装的openstack有两个独立的项目 admin:为admin账户创建的项目 services:与安装的各个服务相关联 创建名为myproject项目 [ root@openstack ~ ( keystone_admin ) ] openstack project create myproject 列出所有项目 [ root@openstack ~ ( keystone_admin ) ] openstack project list 查看myproject详细信息 [ root@openstack ~ ( keystone_admin ) ] openstack project show myproject 禁用与激活项目 [ root@openstack ~ ( keystone_admin ) ] openstack project set -

使用 异步多线程TCP Socket 实现进程间通信(VC 6.0 , BCB6.0调试通过)

为君一笑 提交于 2020-02-14 23:57:08
进程间通信有很多种方式,比如说 Pipe,共享内存,DDE,Socket等,关于进程通信方面的知识我在这里就不讨论了,大家可以看我博客里的另一些文章有讲...今天我们主要讨论怎么样使用Socket实现进程间通信。 本程序将使用Socket 的WSAEventSelect异步方式,使用多线程,建立一个服务器类,使用此类的时候只需要将处理数据的函数指针传给该类,进行数据处理,本例中,服务器将启动一个客户端进程,让客户端像服务器发送数据,然后服务端收到数据后将数据打印出来进!从而达到进程通信的目的,当然,如果想进行数据的特殊处理的话,只需要改写处理函就行了,因为,服务器类只是接收函数指针。 本类在C++ builder 6.0 和 VC 6.0调试通过....不过大家注意看程序注释,不同的编译器使用需要修改一点地方,程序注释说的很清楚,我就不在这里介绍了(注意BCB中包含的头文件位置,本类的头文件一定要放在最上面,因为winsock2.h的冲突问题,有关这个问题,有兴趣的朋友自己上网搜,因为时间有限,一篇文章不可能写太多的内容,请大家谅解) 下面我们先来了解一下 Socket 的异步方式 ! (程序源码示例请翻到文章尾下载) 首先,Wi ndows套接字在两种模式下执行I / O操作:锁定和非锁定。 在锁定模式下,在I / O操作完成前,执行操作的Wi nsock函数

网络类型PAN、LAN、WLAN、CAN、MAN、WAN简单介绍

微笑、不失礼 提交于 2020-02-10 11:05:40
PAN:personal area network 个人区域网络 无线连接:蓝牙,红外,NFC 有线连接:USB电缆 常用于传输小文件、如音乐、照片、日历、约定等 LAN:local area network 局域网 由一组设备组成,如计算机、服务器、交换机、打印机等 最常见的局域网类型是以太网,两台或多台计算机通过电缆连接到以太网交换机上 WLAN:wireless local area network无线局域网 使用无线通信代替有线通信 无线局域网的定义是至少有两个设备使用无线通信来形成局域网 无线局域网通常具有一个Wi-Fi路由器或一个用于无线设备的无线接入点,无线设备包括笔记本电脑、平板电脑、无线桌面电脑以及智能手机 简单地说,无线局域网是局域网的一种,但不使用电缆 CAN:campus area network校园区域网络 一个校园区域网络是在有限区域内将两个或多个局域网连接在一起的网络 例如,一个校园网络可以是一所大学在相同区域有多个建筑,彼此互联形成的大型网络,这些建筑可以是大学的不同院系,每个建筑所在的部门都有自己的局域网,然后这些建筑被连接起来形成一个校园区域网络 MAN:metropolitan area network 城域网 这是一种比校园网区域网络还大的网络 它是一种横跨一个城市或城镇的多个建筑的网络 城域网通常使用高速连接,例如光缆 城域网是一种高速网络

第一章、TCP协议详解

旧巷老猫 提交于 2020-02-10 07:31:30
TCP/IP协议包含众多协议,本章,我们介绍几个相关协议:ICMP协议,ARP协议,DNS协议,学习他们对于理解网络通信很有帮助。 一、TCP/IP协议族体系结构以及主要协议: TCP/IP协议从下到上分四层:数据链路层,网络层,传输层,应用层。 应用层  ping  OSPF  DNS  用户空间 传输层    TCP         UDP 网络层  ICMP       IP   内核空间 数据链路层    ARP  data-link RARP 1、(1)数据链路层:实现了网卡接口的网络驱动程序,以处理数据在物理媒介(以太网,令牌环网)上的传输。 (2)俩个常用的协议:ARP(地址解析协议),RARP:他们实现了IP地址和机器物理地址(MAC)之间的相互转换。 (3)网络层必须使用IP地址来寻找一台机器,而数据链路层使用MAC寻找一台机器,因此网络层必须使用ARP将IP地址转换为物理地址,才能使用数据链路层提供的服务,这就是ARP协议的用途。 2、(1)网络层:网络层实现数据包的选路和转发。WAN通常使用众多的路由器来连接分散的主机或LAN,因此,通信的俩台主机一般不是直接相连的,而是通过多个中间节点(路由器)连接的。网络层的作用就是选择这些中间节点,确定主机之间的路径。网络层隐藏了上层协议网络拓扑的连接的细节,使得在传输层和网络应用程序看来,通信的双方是直接相连的。 (2

TCP/IP

旧城冷巷雨未停 提交于 2020-02-09 09:45:23
课时一 一、计算机网络协议 负责在网络上建立通信通道和控制通过通道信息的规则 协议依赖于网络体系结构,由硬件和软件共同实现 二、计算机网络协议的组成 语意:信息的含义 语法:如何表征信息 定时:确定通信速度的匹配和时序 三、开放系统互联基本参考模型OSI 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 四、网络协议的概念 网络协议:计算机网络和分布系统中互相通信的对等实体之间交换信息时必须遵守的规则的集合 网络体系结构:指通信系统的整体的一个设计方法,也是计算机之间相互通信的层次、以及各层中的协议和层次之间的接口的集合,它为网络硬件、软件、协议、 存取控制和网络拓扑提供标准 SNA:IBM公司独立开发的适合于自己公司的网络体系结构 System Network Architecture DNA:DEC公司独立开发的适合于自己的网络体系结构,Data Network Architecture OSI/RM:由ISO(国际标准化组织)统一规定的参考模型,Open Standard Interconnection (开放互联系统参考模型) 课时二 OSI七层参考模型:(逻辑结构) 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 OSI七层参考模型的缺点: OSI实现其来非常复杂,且运行效率低 OSI标准的制定周期太长,因而使得按OSI标准生产的设备无法及时进入市场

IP技术 -- 11 VXLAN之二

蓝咒 提交于 2020-02-09 01:42:40
在数据中心大二层网络技术中有提到,Overlay技术是目前大二层网络最热点的技术,可适用于目前整个数据中心,甚至跨数据中心的大二层组网。 随着数据中心租户规模的越来越大,虚拟机的数量也大幅增加,此时传统二层网路的隔离技术VLAN因其Tag域只有12bit,仅能划分出4096个虚拟二层网络,已经无法满足大二层网络中标识大量用户集的需求,同时,为了使数据中心的资源得到灵活的调配,需要支持虚拟机跨分区,甚至跨数据中心的灵活迁移,这时基于VLAN的传统二层网络很难做到 虚拟机在迁移前后的IP和MAC地址不能改变 。 为了帮助数据中心完成上述挑战,VXLAN(Virtual eXtensible Local Area Network)技术应用而生,是一种在三层网络上构造虚拟化二层网络的技术。 首先,VXLAN引入了类似VLAN ID的用户标识,称为VXLAN Network Identifier(VNI),它由24bit组成,可以构划分出1600万个相互隔离的虚拟二层网络,可以支持大二层网络的用户隔离 其次,VXLAN使用MAC in UDP的封装方式,将虚拟机发出的原始以太报文,完整的封装在VXLAN信息中,在现有承载网络中进行透明传输,到了目的地,通过解封装VXLAN信息,将原始二层报文发给目标虚拟机,从而实现了虚拟机之间的相互通信,这样,虚拟机彻底摆脱了二三层网络的范围限制,可以跨设备

假装网络工程师11——ospf路径选取详解

余生长醉 提交于 2020-02-01 00:06:13
一、背景介绍 提到路由,就一定会涉及选路,ospf与其他路由协议一样,同样存在选路,除了对比cost(metric)值,ospf协议还会对比表项,并且表项的优先级高于cost值,本文详细说明ospf协议的路径选取原则。 二、实验拓扑 本次实验拓扑如上图所示,R2,R3环回接口模拟外部网络,通过import-route导入,每条路径的cost如标注所示 三、ospf选路详解 1.cost值比较 此时将基础配置按照上图配置好,外部路由直接使用import-route direct导入,未设置接口cost值时,此时在R1上看到去往192.168.0.0/24网段的路由如下所示: [R1]display ip routing-table Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Tables: Public Destinations : 11 Routes : 12 Destination/Mask Proto Pre Cost Flags NextHop Interface 12.0.0.0/24 Direct 0 0 D 12.0.0.1 GigabitEthernet