第6章 应用层
数据传输的终点是主机进程,网络通信的目的是为了给应用提供服务;
各应用层协议讲述了各应用的进程如何在主机中完成通信工作的.
进程和线程: 进程可以理解为“执行中的程序”,在一个进程中可以创建多个线程,让这些线程在“同一时刻”分别去做不同的工作,且它们共享同一块内存.
多线程技术的缺点: 多线程在宏观上是并行的,但在微观上其实是分时切换串行的,所以在使用多线程时,线程数量超过一定数值后,线程越多速度反而越慢.
举例说明: CPU——工厂 进程(任一时刻,单个CPU只能运行一个进程)——车间(工厂电力有限只能供一个车间使用) 线程——工人(一个车间里很多工人协同) 内存(进程的内存共享)—空间(车间的空间共享)
操作系统的三种设计:
- 多进程形式,允许多个任务同时执行. 此时CPU采用分时复用的方式进行,由于运行速度很快所以用户感觉不到在切换,感觉是在同时运行.(如:1v100时,是一个一个击倒对手的,但由于出手速度很快,所以在外人看来你是同时击倒的)
- 多线程形式,允许单个任务分成不同部分运行
- 提供协调机制,一方面防止进程之间和线程之间产生冲突,一方面允许进程之间和线程之间共享资源
DNS(域名系统):是因特网使用的命名系统,一个将域名(便于人们记忆和使用的名字)和IP地址相互映射的分布式数据库(分别存储在不同的物理节点上),并采用客户-服务器方式(因特网边缘的端系统之间通信的一种方式,客户和服务器都是指通信中所涉及到的两个应用进程,该方式所描述的是进程之间服务和被服务的关系).
为什么要使用域名:用户与因特网上的某个主机通信时,必须知道对方的IP地址,但用户很难记住32位二进制的主机地址(或点分十进制IP地址). 所以在应用层为了便于用户记忆,更多的是使用域名(在网络层进行数据传输时,才通过DNS将域名转化为路由中使用的IP地址).
P2P(对等通信方式)举例:本质上还是C/S,只不过双方都可以即为C又为S
- 文件共享:P2P(如:网盘)允许图像、视频以及各种软件在不同计算机之间直接共享.
- 金融服务:P2P的沟通只涉及沟通的双方,不会有第三者知道双方沟通的信息,所以非常适合发展在线金融服务.
|