计算机网络

从传统计算机到“无处不在”的计算(下)

丶灬走出姿态 提交于 2019-12-06 07:07:42
从传统计算机到“无处不在”的计算(下) 参考:百度百科。 2.2 计算机系统结构 2.2.1 计算机系统结构的基本概念 计算机系统结构是计算机的机器语言程序员或编译程序编写者所看到的外特性。外特性就是指概念性的结构及其功能。例如鸡有胃,而胃的功能是消化食物。胃就是概念,其功能就是消化,而我们不需要关心胃是什么形状,以及胃由什么组成。 对于计算机系统结构,不同级的程序员眼中的计算机有不同的属性,比如机器语言程序员所看到的计算机的主要属性是指令集的功能,而高级语言程序员所看到的则是该机所配置的高级语言所具有的功能。这样,程序员们可以只需要知道对自己需要知道的部分,而不用小到CPU如何制作这样的细节都知道。 2.2.2 计算机的组成 1.系列机 *系统结构相同,具有相同的指令集,却不同型号、不同性能的一系列机器,通常由同一厂家生产。 2.兼容机 *不同厂家生产的具有相同系统结构的计算机,能够实现在不同时期、不同厂家生产的机器都能正常稳定的运行。为保证计算机系统结构的发展,兼容还分有向上、向下、向前、向后兼容。 2.2.3 计算机实现 物理实现:包括CPU、ROM、RAM等硬件的制造,总之就是把计算机组成方案制作成真实的计算机。 CPU:由运算器和控制器以及寄存器组成。运算器负责执行数据操作(如加\减法),控制器负责协调计算机的运行的电路,寄存器负责存储临时数据。程序执行时

【计算机网络】你真的了解HTTP(HTTPS)协议的这12个知识点吗

你说的曾经没有我的故事 提交于 2019-12-06 05:41:11
1. 介绍一下OSI七层参考模型和TCP/IP五层模型 1.1 OSI七层模型 1.2 TCP/IP五层模型 1.3 各层的设备 [各层设备] 1.4 各层对应协议 2. HTTP协议和特点 2.1 基本概念 [!NOTE] HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。 2.2 数据包结构 数据包细节 2.3 协议的特点 无连接(重点理解) 限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 无状态 协议对于事务处理没有记忆能力。 简单快速 客户向服务器请求服务时,只需传送请求方法和路径。 灵活 HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 2.4 请求报文 请求行 请求类型 要访问的资源 HTTP协议版本号 请求头 用来说明服务器要使用的附加信息(一些键值对) 例如:User-Agent、 Accept、Content-Type、Connection 空行 分割请求头与请求体 请求体 可以添加任意的其他数据 2.5 响应报文 状态行 状态码 状态消息 HTTP协议版本号 消息报头 说明客户端要使用的一些附加信息 如:Content

python-网络编程

断了今生、忘了曾经 提交于 2019-12-06 04:31:34
一:socket和套接字 1.1.什么是socket     socket 的原意是“插座”,在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。 1. 2.套接字分类 这个世界上有很多种套接字( socket ),比如 DARPA Internet 地址(Internet 套接字)、本地节点的路径名(Unix套接字)、CCITT X.25地址(X.25 套接字)等。 1.3.Internet 套接分类   Internet 套接字分成两种类型:   流格式套接字(Stream Sockets)也叫“面向连接的套接字”,在代码中使用 SOCK_STREAM 表示。   数据报格式套接字(Datagram Sockets)也叫“无连接的套接字”,在代码中使用 SOCK_DGRAM 表示。 1.4.无连接套接字 数据报格式套接字(Datagram Sockets)也叫“无连接的套接字”,在代码中使用 SOCK_DGRAM 表示。 计算机只管传输数据,不作数据校验,如果数据在传输中损坏,或者没有到达另一台计算机,是没有办法补救的。也就是说,数据错了就错了,无法重传。 因为数据报套接字所做的校验工作少,所以在传输效率方面比流格式套接字要高。 可以将

网络编程

我是研究僧i 提交于 2019-12-06 03:27:56
一·网络编程的两个主要问题   1.如何精准的定位网络上一台或多台主机,定位主机上的特定的应用   2.找到主机后如何可靠高效的进行数据的传输 二·网络编程的中的两个要素   1.对应问题一:IP和端口号   2.对应问题二:提供网络通信协议 三·通信要素一:IP和端口号 3.1:IP   1.IP:唯一的额标识Interet上的计算机(通信实体)   2.在Java中使用InetAddress类代表IP   3.IP分类:IPv4和IPv6;万维网和局域网   4.域名:www.baidu.com   5.本地回路地址:127.0.0.1或者localhost   6.如何实例花InetAddress:两个方法:getByName(String host)或getLocalHost()     两个的方法:getHostName() getHostAddress() public class Test{ public static void main(String[] args){ try{ InetAddress inet1 = InetAddress.getByName("192.168.1.14"); System.out.println(inet1);         InetAddress inet2 = InetAddress.getByName("www.baidu

SDN课程阅读作业(2)

蓝咒 提交于 2019-12-06 03:24:51
1.过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么? 可编程网络的发展可分为以下三个阶段 (1)主动网络(Active networking,20世纪90年代中期到21世纪初):在网络中引入了可编程功能,以实现更大的创新。 开创了可编程网络的概念,以此来降低网络创新的障碍。 主动网络是第一批干净的网络架构方法。 提供了平台的可移植性和一些代码安全。 网络虚拟化,以及基于数据包头对软件程序进行多路分解的能力。 为middlebox编排提供统一架构的构想。 (2)将控制面与数据面分离(Separating Control and Data Planes,2001年-2007年左右):开发了控制和数据平面之间的开放接口。 催生了两项创新:控制平面与数据平面之间的开放接口和在逻辑上对网络的集中控制。 将控制功能从网络设备转移到单独的服务器上。逻辑集中式路由控制器是通过开源路由软件的出现而实现的,它降低了创建原型实现的障碍。服务器技术的进步意味着单个商品服务器可以存储所有的路由状态并计算大型ISP网络的所有路由决策。着反过来又启用了简单的主备份复制策略,其中备份服务器存储于主服务器相同的状态并执行相同的计算,以确保控制器的可靠性。 提出了两个概念:使用数据平面的开放接口进行逻辑控制和分布式状态管理。 4D项目主张四个主要层:数据平面(用于基于可配置规则处理分组)、发现平面

计算机的拓扑

*爱你&永不变心* 提交于 2019-12-06 00:20:06
一、网络拓扑结构 星型网: (节点扩展,移动方便,网络传输数据快,维护容易;核心交换机工作超负荷,网络布线复杂,广播传输影响网络) 树状网: (成本低,易于扩充,管理较方便,故障隔离较容易。;根节点依赖性大,如发生故障,则全网不能正常工作。) 分布式网络 环形网络: (网络路径选择与组建简单,投资成本低;传输速度慢,连接用户非常少,传输效率低,扩展性能差,维护困难) 、 总线型网络: (费用较低,易于扩展,线路的利用率高;可靠性不高,维护困难,传输效率低) 复合型网络 二、数据传输方式的分类: 1.按传输数据顺序:串行运输、并行运输 2.按传输数据流向和时间顺序分:单工、双工、半双工 3.按传输数据的同步方式分:同步运输、异步运输 三、国际组织: 国际标准化组织( ISO)、国际电信联盟( ITU)、电子电器工程师协会( IEEE)、美国国家标准局( ANSI)、电子工业协会( EIA/TIA)、 Internet工程任务组( IETF)、 Internet架 构委员会( IAB)、 Internet上的 IP地址编号结构( IANA) 四、网络的分类: 1.局域网( LAN) 2.城域网( MAN) 3.广域网( WAN) 来源: https://www.cnblogs.com/pe4nut7/p/11953394.html

RPC

一个人想着一个人 提交于 2019-12-06 00:13:32
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 框架,在很多互联网公司和企业应用中广泛使用

SDN课程阅读作业(2)

房东的猫 提交于 2019-12-05 20:39:51
SDN课程阅读作业(2) 作业链接 阅读文章《The Road to SDN: An Intellectual History of Programmable Networks》,并根据所阅读的文章,书写一篇博客,回答以下两个问题: 1.过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么? 业界的目标是使计算机网络更具可编程性有助于网络管理的创新,并降低部署新服务的障碍。回顾可编程网络的早期工作,将历史分为三个阶段,如下图所示: 每个阶段对历史都有自己的贡献: (1)主动网络(从20世纪90年代中期到21世纪初),它在网络中引入了可编程功能,以实现更大的创新 在20世纪90年代中期,由于网络协议标准化过程的缓慢,一些网络研究人员采用了一种开放网络控制的替代方法,大致是基于对独立PC重新编程相对容易的类比。具体地说,传统网络在任何意义上都不是“可编程”的,主动网络代表了一种激进的网络控制方法,通过设想一个编程接口(或网络API)来公开各个网络节点上的资源(例如,处理、存储和数据包队列),并支持构建应用于子集的定制功能,主动网络研究计划探索了传统互联网协议栈通过IP或异步传输模式(ATM)提供服务的根本替代方案。 主要贡献: 网络可编程性降低了技术创新的障碍;提出网络虚拟化,以及基于包头对软件程序进行复用;创建中间件编排统一的架构 (2)控制和数据平面分离

读书笔记_python网络编程3_(1)

怎甘沉沦 提交于 2019-12-05 18:14:36
0.前言 代码目录: https://github.com/brandon-rhodes/fopnp/tree/m/py3 0.1.网络实验环境:理解客户端与服务器是如何通过网络进行通信的 每台机器通过一个Docker容器实现 0.1.1.调制解调器A和B下面的客户机(h1~h4)表示典型客户端场景,家庭或咖啡店(内部网络,不能访问互联网,如果要连互联网,都通过调制解调器IP进行连接) 0.1.2.调制解调器通过ISP网关连接广域网(主干路由器,负责将数据包发送至与之相连的网络) 0.1.3.example.com及相连机器表示机房配置。没有网络地址转换或伪装,互联网上的各个客户端可随意访问example.com后的三个服务器提供的服务端口 0.1.4.ftp、mail、www服务器运行正确配置的守护进程,Python脚本可以运行在其他机器,并成功连接到上述服务 0.1.5.所有服务器成功安装TLS证书,所有客户机有example.com的签名及安装受信证书,及要求TLS认证的Python脚本可以成功获取认证 0.1.6.可以在网络环境的任意一台机器上连接并运行命令,可对网络中的任意一个点进行数据包追踪,查看客户端和服务端之间的网络数据传输情况 1.客户端、服务器网络编程 1.1.协议栈与库 1.1.1.协议栈:复杂的网络服务建立在简单网络服务的基础上 1.1.2

网络工程总结

心已入冬 提交于 2019-12-05 16:32:56
tcp/ip 5层架构: 资源子网: 应用层: 为用户的应用程序提供网络通信服务 表示层: 处理被传送数据的表示问题 会话层: 建立.管理,中止不同机器上应用程序间的会话 连接资源子网与通信子网: 传输层: 为源端主机到目的端主机提供可靠的,满足服务质量要求的数据传输服务 屏蔽不同通信子网的差异,使上层不受通信子网技术变化的影响;弥补资源子网和通信子网间差异;提供进程级通信能力 TCP: 面向连接的 可靠通信方式 在网络状况不佳的时候尽量降低系统由于重传带来的带宽开销 通信连接维护是面向通信的两个端点的,而不考虑中间网段和节点 三次握手,四次挥手 数据分片:在发送端对用户数据进行分片,在接收端进行重组,由TCP确定分片的大小并控制分片和重组 超时重发:发送方在发送分片时启动超时定时器,如果在定时器超时之后没有收到相应的确认,重发分片 滑动窗口:TCP连接每一方的接收缓冲空间大小都固定,接收端只允许另一端发送接收端缓冲区所能接纳的数据,TCP在滑动窗口的基础上提供流量控制,防止较快主机致使较慢主机的缓冲区溢出 失序处理:作为IP数据报来传输的TCP分片到达时可能会失序,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层 到达确认:接收端接收到分片数据时,根据分片数据序号向发送端发送一个确认 数据校验:TCP将保持它首部和数据的检验和,这是一个端到端的检验和