应用层-day01

Posted 栗霖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了应用层-day01相关的知识,希望对你有一定的参考价值。

主流应用程序体系结构:CS结构、P2P结构。

CS结构:客户-服务器体系结构。有一台总是打开的主机称为服务器,它服务来自其他许多称为客户的主机的请求。

P2P体系结构:应用程序在不同的主机间链接,被称为对等方。P2P体系结构最有特点的地方在于自扩展性,但是也有问题:ISP不友好、安全性、用户是否愿意提供带宽。

 

进程通信:

  在两个不同端系统上的进程,通过跨越计算机网络交换报文而相互通信。

网络应用程序由成对的进程组成。在给定的一对进程之间的通信会话场景,发起通信的进程被表示为客户,在会话开始时等待联系的进程是服务器。

多数应用程序由通信进程对组成,进程通过一个软件接口(套接字)向网络发送报文和从网络接受报文。

 

套接字:

  是一台主机内应用层与运输层之间的接口,也成为应用程序编程接口(Application  Programming  Interface)  

开发者对于运输层的控制权仅限于:1.选择运输层协议。2.设定仅有的几个运输层参数。

 

为了标识接收进程需要定义两个信息:主机的地址  主机中接收进程的标识符。这两个信息分别用:ip  端口号做标识。

 

运输层协议可以为应用程序提供:1.可靠数据传输、2.吞吐量、3.定时、4.安全性四个方面的服务。

可靠数据传输:端系统的传送的数据正确且完全地交付给另一个端系统。

吞吐量:具有吞吐量敏感的应用被称为:带宽敏感数据。

定时:指能够实现较短的时延。

安全性:运输层协议能够对数据进行加密和解密。

 

因特网为应用程序提供了两个运输层协议:UDP和TCP。

TCP:

  包含面向连接服务与可靠数据服务。某个应用程序调用TCP作为运输协议时,该应用就能获得这两个服务。

面向连接服务:

  在数据报文流动前,TCP让客户端与服务端相互交换运输层控制信息(三次握手),握手后一个TCP连接就在应用程序的套接字间建立了。该连接是全双工的,即连接双方的进程可以在此连接同时发送报文。当应用程序发送报文结束时,该连接需要拆除(四次挥手)。

可靠的数据传送服务:

  通信进程可以依靠TCP,无差别、按适当顺序交付所有发送的数据。不会出现字节丢失和冗余。

TCP还具有拥塞控制机制:当发送方和接收方间的网络出现拥塞时,TCP的拥塞控制机制会抑制发送进程。

至于安全性问题:

  TCP与UDP都没有加密机制。因特网界使用安全套接字层(Secure Sockets Layer,SSL)。

 

UDP:

  是一种不提供不必要服务的轻量级运输协议,仅提供最小的服务。

  UDP无连接,即进程通信不会握手、UDP提供一种不可靠数据传送服务,不能够保证该报文将到达接受进程(到达的报文也可能乱序)。

 

应用层协议:

  定义了运行在不同端系统上的应用程序进程如何相互传递报文:

    交换的报文类型。          如请求报文和响应报文

    各种报文类型的语法。        报文中的各个字段及这些字段是如何描述的。

    字段的语义。            字段包含的信息

    一个进程何时以及如何发送报文,对报文进行响应的规则。   

 

以上是关于应用层-day01的主要内容,如果未能解决你的问题,请参考以下文章

Java基础-day01

# Day01-Java基础

day01Java基础语法

ios day01

python全栈开发 day01

06day01input_app