计算机网络学习笔记(二)之应用层

二、应用层

(一) 、网络应用的体系结构

1)客户机/服务器结构
在这里插入图片描述
服务器;

  1. 7*24小时提供服务
  2. 永久性访问地址
  3. 利用大量服务器实现可拓展性

客户机:

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

2)P2P结构

  • 没有永远在线的服务器
  • 任意端系统/节点之间可以直接通讯
  • 节点间歇性接入网络
  • 节点可能改变IP地址

优点:高度可伸缩
缺点:难于管理

3)混合结构

  • 文件传输使用P2P结构
  • 文件的搜索采用C/S结构—集中式

(二)、网络应用进程通信

1)进程:主机上运行的应用程序

  • 同一主机上进程的通信:采用进程间通信机制,由操作系统提供

  • 不同主机上进程的通信:消息交换

  • 客户机进程:发起通信的进程(发送请求初始化通信)

  • 服务器进程:等待通信的进程(等待来自客户的请求)

2)套接字:socket=IP地址+端口号
套接字是提供应用程序创建和使用的数据结构
在应用层,客户进程和服务器进程间的通信是两个套接字间的通信
① 套接字地址(通信时需要)

  • 本地套接字地址+远程套接字地址 (一对套接字地址标识)
    定义套接字地址:用TCP/IP协议族的标识符定义

② 寻找套接字地址

  • 服务器站点:
    • 本地套接字地址:由操作系统提供
    • 远程套接字地址:建立连接的客户套接字地址
  • 客户站点:
    • 本地套接字地址:由操作系统提供
    • 远程套接字地址:知道端口号和IP地址
      知端口号,不知IP地址

(三)、网络应用的需求与传输层服务

1)网络应用对传输服务的需求

  • 可靠性、带宽、时延

2)使用的传输服务
①TCP服务:

  • 面向连接:C/S进程间需要建立连接
  • 流量控制:发送方不会发送速度过快超过接收方的处理能力
  • 拥塞控制:当网络负载过重时能够限制发送方的发送速度
  • 不提供最小带保障

②UDP服务:

  • 无连接
  • 不可靠的数据传输
  • 不提供可靠性保障、流量控制、拥塞控制、延迟保障、带宽保障

(四)、WEB应用

万维网(WWW)
由多个网页互相连接,以客户机/服务器的方式工作
统一资源定位符URL
  • 一般形式是:<协议>://<主机>:<端口>/<路径>
    协议包括ftp、http、News
    主机是存放资源的主机在互联网的域名
HTTP协议
	超文本传输协议:采用C/S结构,使用TCP传输服务,端口号80
  1. 主要特点:
     面向事务的客户服务器协议
     无状态:服务器不维护任何有关客户端过去所发请求的信息
     无连接

  2. 两类消息
    a) 请求消息
    ① 从客户向服务器发送报文
    ② 通用格式(如图)
    ③ 上传输入方法:

    • POST方法:在请求消息的消息体中上传客户的输入
    • URL方法:(使用GET方法)输入信息通过request行的URL字段上传

    ④方法类型:

    • i. HTTP/1.0 非持久性连接:GET、POST、HEAD
    • ii. HTTP/1.1 持久性连接:GET、POST、HEAD、PUT、DELETE

    b) 响应消息
    ① 从服务器到客户的回答
    ② 格式(如图)
    ③ HTTP响应状态码:

    • 1xx表示通知信息
    • 2xx表示成功
    • 3xx表示重定向
    • 4xx表示客户端的差错
    • 5xx表示服务器的差错
  3. 请求一个万维网文档所需的时间
    在这里插入图片描述
    TotalTime=2RTT+传输文档的时间

  4. 持续连接和非持续连接

    1. 持续连接:
      1. 每个TCP连接允许传输多个对象
      2. 两种工作方式
        ① 流水线方式:客户持续发出请求。
        ② 非流水线方式:客户只有收到个响应后才能发出下一个请求
    2. 非持续连接:
      每个TCP连接最多允许传输一个对象。每个对象需2RTT
  5. HTTP过程
    (1) URL为http://www.abc.com,浏览器分析URL,使用HTTP协议解析。
    (2) 浏览器向 DNS 请求解析 www.abc.com 的 IP 地址,得到其IP地址。
    (3)浏览器与服务器建立 TCP 连接,目标端口默认80,发送请求GET。
    (4) 服务器给出响应,把文件 index.htm 发给浏览器。
    (5) TCP 连接释放。
    (6) 浏览器将收到的index.html使用html解释并显示给用户。

(五)、Email应用

1.组成结构

1)用户代理

  • 用户与电子邮件系统的接口
  • 四个功能:撰写、显示、处理、通信

2)邮件服务器
使用CS模型、用来发送和接收邮件

3)邮件发送协议(SMTP)和邮件读写协议(POP3、IMAP)
① SMTP协议(简单邮件传输协议)

  • 使用TCP进行email消息的可靠传输
  • 端口号25
  • 使用CS模型
  • SMTP通信的三个阶段:
    i. 建立连接
    ii. 邮件传送
    iii. 连接释放

② POP3协议

  • 使用PULL的方式取出邮件,模型CS,使用TCP传输,端口110
  • 客户要运行POP客户程序,服务端要运行POP服务程序
  • 无状态
  • 特点:只要用户从POP服务端读取了邮件,POP服务器就把该邮件删除
  • 两种工作模式:下载并保留和下载并删除

③ IMAP协议:所有消息统一保留在服务器

2.电子邮件的信息格式

首部+主体

  • 首部:发件人、收件人和标题
  • 主体:消息本身(只能是ASCII字符)
3.MIME(通用互联网邮件扩充)
  • 通过在邮件头部增加额外的行以声明MIME的内容类型
  • 出现原因:SMTP只能发送英文ASCII,不能发送汉字、图片

(六)、DNS

1.概述
  • 使用CS模型,运行在UDP上,端口号53
  • 多层命名服务器构成的分布式数据库
2.域名结构:
  • ….三级域名.二级域名.顶级域名
    如:www.abc.com
    顶级域名有cn,com,net,gov
3.域名服务器
  • 分布式DNS系统,以层次方式组织,负责域名->IP解析

  • 类型:(四种)
    ① 根域名服务器

    • 本地域名解析服务器法解析域名时,访问根域名服务器
    • 管理顶级域名,并不直接解析成IP,而是指向下一步查询哪个顶级域名服务器

    ② 顶级域名服务器(TLD)

    • 负责com,org,net,edu等顶级域名和国家顶级域名
    • 管理所有注册的二级域名

    ③权威域名服务器

    • 组织的域名解析服务器,提供组织内部服务器的解析服务

    ④ 主机域名服务器

    • 主机发出DNS请求时,就发给本地域名服务器
    4.域名解析过程
    • 域名到IP称为正向解析,IP到域名称为反向解析
    • 过程:主机向本地域名服务器的查询一般都是采用递归查询。如果查到,则直接返回IP。本地域名服务器无法解析,则本地域名服务器向根域名服务器的查询通常是采用迭代查询,根域名服务器返回顶级域名地址,然后本地服务器向顶级域名服务器查询。顶级服务器若不能解析,则给出权威域名服务器地址,本地域名服务器向权威域名服务器查询。若查到,则缓存后返回给主机;还查不到,则返回域名解析失败

(七)、FTP(文件传输协议)

	提供交互的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。
1. FTP的工作原理
  • 使用CS模型,使用TCP传输。FTP服务器有一个主进程负责新请求,若干从进程负责单个请求
  • 服务器打开端口21,监听并等待客户连接
  • 有连接请求后,启动从进程处理连接,然后主进程继续监听
  • 主进程必须在会话期间保存用户状态,记录用户在远程目录上的当前位置
2. FTP的特点
  • 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务
  • 减少或消除在不同操作系统下处理文件的不兼容性
  • 使用客户服务器方式
3. FTP的两个连接(TCP连接)

① 控制连接

  • 端口号21,用来传输连接请求等待控制信息,不能用来传输文件。在文件传输过程中一直处于打开状态,方便及时终止传输

② 数据连接

  • 端口号20,用来连接客户端和服务端的数据传输进程,传输完毕后该连接关闭
  • 若要修改服务器上的文件,则先下载下来,修改,再上传上去;若要修改大文件需要全部复制下来
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值