文章目录
- 什么是应用层
- 应用层原理
- P2P模式
- C/S模式
- 进程的通信原理
- 客户和服务器进程
- 进程发生
- 运输服务类型
- TCP服务
- UDP服务
- 服务选择
什么是应用层
应用层原理
-
P2P模式
两台主机相互通信互为服务器,互为主机,可以发现,这样的模式下,如果是管理员,很难进行宏观调控。但优势在于应用程序在简短连接的主机对之间使用直接通信,对于即时讯息来说效果是很好的,不需要反复横跳(哈哈)。
拓展:连接不是持续性连接。可以断开。 -
C/S模式
这个也很简单,一台主机管理着其他各台主机
进程的通信原理
在两个不同的端系统进行通信进程
客户和服务器进程
- 在每对通信进程中,将两个进程之一标识为客户,另一个标识为服务器。
- 套接字:应用程序与网络之间的应用程序编程接口
- 为了让每个进程都能顺利的完成,此时需要对其分配一个终了地址
- 应用在使用TCP或UDP时,会用到操作系统提供的类库。使用TCP或UDP通信时,又会广泛使用到套接字(socket)的
API。套接字原本是由BSD UNIX开发的,但是后被移植到了
Windows的Winsock以及嵌入式操作系统中
进程发生
在因特网中,主机有IP地址,在这里只需要知道有这个东西就行了。在应用层和运输层之间的接口就是上面提到的套接字,运输层协议支配保温进入套接字内部
下面介绍一下运输层的协议所提供的服务
- 为了避免在传输过程中发生意外,运输车协议提供了可靠数据传输
- 发送方注入套接字的每个比特到达接受方的时延是定时的
- 运输层为应用程序提供了安全性极高的服务,运输层协议会对进程进行加密传输。
运输服务类型
ps 需要提前了解的知识:面向连接和无连接服务
TCP服务
- 面向连接的服务是TCP服务的一个核心要点,在报文开始传递之前,TCP让客户和服务器互相交换运输层的控制信息,在这个过程中,一个TCP连接就此诞生。
TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答SYN+ACK,并最终对对方的 SYN
执行 ACK 确认。这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议。 在这里插入图片描述
- 可靠数据传输服务为进程通信提供了安全可靠的基础,在字节流传入时,他会依靠TCP的服务来交付给接收方,没有丢失和冗余。
- 如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失。所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。
利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。
UDP服务
- 最小服务特性
- UDP无连接特性
- 数据传输不可靠
- 不保证进程能无误到达接收方
服务选择
这需要看情况 ,不是肯定的,比如说你听歌曲的话采用UDP模式下,可以让你的应用“快”。TCP需要消耗一定的时间,可能已经错过了播放的时机。
而你要发作业给学生,你就得尽量保证作业的完整性采用TCP,总不能发的都是错的吧?
下一章节
HTPP详解、cookie、缓存