网络传输

网络7层架构+TCP/IP原理

怎甘沉沦 提交于 2020-03-12 08:23:40
7 层模型主要包括: 1. 物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率 等。它的主要作用是传输比特流(就是由 1、0 转化为电流强弱来进行传输,到达目的地后在转化为 1、0,也就是我们常说的模数转换与数模转换)。这一层的数据叫做比特。 2. 数据链路层:主要将从物理层接收的数据进行 MAC 地址(网卡的地址)的封装与解封装。常把这 一层的数据叫做帧。在这一层工作的设备是交换机,数据通过交换机来传输。 3. 网络层:主要将从下层接收到的数据进行 IP 地址(例 192.168.0.1)的封装与解封装。在这一层工 作的设备是路由器,常把这一层的数据叫做数据包。 4. 传输层:定义了一些传输数据的协议和端口号(WWW 端口 80 等),如:TCP(传输控制协议, 传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议, 与 TCP 特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如 QQ 聊天数据就是通过这 种方式传输的)。 主要是将从下层接收的数据进行分段进行传输,到达目的地址后在进行重组。 常常把这一层数据叫做段。 5. 会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间 发起会话或或者接受会话请求(设备之间需要互相认识可以是 IP 也可以是 MAC 或者是主机名) 6

认识计算机网络

不问归期 提交于 2020-03-11 04:41:15
计算机自诞生伊始,经历了一系列演变与发展。大型通用机计算机、超级计算机、小型机、个人电脑、工作站、便携式电以及现如今的智能手机终端都是这一过程的产物。它们性能逐年增强,价格却逐年下降,机体规模也在逐渐变小。随着计算机的发展,人们不再局限于单机模式,而是将一个个计算机连接在一起,形成一个计算机网络。从而实现信息共享,同事在能在两台物理位置较远的机器之间即时传递消息。计算机网络根据规模可以分为WAN(Wide Area Network,广域网)和LAN(Local Area Network,局域网)。将有业务往来的计算机连在一起便组成了私有网络,将多个私有网络连接一起就成了为公众使用的互联网。随着互联网爆发性地发展与普及,信息网络如同我们身边的空气,触手可及。但是在以前,对一般人来说使用一台计算机都不是那么容易的事情。 计算机与网络大致可以分为7个阶段: 一、20世纪50年代的批处理时代 二、20世纪60年代的分时系统时代 三、20世纪70年代的计算机间通信时代 四、20世纪80年代的计算机网络时代 五、20世纪90年代的互联网普及时代 六、2000年的以互联网为中心的时代 七、2010年的无论何时何地一切皆TCP/IP的网络时代 互联网是由许多独立发展的网络通信技术融合而成。能够使它们之间不断融合并实现统一的正是TCP/IP技术。 那什么是TCP/IP呢? TCP

计算机网络笔记05----分组交换与互联网协议

*爱你&永不变心* 提交于 2020-03-10 02:58:57
在因特网中,每个端系统具有一个称为IP地址的地址。当源主机要向目的端系统发 送一个分组时,源在该分组的首部包含了目的地的IP地址。如同邮政地址那样,该地址具有一种等级结构。当一个分组到达网络中的路由器时,路由器检查该分组的目的地址的一部分,并向一台相邻路由器转发该分组。更特别的是,每台路由器具有一个转发表( forwarding table),用于将目的地址(或目的地址的一部分)映射成为输出链路。当某分组到达一台路由器时,路由器检查该地址,并用这个目的地址搜索其转发表,以发现适当的出链路。路由器则将分组导向该出链路。 电路交换的频分复用(FDM)和时分复用(TDM) : 分组交换与电路交换的对比: 参考 三次握手和四次分手 : 参考 (下面笔记源自 维基百科 ,理解意思即可,不用抠字眼) 丢包 : 当通过计算机网络的一个或多个数据包未能到达目的地时,就会发生数据包丢失。数据包丢失要么是由于数据传输中的错误(通常是通过无线网络)引起的,要么是由于网络拥塞引起的。 传输控制协议(TCP)检测数据包丢失并执行重新传输以确保可靠的消息传递。TCP连接中的数据包丢失也用于避免拥塞。 因特网协议(IP)是根据端到端的原则设计的一种尽力而为的传送服务(Best Effort Service),其目的是保持逻辑路由器必须尽可能简单地实现。每个路由器在等待验证下一个节点是否正确接收数据包时

网络基础知识 - HTTP协议

社会主义新天地 提交于 2020-03-09 17:40:24
这里还有一篇帖子写得很详细,可以拜读一下 https://www.cnblogs.com/ranyonsue/p/5984001.html 前传:HTTP协议的演变过程   HTTP(HyperText Transfer Protocol)协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输HTML页面的内容。默认端口是80。 1.HTTP 0.9版本  1991年   这个版本就是最初用来向客户端传输HTML页面的,所以只有一个GET命令,然后服务器返回客户端一个HTML页面,不能是其他格式。利用这个版本完全可以构建一个简单的静态网站了。 2.HTTP 1.0版本  1996年   1.0版本是改变比较大的,奠定了现在HTTP协议的基础。这个版本的协议不仅可以传输HTML的文本页面,还可以传输其他二进制文件,例如图片、视频。而且还增加了现在常用的POST和HEAD命令。请求消息和响应消息也不是单一的了,规定了一些元数据字段。例如字符集、编码、状态响应码等。 3.HTTP 1.1版本  1997年   实际上是在1.0版本之后半年时间又发布了一个版本,这个版本在1.0版本的基础上更加完善了。这个版本增加了持久连接,就是说之前版本的协议一次请求就是一次TCP连接,请求完成后这个连接就关闭掉了

《iOS简单网络传输》iOS7 CookBook系列

回眸只為那壹抹淺笑 提交于 2020-03-08 14:40:27
如何利用 NSURLConnection 来获得网络资源? 引用书中的话 “ 有使用NSURLConnection的两个方法。一个是异步的,而另一个是同步的。异步连接将创建一个新的线程并执行其下载过程在新线程。一个同步连接将阻塞调用线程且同时下载的内容。 许多开发者认为,一个同步连接阻塞主线程,但是这是不正确的。一个同步连接将始终阻止它被启动的线程。如果你从主线程的启动同步连接,是的,主线程将被阻塞。但是,如果你从一个线程在主线程之外启动同步连接,它会像一个异步连接,它不会阻止你的主线程。 实际上,同步和异步连接之间的唯一区别在于,运行时< runtime >将为异步连接创建一个线程,而它不会对一个同步连接这样做。 ” 异步连接的过程: 为了创建一个异步连接,我们需要做到以下几点:1。在NSString的实例URL 2。我们的字符串转换为NSURL的一个实例。 NSString * urlAsString = @" http://www.apple.com " ; NSURL * url = [ NSURL URLWithString : urlAsString ]; 3.我们可以创建一个异步的URL连接 NSURLRequest * urlRequest = [ NSURLRequest requestWithURL : url ]; 4.创建一个操作队列

spark调优

徘徊边缘 提交于 2020-03-07 19:15:04
1.分配更多的资源     它是性能优化调优的王道,就是增加和分配更多的资源,这对于性能和速度上的提升是显而易见的, 基本上,在一定范围之内,增加资源与性能的提升,是成正比的;写完了一个复杂的spark作业之后,进行性能调 优的时候,   首先第一步,就是要来调节优的资源配置;在这个基础之上,如果说你的spark作业,能够分配的资源达到 了你的能力范围的顶端之后,无法再分配更多的资源了,公司资源有限;那么才是考虑去做后面的这些性能调优的点。 2.参数调节到多大才算大      第一种情况:standalone模式 先计算出公司spark集群上的所有资源 每台节点的内存大小和cpu核数, 比如:一共有20台worker节点,每台节点8g内存,10个cpu。 实际任务在给定资源的时候,可以给20个executor、   每个executor的内存8g、每个executor的使用的cpu个数 10。 第二种情况:Yarn 先计算出yarn集群的所有大小,比如一共500g内存,100个cpu; 这个时候可以分配的大资源,比如给定50个executor、每个executor的内存   大小10g,每个executor使用的cpu 个数为2。 使用原则:你能使用的资源有多大,就尽量去调节到大的大小(executor的数量:几十个到上百个不等;executor的 内存;exector的cpu个数

计算机网络

旧巷老猫 提交于 2020-03-07 07:25:06
HTTPS和HTTP的区别主要如下: 1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。 2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。 3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。 4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。 SSL四次握手的过程 1.客户端请求建立SSL链接,并向服务端发送一个随机数(client random),压缩方式和客户端支持的加密方法(比如RSA),此时是明文传输的。 2.服务端选择客户端支持的一种加密算法并生成另一个随机数(server random),并将授信的服务端证书和公钥下发给客户端。 3.客户端收到服务端的回复,会校验服务端证书的合法性,若合法,则生成一个新的随机数premaster secret并通过服务端下发的公钥及加密方法进行加密,然后发送给服务端。 4.服务端收到客户端的回复,利用已知的加解密方式进行解密,同时利用client random、server random和premater secret通过一定算法生成对称加密key - session key。 此后,数据传输即通过对称加密方式进行加密传输。

[计算机网络]HTTP协议

半腔热情 提交于 2020-03-07 02:37:35
转载自:https://www.cnblogs.com/ranyonsue/p/5984001.html HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。 http请求-响应模型.jpg 主要特点 1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 2、灵活

计算机网络笔记:数据通信基础

五迷三道 提交于 2020-03-06 01:21:17
数据通信基础 数据通信基础知识 1、通信系统的作用是将信息从信源发送到一或多个信宿,其一般模型如下: 信源:将各种信息转化成原始电信号; 发送设备:生成适合在信道中传输的信号 信道:将信号传送到信宿的物理传输媒体 接收设备:从受到减损的接收信号中正确恢复出原始电信号 信宿:传送信息的目的地,将电信号还原 注意: 可以用交换技术降低网络成本,如下图,终端i复合了发送方(信源)和接收方(信宿)的功能: 2、网络传输中的两个重要公式 在此之前,我们需要解释一些术语: (1)波特率:也称信息传送速率、码元速率、符号速率、或传码率,其定义为每秒钟传送码元的数目,码元速率的单位为“波特”,常用符号“Baud”表示,简写为“B”。 (2)比特率:也称数据传输速率,其定义是单位时间内可以传输的比特数,单位为bps。 比特率的计算公式为:比特率=波特率*每符号含的比特数。 (3)信道带宽:最高的信号频率和最低的信号频率的差值就叫做这个信道的带宽,单位是Hz。 (4)信道容量:指的是数据在信道中最高传输速度,即最高的比特率,单位是bps。 (5)信噪比:信号和噪声的功率比就叫做信噪比,用S/N表示,单位没有量纲。 奈奎斯特(Nyquist)公式 公式注解:M为信号状态数量,W为信道带宽 任何实际的信道所能传输的最大数据传输速率受到奈奎斯特(Nyquist)公式限制

Nodejs网络通讯

本小妞迷上赌 提交于 2020-03-03 00:55:43
Node.js 网络通信 Node 是一个面向网络而生的平台,它具有事件驱动、无阻塞、单线程等特性,具备良好的可伸缩性,使得它十分轻量,适合在分布式网络中扮演各种各样的角色。同时 Node 提供的 API 十分贴合网络,适合用它基础的 API 构建灵活的网络服务。本课程的内容就是给大家介绍 Node 在网络通信编程方面的具体能力。 利用 Node 可以十分方便的搭建网络服务器。在 Web 领域,大多数的编程语言需要专门的 Web 服务器作为容器,如 ASP、ASP.NET 需要 IIS 作为服务器,PHP 需要打在 Apache 或 Nginx 环境等,JSP 需要 Tomcat 服务器等。但对于 Node 而言,只需要几行代码即可构建服务器,无需额外的容器。 Node 提供了 net、dgram、http、https 这4个模块,分别用于处理 TCP、UDP、HTTP、HTTPS,适用于服务器端和客户端。 网络通信相关概念 我们每天使用互联网,你是否想过,它是如何实现的? 全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗? 互联网的核心是一系列协议,总称为"互联网协议"(Internet Protocol Suite)。它们对电脑如何连接和组网,做出了详尽的规定