通信-未完成

通信

概述:

​ 网络编程对于后端开发来说也是非常重要的一部分,常见的使用案例包含,邮件、web服务器、RPC等底层通信模型都离不开通信。及Java是第一个从一开始就为网络应用而设计的编程语言,最早的两个实用Java应用的程序之一就是Web浏览器,随着Internet的不断发展,Java成为了唯一适合构建下一代网络应用程序的语言。

网络模型

数据报文(TCP)

通信-未完成

网络的基本七层模型

  • 物理层:物理层面,常指的光纤、网线等。
  • 链路层:链路层是用于定义物理传输通道,通常是对某些网络连接设备的驱动协议,例如针对光纤、网线提供的驱动。
  • 网络层:网络层是整个TCP/IP协议的核心,它主要用于将传输的数据进行分组,将分组数据发送到目标计算机或者网络。
  • 传输层:主要使网络程序进行通信,在进行网络通信时,可以采用TCP协议,也可以采用UDP协议。
  • 会话层:会话单位的控制层,主要功能是按照在应用进程之间约定的原则,按照正确的顺序收、发数据,进行各种形态的对话。
  • 表示层:数据表示形式的控制层,主要功能是把应用层提供的信息变换为能够共同理解的形式,提供字符代码、数据格式、控制信息格式、加密等的统一表示。
  • 应用层:主要负责应用程序的协议,例如HTTP协议、FTP协议等。

传输层协议

两个已知IP数据报的主机通讯协议,规定的是“两个主机之间的通信”协议或者规范,真正进行通信的实体是主机中的进程。

根据应用程序的不用需求,运输层需要两种不同的运输协议,即面向连接的TCP和无连接的UDP。

TCP数据单元为段 而UDP中数据单元为数据报。

TCP

UDP

模式

socket模式

多进程模式

多线程模式

I/O多路复用模型

上一篇:工作记录[续] android OBB


下一篇:大爆发,华人学者一周内发表10篇CNS主刊!