美文网首页
网络复习-笔记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-应用层

    网络应用体系结构 客户机/服务器结构(Client-Server, C/S) 点对点结构(Peer-to-peer...

  • 第四章 网络层

    个人复习计网的笔记,学习链接: 计算机网络 - B站视频链接 一、网络层提供的服务、 应用层产生数据消息,传输层负...

  • 计算机网络 复习笔记 物理层

    目录 计算机网络 复习笔记 概述 计算机网络 复习笔记 物理层 计算机网络 复习笔记 数据链路层 计算机网络 复习...

  • 2020-09-07

    学习笔记 计网: 最重要的是协议分层 自顶向下分别是: 应用层、传输层、网络层、链路层、物理层。 应用层:包含HT...

  • java Socket简单模拟HTTP服务器。

    最近复习计算机网络,复习完应用层之后对于理论知识还是没有一个深刻的概念,索性就动手用Java Socket API...

  • 应用层

    网络 网络7层协议 应用层 表示层 会话层 运输层 网络层 数据链路层 物理层 其中应用层 = 应用层+表示层+会...

  • 《计算机网络》笔记-第2章应用层

    title: 《计算机网络》笔记-第2章应用层date: 2020-01-28 14:31:18 [TOC] 0....

  • 网络:TCP/IP协议总结

    标签: 网络 1、TCP/IP:TCP/IP协议集包括应用层,传输层,网络层,网络访问层。 应用层协议:超文本传输...

  • Flannel网络原理

    overlay网络简介 覆盖网络就是应用层网络,它是面向应用层的,不考虑或很少考虑网络层,物理层的问题。 详细说来...

  • Flannel网络原理

    overlay网络简介 覆盖网络就是应用层网络,它是面向应用层的,不考虑或很少考虑网络层,物理层的问题。 详细说来...

网友评论

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

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