计算机网络应用层-计网(2)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/babybabyup/article/details/84403000

前言

接着学习计算机网络

正文

主要学习应用层涉及到的几个协议。

基本概念

  • 通信双方在应用层交换的协议数据单元是报文(Message).
  • client-server架构:中央服务器一直在线,并且有永久的ip地址。
  • p2p架构:没有一直在线的中央服务器,任意两个用户之间可以进行通信。
  • 混合架构:client-server和p2p混合架构,集合二者的特点。

协议定义

  • 交换的报文类型
  • 报文的语法格式
  • 报文中字段的语意
  • 各种类型的报文的发送规则

http协议

万维网

万维网是一个超媒体系统。web文档分布在各个主机上,采用超链接的方法,讲一个web文档链接到另一个web文档,甚至是其他主机上的web文档。使用超文本标记语言(html)来组织web文档信息,使用超文本传输协议(http)来传输web文档。

超文本标记语言

html语言用来编写web文档,由特定标签定义内容。
html标签

统一资源定位符

URL是一种统一格式的信息资源地址的标识方法。最常见的就是http协议的url了。
其格式如下

<协议>://<主机>:<端口>/<路径>

url不分大小写
常见url

超文本传输协议

http是用来传输web信息的协议。广泛用来浏览器-服务器传输内容。其在运输层的协议是tcp。
RTT的定义:client端发送数据报至接收到server端回应的时间。

分类

  • 非持久连接
    http1.0,一个tcp连接发送一个object
  • 持久连接
    http2.0,一个tcp连接发送多个object

连接过程

http在传输层是基于tcp的,所以必定要进行tcp连接,而http连接几次就要看一次可以发送接收多少个object。

  • 非持久连接
    client首先发送tcp数据报至server—>server accept了client的连接,并发出回应—>client得到server的tcp回应发送http请求报文—>server收到请求报文并且发送响应报文—>server关闭tcp连接—>client接收响应报文并做响应解析。
    一个object传输总时间为:2RTT+object传输时间

  • 持久连接
    持久连接的不同之处在于,发送了响应报文,server并不马上关闭tcp连接,之后可以再次发送object

报文

报文分为请求报文和响应报文。

扫描二维码关注公众号,回复: 4604739 查看本文章
  • 请求报文
    格式
请求行: 方法 路径 httpversion
首部行: Host:value
		·
		·
		·

GET /test/test http1.1
Host:www.host.com
User-agent: Mozilla/4.0
Connection:close
Accept-language:fr
  • 响应报文
    比如
HTTP1.1 200 OK
Connection:close
Date:
服务器:Apache/1.3.0 (Unix)
Last-Modified:
Content-Length:
Content-Type:
data....

一些状态码和状态短语

  • 200 OK
    请求成功,请求对象在报文后面
  • 301 moved permanently
    资源已经转移,新的url的location在首部行指定
  • 400 Bad Request
    不符合请求报文规则,请求报文不为服务器理解
  • 404 Not found
    资源不存在
  • 500 Http version not supported
    服务器错误

ftp协议

ftp使用20和21端口,可以在自己服务器配置ftp。详情
ftp常用的命令行

命令 作用
查看所有命令使用帮助
open 打开一个ftp服务器
user 切换ftp用户
put 上传本地文件至ftp服务器
get 下载ftp服务器文件至本地

邮件协议

电子邮件由四部门组成

  • 用户代理
  • 邮件服务器
  • 邮件传输协议
  • 邮件访问协议
    邮件过程
  • smtp
    标准文本格式为
    文本格式
    终端smtp交互实例,可以看这个smtp交互
  • pop3
    分为两个阶段
  1. 认证阶段
    用户密码的验证
  2. 事物阶段
    对一些邮件的基本操作
    终端pop3交互实例,可以看这个pop3交互

dns系统

dns系统完成域名-ip地址的映射。

域名服务器

  • 跟域名服务器
    是最高层次的域名服务器,internet上有13套跟域名服务器。跟域名服务器上面存储了顶级域名服务器的IP。
  • 顶级域名服务器
    跟域名之下是顶级域名,负责管理的是在该顶级域名注册的所有权威域名。存储着下一步要查询的域名服务器的ip地址。
  • 权威域名服务器
    权威域名服务器中存储着具体要访问服务器ip
  • 本地域名服务器
    本地域名服务器存在域名缓存,如果有要找的记录,则直接返回给本地电脑。

域名解析过程

以访问www.amazon.com为例

  1. 访问本地域名服务器,查询本地的域名缓存,存在直接返回,不存在就转为查询跟域名服务器。
  2. 查询跟域名服务器,得到.com的顶级域名的IP地址。
  3. 查询得到的顶级域名服务器,获得amazon.com的IP地址。
  4. 查询amazon.com域名服务器,得到IP地址。
  5. 本地域名服务器将查询到的IP地址返回给电脑。

dns记录格式

Name Value Type TTL

Name一般是节点主机的域名,Value是对应Name的名字,Type指出记录的类型,TTL是本记录的生存时间,一般是24hours。

Type Name Value
A 主机域名 对应的IP地址
NS 本域的服务器名称
CNAME 别名对应的规范主机名 域名
MX 邮件服务器的规范主机名 对应邮件服务器的名称
TXT 文本 未解释的ASCII码文本

dns报文

报文

  1. 首部区
    标识该次域名解析是查询还是应答。
  2. 询问区
    包括被查询的主机域名以及查询类型
  3. 应答区
    对域名查询报文解析出的域名和资源记录
  4. 管理机构区
    其他权威域名服务器的记录
  5. 附加记录区
    另外包含一些其他有用的记录来配合资源记录的使用

猜你喜欢

转载自blog.csdn.net/babybabyup/article/details/84403000