网络应用层

参考b站哈工大计算机网络课程,老师讲的很好很全面,笔记出自老师课件。

b站哈工大计网课程传送门

https://www.zhihu.com/question/21803672
在这里插入图片描述

网络应用的体系结构

客户机/服务器结构(Client-Server, C/S)
点对点结构(Peer-to-peer, P2P)
混合结构(Hybrid)

客户机/服务器结构

服务器
7*24小时提供服务
永久性访问地址/域名
利用大量服务器实现可扩展性

客户机
与服务器通信,使用服务器提供的服务
间歇性接入网络
可能使用动态IP地址
不会与其他客户机直接通信

CS架构与BS架构的区别???
C = Client, S = Server。C/S 架构即“客户端-服务器” 架构。这里的“客户端”可以是有 GUI (图形用户界面)的定制软件,也可以是浏览器,甚至可以是通过 SSH 访问服务器的命令行脚本。只要是客户端通过访问服务器调取计算或者存储资源的,统统都是 C/S 架构。所谓的 Browser-Server 架构其实是 C/S 架构的一种特殊的实现形式,而不是其对立面。

P2P结构

没有永远在线的服务器
任意端系统/节点之间可以直接通讯
节点间歇性接入网络
节点可能改变IP地址
优点:高度可伸缩
缺点:难于管理

网络应用的基础:进程间通信
进程:主机上运行的程序
同一主机上运行的进程之间如何通信?
进程间通信机制
操作系统提供
不同主机上运行的进程间如何通信?
消息交换
客户机进程: 发起通信的进程
服务器进程: 等待通信请求的进程

在这里插入图片描述如何寻址进程?
不同主机上的进程间通信,那么每个进程必须拥有标识符
进程的标识符:IP地址+端口号

应用层协议
网络应用需遵循应用层协议
公开协议由RFC(Request For Comments)定义
允许互操作 HTTP, SMTP、
私有协议: 多数P2P文件共享应用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

WEB与HTTP

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

HTTP消息格式

request
在这里插入图片描述在这里插入图片描述在这里插入图片描述response
在这里插入图片描述

http状态码

在这里插入图片描述常用的:200 201 202 400 404 405 406 415 500 501 502 503
在这里插入图片描述

Cookie

在这里插入图片描述Cookie能够用于:
身份认证
购物车
推荐
Web e-mail

Cookie存在隐私问题

Email应用

Email应用的构成组件
邮件客户端(user agent)
邮件服务器
SMTP协议(Simple Mail Transfer Protocol)

邮件客户端
读、写Email消息
与服务器交互,收、发Email消息
Outlook, Foxmail, Thunderbird
Web客户端

邮件服务器(Mail Server)
邮箱:存储发给该用户的Email
消息队列(message queue):存储等待发送的Email

SMTP协议
邮件服务器之间传递消息所使用的协议
客户端:发送消息的服务器
服务器:接收消息的服务器

SMTP协议: RFC 2821
使用TCP进行email消息的可靠传输、端口25
传输过程的三个阶段:握手、消息的传输、关闭
命令/响应交互模式
命令(command): ASCII文本
响应(response): 状态代码和语句
Email消息只能包含7位ASCII

在这里插入图片描述Email消息格式
SMTP:email消息的传输/交换协议
RFC 822:文本消息格式标准
头部行(header)
• To
• From
• Subject
消息体(body)
• 消息本身
• 只能是ASCII字符

在这里插入图片描述
在这里插入图片描述
POP协议
“下载并删除”模式:用户如果换了客户端软件,无法重读该邮件
“下载并保持”模式:不同客户端都可以保留消息的拷贝
POP3是无状态的

IMAP协议
所有消息统一保存在一个地方:服务器
允许用户利用文件夹组织消息
IMAP支持跨会话(Session)的用户状态 : 文件夹的名字、文件夹与消息ID之间的映射

DNS概述
DNS:Domain Name System
Internet上主机/路由器的识别问题:IP地址 域名:www.hit.edu.cn
域名和IP地址之间如何映射?
域名解析系统DNS
多层命名服务器构成的分布式数据库
应用层协议:完成名字的解析
• Internet核心功能,用应用层协议实现
• 网络边界复杂

DNS服务
域名向IP地址的翻译
主机别名
邮件服务器别名
负载均衡:Web服务器
问题:为什么不使用集中式的DNS?
单点失败问题
流量问题
距离问题
维护性问题

在这里插入图片描述本地域名解析服务器无法解析域名时,访问根域名服务器
根域名服务器如果不知道映射,访问权威域名服务器获得映射,向本地域名服务器返回映射
全球有13个根域名服务器

顶级域名服务器(TLD, top-level domain): 负责com, org, net,edu等顶级域名和国家顶级域名,例如cn, uk, fr等
Network Solutions维护com顶级域名服务器
Educause维护edu顶级域名服务器

权威(Authoritative)域名服务器:组织的域名解析服务器,提供组织内部服务器的解析服务
组织负责维护
服务提供商负责维护

本地域名解析服务器
不严格属于层级体系,每个ISP有一个本地域名服务器
默认域名解析服务器
当主机进行DNS查询时,查询被发送到本地域名服务器
作为代理(proxy),将查询转发给(层级式)域名解析服务器系统

在这里插入图片描述
在这里插入图片描述DNS记录缓存和更新
只要域名解析服务器获得域名—IP映射,即缓存这一映射
一段时间过后,缓存条目失效(删除)
本地域名服务器一般会缓存顶级域名服务器的映射
• 因此根域名服务器不经常被访问
记录的更新/通知机制
RFC 2136
Dynamic Updates in the Domain Name System (DNS UPDATE)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值