• 应用层协议原理(一)


    应用层协议原理(一)

    分层体系结构的优点可以很好地在这里体现,应用层应用程序的开发不需要关心网络核心设备上运行的要求,因为网络核心设备只能对网络层及以下起作用,够不到应用层。

    1. 网络应用程序体系结构

    不同于网络体系结构

    1.对于研发者来说,网络体系结构是固定的,其提供的服务集合能为之所用。

    2.网络应用程序体系结构就是研发者设计的,规定如何在各种端系统上组织该应用程序。

    两种主流应用体系结构

    客户-服务器体系结构

    • 服务器具有固定周知的地址,且总时打开。

    • 客户之间不直接通信,客户只通过服务器的IP地址与服务器通信。

    • 解决一服务器对多用户的问题:配备大量的数据中心,创建强大的虚拟服务器。

    • 例如:Web,FTP,telnet,电子邮件等等。

    P2P体系结构

    • 不通过专门的服务器,是对等方和对等方之间的通信

    • 应用程序对位于数据中心的专用服务器又很小的依赖,甚至没有。

    • 例如许多流量密集型应用:共享文件(Bit Torrent、对等方协助下载加速器(迅雷)等。

    当然还有混合的,比如许多即时讯息应用

    • 服务器跟踪用户的IP地址--->L客户-服务器体系结构

    • 用户与用户之间的报文在主机之间直接发送--->P2P体系结构

    2. 进程通信

    进行通信实际上就是进程(process),而不是程序。一个进程可以被认为是运行在端系统上的一个程序

    • 多个进程在同一端系统上时,直接使用进程间通信机制进行通信,且通信规则由操作系统来决定。

    • 当进程在不同端系统上,相互之间进行通信,需要怎么办呢?就是发送端生成报文并向网络中发送,接收端接受报文并可能通过回送报文进行响应。

    客户和服务器进程

    网络应用程序由好多好多进程对组成,进程对中两个重要的角色,客户(client)服务器(server)

    • Web应用程序中,web服务器->服务器进程,浏览器是客户进程。

    • P2P文件共享系统中,上传文件的为服务器,下载文件的是客户。

    注:尽管P2P中某个进程既是客户又是服务器,但在任何一个给定进程对之中,他的身份总时确定的

    在一对 进程之间的通信会话场景中,发起通信的进程被标识为客户,在绘画开始时等待联系的是服务器。

    进程与计算机网络之间的接口

    首先要先清楚一个很重要的概念:套接字(socket)。

    套接字是应用层和运输层之间的接口。

    由于套接字是建立网络应用程序的可编程接口,所以套接字也被称为应用程序编程接口(Application Programming Interface)。

    注意:应用程序开发者可以控制套接字在应用层端的一切,但是对运输层端几乎没有控制权。对运输层端的控制仅限于

    1.选择传输协议。

    2.设定几个运输层参数(最大缓存和最大报文长度等)。

    一旦选择了一个运输层协议,应用程序就建立在由该协议提供的运输层服务之上。

    进程寻址

    从一台主机将分组发到另外一台主机,需要标识接收进程的地址,不然怎么找得到哦。如何定义呢?

    1.目的地主机地址(由IP地址(IP address)唯一标识)。

    2.指定运行在接收主机上的接收进程,具体地说,是接收套接字。(通过端口号(port number)标识)

    大概就像去图书馆找书,图书馆的地址就是所谓的主机地址,是自己学校的图书馆而不是其他学校的,找的书也有属于自己的书单号,图书馆中那么多的书,以不同的编号区分,这就类似与端口号。一台主机上运行的多个进程,就好比一个图书馆里的多本书,一样一样的。

  • 相关阅读:
    JDK+MyEclipse+Tomcat配置
    常用数据类型占内存字节数
    连连看核心算法
    gnuplot画图
    socket服务器的搭建-Mac
    AlertController提示框
    block-循环引用
    OC基础(21)
    OC基础(20)
    OC基础(19)
  • 原文地址:https://www.cnblogs.com/summerday152/p/11884528.html
Copyright © 2020-2023  润新知