凯凯王的技术生涯

想做架构师的小菜鸟

移动网络

2G网络 手机本来是用来打电话的,不是用来上网的,所以原来在2G时代,上网使用的不是IP网络,而是电话网络,走模拟信号,专业名称为公共交换电话网(PSTN)。 手机是通过收发无线信号来通信的,专业名称是Mobile Station, 简称MS,需要嵌入SIM。手机是客户端,而无线信号的服务端,就是...

2019-05-24 10:06:24

阅读数 20

评论数 0

跨语言类RPC

小结 GRPC是一种二进制,性能好,跨语言,还灵活的,同时可以进行服务治理的多快好省的RPC框架,唯一不足就是还要写协议文件。 GRPC序列化使用Protocol Buffers,网络传输使用HTTP 2.0,服务治理可以使用基于Envoy的Service Mesh。 RPC从最初的客户端服务...

2019-05-23 11:04:24

阅读数 26

评论数 0

二进制类RPC协议

数据中心内部是如何相互调用的 API网关用来管理API,但是API实现一般在一个叫做Controller层的地方。这一层对外提供API,由于是让陌生人访问的,我们能看到目前业界主流的,基本都是RESTful的API,是面向大规模互联网应用的。 如何解决协议约定问题 Dubbo中默认的RPC协议是...

2019-05-23 09:47:41

阅读数 26

评论数 0

基于JSON的RESTful接口协议

传输协议问题 XML的格式可以改为JSON格式 POST /purchaseOrder HTTP/1.1 Host: www.geektime.com Content-Type: application/json; charset=utf-8 Content-Length: nnn { "...

2019-05-22 21:20:12

阅读数 27

评论数 0

基于XML的SOAP协议

ONC RPC 存在哪些问题 ONC RPC将客户端要发送的参数,以及服务端要发送的回复,都压缩为一个二进制串,这样固然能够解决双方的协议约定问题,但是存在一定的不方便。 首先,需要双方的压缩格式完全一致,一点都不能差,一旦有少许的差错,多一位,少一位或者错一位,都可能无法解压缩,当然,我们可以用...

2019-05-22 20:47:17

阅读数 24

评论数 0

RPC协议

五个问题 如何规定远程调用的语法 如何传递参数 如何表示数据 如何知道一个服务端都实现了哪些远程调用,从哪个端口可以访问这个远程调用 发生了错误、重传、丢包、性能等问题怎么办? 协议约定问题 本地调用函数有很多问题,如上图,这些编译器都帮你做了,但是在远程调用中,你需要重新操心。 Sun公...

2019-05-22 14:03:19

阅读数 21

评论数 0

HTTPDNS:网络世界的地址簿

传统DNS存在哪些问题 域名缓存问题 域名有缓存的时候,往往因为没有及时更新的问题,导致走错路 域名转发问题 运营商A偷懒把域名解析的请求转发给运营商B,导致用户本在运营商A的网络里,却跨网络请求运营商B。 出口NAT问题 出口的地方,很多机房都会配置NAT,也即网络地址转换,使得从这个网关出来...

2019-05-21 14:07:05

阅读数 14

评论数 0

DNS协议:网络世界的地址簿

DNS服务器 在网络世界里,你肯定记得住网站的名称,但是记不住网站的IP地址,因而也需要一个地址簿,这就是DNS服务器。 根DNS服务器:返回顶级域DNS服务器的IP地址 顶级域DNS服务器:返回权威DNS服务器的IP地址 权威DNS服务器:返回相应主机的IP地址 DNS解析流程 为了提高D...

2019-05-21 10:26:50

阅读数 13

评论数 0

P2P协议

一般想下一个电影,通过什么方式呢?最简单的就是通过HTTP协议,但是只要文件大点,最后都会慢的要死。 还有一种下载文件的方式,就是通过FTP,也即文件传输协议。FTP采用两个TCP连接来传输一个文件。 控制连接:服务器以被动的方式,打开众所周知用于FTP的端口21,客户端则主动发起连接。该连接将...

2019-05-20 09:48:26

阅读数 7

评论数 0

流媒体协议

三个名词系列 名词系列一:AVI、MPEG、RMVB、MP4、MOV、FLV、WebM、WMV、ASF、MKV。例如 RMVB 和 MP4,看着是不是很熟悉? 名词系列二:H.261、 H.262、H.263、H.264、H.265。这个是不是就没怎么听过了?别着急,你先 记住,要重点关注 H....

2019-05-19 10:50:22

阅读数 3

评论数 0

用双十一的故事串起碎片的网络协议

1 部署一个高可用高并发的电商网站 首先,需要有个电商平台,假设特别大,这个平台应该部署在哪呢?假如使用公有云,公有云有多个位置,我们把主站点放在华东。 为了每个点都能雨露均沾,也为了高可用性,往往需要有多个机房,形成多个可用区。由于咱们的应用是在两个区的,所以假如任何一个可用区挂了,都不会受影...

2019-05-18 15:53:30

阅读数 2

评论数 0

GRPC

GRPC是一种二进制、性能好、跨语言、还灵活、同时可以进行服务治理的多快好省的RPC框架,唯一不足就是需要写协议文件 GRPC序列化使用Protocol buffers,网络传输使用HTTP2.0,服务治理可以使用基于Envoy的service Mesh ...

2019-05-17 14:36:59

阅读数 4

评论数 0

数据中心

数据中心的出口和入口也是路由器, 由于在数据中心的边界,称为边界路由器,一般为了保证高可用,会有多个,而且边界路由器一般会接入多个运营商。 既然是路由器,就需要跑路由协议,数据中心往往就是路由协议的自治区域。数据中心里面的机器要想访问外面的网站,数据中心里面也是有对外提供服务的机器,都可以通过BG...

2019-05-16 11:26:57

阅读数 11

评论数 0

HTTPS协议

对称加密 非对称加密 数字证书 HTTPS的工作模式 重放与篡改

2019-05-15 14:04:36

阅读数 3

评论数 0

HTTP协议

HTTP请求的准备 浏览器会把域名发给DNS服务器,把域名解析为IP地址,然后再进行TCP三次握手和四次挥手。 HTTP请求的构建 一 请求行 二 首部字段 HTTP请求的发送 HTTP返回的构建 HTTP2.0 小结 HTTP协议重点记住GET、POST、PUT、DELETE这几个方法和首部字...

2019-05-15 11:26:45

阅读数 4

评论数 0

套接字Socket

Socket可以当做插口,写软件的时候,可以想象为一根网线,一头插在客户端,一头插在服务端,然后进行通信,通信之间,要建立一个Socket。 在网络层,Socket函数需要指定到底是IPv4还是IPv6,分别对应设置为AF_INET和AF_INET6。另外,还要指定到底是TCP还是UDP的。TCP...

2019-05-15 10:13:19

阅读数 4

评论数 0

TCP

如何实现一个靠谱的协议 TCP的协议为了保证顺序性,每个包都有一个ID,建议连接的时候,会商定起始ID是什么,然后按照ID一个个发送。为了保证不丢包,对于发送的包都要应答,但是这个应答不是一个个来的,而是会应答某个之前的ID,表示都收到了,这种模式称为累计确认或者累计应答。 为了记录所有发送的包和...

2019-05-15 08:48:03

阅读数 4

评论数 0

TCP协议

TCP包头格式 源端口号和目的端口号不可少。 包的序号,为了解决乱序的问题 确认序号,发出去的包的确认序号,解决不丢包的问题。 TCP只能保证不丢包,IP层你丢不丢包,管不着。 状态位。SYN发起一个连接,ACK回复,RST是重新连接,FIN是结束连接等。 TCP还会做流量控制和拥塞控制 TC...

2019-05-14 10:07:03

阅读数 6

评论数 0

UDP协议

TCP和UDP有哪些区别? 面试的时候经常会问TCP和UDP的区别,一般会回答, TCP是面向连接的,UDP是面向无连接的。 所谓的建立连接,是为了在客户端和服务端维护连接,而建立一定的数据结构来维护双方交互的状态,用这样的数据结构来保证所谓的面向连接的特性。 TCP是可靠交付,通过TCP传输的...

2019-05-13 10:58:03

阅读数 6

评论数 0

路由协议

如何配置路由 路由器就是一台网络设备,有多张网卡,当一个入口的网络包送到路由器时,它会根据一个本地的转发信息库,来决定如何正确地转发流量。这个转发信息通常被称为路由表。 路由表会有多条路由规则,格式是 目的网络:这个包想去哪 出口设备:将包从那个口扔出去 下一跳网关:下一个路由器地址 通过rout...

2019-05-13 10:18:01

阅读数 7

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭