计算机网络note_应用层原理
1、C/S 客户/服务器模式
1.1、服务器
-
要一直运行; 有固定的IP和周知(约定)的端口号;
存在的问题: 性能问题:随着访问用户的增加,性能在到达阈值之后急剧下降; 扩展性:可扩展性差,用户多了之后服务器容量、服务器本身、网络的带宽等都要优化; 可靠性:一旦服务器宕机,所有的用户都无法访问;
1.2、客户端
-
以间歇的方式,主动和服务器通信; IP可能是动态的; 不与其他客户端建立连接;
2、对等体系结构
-
(几乎)没有一直运行着的服务器; 任意端系统之间可以通信; 每个节点既是客户端又是服务器; 参与的主机间歇性连接且可以改变IP;
3、分布式应用进程通信要解决的问题
互联网提供了远程的进程间通信,连接了世界各地;
3.1、进程标识和寻址问题(谁跟谁通讯?)
要知道是主机上的哪一个进程,如何找到地址来进行通信;
-
主机IP; TCP进程还是UDP进程; TCP进程的端口号或UDP进程的端口号;
3.2、利用传输层向应用层提供的何种服务?(用什么方式来通讯?)
位置:层间界面的SAP(TCP/IP:Socket);形式:应用程序接口API(TCP/IP:Socket API)
-
通讯要能传输报文数据SDU、源IP、目标IP信息; 传输层传输时要根据上面的信息,进行封装;
Q:如何减少层间传输的信息量? A:利用本地的Socket,将源/目标IP和(或)源/目标port标识为一个整数来管理;
3.3、应用层面如何实现?(通信的具体内容是什么?)
定义应用层协议:报文格式、说明、时序;
编写应用程序:利用操作系统提供的API,调用网络基础设施实现报文传输;
4、SSL(Secure Sockets Layer 安全套接字协议)
属于应用层,在APP应用和TCP/UDP之间,用于保证数据传输的安全性;
上一篇:
Java架构师技术进阶路线图