原副标题:精辟RPC服务项目 | 完全相同层的FTP
编者按:
本系列产品该文从RPC产生的时代背景开始传授,牵涉RPC核心理念基本原理、RPC同时实现、JSF的同时实现等,透过Grignols等效的方式探究它的外部世界,让大家对RPC的结构设计价值观有两个宏观经济的重新认识。 译者:王禹展 天猫身心健康FTP
为何须要FTP?
FTP是为计算机系统互联网中展开数据传输而建立的准则、国际标准或签订合同的子集。
互联网中两个自动控制使用者和两个小型PS3的操译者展开通信,由于这两个义章产品所制Unicode完全相同,因此操译者所输出的指示彼此之间不重新认识。为了能展开通讯,规定每一终端产品都要将各别Unicode中的字符串先转换为国际标准Unicode的字符串后,才进入互联网传输,抵达目地终端产品之后,再转换为该终端产品Unicode的字符串。就像我们骂人用这种词汇一样,在互联网上的各台计算机系统间也有一种词汇,这就是FTP,完全相同的计算机系统间必须使用完全相同的FTP就可以展开通讯。
一次允诺都须要加进那些协定?
1.要数据传输,具体来说怎样晓得相关连的电脑的门牌号?透过IP可以证实具体内容的电脑(互联网层的IP层协定)。
2.找出最终目标电脑后,须要晓得该电脑上那个流程拒绝接受此次允诺?透过路由器就能证实具体内容的流程(应用层的TCP层协定)。
3.证实完流程后,怎么界定完全相同的允诺,每两个允诺怎样关连相关连的积极响应呢?(互联网层的RPC协定)透过消息id界定。
4.以上这些最后是由应用层的线缆、线缆、有线链路等支持的,怎样控制讯号在应用层其内的传达,还须要PPP协定、ARP协定等。
完全相同层的协定概要
互联网层的协定
HTTP协定
超文本传输协定(Hyper Text Transfer Protocol,HTTP)是两个简单的允诺-积极响应协定,它通常运行在TCP其内。它指定了客户端可能发送给服务项目器什么样的消息以及得到什么样的积极响应。
HTTPS协定
全称:Hyper Text Transfer Protocol over SecureSocket Layer,是以安全为最终目标的 HTTP 通道,在HTTP的基础上透过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就须要 SSL。 HTTPS 存在完全相同于 HTTP 的默认路由器及两个加密/身份验证层(在 HTTP与 TCP 间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面。
RPC协定
一种透过互联网从远程计算机系统流程上允诺服务项目,而不须要了解底层互联网技术的协定。
RTMP协定
全称:Real Time Messaging Protocol(实时消息传输协定)。该协定基于TCP,是两个协定族,包括RTMP基本协定及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种结构设计用来展开实时数据通讯的FTP,主要用来在Flash/AIR平台和支持RTMP协定的流媒体/交互服务项目器间展开音视频和数据通讯。支持该协定的软件包括Adobe Media Server/Ultrant Media Server/red5等。RTMP与HTTP一样,都属于TCP/IP四层模型的互联网层。
P2P协定
点对点技术又称对等互联互联网技术,是一种互联网新技术,依赖互联网中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务项目器上。P2P互联网通常用于透过Ad Hoc连接来连接节点。这类互联网可以用于多种用途,各种档案分享软件已经得到了广泛的使用。P2P技术也被使用在类似VoIP等实时媒体业务的数据通讯中。
DNS协定
DNS是一种可以将域名和IP门牌号相互映射的以层次结构分布的数据库系统。DNS系统采用递归查询允诺的方式来积极响应使用者的查询,为互联网的运行提供关键性的基础服务项目。目前绝大多数的防火墙和互联网都会开放DNS服务项目,DNS数据包不会被拦截,因此可以基于DNS协定建立隐蔽链路,从而顺利穿过防火墙,在客户端和服务项目器间数据传输。
GTP协定
全称:GPRS隧道协定(GPRSTunnelingProtocol),可以分解成三种独立的协定,GTP-C(控制面)、GTP-U(使用者面)及GTP(计费传输)。GTP-C用于GPRS核心理念互联网中,用于完全相同互联网节点间的信令数据。GTP-U 用于承载使用者数据。 GTP可以用在UDP或TCP上,GTP v1仅用于UDP上。用于 GPRS(2.5代通讯技术)、UMTS(3G移动通讯技术)、LTE(3G与4G技术间的过渡) 和 5G 互联网。
DHCP协定
全称:Dynamic Host Configuration Protocol(动态PS3配置协定),通常被应用在小型的局域互联网环境中,主要作用是集中地管理、分配IP门牌号,使互联网环境中的PS3动态的获得IP门牌号、Gateway门牌号、DNS服务项目器门牌号等信息,并能够提升门牌号的使用率。
其它协定
FTP·、Gopher IMAP4 、 IRC 、 NNTP 、XMPP 、POP3 、SIP 、SMTP 、SNMP 、SSH 、TELNET 、RTCP 、RTP 、RTSP 、 SDP 、 SOAP 、STUN 、 NTP 、SSDP 、BGP等。
应用层协定
TCP传输控制协定
全称:Transmission Control Protocol,是一种面向连接的、可靠的、基于字节流的应用层通讯协定,TCP旨在适应支持多互联网应用的分层协定层次结构。 连接到完全相同但互连的计算机系统通讯互联网的主计算机系统中的成对进程间依靠TCP提供可靠的通讯服务项目。TCP假设它可以从较低级别的协定获得简单的,可能不可靠的数据报服务项目。 原则上,TCP应该能够在从硬线连接到分组交换或电路交换互联网的各种通讯系统其内操作。
互联网层协定
IP协定
IP指网际互连协定,Internet Protocol的缩写,是TCP/IP体系中的互联网层协定。结构设计IP的目地是提高互联网的可扩展性:一是解决互联网问题,同时实现大规模、异构互联网的互联互通;二是分割顶层互联网应用和底层互联网技术间的耦合关系,以利于两者的独立发展。根据端到端的结构设计原则,IP只为PS3提供一种无连接、不可靠的、尽力而为的数据包传输服务项目。
链路层协定
PPP协定
点对点协定(Point to Point Protocol,PPP)为在点对点连接上传输多协定数据包提供了两个国际标准方法。PPP 最初结构设计是为两个对等节点间的 IP 流量传输提供一种封装协定。在 TCP-IP 协定集中它是一种用来同步调制连接的数据链路层协定(OSI模式中的第二层),替代了原来非国际标准的第二层协定,即 SLIP。除了 IP 以外 PPP 还可以携带其它协定,包括 DECnet 和 Novell 的 Internet 网包交换协定(IPX)。
每层协定间的关系
发送端的流程
1.发送端将使用者数据抛给RPC层时,RPC协定将使用者的数据(消息体)加上RPC头部,然后抛给下一层“应用层“
2.”应用层”收到“互联网层”的数据后,不会考虑上一次的协定是啥,它会将整个传达进来的数据作为‘消息体’,加上TCP头部后继续向下一层“网路层”抛。
3.”互联网层“收到数据后,也不会考虑上一次的协定是啥,会将整个传达进来的数据作为‘消息体’并加上IP头部,继续继续抛向下一层”数据链路层“。
4.”数据链路层“同样加上MAC头部,最后由应用层透过光电讯号传输到接收端。
接收端的流程
1.拒绝接受端收到数据后,”数据链路层“开始解析,识别以太网头部,取出数据后向上抛给”互联网层“。
2.”互联网层“识别IP头部后,取出数据,向上抛给”应用层“。
3.”应用层“收到数据后,识别TCP头部,取出数据后继续向上抛给”互联网层“。
4.”互联网层“识别RPC协定头部,最终取出发送端的使用者数据。
每层协定的结构设计
TCP协定
结构设计的目地
在互联网发展的过程中,IP协定提供了让彼此之间相连的PS3间能够展开数据传输。但是IP协议无法让接收信息的PS3晓得从远处传输来的数据究竟要给到哪两个进程展开处理。TCP(传输控制协定)就是为了解决进程间的通讯问题而发展出来的协定。
1.源路由器号和最终目标路由器号:没有这两个路由器号。数据就不晓得应该发给哪个应用。
2.包的序列号:为何要给包编号呢?是为了解决乱序的问题。不编好号怎么证实哪个应该先来,哪个应该后到呢。
3.证实序列号:发出去的包应该有证实,要不然我怎么晓得对方有没有收到呢?如果没有收到就应该重新发送,直到送达。这个可以解决不丢包的问题。
些带状态位的包的发送,会引起双方的状态变更。
5.窗口大小:TCP 要做流量控制,通讯双方各声明两个窗口,标识自己当前能够的处理能力,发的太快处理不过来,发的太慢就会有空闲,使用窗口大小来达到两个最佳的处理水平。