第二章 应用层

进程通信

  • 发起通信的进程标识为客户,等待联系的进程是服务器。
  • 进程通过一个称为套接字的软件接口向网络发送报文和从网络接收报文。
  • 应用开发者对运输层的控制仅限于:
    1、选择运输层协议
    2、设定几个运输层参数
  • 为了标识接收进程,需要定义两种信息:
    1、主机地址(IP)
    2、定义在目的主机中的接收进程的标识符(端口号)

应用程序服务要求分类

1、可靠数据传输
2、吞吐量
3、定时
4、安全性

因特网提供的运输服务

TCP

  • 面向连接的服务:在应用层数据报文开始流动前,TCP让客户和服务器互相交换运输层控制信息。在握手阶段后,一个TCP连接就在两个进程地套接字之间建立了。当结束报文传输后,拆除该连接。
  • 可靠地数据传送服务
  • 拥塞控制

UDP

  • 无连接
  • 不可靠数据传输服务
  • 没有拥塞控制

应用层协议

  • 应用层协议定义了运行在不同端系统上的应用程序如何相互传递报文
    1、交换报文的类型
    2、各种报文类的语法
    3、字段的语义
    4、进程何时以及如何发送报文,对报文进行相应的规则

HTTP

  • HTTP服务器不保存关于客户的任何信息,所以HTTP是一个无状态协议。

HTTP非持续连接的缺点:

1、服务器负担重:每一个请求对象建立和维护一个新的连接。
2、每一个对象的传输时延长:包含两个RTT时延,一个用于TCP建立,一个用于请求和接收对象。

HTTP报文格式

请求报文

请求报文.png

请求报文通用格式.png

响应报文

响应报文.png

响应状态码.png

Cookie

cookie工作过程.png

Cookie技术的四个组件

1、在HTTP响应报文中有一个cookie 首部行
2、在HTTP请求报文中有一个cookie 首部行
3、用户主机中保留有一个 cookie 文件并由浏览器管理
4、Web站点的后端数据库保存cookie的识别码

web缓存

  • web缓存服务器在存储空间中保存最近请求的对象的副本
  • 优点:
    1、减少对客户响应请求的时间
    2、减少一个机构的接入链路到因特网的通信量

条件get方法

  • 使缓存器能够证实其保存的对象是否为最新。
  • 如果缓存中是最新对象版本,可继续使用,起始Web服务器就不需重新发送该对象。


    get方法的使用.png

FTP

  • 和HTTP一样均运行在TCP上
  • 不同:FTP使用两个并行的TCP连接来传输文件。控制连接——在两主机之间传输控制信息。数据连接——发送一个文件。
  • 控制连接贯穿整个用户会话期间
  • 会话中的每一次文件传输都需要建立一个新的数据连接

DNS

  • 将主机名转换到IP地址的目录服务——域名系统。
  • DNS协议运行在UDP上,使用53号端口
  • DNS还提供其他服务:
    1、主机别名
    2、邮件服务器别名
    3、负载分配

DNS工作过程

用户主机上运行 DNS客户机端。
浏览器从URL中解析出主机地址,传给DNS客户机端
DNS客户机向DNS服务器发送一个包含主机名的请求
DNS客户机收到含有对应主机名的IP地址的回答报文
浏览器向该IP地址指定的HTTP服务器发起一个TCP连接。

集中式DNS服务问题

  • 单点故障
  • 通信容量
  • 维护
  • 远距离的集中式数据库

分步式DNS

  • DNS服务器分类:根DNS服务器、顶级域(DNS)服务器、权威DNS服务器

本地DNS服务器运行过程

迭代查询.png

递归查询.png

DNS缓存

在一个请求链中,当某DNS服务器接收到一个DNS回答时,它将回答中的信息缓存在本地存储器中。

DNS报文

DNS报文格式.png
  • 前12个字节是首部区域,其中有几个字段。第一个字段(标识符)是一个16比
    特的数,用于标识该查询。这个标识符会被复制到对查询的回答报文中,以便让客户用它来匹配发送的请求和接收到的回答。
  • 标志字段中含有若干标志。1比特的“查询/回答”标志位指出报文是查询报文(0) 还是回答报文(1)。 当某DNS服务器是所请求名字的权威DNS服务器时,1比特的“权威的”标志位被置在回答报文中。如果客户(主机或者DNS服务器)在该DNS服务器没有某记录时希望它执行递归查询,将设置1比特的“希望递归”标志位。如果该DNS服务器支持递归查询,在它的回答报文中会对1比特的“递归可用”标志位置位。在该首部中,还有4个有关数量的字段,这些字段指出了在首部后的4类数据区域出现的数量。
  • 问题区域包含着正在进行的查询信息。该区域包括:①名字字段,包含正在被查询的主机名字;②类型字段,指出有关该名字的正被询问的问题类型,例如主机地址是与一个名字相关联(类型A)还是与某个名字的邮件服务器相关联(类型MX)。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,591评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,448评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,823评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,204评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,228评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,190评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,078评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,923评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,334评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,550评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,727评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,428评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,022评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,672评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,826评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,734评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,619评论 2 354