网络传输

组播(Multicast)传输

五迷三道 提交于 2019-12-26 18:05:30
组播(Multicast)传输: 在发送者和每一接收者之间实现 点对多 点网络连接。 如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包。它提高了数据传送效率。减少了骨干网络出现拥塞的可能性。 单播、组播、广播的差别可以看下图: 单播(unicast): 是指封包在计算机网络的传输中,目的地址为单一目标的一种传输方式。它是现今网络应用最为广泛,通常所使用的网络协议或服务大多采用单播传输,例如一切基于TCP的协议。 组播(multicast): 也叫多播, 多点广播或群播。 指把信息同时传递给一组目的地址。它使用策略是最高效的,因为消息在每条网络链路上只需传递一次,而且只有在链路分叉的时候,消息才会被复制。 广播(broadcast):是指封包在计算机网络中传输时,目的地址为网络中所有设备的一种传输方式。实际上,这里所说的“所有设备”也是限定在一个范围之中,称为“广播域”。 判断网卡是否支持组播 在Linux运行ifconfig, 如果网卡信息中包含UP BROADCAST RUNNING MULTICAST,则支持广播和组播。 参考: http://colobu.com/2014/10/21/udp-and-unicast-multicast-broadcast-anycast 组播IP地址 组播IP地址用于标识一个IP组播组。 IANA(internet

<微服务架构>—RPC入门篇

杀马特。学长 韩版系。学妹 提交于 2019-12-26 16:32:45
概念 RPC(Remote Procedure Call):远程过程调用 ,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想.RPC 是一种技术思想而非一种规范或协议,常见 RPC 技术和框架有: 应用级的服务框架:阿里的 Dubbo/Dubbox、Google gRPC、Spring Boot/Spring Cloud 远程通信协议:RMI、Socket、SOAP(HTTP XML)、REST(HTTP JSON) 通信框架:MINA 和 Netty 目前流行的开源 RPC 框架还是比较多的,有阿里巴巴的 Dubbo、Facebook 的 Thrift、Google 的 gRPC、Twitter 的 Finagle 等。 gRPC:是 Google 公布的开源软件,基于HTTP 2.0的协议,并支持常见的众多编程语言。RPC 框架是基于 HTTP 协议实现的,底层使用到了 Netty 框架的支持。 Thrift:是 Facebook 的开源 RPC 框架,主要是一个跨语言的服务开发框架。 用户只要在其之上进行二次开发就行,应用对于底层的 RPC 通讯等都是透明的。不过这个对于用户来说需要学习特定领域语言这个特性,还是有一定成本的。 Dubbo:是阿里集团开源的一个极为出名的 RPC 框架,在很多互联网公司和企业应用中广泛使用

C#实现网络传输数据加密

杀马特。学长 韩版系。学妹 提交于 2019-12-25 22:18:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1. 分组密码 分组密码是将明文消息编码表示后数字序列划分成长为n的分组,各组分别在密钥的作用下进行变换输出等长的数字序列,即密文。一次加密一个数据组,加解密所使用的是同一密钥,故其通常也称为对称加密。分组长n各种不同的对称加密算法取值不同(DES和TripleDES为64位,AES默认为128位,也可以为192位和256位),在对明文消息进行分组时如果最后个分组小于n,则要进行数据填充,使分组长达到n才能进行后续的加密处理。.net平台提供的加密类都很好的处理了上述问题,所以在用C#语言进行实际编码能很简便的完成加解密操作。 Rijndael算法作为AES的一种,已经取代TripleDES(三重DES)成为新的数据加密标准。其分组长度及密钥长度都可变,且比DES算法都要长,使其也具有了更高的安全性。本文的示例程序采用的就是Rijndael算法。 2. 运行模式 分组密码在加密时,明文分组的长度是固定,而实用中待加密消息的数据量是不定的,相邻的两个分组加解密时是否相关,就产生了不同的运行模式。下面主要介绍两种常用的 分组密码运行模式 1. ECB模式 ECB模式是最简单的运行模式,各个分组使用相同的密钥进行加密,如图1所示。 图1. ECB模式示意图 当密钥取定时,对明文的每一个分组,都有一个唯一的密文与之对应

图解TCPIP-OSI7层网络模型

假装没事ソ 提交于 2019-12-23 02:13:35
OSI(Open System Interconnect) 应用层: HTTP 表示层: 转换应用处理信息和网络传输信息. 网络传入对比特流解释不同,所以一般使用base64转码 会话层: 建立和断开通信连接 socket的listen(),accept(),connect() 传输层: TCP/UDP协议 网络层: IP地址协议 数据链路层: 将0/1序列划分为有意义的数据帧,传送 物理层 1.计算机以二进制0/1表示信息 2.传输媒介用电压的高低/光闪灭/电波的强弱表示 3.物理层就是将二者进行转换 参考: <图解TCP IP> 来源: CSDN 作者: Claroja 链接: https://blog.csdn.net/claroja/article/details/103508488

Python中的udp网络传输基础代码

こ雲淡風輕ζ 提交于 2019-12-22 14:15:46
与tcp相对应的另一种网络传输: 客户端代码: """ udp_client.py udp客户端流程 """ from socket import * # 服务端地址 ADDR = ( '127.0.0.1' , 8888 ) # 创建udp套接字 sockfd = socket ( AF_INET , SOCK_DGRAM ) # 循环发送消息 while True : data = input ( "Msg>>" ) if not data : # 遇到输入为空就结束循环 break # 向服务器发送 sockfd . sendto ( data . encode ( ) , ADDR ) # 没有connect,而是在sendto时,使用ADDR msg , addr = sockfd . recvfrom ( 1024 ) # 接收消息,记得写上消息缓冲区大小 print ( "From Server:" , msg . decode ( ) ) # 打印时记得转换成字符串 sockfd . close ( ) # 关闭套接字 服务端代码: """ udp_server.py udp服务端流程 重点代码 """ from socket import * # 创建udp套接字 sockfd = socket ( AF_INET , SOCK_DGRAM ) # 绑定地址

NGN学习笔记2——软交换技术

陌路散爱 提交于 2019-12-21 23:22:43
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1.产生背景 a)交换技术是为了减少线路投资而采用的一种传递信息的方法,有两种主要的交换模式:电路交换和分组交换 电路交换:人工交换Æ半自动交换Æ自动交换Æ程控模拟空分交换Æ程控数字时分交换 特点: 实时的交换方式,具有固定/专用的通信信道 通信分三步:电路建立、数据传递、电路释放 数据信息透明传送 优点:时延小且确定、通信质量有保证、控制简单 缺点: 需要呼叫建立时间 每个连接带宽固定(不能适应不同速率的业务) 资源利用率低(不传信息时也占用资源,不适合突 发业务) 分组交换:X.25Æ帧中继ÆATM、IPÆMPLS 特点:存储转发交换方式 优点 带宽可变、灵活 统计复用,资源利用率高 可提供速率变换 无阻塞(业务量大时时延长) 可提供优先机制(动态) 缺点 网络功能复杂 语音业务传输时延大,QoS难以保证 两种技术形式 虚电路 面向连接(连接建立/拆除、数据传送、差错控制) 与一次通信有关的全部分组沿着相同的物理通路传送 数据传送期间路由固定 时延小、控制简单、不需排序,线路利用率低 数据报 无连接方式,不建立连接 网络对每个数据报进行选路 通信期间路由可变 灵活、线路利用率高 时延大、控制复杂、需排序 b)未来业务的需求:人们希望IP网能传送数据、语音及更多更新的业务,要求产生业务提供与网络控制

计算机网络第七版谢希仁知识点总结

て烟熏妆下的殇ゞ 提交于 2019-12-21 14:17:54
1.专有名词: 互联网服务提供商ISP(Interest Service Provider) 互联网交换点 IXP (Internet eXchange Point) 广域网WAN(Wide Area Network) 城域网MAN(Metropolitan Area Network) 局域网LAN(Local Area Network) 个人区域网PAN(Personal Area Network) 传输控制协议TCP(Transmission Control Protocol) 用户数据报协议UDP(User Datagram Protocol) 协议数据单元PDU(Protocol Data Unit) 点对点协议PPP(Point-to-Point Protocol) 网络控制协议NCP(Network Control Protocol) 链路控制协议LCP(Link Control Protocol) 逻辑链路控制LLC(Logical Link Control) 媒体接入控制MAC(Media Access Control) CSMA/CD协议(Carrier Sense Multiple Access with Collision Detection) 循环冗余校验CRC(Cyclic Redundancy Check ) 帧校验序列FCS(Frame Check

计算机网络补充习题

你说的曾经没有我的故事 提交于 2019-12-21 06:21:29
简述PPP协议中口令鉴别协议PAP和挑战握手鉴别协议CHAP协议的工作过程,可以用流程图表示 答: PAP(Password Authentication Protocol,口令鉴定协议)是一种两次握手验证协议,它在网络上采用明文方式传输用户名和口令。PAP验证的过程如下: 被验证方主动发起验证请求,将本端的用户名和口令发送到验证方; 验证方接到被验证方的验证请求后,检查此用户名是否存在以及口令是否正确。 如果此用户名存在且口令正确,验证方返回Acknowledge响应,表示验证通过; 如果此用户名不存在或口令错误。验证方返回Not Acknowledge响应,表示验证不通过。 PAP: CHAP(Challenge Handshake Authentication Protocol,质询握手鉴定协议)是一种三次握手验证协议,它只在网络上传输用户名,而用户口令并不在网络上传播。CHAP验证过程如下: 验证方主动发起验证请求,向被验证方发送一些随机产生的报文,并同时将本端配置的用户名附带上一起发送给被验证方; 被验证方接到验证方的验证请求后,根据此报文中的用户名在本端的用户表中查找用户口令。 如找到用户表中与验证方用户名相同的用户,便利用报文ID和此用户的口令以MD5算法生成应答,随后将应答和自己的用户名送回; 验证方接收到此应答后,利用报文ID

Python Day30:网络编程/OSI模型

核能气质少年 提交于 2019-12-21 05:12:34
## 网络编程 ```python 网络编程就是编写基于网络的应用程序 CS结构: 客户端应用程序client(访问数据端) 服务端应用程序:server(提供共享数据端) 学习网络编程,目的就是编写基于C/S结构的应用程序 网络通讯的两个条件: 1,物理传输介质:双绞线/光纤/同轴线/无线电波 2,通讯协议 通讯协议:发送方和接受方共同遵守的一套规则,为了能正确解析数据 OSI七层模型:计算机界的通用语言 物理层———数据链路层———网络层————传输层————会话层————表示层————应用层 会话层、表示层、应用层,都是属于应用程序层的。 物理层:各种物理介质 ``` ## OSI模型之数据链路层 ```python 数据链路层:规定了代表0和1的电信号的分组方式以及一组电信号应该包含哪些内容。以太网协议工作在链路层! 一组电信号构成一个数据包,帧! 每一帧分成报头head0和数据data两部分 head包含(18个字节): 发送源地址Mac:6个字节 接受源地址Mac:6个字节 数据类型(标签+以太类型)6个字节 data包含:46——1500个字节 head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送 ethernet规定接入internet的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址 mac地址

RPC框架的理解-------转载

℡╲_俬逩灬. 提交于 2019-12-21 04:34:56
RPC(Remote Procedure Call):远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想。 RPC 是一种技术思想而非一种规范或协议,常见 RPC 技术和框架有: 应用级的服务框架:阿里的 Dubbo/Dubbox、Google gRPC、Spring Boot/Spring Cloud。 远程通信协议:RMI、Socket、SOAP(HTTP XML)、REST(HTTP JSON)。 通信框架:MINA 和 Netty。 目前流行的开源 RPC 框架还是比较多的,有阿里巴巴的 Dubbo、Facebook 的 Thrift、Google 的 gRPC、Twitter 的 Finagle 等。 下面重点介绍三种: gRPC:是 Google 公布的开源软件,基于最新的 HTTP 2.0 协议,并支持常见的众多编程语言。RPC 框架是基于 HTTP 协议实现的,底层使用到了 Netty 框架的支持。 Thrift:是 Facebook 的开源 RPC 框架,主要是一个跨语言的服务开发框架。 用户只要在其之上进行二次开发就行,应用对于底层的 RPC 通讯等都是透明的。不过这个对于用户来说需要学习特定领域语言这个特性,还是有一定成本的。 Dubbo:是阿里集团开源的一个极为出名的 RPC 框架,在很多互联网公司和企业应用中广泛使用