导图社区 计算机网络第二章
计算机网络自顶向下这本书第二章重点知识的整理,有助于理清思路,查漏补缺!下图包括了应用层协议的原理 、WEB应用与HTTP协议、 FTP(文件传输协议) 、 DNS(域名系统) 等方面的知识,快收藏学起来吧!
编辑于2019-09-24 05:55:19计算机网络第二章——应用层
应用层协议的原理
1.网络应用体系结构
CS(客户—服务器)
服务器:
1.总是打开的主机 2.具有固定的、总所周知的ip地址 3.主机群集常被用于创建强大的虚拟服务器
客户机:
1.同服务器端通信 2.可以间断的同服务器连接 3.可以拥有动态ip地址 4.客户机相互之间不直接通信
P2P(peer to peer)
没有总是打开的服务器
任意一对主机直接相互通信
对等方间歇连接并且可以改变ip地址
CS+P2P
即时通讯软件;Napster
2.进程与套接字的含义
进程
运行在端系统上面的程序
分类
客户进程:发起通信的进程
服务器进程:等待联系的进程
p2p中,进程既可以是客户机又是服务器
套接字
应用程序和网络之间的应用程序网络接口
关系图
3.因特网提供的运输服务
TCP
面向连接,可靠
UDP
无连接,不可靠
4.常见的应用及其应用层协议和支持的运输层协议
5.研发网络应用程序的核心
写出能够运行在不同的端系统并通过网络彼此通信的程序(Web服务器软件)
6.为什么没有应用程序运行在网络核心设备上
网络核心设备不在应用层起作用
7.应用需要的服务(区分协议运行TCP和UDP的重要依据)
数据丢失率
一些应用能容忍一程序的数据丢失;
一些应用(文件传输,telnet)需要100%可靠的数据传输
带宽和吞吐量
带宽高:多媒体应用
带宽低:其他弹性应用
定时
低延时:网络电话,多方游戏
安全
加密、数据完整性
WEB应用与HTTP协议
1. HTTP协议
端口号
80
非持久的HTTP
特点:每个TCP连接只传送一个对象,下载多个对象需建立多个TCP连接
响应时间模型
第一个RTT用于建立TCP连接,第二个RTT用于HTTP请求、响应消息的交互
总时间=2RTT+transmit time
http/1.0使用非持久
持久的HTTP
特点:一个TCP连接上可传送多个对象
带流水线
①默认使用http1.1②客户遇到一个引用对象就发送请求③所有引用对象只经历一个RTT
不带流水线
①客户收到先前消息,才发出新的请求②每个引用对象经历一个RTT
报文格式
请求报文
响应报文
往返時延RTT
分组传播時延
分组在中间路由器和交换机上的排队時延
分组回到客户机的時延
2.Cookie
4个 组成
1 在http响应报文中有一个cookie首部行
2 在http请求报文中有一个cookie首部行
3 在用户端系统中保留有一个cookie文件,由用户的浏览器管理
4 在Web站点有一个后端数据库
优点
1 身份认证
2 推荐广告
3 虚拟购物车
4 用户会话状态
缺点
1 允许网站更了解用户
2 提供了名字和e-mail给网络
3 广告公司通过网站获得信息
4 Cookie不适合游动用户
特点
跟踪用户
3.Web缓存
目的
在不涉及原始服务器的情况下满足客户端Http请求
方法
配置用户的浏览器,使得用户的所有http请求首先指向web缓存器;配置好浏览器以后,每个浏览器对一个对象的请求首先被定向到web缓存器
使用工具
Web缓存器(代理服务器)
原因
1.Web服务器可以大大地减少对客户机请求的响应时间
2. Web缓存器可以大大减少一个机构内部网与因特网接入链路上的通信量
3.Web服务器能从整体上大大降低因特网上的Web流量
4.条件get方法(http协议的一种机制)
目的
证实缓存器中的对象是否为最新
方法
请求报文使用get方法;请求报文中包含一个If-modified-since首部行
操作步骤
1.浏览器向web服务器发送一个请求报文
2.web服务器向浏览器发送具有被请求的对象的响应报文
3.一个星期后,另一个用户通过该浏览器请求同一个对象,浏览器发送一个条件get,执行最新检查
4.web服务器向该缓存器发送一个响应报文
FTP(文件传输协议)
功能
1.传输文件到远程主机
2.从远程主机下载文件
使用模式
CS模式
使用TCP
端口号
21
与http的比较
相同点
都运行TCP
区别
FTP使用两个并行的TCP连接(数据连接和控制连接)来传输文件
控制连接
用于在两个主机之间传输控制信息(用户的标识、口令、改变远程目录的命令、"put"和"get")
数据连接
用于实际传输一个文件
建立方式
主动
客户端发送port命令(port h1,h2,h3,h4,p1,p2)
服务器根据port命令指定的客户端地址和端口号发起数据连接
被动
客户端发送pasv命令
服务器返回监听的地址和端口号
客户端发起数据连接
P2P
集中式目录的问题
单点故障
性能瓶颈
侵犯版权
应用
文件分发
BitTorrent
DHT(分布式散列表)
一个分布式数据库
使用(键,值)对;examples
DNS(域名系统)
DNS的概念
1.一个由分层的DNS服务器实现的分布式数据库
2.一个使得主机能够查询分布式数据库的应用层协议
区别什么是域名,主机名,ip地址
域名:foo.com
主机名:www.foo.com
ip地址:192.10.2.10
端口
51
使用UDP
主要任务
将主机名转换为IP地址(ip地址和主机名的映射)
DNS服务器的分类(按等级从高到低)
1.根名字服务器
负责记录顶级域名服务
2.顶级域名服务器
负责顶级域名com,org,net,edu,etc和国家域名ck,uk
3.权威DNS服务器
由多数大学和公司维护
本地DNS服务器
每个isp有一个本地dns,又称“默认服务器”,起用户代理的作用
RFC 1034;RFC 1035
为什么不使用集中式的DNS
1.单点故障
2.巨大访问量
3.远距离集中式数据库
4.维护
DNS的两种查询方式
递归
被查询的服务器回复可以被查询的名字服务器的IP地址
迭代
域名解析的负担交给被查询的域名服务器(我不知道它的名字,但是可以问服务器)
DNS缓存
原理
在一次请求中,当某DNS服务器接收一个DNS回答(将主机名映射成ip地址),它能将映射缓存在本地存储器中
特点
主机名和ip地址映射不是永久的,DNS服务器在一段时间(2天)后会丢弃缓存的信息
本地DNS服务器可以缓存TLD服务器的ip地址,因此根DNS服务器不会被经常访问
DNS记录
RR(资源记录)
每条资源记录包含四元组(Name,Value,Type,TTL)
Name是主机名;Value是该主机名对应的IP地址;Type为记录类型;TTL为记录的生存时间
Type=?
1.MX:name=邮件服务器的主机别名;value=邮件服务器的真实规范主机名
2.CNAME:name=主机别名;value=真是的规范主机名
3.A:name=主机名;value=ip地址
4.NS:name=域名;value=该域权威名字服务器的主机名
DNS服务器提供的功能(4个)
1.主机名到ip地址的转换
2.主机别名(一个主机可以有一个规范主机名和多个主机别名)
3.邮件服务器别名
4.负载分配(DNS实现冗余服务器:1个ip地址集合可以对应于同一个规范主机名)
电子邮件
用户代理(user urgent)
允许用户阅读、回复、转发、保存、编辑邮件消息
邮件服务器(mail server)
1.用邮箱mailbox存放用户接受的邮件消息
2.外出报文队列outgoing message queue
3.运行邮件协议
邮件协议
邮件收取与发送协议
SMTP(简单邮件传输协议)
端口号
25
方式:
直接传送:发送服务器到接收服务器
传输的三个阶段
1.握手
2.邮件消息的传输
3.结束
邮件消息必须是7-bit ASCll
使用持久连接
与http的比较
1.http是拉协议,smtp是推协议
2.都有ASCll命令/应答交互,状态码
3.http每个对象封装在它各自的http响应消息中发送;SMTP一个邮件内各个对象置于同一个邮件消息的多目部分发送
邮件消息的格式
子主题
MIME:多媒体拓展
增加额外的信头头部声明,存放多媒体数据
邮件访问协议
POP3(邮局协议)
端口号
110
RFC 1939
工作流程
1.特许
用户代理发送用户名和口令以鉴别用户
2.事务处理
用户取回报文,可以对报文进行操作
3.更新
出现在客户机发出quit命令后,结束pop3会话
特点
会话无状态
只支持单客户端,换客户端以后不能再读上个客户端保存的邮件(阅后即焚)
IMAP
端口号
143
RFC 3501
特点
是POP3的一种改进,更加复杂
保存所有邮件消息在一个位置:服务器
允许用户像对待本地邮箱那样操控远程邮箱的邮件
IMAP跟踪,维护用户会话的状态信息