计算机网络之应用层



应用层

一、网络应用体系结构

1. 客户机/服务器结构

2. 点对点结构P2P

  • 没有永远在线的服务器

  • 任意端系统之间可以直接通讯

  • 节点间歇性接入网络

  • 例如:文件共享

3.混合结构

  • Napster:文件传输使用P2P结构,文件的搜索采用 C/S结构(集中式)

4. 进程间通信

  • 不同主机上运行的进程间如何进行通信——消息交换(利用Socket)。

  • 不同主机上的进程间通信,那么每个主机必须拥有标识符——IP地址,每个进程需要拥有标识符——端口号。消息的具体交换依靠的是协议

  • 消息类型:请求消息 & 响应消息

  • 消息语法& 语义

二、网络应用的服务需求

  • 数据丢失/可靠性

  • 时间/延迟

  • 带宽

三、Internet传输层服务模型

1.TCP服务

  • 面向连接

  • 可靠数据传输

  • 流量控制

  • 拥塞控制

  • 不提供时间/延迟保障

  • 不提供最小带宽保障

2.UDP服务

  • 无连接

  • 不可靠数据传输

  • 不提供 :

    • 可靠保障

    • 流量控制

    • 拥塞控制

    • 延迟保障

    • 带宽保障

四、特定的网络应用及协议

1.HTTP  (超文本传输协议)

  • C/S结构

  • 使用TCP传输服务

  • 无状态协议:服务器不维护任何优选科幻段过去所发请求的信息

    • 为什么采用无状态机制?—— 因为有状态的协议更复杂,需要维护状态 ;如果客户或服务器失效,会产生状态不一致

2、Http连接类型

RTT

  • 非持久性连接:每个tcp连接最多允许传输一个对象(一个网页包含多个图片时就需要多次连接)

    • 每个对象需要2个RTT

    • 操作系统需要为每个tcp连接开销资源

    • 浏览器怎么做?—— 打开多个并行的tcp连接以获取网页所需对象

  • 持久性连接:每个tcp连接允许传输多个对象

    • 无流水的持久性连接:客户端只有收到前一个响应后才发送新的请求,每个被引用的对象耗时一个RTT

    • 流水机制的持久性连接:客户端只要遇到一个引用对象就尽快发出请求,理想状态下所有引用只需1个RTT

3.http消息

  • 请求消息:ASCII:人直接可读。

  • 响应消息:

4.cookie技术

  • 因为http协议是无状态的,某些网站为了辨别用户身份、进行session跟踪而存储在用户本地终端上的数据

  • cookie组件

    1. http响应消息的cookie头部行

    2. http请求消息的cookie头部行

    3. 保存在客户端主机上的cookie文件,有浏览器管理

    4. web服务器端的后台数据库

  • 原理:

  • cookie

5. web 缓存/代理服务器技术

  • 功能:在不访问服务器的前提下满足客户端的HTTP请求

  • 为什么要发明这种技术:

    • 缩短请求的响应时间

    • 减少计算时间

    • 大范围的内容分发

  • 缓存既充当客户端也充当服务端 ,如果缓存有最新版本,则不需要发送请求对象


1. Email 应用

  • 组件:客户端、服务器、SMTP协议

  • 为什么不直接建立连接,为什么采用邮件服务器?

    1. PC机不能7*24 小时在线

    2. 如果发送不成功,就需要自己不断的尝试。邮件服务器起了一个中间过渡的作用

  • 传输阶段:握手、消息传输、关闭

  • 特点:

    1. Email消息只能包含 7位ASCII码

    2. SMTP依赖TCP进行可靠传输

    3. 以 . 表示结束

  • 与HTTP对比:

    1. HTTP:拉式 ; SMTP:推式

    2. HTTP:每个对象封装在独立的响应消息中;SMTP:多个对象在由多个部分构成的消息中发送

    3. 都使用命令/ 交互模式

    4. 命令和状态代码都是 ASCII 码

2. Email消息格式

  • 头部行: TO  From  Subject

  • 消息体:消息本身,只能是 ASCII字符

  • 为了在Email中发送二进制文件(图片、视频),所以在邮件头部增加额外的行以声明MIME的内容类型

3. 邮件访问协议:从服务器获取邮件

  • POP:post office protocol——命令/响应模式

  • IMAP:Internet Mail Access Protocol—— 更多功能、更加复杂

  • HTTP:163、QQMail


1. DNS

  • 域名解析

  • 负载均衡

  • 为什么不使用 集中式DNS?

    1. 单点失效问题

    2. 流量、距离问题

  • DNS域名解析过程

    1. 缓存(浏览器中)

    2. 系统中的 hosts 文件

    3. 请求域名服务器 LDNS —主要

    4. 请求 root Server 域名服务器(.)

    5. 向 gTLD 域名解析服务器发送请求(.com) – name server(taobao.com)

    6. 查询请求的域名对应的 Ip地址 

  • 迭代查询

  • 递归查询

2.DNS记录

  • Type = A:name是主机名,value 是该主机名对应的IP地址。因此一条类型为A 的资源记录提供了标准的主机名到IP地址的映射

  • Type= NS:则name是个域,value 是个知道 如何获得该域中主机IP地址的权威DNS服务器的主机名。这个记录用于沿着查询链来路由DNS查询

  • Type = CNAME:name 是别名,value 是其对应的规范主机名

  • Type= MX:value 是个别名为那么的邮件服务器的规范主机名。允许一个公司的邮件服务器和其他服务器可以使用相同的别名






    分布式、层次数据库:DNS服务器实现了分布式数据库
        当一个客户要主机名为 www.amazon.com 的IP地址时,客户首先与根服务器之一联系,他将返回顶级域名 com的TLD 服务器的IP地址。该客户则与这些TDL 服务器之一联系,它将为amazon.com返回权威服务的IP地址。最后该客户与amazon.com的权威服务器之一联系,他为主机名www.amazon.com返回其IP地址







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值