DNS-域名系统

  • DNS(Domain name system):RFC 1034、1035,调用解析器(resolver)将名字映射成IP地址

DNS名字空间

  • DNS名字空间:internet被分为200多个顶级域,每个域被分为若干子域,子域又被进一步划分,以此类推。
  • 顶级域有两种:通用域和国家域
  • 通用域包括com(商业的)、edu(教育性机构)、int(国际性组织)、mil(美国军队)、net(网络供应商)、org(非营利性组织)、biz(商贸)、info(信息)、name(人们的名字)、pro(职业)、aero(航空业)、coop(合作社)、museum(博物馆)
  • 国家域定义在ISO 3166中。

资源记录

  • 每个域都有一组与它相关联的资源记录;当解析器把域名传递给DNS时,DNS所返回的是与该域名相关联的资源记录。
  • 每条资源记录是一个5元组:Domain_name(域名)、Time_to_live(生存期)、class(类别)、type(类型)、value(值)

名字服务器

  • 权威记录:来自于管理该记录的权威机构,因此总是正确的
  • 递归查询:当解析器接收到一个域名查询时,它将该查询传递给本地的一个名字服务器,如果被查询域名落在该名字服务器的管辖范围内,那么返回权威的资源记录;如果本地没有关于它的信息,那么本地名字服务器向顶级名字服务器发送一条查询此域的消息。
  • LDAP(lightweight directory access protocol,轻量级目录访问协议):RFC 2251,定位到一般的对象,如人员、资源、服务等。

电子邮件

结构与服务

  • 用户代理:阅读和发送电子邮件
  • 消息传输代理:将消息从源端传送到目标端
  • 电子邮件基本功能
  • 撰写
  • 传输
  • 报告
  • 显示
  • 处理

消息格式

  • RFC 822:基本ASCII电子邮件
  • 头域:To、Cc、Bcc、From、Sender、Received、Return-Path、Data、Reply-To、Message-Id、In-Reply-To、References、Keywords、Subject
  • MIME-多用途Internet邮件扩展
  • 头域:MIME-Version、Content-Description、Content-Id、Content-Transfer-Encoding、Content-Type
  • 二进制消息编码(base64编码,又称ASCII盔甲):0-63分别为A-Z、a-z、0-9、+、/;==与=分别代表一个组只含8位或者16位;对少量非ASCII字符的消息编码效率较低
  • 可打印的引用编码(quoted-printable encoding):7位的ASCII编码,所有超过127的字符被编码为等号+2个用16进制数字表示的字符值。

消息传输

  • SMTP(simple mail transfer protocol,简单邮件传输协议)
  • 在25号端口建立TCP连接
  • 命令:HELLO、MAIL FROM、RCPT TO、DATA等
  • ISP服务器上运行消息传输代理,接收邮件
  • POP3(post office protocol version 3,邮局协议第三版)
  • 在110端口建立TCP连接
  • RFC 1939,用户从ISP的消息传输代理获得电子邮件
  • 假设用户每次交互后清除邮箱后脱机工作
  • IMAP(internet message access protocol,Internet 消息访问协议)
  • 在143端口建立TCP连接
  • 假设用户的邮件会永久地保存在服务器上
  • 投递特性:过滤器、假期守护程序(自动回复)
  • webmail

万维网

结构概述

  • URL(unform resource locator,统一资源定位符):命名 Web 页面
  • 组成:协议(也称方案,scheme)+页面所在机器的DNS名字,唯一指定特定页面的本地名字
  • 协议类型:http(hypertext transfer protocol,超文本传输协议)、ftp、file、news(NNTP,network news transfer protocol,网络新闻传输协议)、gopher、mailto、telnet
  • URN(universal resource name,通用资源名):RFC 2141,不指定页面所在位置就能够引用页面,可减轻服务器负载
  • 客户端
  • 浏览器运行步骤
  • 确定URL
  • 查询DNS以确定IP
  • 与IP的80端口建立TCP连接
  • 发送请求以获取URL指向的文件
  • 服务器发送文件,释放TCP连接
  • 浏览器显示文件中的文本,取回并显示图片
  • 浏览器扩展
  • 插件:代码模块,浏览器从磁盘取出,安装称自己的一个扩展模块,运行在浏览器内部,完成工作后从浏览器内存中移除掉
  • 辅助应用程序:完整的应用程序,作为独立的进程来运行,接受临时文件的名字来打开文件
  • 服务器端
  • 服务器运行步骤
  • 接收来自客户(浏览器)的TCP连接
  • 获取所需文件名
  • 从磁盘获取文件
  • 将文件返回给客户
  • 释放TCP连接
  • 服务器场(server farm)
  • 组织:前端连接到一个LAN中,LAN中有一个路由器和若干处理节点(独立的计算机)
  • TCP移交(TCP handoff):避免所有请求与回复都通过前端
  • 无状态特性与cookie
  • RFC 2109:当用户请求 web 页面时,可以提供附加信息cookie(最大4k)
  • cookie域:域名、路径、内容、过期时间、安全
  • 非持久的cookie:没有包含过期时间域,浏览器退出时丢弃
  • 持久的cookie:包含过期时间域

静态 Web 文档

  • HTML(hypertext markup language,超文本标记语言)
  • 表单
  • XML(extensible markup language,可扩展标记语言)
  • XSL(extensible style language,可扩展样式语言)
  • SOAP(simple object access protocol,简单对象访问协议):应用之间执行RPC(远过程调用)的方法,以XML构造请求,以HTTP发送
  • XHTML(extended hypertext markup language,扩展的超文本标记语言):用于小型移动设备,语法更挑剔

动态 Web 文档

  • 服务器端动态 Web 页面生成(动态html):CGI(common gateway interface,公共网关接口)、PHP(hypertext preprocessor,超文本预处理器)、JSP(javaserver pages,java服务器页面)、ASP(active server page,活动的服务器页面,ms版的php和jsp)

  • 客户端动态网页生成:JavaScript、applet(jvm上运行的java小程序)、activeX控件(ms)

HTTP-超文本传输协议

  • 连接:HTTP1.0服务器回应后关闭TCP连接;HTTP1.1支持持续连接
  • 方法:GET、PUT、HEAD、POST、DELETE、TRACE、CONNECT、OPTIONS
  • 消息头:请求头、回应头

性能增强

  • 缓存、代理(维护缓存)
  • 服务器复制:镜像、瞬间拥挤
  • 内容分发网络:CDN(content delivery network),图像、音频等大文件存储在CDN上

无线 Web

  • WAP(wireless application protocol,无线应用协议)使用新的HTML标准,9600bps,协议层
  • 无线应用环境(WAE)
  • 无线会话协议(WSP)
  • 无线传输协议(WTP):代替TCP,效率原因
  • 无线传输层安全(WTLS)
  • 无线数据包协议(WDP):类似UDP
  • 承载层(GSM、CDMA、D-AMPS、GPRS等)
  • I-Mode(information-mode,信息模式)
  • 对语音信号使用电路交换网络,对数据信号使用分组交换网络
  • 数字网络基于CDMA,手持机使用LTP(lightweight transport protocol,轻量级传输协议)并通过空中链路与协议转换网管通话
  • 软件结构
  • 用户交互模块
  • 插件+cHTML(compact HTML,紧凑的HTML)解释器+Java
  • 简单的窗口管理器
  • 网络通信
  • 实时操作系统
  • 第二代无线 Web
  • 新特新
  • 推模型和拉模型
  • 运行将电话集成到应用中
  • 多媒体信息
  • 264个象形文字
  • 存储设备接口
  • 浏览器插件
  • wap2.0支持两种协议栈
  • XHTML
  • WSP HTTP
  • WTP TLS
  • WTLS TCP
  • WDP IP
  • 承载层 承载层

多媒体

音频压缩

  • MP3(mpeg audio layer 3,MPEG音频层3)
  • 波形编码:使用较少的傅里叶分量重现波形
  • 感知编码:利用心理声学的频率屏蔽和暂时屏蔽去掉某些分量

流式音频

  • 元文件:将整个音频分为很多元文件,减少缓冲时间
  • RTSP(real time streaming protocol,实时流协议):管理用户界面、处理传输错误、解压缩音乐、消除抖动
  • 拉式服务器、推式服务器、低水印标记和高水印标记

IP 语音

  • H.323:ITU在1996年发布,终端、网守、区域。、H.245(新的压缩算法)、H.225(与网守通信)
  • SIP(session initiation protocol,会话发起协议)

视频简介

  • 一帧:一次扫描
  • 隔行扫描与逐行扫描
  • 彩色电视系统:SECAM(SEquentiel couleur avec memire,顺序与存储彩色电视系统)、PAL(phase alternating line,逐行倒相制式)、NTSC(national television standards committee,国家电视标准委员会);亮度、色度
  • HDTV(high definition television,高清晰度电视)
  • 数字系统

视频压缩

  • JPEG(joint photographic experts group,联合图像专家族)标准
  • 块准备:四像素取平均值(亮度比色度更敏感)
  • 对每一块作DCT(discrete cosine transformation,离散余弦变换)
  • 量化:将上一步的每个格点乘以对应的权值
  • 减小每一块的(0,0)元素值(DC分量),其他元素称为AC分量
  • 行程编码:同样的值用计数值表示
  • MPEG(motion picture experts group,运动图像专家组)标准,MPEG-1与JPEG的区别在于运动补偿,包括四种帧
  • I(帧内编码,intracoded):JPEG编码的静止图片
  • P(预测,predictive):与前一帧之间的逐块差值
  • B(双向,bidirectional):与前一帧和后一帧之间的差值
  • D(DC编码,DC-coded):用于快进的快平均值

视频点播

  • 准视频点播:在多个频道以某种时差播放同样的视频
  • 线路:视频服务器->光纤->ATM或SONET骨干网络->光纤->交换机->区域分布式网络->消费者房子->机顶盒
  • 视频服务器
  • Zipf定律:最受欢迎的那部电影,它的受欢迎程度是第七受欢迎电影的7倍
  • 分层存储:RAM->磁盘->DVD->磁带
  • 磁盘存储
  • 磁盘场(disk farm):每个驱动器存储一定数量的电影,有重复
  • 磁盘阵列(disk array)或RAID(redundant array of inexpensive disks,廉价磁盘冗余阵列):每部电影分布在多个驱动器上(条状化,striping)
  • 分发网络:数据源与目标之间交换机和线路的集合
  • ADSL
  • FTTC(fiber to the curb,光纤到路边)
  • FTTH(fiber to the home,光纤到户)
  • HFC(hybrid fiber coax,混合光纤同轴电缆)

Mbone(multicast backbone,多播骨干网)

  • Mbone是internet之上的一个虚拟层叠网络
  • 由隧道连接的多个多播岛组成,每个岛有至少一个mrouter(multicast router,多播路由器)
  • 使用基于Bellman-Ford距离矢量算法的路由算法DVMRP(distance vector multicast routing protocol,距离矢量多播路由协议)
  • PIM(protocol independent multicast,协议无关多播):AS间的路由,IETF工作组开发

本文采用 知识共享署名 4.0 国际许可协议(CC-BY 4.0)进行许可,转载注明来源即可: https://harttle.land/2014/04/27/computer-network-app-layer.html。如有疏漏、谬误、侵权请通过评论或 邮件 指出。