网络模型,和常用的(如rpc)的区别,看懂了拿出去扯皮~

先赞再看,良好习惯,希望对大家有点帮助,小白猿 -【左小涩】

前言

这不是过节了嘛?儿童节也是节!我不管!我3岁!我要吃糖!
哈,看了几天的网络协议,还是觉得很深奥复杂,今天参考整理一部分,也算为了自己的复习,同时也希望对大家有些帮助~

正文

记得刚开始接触计算机的时候,就觉得网络这方面很深奥,时到如今依旧是这样觉得。看的越多,就觉得自己会的越少啊!

一、OSI七层协议

OSI模型有7层结构,是一个开放性的通信系统的参考模型,是一个定义得非常好的协议规范。

1) 物理层。例如线路、无线电、光纤

2) 数据链路层。例如以太网、令牌环、帧中继、ISDN、ATM、IEEE 802.11

3) 网络层。例如IP、ICMP、IGMP、IPX、BGP、RIP、ARP、RARP

4) 传输层。例如TCP、UDP、RTP、SPX、ATP

5) 会话层。例如TLS、SSH、RPC、NetBIOS、ASP、ISO 8327 / CCITT X.225

6) 表示层。例如ASN.1、SMB、AFP、NCP

7) 应用层。例如HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、NFS、RTSP

二、TCP/IP协议

TCP/IP,定义了主机如何连入网络及数据如何在它们之间传输的标准,见字知意,TCP/IP是TCP和IP协议的合称,但实际上他是整个网络的协议组。参考OSI模型,把所有的TCP/IP系列的协议归到四个抽象层中。

1) 应用层。TFTP,HTTP,FTP,SMTP,DNS,Telnet

2) 传输层。TCP,UDP

3) 网络层。IP,ICMP,OSPF,EIGRP,IGMP

4) 数据链路层。SLIP,CSLIP,MTU

三、OSI和TCP/IP的关系

OSI TCP/IP
引入服务、接口、协议、分层的概念 借鉴OSI的概念建立TCP/IP
先有模型,后有协议 先有协议和应用,然后提出模型
是一种理论的模型 广泛使用,实际成为网络互通的标准
应用层、表示层、会话层 归算在应用层里

四、Socket和TCP/IP的联系

socket翻译过来是套接字,实际上socket是在应用层和传输层之间的一个抽象层,它把TCP/IP复杂的操作搞成几个接口,让应用层调用,实现进程在网络中通信。
在这里插入图片描述
从这个图片,大概也可以看的出来,简单来说,就是socket把TCP/IP组封装了,留了一堆接口让用户调用

五、RPC、RMI、HTTP、REST的区别

首先呢,这几种是调用或者说传输协议方式

RPC:远程服务调用,可以用不同的语言实现,可以借用HTTP协议或者其他协议来实现,基于TCP/IP的自定义协议实现的。(像大家比较熟悉的Dobbo,就是基于rpc在服务互相调用的)

HTTP:超文本传输协议,是应用层的传输协议,一般格式都是json或者xml,也是基于TCP/IP实现的。

REST:是一种架构风格,是基于HTTP协议的,可以理解称为API的规范。比如查询都是GET请求,新增都是POST,修改是PUT,删除是DELETE,就像是大家写前后端分离工程的规范。

RMI:远程方法调用,是一种用于实现RPC的java API,依赖于JVM,所以他只能在java中实现,因为他只支持从JVM到另一个JVM的调用,也可以把它理解成RPC的一个小弟,嘿嘿嘿~

具体要是用哪个方式来完成服务调用,还要看领导对项目的安排,毕竟领导说的都是对的!

总结

基本常用的一些协议和传输规则就是这些了,也仅仅是一些基础的含义。虽然不是做网络的,但一定也要了解吧?然后慢慢深入,毕竟现在微服务已经崛起,无时无刻的传输和调用!

我是左小涩,一个独自在大城市努力的年轻人。
对您有帮助的话,希望献上您的【三连】呦!

猜你喜欢

转载自blog.csdn.net/wushuanghao123/article/details/106466287