美文网首页
网络复习-笔记03-应用层

网络复习-笔记03-应用层

作者: 桔子满地 | 来源:发表于2018-06-12 16:16 被阅读0次

    网络应用体系结构

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

    客户机/服务器结构

    客户机/服务器结构.png

    服务器

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

    客户机

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


      web.png

    纯P2P结构

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

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


    混合结构

    两种结构混合在一起使用,兼具两者的优点,规避两者的缺点
    Napster

    • 文件传输使用 P2P结构
    • 文件的搜索采用C/S结构——集中式
    1. 每个节点向中央服务器登记自己的内容 2. 每个节点向中央服务器提交查询请求,查找感兴趣的内容


      napster.png

    网络应用的基础:进程间通信

    进程:主机上运行的程序
    同一主机上运行的进程之间的通信:操作系统提供,进程间通信机制
    不同主机上运行的进程间通信:消息交换!

    • 客户机进程:发起通信的进程
    • 服务器进程:等待通信请求的进程

    套接字:socket

    • 进程间通信利用socket发送/接收消息实现


      socket.png

      网络的传输基础设施向进程提供API:

    • 传输协议的选择
    • 参数的设置

    如何寻址进程:

    不同主机上的进程间通信,那么每个进程必须用于标识符。

    1. IP地址——IP地址能够唯一的表示Internet上的一台主机
    2. 端口号/Port number:为主机上每个需要通信的进程分配一个端口号, HTTP server:80, Mail Server:25

    故进程的标识符:IP地址+端口号


    进程寻址.png

    应用层协议:

    网络应用需遵循应用层协议。
    公开协议:

    • 由RFC(request for comments)定义
    • 允许互操作
    • HTTP, SMTP ....

    私有协议:

    • 多数P2P文件共享应用

    应用层协议的内容:

    消息的类型:

    • 请求消息
    • 响应消息

    消息的语法(syntax)/格式

    • 消息中有哪些字段
    • 每个字段如何描述

    字段的语义:

    • 字段中信息的含义

    规则:

    • 进程核实发送/响应消息
    • 进程如何发送/相应消息
    网络应用的需求与传输层服务
    1. 数据丢失/可靠性
    • 某些网络应用能够容忍一定的数据丢失:网络电话
    • 某些网络应用要求100%可靠的数据传输:文件传输,telnet
    1. 时间/延迟
    • 有些应用只有在延迟足够低时才有效
    • 网络电话/网络游戏
    1. 带宽
    • 某些应用只有在带宽达到最低要求时才有效:网络视频
    • 某些应用能够适应任何带宽——弹性应用:email

    Internet提供的传输服务

    TCP服务:

    • 面向连接:客户机/服务器进程间需要建立连接
    • 可靠的传输(不丢包,不乱序)
    • 流量控制:发送方不会发送速度过快,超过接收方的处理能力
    • 拥塞控制:当网络负载过重时能够限制发送方的发送速度
    • 不提供时间/延迟保障
    • 不提供最小带宽保障

    UDP服务:

    • 无连接
    • 不可靠的数据传输
    • 不提供:1.可靠性保障 2.流量控制 3.拥塞控制 4.延迟保障 5.带宽保障

    Web应用

    World Wide Web.

    • 网页
    • 网页互相链接

    网页(web page)包含多个对象(objects)

    • 对象:HTML文件、JPEG图片、视频文件、动态脚本等
    • 基本HTML文件:包含对其他对象引用的链接

    对象的寻址(addressing)

    HTTP协议概述

    万维网应该遵循HTTP协议
    HTTP:HyperText Transfer Protocol 超文本传输协议
    C/S结构:

    • 客户——Browser:请求、接收、展示Web对象
    • 服务器——Web Server:响应客户的请求,发送对象

    使用TCP传输服务:

    • 服务器在80端口等待客户的请求
    • 浏览器发起服务器的TCP连接(创建套接字socket)
    • 服务器接受来自浏览器的TCP连接
    • 浏览器(HTTP客户端)与Web服务器(HTTP服务器)交换HTTP消息
    • 关闭TCP连接

    无状态:

    • 服务器不维护任何有关客户端过去所发请求的信息

    HTTP连接

    1. 非持久性连接
    • 每个TCP连接最多允许传输一个对象
    • HTTP1.0版本使用非持久性连接
    1. 持久性连接
    • 每个TCP连接允许传输多个对象
    • HTTP1.1版本默认使用持久性连接
    非持久性连接-1.png
    非持久性连接-2.png 非持久性连接响应时间.png

    持久性HTTP.png

    DNS概述

    DNS:Domain Name System 域名系统
    解决的是互联网上主机/路由器的识别问题

    解决域名和IP地址之间的映射问题
    域名解析系统DNS:将域名翻译为IP地址

    • 多层命名服务器构成的分布式数据库
    • 应用层协议:完成名字的解析:1. 互联网的核心功能,用应用层协议实现 2.网络边界复杂

    DNS:

    • 域名向IP地址的翻译
    • 主机别名
    • 邮件服务器别名
    • 负载均衡:Web服务器

    DNS采用分布式层次式数据库

    分布式层次式数据库.png
    最顶级被称为根域名服务器.
    本地域名解析服务器无法解析域名时,访问根域名服务器
    根域名服务器:
    • 如果不知道映射,访问权威域名服务器
    • 获得映射
    • 向本地域名服务器返回映射

    第二层称为:顶级域名服务器(TLD,top-level domain):负责com, org, net, edu等顶级域名和国家顶级域名,例如cn, uk, fr等

    第三层成为:权威域名服务器:组织的域名解析服务器,提供组织内部服务器的解析服务

    • 组织负责维护
    • 服务提供商负责维护

    本地域名解析服务器:

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

    DNS记录和消息格式

    DNS记录,又称资源记录(RR,resource records)


    DNS记录.png

    P2P应用:原理与文件分发

    web email dns都是C/S架构

    纯P2P架构

    纯P2P架构.png

    在文件分发的情况下,P2P架构有很好的扩展性,当节点数增加时,文件传输速率几乎是不变的

    文件分发:BitTorrent (P2P的网络应用)

    BitTorrent.png

    P2P应用:索引技术

    P2P系统的索引:信息到节点位置(IP地址+端口号)的映射
    文件共享(电驴)

    • 利用索引动态跟踪节点所共享的文件的位置
    • 节点需要告诉索引它拥有哪些文件
    • 节点搜索索引,从而获知能够得到哪些文件

    即时消息(QQ)

    • 索引负责将用户名映射到位置
    • 当用户开启IM应用时,需要通知索引它的位置
    • 节点检索索引,确定用户的IP地址

    三种索引的方案:1. 集中式 2. 洪泛式查询 3. 层次式覆盖网络(案例应用:skype)

    相关文章

      网友评论

          本文标题:网络复习-笔记03-应用层

          本文链接:https://www.haomeiwen.com/subject/hxhleftx.html