计算机网络(第二章,网络应用(上))
这是本人初学《计算机网络》做的一些笔记,随着深入理解与学习,会对笔记进行改进
网络应用(层)内容概述
这讲的主要内容有:
网络应用体系结构
{
客
户
机
/
服
务
器
P
2
P
混
合
结
构
\begin{cases} 客户机/服务器 \\ P2P \\ 混合结构 \end{cases}
⎩⎪⎨⎪⎧客户机/服务器P2P混合结构
网络应用的服务请求
{
可
靠
性
带
宽
时
延
\begin{cases} 可靠性 \\ 带宽 \\ 时延 \end{cases}
⎩⎪⎨⎪⎧可靠性带宽时延
Internet传输层服务模型
{
T
C
P
U
D
P
\begin{cases} TCP \\ UDP \end{cases}
{TCPUDP
特定网络应用及协议
{
H
T
T
P
S
M
T
P
,
P
O
P
,
I
M
A
P
D
N
S
P
2
P
应
用
\begin{cases} HTTP \\ SMTP,POP,IMAP \\ DNS \\ P2P应用 \end{cases}
⎩⎪⎪⎪⎨⎪⎪⎪⎧HTTPSMTP,POP,IMAPDNSP2P应用
Socket编程
{
T
C
P
U
D
P
\begin{cases} TCP \\ UDP \end{cases}
{TCPUDP
网络应用的基本原理
网络应用体系结构
网络应用的体系结构 { 客 户 机 / 服 务 器 结 构 ( C l i e n t − S e r v e r , C / S ) 点 对 点 结 构 ( P e e r − t o − P e e r , P 2 P ) 混 合 结 构 ( H y b r i d ) \begin{cases} 客户机/服务器结构(Client-Server,C/S) \\ 点对点结构(Peer-to-Peer,P2P)\\ 混合结构(Hybrid) \end{cases} ⎩⎪⎨⎪⎧客户机/服务器结构(Client−Server,C/S)点对点结构(Peer−to−Peer,P2P)混合结构(Hybrid)
客户机服务器结构:
服务器:
7*24小时提供服务
永久性访问地址/域名
利用大量服务实现可扩展性
客户机:
与服务器通信,使用服务器提供的服务
间歇性接入网络
可能使用动态IP地址
不会与其他客户机直接通信
纯P2P结构:
没有永远在线的服务器
任意端系统/节点之间可以直接通讯
节点间歇性接入网络
节点可能改变IP地址
优点:高度可伸缩
缺点:难于管理
混合结构:
文件传输使用P2P结构
文件的搜索采用C/S结构——集中式(每个节点向中央服务器登记自己的内容;每个节点向中央服务器提交查询请求,查找感兴趣的内容)
网络应用进程通信
套接字:Socket
进程间通信利用Socket发送/接收消息实现
类似于寄信:发送方将消息发送到门外的邮箱;发送方依赖(门外的)传输基础设施将消息传到接收方所在主机,并送到接收方的门外;接收方送门外获取消息
传输基础设施向进程提供API:传输协议的选择;参数的设置
进程的标识符:IP地址+端口号(“IP地址:端口号”的格式)
网络层应用需要遵守应用层协议
应
用
层
协
议
{
公
开
协
议
:
由
R
F
C
(
R
e
q
u
e
s
t
F
o
r
C
o
m
m
e
n
t
s
)
定
义
;
允
许
互
操
作
;
H
T
T
P
,
S
M
T
P
.
.
.
.
.
.
私
有
协
议
:
多
数
P
2
P
文
件
共
享
应
用
应用层协议\begin{cases} 公开协议:由RFC(Request For Comments)定义;允许互操作;HTTP,SMTP...... \\ 私有协议:多数P2P文件共享应用 \end{cases}
应用层协议{公开协议:由RFC(RequestForComments)定义;允许互操作;HTTP,SMTP......私有协议:多数P2P文件共享应用
应用层协议的内容:
消息的类型:请求消息;响应消息
消息的语法/格式:消息中有哪些字段;每个字段如何描述
字段的语义:字段中信息的含义
规则:进程何时发送/响应消息;进程如何发送/响应消息
网络应用需求
网络应用对传输服务的需求:
数据丢失/可靠性:某些网络应用能够容忍一定的数据丢失(网路电话);某些网络应用要求100%可靠的数据传输(文件传输,telnet)
时间/延迟:有些应用只有在延迟足够低才有效(网络电话,网络游戏)
带宽:某系应用只有在带宽达到最低要求时才有效(网络视频);某些应用能够适应任何带宽——弹性应用(email)
Internet提供的传输服务:
TCP服务
面向连接:客户机/服务器进程间需要建立连接
可靠的输出
流量控制:发送方不会发送速度过快,超过接收方的处理能力
拥塞控制:当网络负载过重时能够限制发送方的发送速度
不提供时间/延迟保障
不提供最小带宽保障
UDP服务
无连接
不可靠的数据传输
不提供:可靠性保障,流量控制,拥塞控制,延迟保障,贷款保障
Web应用
Web应用概述
URL(Uniform Resource Locator):统一资源定位器
HTTP协议概述(1):
超文本传输协议;C/S结构(客户:请求、接收、展示Web对象;服务器:响应客户的请求,发送对象);HTTP版本(1.0:RFC1945;1.1:RFC2068)
HTTP概述(2):
使用TCP传输服务:服务器在80端口等待客户的请求;浏览器发起到服务器的TCP连接(创建套接字Socket);服务器接受来自浏览器的TCP连接;浏览器(HTTP客户端)与Web服务器(HTTP服务器)交换HTTP消息;关闭TCP连接
无状态:服务器不维护任何有关客户端过去所发请求的信息
HTTP连接类型
HTTP连接的两种类型:
1.非持久性连接:每个TCP连接最多允许传输一个对象;HTTP1.0版本使用非持久性连接
2.持久性连接:每个TCP连接允许传输多个对象;HTTP1.1版本默认使用持久性连接
RTT(Round Trip Time):从客户端发送一个很小的数据包到服务器并返回所经历的时间
HTTP消息格式
HTTP协议有两类消息:请求消息,响应消息
方法的类型:
HTTP1.0:GET,POST,HEAD
HTTP1.1:GET,POST,HEAD,PUT,DELETE
HTTP响应状态码:
200 OK
301 Moved Permanently
400 Bad Request
404 Not found
505 HTTP Version Not Supported
Cookie技术
Cookie技术:某些网站为了辨别用户身份,进行session跟踪而存储在用户本地终端上的数据(通常经过加密)
Cookie组件:HTTP响应消息的cookie头部行;HTTP请求消息的cookie头部行;保存在客户端主机主机上的cookie文件,由浏览器管理;Web服务器端的后台数据库
Web缓存技术
功能:在不访问服务器的前提下满足客户端的HTTP请求
好处:缩短客户请求的响应时间;减少机构/组织的流量;在大范围实现有效的内容分发
Email应用
Email应用概述
Email应用的构成组件:邮件客户端;邮件服务器;SMTP协议
邮件服务器:邮箱(存储发给该用户的Email);消息队列(存储等待发送的Email)
SMTP协议:邮件服务器之间传递消息所使用的协议;客户端(发送消息的服务器);服务器(接受消息的服务器)
Email消息格式与POP协议
略
DNS应用
DNS概述
域名解析系统DNS:多层命令服务器构成的分布式数据库;应用层协议(完成名字的解析)
TLD(top-level domain):顶级域名服务器:负责com,org,net,edu等
DNS查询方式:迭代查询,递归查询
迭代查询图:
递归查询图:
DNS记录和消息
略