计算机网络学习【三】应用层
作者:互联网
应用层是协议栈自上层。
先看看大致目录。
网络体系结构
- 客户机/服务器
- P2P
- 混合结构
网络应用的服务模型
- 可靠性
- 带宽
- 时延
Internet传输层服务模型
- TCP
- UDP
特定网络应用及协议
- HTTP
- SMTP,POP,IMAP
- DNS
- P2P应用
Socket编程
- TCP
- UDP
目录
网络应用的体系结构
网络应用你肯定知道,百度,QQ,迅雷,支付宝全部都是。
和单机应用不同,要有网才能用
正经:网络应用需要有网络的基础环境
网络应用的体系结构分为:
- 客户机/服务器结构(C/S)
- 点对点结构(P2P)
- 混合结构
C/S
例如:Web
P2P
混合结构
例子
网络应用进程通信
套接字socket
在知道利用socket作为工具了,那怎么找到我们要找的进程呢?(即如何寻址进程)
进程寻址
当我们知道用什么发,发到哪里后,我们就该商量规矩了,即用什么格式发。(应用层协议)
应用层协议
网络应用应遵循应用层协议。
- 公开协议:由RFC定义,允许互操作(例如HTTP,SMTP等)
- 私有协议:多数P2P文件共享应用
网络应用的需求与传输层的服务
网络应用对传输服务的需求
Internet提供的传输服务
Web应用
web基本构成
- 网页:包含多个对象(HTML文件,JPEG图片,视频文件,动态脚本等)
基本HTML文件:包含对其他对象引用的链接 - 网页互相连接
对象之间的寻址:URL(统一资源定位器)
格式: 协议://主机号host:端口号port/路径path
HTTP协议
HTTP协议是超文本传输协议。
采用C/S结构。
HTTP 应用层协议使用的传输层协议是TCP传输服务。
HTTP连接
- 非持久性连接:每个TCP连接最多允许传输一个对象,HTTP1.0版本使用非持久性连接
- 持久性连接:每个TCP连接允许传输多个对象,HTTP1.1版本使用持久性连接
我们来分析一下这个响应时间,我们先给出几有关个定义
RTT:从客户端发送一个很小的数据包到服务器并返回所经历的时间
响应时间:
- 发起,建立TCP连接:1个RTT
- 发送HTTP请求消息到HTTP响应消息的前几个字节到达:1个RTT
- 响应消息中所含的文件/对象传输时间
HTTP消息格式
-
请求消息:ASCII码
请求消息通用格式
-
响应消息
Cookie技术(
HTTP协议无状态,但是很多应用需要服务器需要掌握客户端状态。
Web缓存/代理服务器技术
Email应用
Email应用的构成
-
邮件客户端:读写Email消息,与服务器交互
-
邮件服务器:Email的核心。
-
SMTP协议
SMTP协议依赖于TCP协议。
Email消息格式
为了支持多媒体应用,进行了消息格式的扩展:MIME
通过在邮件头部增加额外的行以声明MIME的内容类型
邮件访问协议
DNS应用(
DNS服务
- 域名向IP地址的翻译
- 主机别名
- 邮件服务器别名
- 负载均衡:Web服务器
P2P应用
文件分发的比较
C/S
p2p
最典型的利用P2P来文件分发例子:BitTorrent
最早是集中式索引,然后是洪泛式查询(完全分布架构,每个节点对它共享的文件进行索引,且只对它共享的文件进行索引,此处引入覆盖网络的概念),最后结合起来,层次式覆盖网络
Socket编程
有关知识待详细。
标签:学习,HTTP,协议,网络应用,TCP,计算机网络,P2P,应用,应用层 来源: https://blog.csdn.net/CSL201816080304/article/details/106298277