您的位置:首页 > 理论基础 > 计算机网络

计算机网络之应用层

2017-03-24 09:00 232 查看
网络应用是计算机网络存在的理由
主流的应用程序体系结构 客户-服务器 或者对等的P2P体系结构

2.21进程通信
通信其实是进程和进程直接 不同的系统的进程通过交换报文来相互通信
进程通过一个称为 套接字 的软件接口来向网络发送和接受报文

应用程序开发者对运输层的控制仅限于1选择运输协议2也许可以设定几个运输层参数 如最大缓存和最大报文的长度
通信需要两个识别条件1主机的地址 (IP地址)2定义在主机接收进程的标识符 (端口号 比如web服务器常用80)

2.13可供应用程序使用的运输服务
服务要求分类
1可靠数据传输 电子邮件等需要确保交付 音频视频可以容忍一定的丢失
2吞吐量 比如网络电话语音以32KBps速率编码 发送也要32 称为 带宽敏感的应用

3定时 实时应用要求较高
4安全性

TCP服务
1面向连接 在传输报文之前 需要相互连接
2 可靠的数据传输 不会丢失
拥塞控制技术 对整个互联网比较友好

UDP服务

应用层协议定义了:
1交换的报文类型 如报文中各个字段如何描述
2各种报文的语法
3字段的语义
4一个进程何时以及如何发送报文

2.2WEB服务和HTTP
web的应用层协议是超文本传输协议(HTTP) ,
2.22非持续性连接和持续连接
客户端和服务器保持通信,每一个请求和响应都使用一个单独的TCP连接发送 称为非连续性连接

工作过程:
1HTTP在端口80发起一个TCP连接
2HTTP客户发出自己的报文
3 HTTP服务器收到报文 检索需要的内容 响应客户端
4HTTP服务器通知TCP断开连接
5HTTP客户端收到以后 断开连接
缺点:为每一个请求建立一个TCP连接 给服务器带来了巨大的负担

所有的都通过一个TCP连接 称为连续性连接

2.23报文格式


2.24用户和服务器的交互cookie
cookie有4个组件
1在HTTP响应报文中的一个cookie首部行
2http请求中的cookie首部行
3在用户端保留一个cookie文件 由浏览器进行管理
4位于web后端的数据库

使用具有争议性
2.25WEB缓存
优点 大大减少对客户端请求的响应时间
大大减少一个机构的接入链路到因特网的通信量
web缓存器的引进了一个新的问题 无法保证缓存器中的数据是最新的 、
解决方法:请求报文使用get方法 在请求报文中包含一个“IF-Modified-Since”首部行
意思就是 每次web缓存服务器收到请求的时候,都会询问服务器 如果该文件有修改过,服务器发送最新的文件给WEB缓存器 ,然后发送给客户端 ,如果没有修改,只需要发送一个回复 表示文件没有修改就可以了

2.3文件传输协议 FTP
HTTP和FTP都是文件传输协议
区别 :
FTP使用了两个并行TCP连接来传输文件
1 控制连接:传输控制信息 包括用户标识 口令
2数据连接

FTP必须以7比特的ASCII格式传输

2.4电子邮件
电子邮件系统 1用户代理2邮件服务器3简单邮件传输协议SMTP 必须7比特的ASCII字码
工作过程
用户代理将邮件发送到邮件服务器上,邮件服务器的SMTP客户端发现这个邮件以后,和目标服务器建立TCP连接,然后发送到服务器,服务器找时间发送给收件人
一般不经过第三方服务器
HTTP是一个拉协议 SMTP是一个推协议

2.44 邮件访问协议

SMTP是一个推协议 无法从服务器中取回邮件 所有需要PO3 IMAP HTTP等协议
PO3是一个非常简单的邮件协议

2.5DNS 因特网的目录服务
定义:1一个由分层的DNS服务器构成的分布式数据库,一个使主机能够查询分布式数据库的一个应用层协议
DNS使用UDP之上 使用53接口
DNS和其他应用层协议的区别在于 DNS不是一个直接和客户打交道的应用,而是一个其他应用层协议使用的一个协议

工作过程:浏览器提取(调用gethostbyname()函数)出来主机名,然后传给DNS客户端(DNS客户端即主机),然后DNS客户端用UDP协议以及53端口发送请求到DNS服务器,DNS响应一个IP地址给客户端 然后就可以发起TCP连接了

DNS提供的其他服务
1主机别名
有的主机有主机别名 主机别名更加好记忆 DNS提供主机别名查询主机名和IP地址
2邮件服务器别名
和主机别名类似
3负载分配
比如cnn.com 分布在多个服务器上面,然后有着不同的IP地址,当客户端请求的时候,DNS会循环的发送这些IP地址,有利于分配负载
DNS适合分布式
集中式的问题
1 单点故障影响整个因特网 2通信容量太大 3远距离的会有很大的延迟4维护非常困难

分布式,层次数据库
根DNS服务器
顶级域服务器TLD
权威DNS服务器
还有本地服务器

DNS缓存
在一个请求链中,当DNS服务器接受到一个应答,他就将该信息缓存到本地存储器中,其他再访问就可以直接响应 保存一段时间吧(几天?)

DNS记录和报文
DNS服务器存储的称为资源记录
资源记录是一个包含4个字段的元组(Name,Value,Type,TTL)TTL是这个记录的生存时间
1如何Type=A 那么 Name就是主机名,Value就是IP地址
2如果Type=NS Name就是一个域,而Value就是一个如何获得该域中主机IP地址的权威DNS的主机名
3如果Type=CNAME 则Value就是一个别名为Name的主机对应的主机规范名
如果Type=MX 则Value是个名为Name的邮件服务器的规范主机名
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: