第十四天:DNS-DHCP-HTTP

DNS-DHCP-HTTP

DNS

DNS的全称是: Domain Name System,译为:域名系统
利用DNS协议,可以将域名(比如baidu.com) 解析成对应的IP地址(比如220.181.38.148)
DNS可以基于UDP协议,也可以基于TCP协议,服务器占用53端口

image-20211015190704371

当我们找example.microsoft.com时候,首先会找根服务器,然后再找顶级域名服务器,再找二级名称服务器再找到权威名称服务器。最终找到这个域名

客户端首先会访问最近的一台DNS服务器(也就是客户端自己配置的DNS服务器)
所有的DNS服务器都记录了DNS根域名服务器的IP地址
上级DNS服务器记录了下一级DNS服务 器的IP地址
全球-共13台IPv4的DNS根域名服务器、 25台IPv6的DNS根域名服务器

image-20211015191106847

常见命令

ipconfig /displaydns:查看DNS缓存记录
ipconfig /flushdns:清空DNS缓存记录
ping 域名
nslookup 域名

image-20211015192457323

Dipconfig /all:可以看到DHCP相关的详细信息,比如租约过期时间、DHCP服务器地址等

image-20211015192615845

DHCP

IP地址分配

IP地址按照分配方式,可以分为:静态IP地址、动态IP地址
静态IP地址

  • 手动设置
  • 适用场景:不怎么挪动的台式机(比如学校机房中的台式机)、服务器等

动态IP地址

  • DHCP服务器自动获取IP地址
  • 适用场景:移动设备、无线设备等

比如说在教师的时候,有一些移动设备,如果手机采取静态地址,就会导致IP地址冲突,上不了网

DHCP (Dynamic Host Configuration Protocol),译为:动态主机配置协议

  • DHCP协议基于UDP协议,客户端是68端口,服务器是67端口
  • DHCP服务器会从IP地址池中,挑选一个IP地址 ” 出租"给客户端一-段时间, 时间到期就回收它们

image-20211015193509204

DHCP分配IP地址的四个阶段

DISCOVER:发现服务器
发广播包(源IP是0.0.0.0, 目标IP是255.255.255.255, 目标MAC是FF:FF:FF:FF:FF:FF)
OFFER:提供租约
服务器返回可以租用的IP地址,以及租用期限、子网掩码、网关、DNS等信息
注意:这里可能会有多个服务器提供租约
REQUEST:选择IP地址
客户端选择一个OFFER, 发送广播包进行回应
ACKNOWLEDGE:确认
被选中的服务器发送ACK数据包给客户端

至此,IP地址分配完毕

image-20211015193755571

image-20211015194103460

细节
  • DHCP服务器可以跨网段分配IP地址么? (DHCP服务器、 客户端不在同一个网段)

    ​ 可以借助DHCP中继代理(DHCP Relay Agent)实现跨网段分配IP地址

  • 自动续约
    客户端会在租期不足的时候,自动向DHCP服务器发送REQUEST信息申请续约
    常用命令

ipconfig /release:释放租约

image-20211015194423865

可以看到电脑的网络就断开了

ipconfig /renew:重新申请IP地址、申请续约(延长租期)

image-20211015194519257

可以看到电脑的网络连接成功

通过抓包工具,我们来看看细节

image-20211015194749788

HTTP

HTTP (Hyper Text Transfer Protocol),译为超文本传输协议
是互联网中应用最广泛的应用层协议之一

设计HTTP最初的目的是:提供-种发布和接收HTML页面的方法,由URI来标识具体的资源

URI 包括了URL

image-20211015195314996

能够全网唯一URI的就是URL

后面用HTTP来传递的数据格式不仅仅是HTML,应用非常广泛

HTML

HTML的全称为超文本标记语言,是一种标记语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字图形动画声音表格链接等。

关于HTTP版本问题

1991年,HTTP/0.9

  • 只支持GET请求方法获取文本数据(比如HTML文档),且不支持请求头、响应头等,无法向服务器传递太多信息
    1996年,HTTP/1.0
  • 支持POST、HEAD等请求方法,支持请求头、响应头等,支持更多种数据类型(不再局限于文本数据)
  • 浏览器的每次请求都需要与服务器建立一个TCP连接,请求处理完成后立即断开TCP连接

1997年,HTTP/1.1 (最经典、使用最广泛的版本)

  • 支持PUT、DELETE等请求方法

  • 采用持久连接(Connection: keep-alive),多个请求可以共用同一-个TCP连接

关于标准

HTTP的标准
由万维网协会(W3C)、互联网工程任务组(IETF) 协调制定,最终发布了一系列的RFC
RFC (Request For Comments,可以译为:请求意见稿)
HTTP/1.1最早是在1997年的RFC 2068中记录的
该规范在1999年的RFC 261 6中已作废
2014年又由RFC 7230系列的RFC取代
HTTP/2标准于2015年5月以RFC 7540正式发表,取代HTTP/1.1成为HTTP的实现标准

中国的RFC
1996年3月,清华大学提交的适应不同国家和地区中文编码的汉字统一传输标准被IETF通过为RFC 1922
成为中国大陆第一个被认可为RFC文件的提交协议

报文格式

请求报文

image-20211015203714166

响应报文格式

image-20211015204409429

image-20211015202831754

前三个字节是想告诉服务器是get请求

通过抓包工具可以看到完整的数据

image-20211015203144865

这一段都是服务器的响应

image-20211015203246763

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值