先赞再看,良好习惯,希望对大家有点帮助,小白猿 -【左小涩】
前言
这不是过节了嘛?儿童节也是节!我不管!我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的一个小弟,嘿嘿嘿~
具体要是用哪个方式来完成服务调用,还要看领导对项目的安排,毕竟领导说的都是对的!
总结
基本常用的一些协议和传输规则就是这些了,也仅仅是一些基础的含义。虽然不是做网络的,但一定也要了解吧?然后慢慢深入,毕竟现在微服务已经崛起,无时无刻的传输和调用!
我是左小涩,一个独自在大城市努力的年轻人。
对您有帮助的话,希望献上您的【三连】呦!