【TCP/IP网络协议】(七)应用层协议

本文详细介绍了应用层中的几种重要协议,包括DNS(域名服务)、FTP(文件传输)、HTTP(超文本传输)以及Telnet协议。DNS基于UDP,负责域名与IP地址的转换,涉及DNS服务器、host命令、报文格式等内容。FTP基于TCP,通过20和21端口进行文件传输。HTTP协议广泛用于网页传输,基于端口80,其原理包括请求报文和响应报文结构。此外,还简述了Telnet远程登录过程以及TFTP简单文件传输协议。
摘要由CSDN通过智能技术生成

应用层协议

在传输层之上,便是应用层。传输层的UDP报文和TCP报文段的数据部分就是应用层交付的数据。
不同类型的网络应用有不同的通信规则,因此应用层协议都是多种多样的,比如DNS、FTP、Telent、SMTP、HTTP、RIP、NFS等协议都是用于解决其各自的一类问题。

一、DNS协议

DNS(域名服务)协议基于UDP,使用端口号53.
由数字组成的IP地址很难记忆,所以我们上网使用网站IP地址的别名——域名。实际使用中,域名与IP地址是对应的,这种对应关系保存在DNS服务器之中。

在浏览器中输入一个域名后,会有DNS服务器将域名解析为对应的IP地址。注意这和网络层的ARP协议的不同之处:DNS提供的是域名与IP地址的对应关系,而ARP提供的是IP地址与MAC地址的对应关系。

1.1 DNS服务器

DNS服务器是个分层次的系统:

  • 根DNS服务器:全世界共有13台根域名服务器,编号A到M,其中大部分位于美国;
  • 顶级(TLD)DNS服务器:负责如com、org、edu等顶级域名和所有国家顶级域名(如cn、uk、jp)。
  • 权威DNS服务器:大型组织、大学、企业的域名解析服务;
  • 本地DNS服务器:通常与我们主机最近的DNS服务器。

而域名解析的过程,有迭代查询和递归查询两种方式:
在这里插入图片描述

1.2 host命令

在Linux系统中,可以使用host命令进行DNS查询,查看一个指定域名的IP,比如要查询baidu.com的IP地址:
host www.baidu.com

1.3 DNS报文

主机向DNS服务器发出的查询叫做DNS报文,问答报文的内容,都是IP和域名的对应信息,问题中包含域名、类型、类信息,回答中包含指针,类型,类,TTL,长度,IP地址信息。

1.4 DNS缓存和hosts文件

之前DNS解析查询过程的图中,共发出了8分DNS报文,这是非常消耗时间的,所以实际应用中使用DNS缓存:当一个DNS服务器收到一个DNS回答后,会将信息缓存一段时间,当再有一个对相同域名的查询,便可直接回复。
通过DNS缓存,其实很多查询都只需要本地DNS服务器便可完成。
hosts文件可以看做是一个小型的DNS服务器。
使用命令打开hosts文件
sudo gedit /etc/hosts
查看文件内容,可以发现里面全是类似下图中的IP与域名对应记录;
在这里插入图片描述
在实际上网过程中,域名解析的优先顺序是:先在DNS缓存查询,若没有查到记录,再查询hosts文件,若还是没有找到记录,再向DNS服务器发出DNS查询报文。

我们可以用dig命令进行域名查询

# 查询 www.shiyanlou.com 的 ip 地址, +noedns 是不显示edns信息`
dig www.shiyanlou,com +noedns

输出信息:
在这里插入图片描述
输出信息解析:

# 这一部分为应答的统计信息
 - QUERY:查询任务个数,这里为1一个;
 - ANSWER:查询到几条A记录(IP地址),这里为1条;
 - AUTHOROTY:几个权威域名服务器,这里为0个;
 - ADDITIONAL:几个附加信息,这里为0个。

# 这一部分为问题片段,意思是查询 www.shiyanlou.com的A记录
 - ;; QUESTION SECTION
 - ;www.shiyanlou.com 

# 这一部分为应答片段,意为查询到的IP为121.40.227.60
 - ;;ANSWER SECTION:
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ThetaQing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值