成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深入淺出RPC服務(wù) | 不同層的網(wǎng)絡(luò)協(xié)議

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
本系列文章從RPC產(chǎn)生的歷史背景開(kāi)始講解,涉及RPC核心原理、RPC實(shí)現(xiàn)、JSF的實(shí)現(xiàn)等,通過(guò)圖文類比的方式剖析它的內(nèi)部世界,讓大家對(duì)RPC的設(shè)計(jì)思想有一個(gè)宏觀的認(rèn)識(shí)。

作者:王禹展 京東健康

網(wǎng)絡(luò)協(xié)議

為什么需要網(wǎng)絡(luò)協(xié)議?

網(wǎng)絡(luò)協(xié)議是為計(jì)算機(jī)網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)交換而建立的規(guī)則、標(biāo)準(zhǔn)或約定的集合。

網(wǎng)絡(luò)中一個(gè)微機(jī)用戶和一個(gè)大型主機(jī)的操作員進(jìn)行通信,由于這兩個(gè)數(shù)據(jù)終端所用字符集不同,因此操作員所輸入的命令彼此不認(rèn)識(shí)。為了能進(jìn)行通信,規(guī)定每個(gè)終端都要將各自字符集中的字符先變換為標(biāo)準(zhǔn)字符集的字符后,才進(jìn)入網(wǎng)絡(luò)傳送,到達(dá)目的終端之后,再變換為該終端字符集的字符。就像我們說(shuō)話用某種語(yǔ)言一樣,在網(wǎng)絡(luò)上的各臺(tái)計(jì)算機(jī)之間也有一種語(yǔ)言,這就是網(wǎng)絡(luò)協(xié)議,不同的計(jì)算機(jī)之間必須使用相同的網(wǎng)絡(luò)協(xié)議才能進(jìn)行通信。

一次請(qǐng)求都需要用到那些協(xié)議?

1.要傳輸數(shù)據(jù),首先如何知道對(duì)應(yīng)的機(jī)器的地址?通過(guò)IP可以確認(rèn)具體的機(jī)器(網(wǎng)絡(luò)層的IP層協(xié)議)。

2.找到目標(biāo)機(jī)器后,需要知道該機(jī)器上哪個(gè)程序接受本次請(qǐng)求?通過(guò)端口就能確定具體的程序(傳輸層的TCP層協(xié)議)。

3.確定完程序后,怎么區(qū)分不同的請(qǐng)求,每一個(gè)請(qǐng)求如何關(guān)聯(lián)對(duì)應(yīng)的響應(yīng)呢?(應(yīng)用層的RPC協(xié)議)通過(guò)消息id區(qū)分。

4.以上這些最后是由物理層的光纜、電纜、無(wú)線信道等支持的,如何控制信號(hào)在物理層之上的傳遞,還需要PPP協(xié)議、ARP協(xié)議等。

不同層的協(xié)議簡(jiǎn)介

應(yīng)用層的協(xié)議

HTTP協(xié)議

超文本傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)是一個(gè)簡(jiǎn)單的請(qǐng)求-響應(yīng)協(xié)議,它通常運(yùn)行在TCP之上。它指定了客戶端可能發(fā)送給服務(wù)器什么樣的消息以及得到什么樣的響應(yīng)。

HTTPS協(xié)議

全稱:Hyper Text Transfer Protocol over SecureSocket Layer,是以安全為目標(biāo)的 HTTP 通道,在HTTP的基礎(chǔ)上通過(guò)傳輸加密和身份認(rèn)證保證了傳輸過(guò)程的安全性 。HTTPS 在HTTP 的基礎(chǔ)下加入SSL,HTTPS 的安全基礎(chǔ)是 SSL,因此加密的詳細(xì)內(nèi)容就需要 SSL。 HTTPS 存在不同于 HTTP 的默認(rèn)端口及一個(gè)加密/身份驗(yàn)證層(在 HTTP與 TCP 之間)。這個(gè)系統(tǒng)提供了身份驗(yàn)證與加密通訊方法。它被廣泛用于萬(wàn)維網(wǎng)上安全敏感的通訊,例如交易支付等方面。

RPC協(xié)議

一種通過(guò)網(wǎng)絡(luò)從遠(yuǎn)程計(jì)算機(jī)程序上請(qǐng)求服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議。

RTMP協(xié)議

全稱:Real Time Messaging Protocol(實(shí)時(shí)消息傳輸協(xié)議)。該協(xié)議基于TCP,是一個(gè)協(xié)議族,包括RTMP基本協(xié)議及RTMPT/RTMPS/RTMPE等多種變種。RTMP是一種設(shè)計(jì)用來(lái)進(jìn)行實(shí)時(shí)數(shù)據(jù)通信的網(wǎng)絡(luò)協(xié)議,主要用來(lái)在Flash/AIR平臺(tái)和支持RTMP協(xié)議的流媒體/交互服務(wù)器之間進(jìn)行音視頻和數(shù)據(jù)通信。支持該協(xié)議的軟件包括Adobe Media Server/Ultrant Media Server/red5等。RTMP與HTTP一樣,都屬于TCP/IP四層模型的應(yīng)用層。

P2P協(xié)議

點(diǎn)對(duì)點(diǎn)技術(shù)又稱對(duì)等互聯(lián)網(wǎng)絡(luò)技術(shù),是一種網(wǎng)絡(luò)新技術(shù),依賴網(wǎng)絡(luò)中參與者的計(jì)算能力和帶寬,而不是把依賴都聚集在較少的幾臺(tái)服務(wù)器上。P2P網(wǎng)絡(luò)通常用于通過(guò)Ad Hoc連接來(lái)連接節(jié)點(diǎn)。這類網(wǎng)絡(luò)可以用于多種用途,各種檔案分享軟件已經(jīng)得到了廣泛的使用。P2P技術(shù)也被使用在類似VoIP等實(shí)時(shí)媒體業(yè)務(wù)的數(shù)據(jù)通信中。

DNS協(xié)議

DNS是一種可以將域名和IP地址相互映射的以層次結(jié)構(gòu)分布的數(shù)據(jù)庫(kù)系統(tǒng)。DNS系統(tǒng)采用遞歸查詢請(qǐng)求的方式來(lái)響應(yīng)用戶的查詢,為互聯(lián)網(wǎng)的運(yùn)行提供關(guān)鍵性的基礎(chǔ)服務(wù)。目前絕大多數(shù)的防火墻和網(wǎng)絡(luò)都會(huì)開(kāi)放DNS服務(wù),DNS數(shù)據(jù)包不會(huì)被攔截,因此可以基于DNS協(xié)議建立隱蔽信道,從而順利穿過(guò)防火墻,在客戶端和服務(wù)器之間傳輸數(shù)據(jù)。

GTP協(xié)議

全稱:GPRS隧道協(xié)議(GPRSTunnelingProtocol),可以分解成三種獨(dú)立的協(xié)議,GTP-C(控制面)、GTP-U(用戶面)及GTP'(計(jì)費(fèi)傳輸)。GTP-C用于GPRS核心網(wǎng)絡(luò)中,用于不同網(wǎng)絡(luò)節(jié)點(diǎn)之間的信令數(shù)據(jù)。GTP-U 用于承載用戶數(shù)據(jù)。 GTP可以用在UDP或TCP上,GTP v1僅用于UDP上。用于 GPRS(2.5代通信技術(shù))、UMTS(3G移動(dòng)通信技術(shù))、LTE(3G與4G技術(shù)之間的過(guò)渡) 和 5G 網(wǎng)絡(luò)。

DHCP協(xié)議

全稱:Dynamic Host Configuration Protocol(動(dòng)態(tài)主機(jī)配置協(xié)議),通常被應(yīng)用在大型的局域網(wǎng)絡(luò)環(huán)境中,主要作用是集中地管理、分配IP地址,使網(wǎng)絡(luò)環(huán)境中的主機(jī)動(dòng)態(tài)的獲得IP地址、Gateway地址、DNS服務(wù)器地址等信息,并能夠提升地址的使用率。

其它協(xié)議

FTP·、Gopher IMAP4 、 IRC 、 NNTP 、XMPP 、POP3 、SIP 、SMTP 、SNMP 、SSH 、TELNET 、RTCP 、RTP 、RTSP 、 SDP 、 SOAP 、STUN 、 NTP 、SSDP 、BGP等。

傳輸層協(xié)議

TCP傳輸控制協(xié)議

全稱:Transmission Control Protocol,是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,TCP旨在適應(yīng)支持多網(wǎng)絡(luò)應(yīng)用的分層協(xié)議層次結(jié)構(gòu)。 連接到不同但互連的計(jì)算機(jī)通信網(wǎng)絡(luò)的主計(jì)算機(jī)中的成對(duì)進(jìn)程之間依靠TCP提供可靠的通信服務(wù)。TCP假設(shè)它可以從較低級(jí)別的協(xié)議獲得簡(jiǎn)單的,可能不可靠的數(shù)據(jù)報(bào)服務(wù)。 原則上,TCP應(yīng)該能夠在從硬線連接到分組交換或電路交換網(wǎng)絡(luò)的各種通信系統(tǒng)之上操作。

網(wǎng)絡(luò)層協(xié)議

IP協(xié)議

IP指網(wǎng)際互連協(xié)議,Internet Protocol的縮寫(xiě),是TCP/IP體系中的網(wǎng)絡(luò)層協(xié)議。設(shè)計(jì)IP的目的是提高網(wǎng)絡(luò)的可擴(kuò)展性:一是解決互聯(lián)網(wǎng)問(wèn)題,實(shí)現(xiàn)大規(guī)模、異構(gòu)網(wǎng)絡(luò)的互聯(lián)互通;二是分割頂層網(wǎng)絡(luò)應(yīng)用和底層網(wǎng)絡(luò)技術(shù)之間的耦合關(guān)系,以利于兩者的獨(dú)立發(fā)展。根據(jù)端到端的設(shè)計(jì)原則,IP只為主機(jī)提供一種無(wú)連接、不可靠的、盡力而為的數(shù)據(jù)包傳輸服務(wù)。

鏈路層協(xié)議

PPP協(xié)議

點(diǎn)對(duì)點(diǎn)協(xié)議(Point to Point Protocol,PPP)為在點(diǎn)對(duì)點(diǎn)連接上傳輸多協(xié)議數(shù)據(jù)包提供了一個(gè)標(biāo)準(zhǔn)方法。PPP 最初設(shè)計(jì)是為兩個(gè)對(duì)等節(jié)點(diǎn)之間的 IP 流量傳輸提供一種封裝協(xié)議。在 TCP-IP 協(xié)議集中它是一種用來(lái)同步調(diào)制連接的數(shù)據(jù)鏈路層協(xié)議(OSI模式中的第二層),替代了原來(lái)非標(biāo)準(zhǔn)的第二層協(xié)議,即 SLIP。除了 IP 以外 PPP 還可以攜帶其它協(xié)議,包括 DECnet 和 Novell 的 Internet 網(wǎng)包交換協(xié)議(IPX)。

每層協(xié)議之間的關(guān)系

??

發(fā)送端的流程

1.發(fā)送端將用戶數(shù)據(jù)拋給RPC層時(shí),RPC協(xié)議將用戶的數(shù)據(jù)(消息體)加上RPC頭部,然后拋給下一層“傳輸層“

2.”傳輸層”收到“應(yīng)用層”的數(shù)據(jù)后,不會(huì)考慮上一次的協(xié)議是啥,它會(huì)將整個(gè)傳遞進(jìn)來(lái)的數(shù)據(jù)作為‘消息體’,加上TCP頭部后繼續(xù)向下一層“網(wǎng)路層”拋。

3.”網(wǎng)絡(luò)層“收到數(shù)據(jù)后,也不會(huì)考慮上一次的協(xié)議是啥,會(huì)將整個(gè)傳遞進(jìn)來(lái)的數(shù)據(jù)作為‘消息體’并加上IP頭部,繼續(xù)繼續(xù)拋向下一層”數(shù)據(jù)鏈路層“。

4.”數(shù)據(jù)鏈路層“同樣加上MAC頭部,最后由物理層通過(guò)光電信號(hào)傳輸?shù)浇邮斩恕?/p>

接收端的流程

1.接受端收到數(shù)據(jù)后,”數(shù)據(jù)鏈路層“開(kāi)始解析,識(shí)別以太網(wǎng)頭部,取出數(shù)據(jù)后向上拋給”網(wǎng)絡(luò)層“。

2.”網(wǎng)絡(luò)層“識(shí)別IP頭部后,取出數(shù)據(jù),向上拋給”傳輸層“。

3.”傳輸層“收到數(shù)據(jù)后,識(shí)別TCP頭部,取出數(shù)據(jù)后繼續(xù)向上拋給”應(yīng)用層“。

4.”應(yīng)用層“識(shí)別RPC協(xié)議頭部,最終取出發(fā)送端的用戶數(shù)據(jù)。

每層協(xié)議的設(shè)計(jì)

TCP協(xié)議

設(shè)計(jì)的目的

在網(wǎng)絡(luò)發(fā)展的過(guò)程中,IP協(xié)議提供了讓彼此相連的主機(jī)之間能夠進(jìn)行數(shù)據(jù)傳送。但是IP協(xié)議無(wú)法讓接收信息的主機(jī)知道從遠(yuǎn)處傳送來(lái)的數(shù)據(jù)究竟要給到哪一個(gè)進(jìn)程進(jìn)行處理。TCP(傳輸控制協(xié)議)就是為了解決進(jìn)程間的通信問(wèn)題而發(fā)展出來(lái)的協(xié)議。

1.源端口號(hào)和目標(biāo)端口號(hào):沒(méi)有這兩個(gè)端口號(hào)。數(shù)據(jù)就不知道應(yīng)該發(fā)給哪個(gè)應(yīng)用。

2.包的序列號(hào):為什么要給包編號(hào)呢?是為了解決亂序的問(wèn)題。不編好號(hào)怎么確認(rèn)哪個(gè)應(yīng)該先來(lái),哪個(gè)應(yīng)該后到呢。

3.確認(rèn)序列號(hào):發(fā)出去的包應(yīng)該有確認(rèn),要不然我怎么知道對(duì)方有沒(méi)有收到呢?如果沒(méi)有收到就應(yīng)該重新發(fā)送,直到送達(dá)。這個(gè)可以解決不丟包的問(wèn)題。

4.狀態(tài)位:SYN 是發(fā)起一個(gè)連接,ACK 是回復(fù),RST 是重新連接,F(xiàn)IN 是結(jié)束連接等。TCP 是面向連接的,因而雙方要維護(hù)連接的狀態(tài),這些帶狀態(tài)位的包的發(fā)送,會(huì)引起雙方的狀態(tài)變更。

5.窗口大小:TCP 要做流量控制,通信雙方各聲明一個(gè)窗口,標(biāo)識(shí)自己當(dāng)前能夠的處理能力,發(fā)的太快處理不過(guò)來(lái),發(fā)的太慢就會(huì)有空閑,使用窗口大小來(lái)達(dá)到一個(gè)最佳的處理水平。?

責(zé)任編輯:武曉燕 來(lái)源: 今日頭條
相關(guān)推薦

2014-08-05 09:27:20

TCP網(wǎng)絡(luò)協(xié)議

2022-03-23 18:58:11

ZookeeperZAB 協(xié)議

2021-03-16 08:54:35

AQSAbstractQueJava

2011-07-04 10:39:57

Web

2019-02-13 16:22:53

網(wǎng)絡(luò)虛擬化大二層

2009-11-30 16:46:29

學(xué)習(xí)Linux

2019-11-11 14:51:19

Java數(shù)據(jù)結(jié)構(gòu)Properties

2022-12-02 09:13:28

SeataAT模式

2019-01-07 15:29:07

HadoopYarn架構(gòu)調(diào)度器

2021-07-20 15:20:02

FlatBuffers阿里云Java

2017-07-02 18:04:53

塊加密算法AES算法

2012-05-21 10:06:26

FrameworkCocoa

2022-09-26 09:01:15

語(yǔ)言數(shù)據(jù)JavaScript

2025-02-06 09:47:33

2017-11-24 11:10:39

神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)全連接神經(jīng)網(wǎng)絡(luò)

2023-03-20 09:48:23

ReactJSX

2019-11-14 09:53:30

Set集合存儲(chǔ)

2009-12-25 15:49:43

Linux rescu

2012-02-21 13:55:45

JavaScript

2022-01-11 07:52:22

CSS 技巧代碼重構(gòu)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 免费一区| 中文字幕免费观看 | 欧美视频三区 | 黄色免费在线观看网站 | 亚洲精品视频一区二区三区 | 欧美日韩精品一区二区天天拍 | 国产黄色大片 | 亚洲精品视频三区 | 亚洲成人三级 | 久久69精品久久久久久久电影好 | 九九色综合 | 久久国产一区 | 99精品国产成人一区二区 | 一本岛道一二三不卡区 | 中文字幕一区二区在线观看 | 欧美久久久久久久久中文字幕 | 99精品国自产在线观看 | 91视频在线 | 亚洲欧美在线观看 | 六月成人网 | 国产一区 日韩 | 99视频在线免费观看 | 日韩综合在线播放 | 国产在线视频网 | 人人叉 | 国产黄色大片在线免费观看 | 国产成人啪免费观看软件 | 91免费看片 | 午夜ww | 国产丝袜一区二区三区免费视频 | 91精品国产91久久久久久吃药 | 国产精品成人久久久久a级 久久蜜桃av一区二区天堂 | 97影院在线午夜 | 神马影院一区二区三区 | av在线播放网 | www.中文字幕 | 日韩精品色网 | 午夜精品久久久久99蜜 | 亚洲精品一二区 | 亚洲午夜电影 | jizjizjiz中国护士18 |