1. 网络应用的体系结构
1. 客户机 / 服务器结构
服务器要对外提供服务,故提供要永久性访问地址/域名,提供7*24小时的服务,利用大量服务器实现可扩展性。
客户机与服务器通信,使用服务器提供的服务,间歇性接入网络,可能使用动态的IP地址,不会和其他的客户机直接通信。
典型的就是Web服务。
2. 点对点结构(p2p)
没有永远在线的服务器,任一端系统/节点之间可以直接通讯,节点间歇的接入网络,节点可能改变IP地址。一般是文件传输的服务。
优点:高度可伸缩。缺点就是难于管理。
3. 混合结构
2. 网络应用进程通信
进程:主机上运行的程序。不同主机上运行的进程间如何通信?消息交换。
客户机进程:发起通信的进程。服务器进程:等待通信请求的进程。p2p也是有类似的两种进程。
进程间通信利用socket发送和接收信息实现。
如何寻址进程?
不同主机上的进程间通信,那么每个进程必须拥有标识符。
利用IP地址寻址主机,同时我们为主机上每个需要通信的进程分配一个端口号(因为同一主机上可能同时有多个进程需要通信)。那么就是IP地址+端口号作为进程的标识符。
3. 应用层协议
网络应用需要遵循应用层协议。公开协议:由于RFC定义,允许互操作,HTTP,SMTP。私有协议:多数P2P文件共享应用。
应用层协议的内容:消息的类型(请求消息,响应消息),消息的语法格式,字段的语义,规则。
4. 网络应用的需求与传输层服务
1. 网络应用对传输服务的需求
1. 数据丢失 / 可靠性
2. 时间延迟
3. 带宽
2. Internet提供的传输服务
5. DNS(域名系统)
解决的是Internet上主机 / 路由器而定识别问题。IP地址,域名。
域名解析系统DNS:实现域名和IP地址映射。它是一个多层命名服务器构成的分布式数据库,用应用层系统去实现,Internet的核心功能。
DNS服务:域名向IP地址的翻译,主机别名,邮件服务器别名,负载均衡:Web服务器。
你找域名的时候,从根域名服务器开始访问,顶级域名服务器负责com,org,net,edu等顶级域名和国家顶级域名,例如cn,uk,fr等。权威域名服务器(组织的域名解析服务器,提供组织内部服务器的解析任务),本地域名解析服务器(不严格属于层次体系地方)。
DNS资源记录:一条资源记录是衣蛾五元组。
DNS协议:查询和回复消息,格式一样。
找在应用层实现的Internet核心服务!!