计算机网络(一) OSI七层模型及TCP/IP

1.OSI 的来源:
     先来看看百度百科怎么说?
     “OSI是Open System Interconnection的缩写,意为开放式系统互联。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。OSI模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
这是一种事实上被TCP/IP 4层模型淘汰的协议。在当今世界上没有大规模使用。”    --------来自百度百科
 
2.什么是七层模型:
应用层:通过消息头来规定协议,是给用户提供服务的协议,应用层协议的代表:HTTP、DNS、FTP、Telnet等;
表示层:根据不同系统进行数据格式化,进行代码转换和字符集的转换、数据格式的修改以及对数据结构操作的适配,数据加密等;表示层协议的代表:JPEG、 Gif、MPEG等;
会话层:会话层不参与具体的传输,它提供访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。会话层协议的代表:SSL 安全套接字层协议,RPC 远程过程调用协议,LDAP 轻量级目录访问协议;
传输层:提供端口,从会话层接收数据,根据需要把数据切成较小的数据段,并把数据传送给网络层,确保数据片正确到达网络层,从而实现两层数据的传输;  传输层协议的代表:TCP、UDP等;
网络层:接收数据链路层发送过来的帧,提取数据包,包中封装有网络层包头,其中含有逻辑地址信息源站点和目的站点地址,主要功能是基于网络层地址(IP地址)选择具体物理地址,代表设备:路由器;  网络层协议的代表:IP 等;
数据链路层:将比特信息封装成数据帧,为网络层提供可靠无错误的数据信息,代表设备:交换机,物理层协议的代表:ARP地址解析协议,RAR逆向地址解析协议;
物理层:为数据端设备提供传送数据的通路,以比特流形式在物理媒体上传输数据,代表设备:网线、光纤、网卡,物理层协议的代表:IEEE 802.2,Ethernet v.2,Internetwork;
 
3.TCP/IP 四层模型:
    TCP/IP协议:是一个网络通信模型,是OSI 七层模型的简化,为4层模型,泛指众多(TCP,UDP,IP等)协议;
 
OSI
TCP/IP
功能
协议
应用层
应用层
文件传输,电子邮件,文件服务,虚拟终端
TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等
表示层
数据格式化,代码转换,数据加密
没有协议
会话层
解除或建立与别的接点的联系
没有协议
传输层
主机到主机层(TCP)(又称传输层)
提供端对端的接口
TCP,UDP
网络层
网络层(IP)(又称互联层)
为数据包选择路由
IP,ICMP,OSPF,EIGRP,IGMP
数据链路层
网络接口层(又称链路层)
传输有地址的帧以及错误检测功能
SLIP,CSLIP,PPP,MTU
物理层
以二进制数据形式在物理媒体上传输数据
ISO2110,IEEE802,IEEE802.2
 
4.常见协议——Dubbo协议的学习:
  Dubbo协议是Dubbo的默认协议, Dubbo协议是TCP协议之上的协议,采用单一长连接和 NIO 异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。
        
   * Transporter: mina, netty, grizzy
        * Serialization: dubbo, hessian2, java, json
        * Dispatcher: all, direct, message, execution, connection
        * ThreadPool: fixed, cached
    Dubbo协议的特性:

  连接个数:单连接
  连接方式:长连接
  传输协议:TCP
  传输方式:NIO异步传输
  序列化:Hessian 二进制序列化
  使用范围:传入传出参数数据包较小(建议小于100k),消费者比提供者个数多,单一消费者无法压满提供者,尽量不要用Dubbo协议传输大文件和超大字符串;

   Dubbo的配置
   配置协议:
    <dubbo:protocol name="dubbo" port="20880" />
  设置默认协议:
     <dubbo:provider protocol="dubbo" />
  设置服务协议:
    <dubbo:service protocol="dubbo" />
     多端口:
    <dubbo:protocol id="dubbo1" name="dubbo" port="20880" />
    <dubbo:protocol id="dubbo2" name="dubbo" port="20881" />
   配置协议选项:
    <dubbo:protocol name=“dubbo” port=“9090” server=“netty” client=“netty” codec=“dubbo” serialization=“hessian2” charset=“UTF-8” threadpool=“fixed” threads=“100” queues=“0”                  iothreads=“9” buffer=“8192” accepts=“1000” payload=“8388608” />
   
    Dubbo  Tips:

   * Dubbo 协议缺省每服务每提供者每消费者使用单一长连接,如果数据量较大,可以使用多个连接。
     <dubbo:protocol name="dubbo" connections="2" />
   * 为防止被大量连接撑挂,可在服务提供方限制大接收连接数,以实现服务提供方自我保护。
     <dubbo:protocol name="dubbo" accepts="1000" />

 
    感谢您的阅读,本博客旨在记录学习点滴,欢迎互相学习交流!!
    
 
 
 

猜你喜欢

转载自www.cnblogs.com/xuan527/p/10740392.html