WEB网络通信

网络通信模型

TCP/IP模型 ‌ 是互联网最基本的通信协议簇,采用四层体系结构**(应用层、传输层、网络层、网络接口层),由 TCP、IP、UDP、HTTP、FTP 等上百个协议共同构成。

OSI模型 ‌的主要用途是为网络通信提供一个‌标准化的理论框架‌,用于理解、设计、教学和排查网络协议与系统。

TCP/IP 四层 OSI 七层 主要协议举例
应用层 应用层 + 表示层 + 会话层 HTTP、FTP、SMTP、DNS
传输层 传输层 TCP、UDP
网络层 网络层 IP、ICMP、IGMP
网络接口层 数据链路层 + 物理层 Ethernet、PPP、ARP

TCP/IP 三四操作

TIME_WAIT 等待 2msl (毫秒)

seq、ack 序列号是传输控制协议(TCP )中用于确保数据包顺序性和完整性的关键机制,它是一个32位 的无符号整数,通常从一个随机值开始以确保每次连接的唯一性。发送端为每个传输字节分配唯一序号,通过32位计数器递增生成,接收端通过确认号字段反馈期望接收的下一个序列号。

报文结构

标志位

  • FIN(Finish)断开标志:带有该标志位的数据包,用于结束TCP会话,但对应端口仍处于开放状态,准备接收后续数据。
  • SYN(Synchronize Sequence Numbers) 同步标志:仅在三次握手建立连接时有效。
  • RST(Rest) 复位标志:表示连接复位请求,用于复位那些产生错误的连接,也被用来拒绝错误和非法的数据包。
  • PUSH 标志:在数据包到达接收端后,立即传送给应用程序,而不是在缓冲区中排队。
  • ACK(Acknowledgment) 确认标志:用于确认数据包的成功接收。
  • URG 紧急指针标志:用于将输入数据标识为"紧急"。

序列号(Sequence Number) seq

32位,初始序列号是随机生成的。TCP是基于数据流的,序列号用于标识数据流中的字节位置,它表示数据包中的第一个字节在整个数据流中的位置。接收方在接收到数据包后,会根据序列号对数据包进行排序和重组,确保数据的顺序正确。

确认号(Acknowledgment Number) ack

DNS解析

递归查询

递归查询由本地 DNS 服务器代替客户端完成全部查询工作,客户端只需等待最终结果

复制代码
责任主体:本地 DNS 服务器代替客户端进行查询。‌‌
请求次数:客户端只发起一次请求,全程等待。‌‌
返回结果:只有两种------查询成功的 IP 地址或查询失败。‌‌
工作流程:客户端→本地 DNS 服务器→(本地 DNS 服务器向其他服务器查询)→返回最终结果给客户端。‌‌5

迭代查询

迭代查询由查询方自己逐级向不同 DNS 服务器发起请求,服务器只返回下一个查询目标或最终结果。

复制代码
责任主体:查询方自己逐级发起查询请求。‌‌
请求次数:需要多次向不同 DNS 服务器发起请求。‌‌
返回结果:返回下一个应查询的服务器地址或最终 IP 地址。‌‌
工作流程:查询方→根域名服务器→顶级域名服务器→权威域名服务器→获取 IP。‌‌

应用场景

实际应用中,主机向本地域名服务器的查询通常采用递归查询,本地域名服务器向根域名服务器的查询通常采用迭代查询‌。

维度 递归查询 迭代查询
典型场景 客户端到本地 DNS 服务器‌‌ DNS 服务器之间的查询‌‌
优点 客户端操作简单,只需等待最终结果‌‌ 本地 DNS 服务器负担较轻‌‌
缺点 本地 DNS 服务器查询负担重‌‌ 查询方需多次通信,可能增加查询时间‌‌
相关推荐
We་ct2 小时前
LeetCode 300. 最长递增子序列:两种解法从入门到优化
开发语言·前端·javascript·算法·leetcode·typescript
深海鱼在掘金2 小时前
Next.js从入门到实战保姆级教程(第一章):导读——建立 Next.js 的认知框架
前端·typescript·next.js
渔舟小调2 小时前
P17 | 管理台动态路由:后端返回菜单树,前端运行时注入
前端
小徐_23332 小时前
uni-app 组件库 Wot UI 2.0 发布了,我们带来了这些改变!
前端·微信小程序·uni-app
❀͜͡傀儡师2 小时前
Claude Code 官方弃用 npm 安装方式:原因分析与完整迁移指南
前端·npm·node.js·claude code
知识分享小能手2 小时前
ECharts入门学习教程,从入门到精通,ECharts高级功能(6)
前端·学习·echarts
阿祖zu2 小时前
OpenClaw 入门到放弃:私人 AI 的初代原型机
前端·后端·aigc
ZC跨境爬虫2 小时前
3D地球卫星轨道可视化平台开发 Day15(添加卫星系列模糊搜索功能)
前端·数据库·3d·交互·数据可视化
m0_738120723 小时前
渗透基础知识ctfshow——Web应用安全与防护(第六 七章)
服务器·前端·安全