应用层是我们日常接触到的层次,比如:
应用层体系结构
通常有三个模式
-
C/S 模式
:服务器:
-
总是打开的主机
-
具有固定的、众所周知的IP地址
-
主机群集常被用于创建强大的虚拟服务器
客户机:
-
同服务器端通信
-
可以间断的同服务器连接
-
可以拥有动态IP地址
-
客户机相互之间不直接通信
-
-
P2P体系结构
:-
没有总是打开的服务器
-
任意一对主机直接相互通信
-
对等方间歇连接并且可以改变IP地址
-
优点:自扩展性强
-
缺点:难以管理
-
-
C/S P2P的混合模式
(结合两者优点)如:
应用层通信原理
网络应用实际上是端系统之间对等实体的进程在通信
进程通信
- 同一主机上的两个进程通过内部进程通信机制进行通信
- 不同主机上的进程通过交换报文相互通信
客户进程: 发起通信的进程
服务器进程: 等待联系的进程
注意:具有P2P体系结构的应用程序既有客户进程和服务器进程。
进程与计算机网络的接口:套接字 socket
在对等实体之间的进程通过套接字通信
进程通过它的套接字在网络上发送和接收报文
套接字又叫做应用程序编程接口API
用户通过API对传输层的控制仅限于:
(1) 选择传输协议
(2) 能设定几个参数
浅谈进程寻址
我们有那么多网络应用,QQ,微信。
对等实体之间的进程通信怎么找到它的目的地呢?
-
为了一个进程能接收报文, 它需要一个标识
-
主机有唯一的32位IP地址 **问:**主机的IP地址足够标识进程吗?
-
**答:**不能。因为一台主机上 能够运行许多进程。
主机上的进程标识包括IP地址 和端口号
常用应用程序的端口号:
-
Web服务:80
-
邮件服务:25
所以说网络应用进程寻址主要是通过IP+端口号实现的
应用层需要什么服务?
不同应用的服务是不一样的,在下层传输层提供的服务是可能不一样的。
比如:
因特网运输协议提供的服务
TCP服务
面向连接的服务:在客户机程序和服务器 程序之间必须建立连接
-
可靠的传输服务: 接收和发送进程间
-
流量控制: 发送方不会淹没接收方
-
拥塞控制: 网络出现拥塞时抑制发送进程
-
没有提供:时延保证,最小带宽保证
UDP 服务
不可靠数据传输
没有提供:
- 建立连接
- 可靠性
- 流量控制
- 拥塞控制
- 时延和带宽保证
应用层 根据所需确定下层服务
关于传输层的安全性