【图解Http 学习摘要】二、IP,TCP 和 DNS、三次握手

简介: 【图解Http 学习摘要】二、IP,TCP 和 DNS、三次握手

IP、TCP 和 DNS,首先这三者都是 TCP/IP 协议族中的协议,与 http 的关系密不可分。


一、IP 协议


IP(Internet Protocol),是网际协议,位于网络层。它是整个TCP/IP协议族的核心,也是构成互联网的基础。


注意这里不要和 IP地址 搞混淆:


  • IP协议:作用是把各种数据包传送给对方。而要保证确实传送到对方那里,则需要满足各类条件,其中两个重要条件:IP 地址和 MAC 地址(Media Access Control Address)。
  • IP地址:IP规定网络上所有的设备都必须有一个独一无二的IP地址,就好比是邮件上都必须注明收件人地址,邮递员才能将邮件送到。


IP 地址和 MAC 地址


  • IP 地址指明了节点被分配到的地址。
  • MAC 地址是指网卡所属的固定地址,也可以称为物理地址(Physical Address),它是一个用来确认网络设备位置的位址。
  • IP 地址可变换,但 MAC 地址基本上不会更改。


ARP 协议


IP 之间的通信依赖 MAC 地址。


通常,在网络上要通信的双方处于同一局域网(LAN)内的情况很少,而需要经过多太计算机和网络设备中转才可以联系到对方。而在中转时,会利用下一站中转设备的 MAC 地址来搜索下一个中转目标。


这时,用到的就是 ARP(Address Resolution Protocol)协议,用来解析地址,根据通信方的 IP地址 反查出对应的 MAC 地址。


二、TCP 协议


TCP 位于传输层,提供可靠的字节流服务。


提取下2个关键词:


  • 字节流:为了方便传输,将大块数据分割成以报文段为单位的数据包进行管理。
  • 可靠:能把数据准确可靠地传给对方。


换句话说,TCP 协议为了更容易传送大数据才把数据分割,而且 TCP 协议能够确认数据最终是否送达对方。


三次握手


为了准确无误地将数据送达目标出,TCP 协议采用了三次握手(three-way handshaking)策略。在数据包送出后,不会置之不理,一定会向对方确认是否成功送达。


1268169-20210704055744426-1605703249.png


握手过程中使用了2个 TCP的标志:SYN(synchronize)同步 和 ACK(acknowledgement)确认。


  • 第一次:发送端首先发送一个带有 SYN 标志的数据包给对方。
  • 第二次:接收端接到后,回传一个带有 SYN/ACK 标志的数据包,表示确认信息。
  • 第三次:最后,发送端再回传一个带有 ACK 标志的数据包,代表“握手”结束。


如果在握手过程中某个阶段莫名中断,TCP 会再次以相同的顺序发送相同的数据包。

除了上述三次握手,TCP 协议还有其他各种手段来保证通信的可靠性。


三、DNS 协议


DNS 服务与 HTTP 一样处于应用层,它提供域名到 IP地址之间的解析服务。计算机既可以被赋予 IP地址,也可以被赋予主机名和域名。


  • IP 地址:比如 192.168.1.125
  • 域名:比如说 www.hackr.jp


相比之下,域名更符合我们的记忆习惯。


但是计算机却更擅长理解和处理数字,所以有了 DNS协议,可以通过域名查找 IP地址,或者逆向从 IP地址反查域名。


1268169-20210704061135457-860383452.png


四、与 HTTP 协议的关系


再通过这张图来了解下 IP 协议、TCP 协议和 DNS 服务在使用 HTTP 协议的通信过程中各自发挥了哪些作用。


1268169-20210704061727385-1747145666.png



相关文章
|
域名解析 存储 网络协议
深入解析网络通信关键要素:IP 协议、DNS 及相关技术
本文详细介绍了IP协议报头结构及其各字段的功能,包括版本、首部长度、服务类型、总长度、标识、片偏移、标志、生存时间(TTL)、协议、首部检验和等内容。此外,还探讨了IP地址的网段划分、特殊IP地址的应用场景,以及路由选择的大致流程。最后,文章简要介绍了DNS协议的作用及其发展历史,解释了域名解析系统的工作原理。
618 5
深入解析网络通信关键要素:IP 协议、DNS 及相关技术
|
10月前
|
域名解析 网络协议 网络安全
SSL证书验证全攻略:DNS/HTTP/手动解析怎么选?
SSL证书在网络安全中至关重要,1Panel提供三种验证方式:DNS验证、HTTP验证和手动解析。DNS验证便捷,适合CDN网站;HTTP验证快速,需服务器在线;手动解析灵活,但操作复杂。根据需求选择合适确认方式,定期检查证书状态。
1066 2
|
监控 负载均衡 安全
静态IP代理与动态IP代理:提升速度与保障隐私的技术解析
本文探讨了静态IP代理和动态IP代理的特性和应用场景。静态IP代理通过高质量服务提供商、网络设置优化、定期更换IP与负载均衡及性能监控提升网络访问速度;动态IP代理则通过隐藏真实IP、增强安全性、绕过封锁和提供独立IP保障用户隐私。结合实际案例与代码示例,展示了两者在不同场景下的优势,帮助用户根据需求选择合适的代理服务以实现高效、安全的网络访问。
438 1
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
720 11
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
1390 3
|
域名解析 网络协议 测试技术
IP、掩码、网关、DNS1、DNS2到底是什么东西,ping telnet测试
理解IP地址、子网掩码、默认网关和DNS服务器的概念是有效管理和配置网络的基础。通过使用ping和telnet命令,可以测试网络连通性和服务状态,快速诊断和解决网络问题。这些工具和概念是网络管理员和IT专业人员日常工作中不可或缺的部分。希望本文提供的详细解释和示例能够帮助您更好地理解和应用这些网络配置和测试工具。
8304 2
|
网络协议 网络虚拟化
接收网络包的过程——从硬件网卡解析到IP
【9月更文挑战第18天】这段内容详细描述了网络包接收过程中机制。当网络包触发中断后,内核处理完这批网络包,会进入主动轮询模式,持续处理后续到来的包,直至处理间隙返回其他任务,从而减少中断次数,提高处理效率。此机制涉及网卡驱动初始化时注册轮询函数,通过软中断触发后续处理,并逐步深入内核网络协议栈,最终到达TCP层。整个接收流程分为多个层次,包括DMA技术存入Ring Buffer、中断通知CPU、软中断处理、以及进入内核网络协议栈等多个步骤。
|
运维 安全 网络协议
Python 网络编程:端口检测与IP解析
本文介绍了使用Python进行网络编程的两个重要技能:检查端口状态和根据IP地址解析主机名。通过`socket`库实现端口扫描和主机名解析的功能,并提供了详细的示例代码。文章最后还展示了如何整合这两部分代码,实现一个简单的命令行端口扫描器,适用于网络故障排查和安全审计。
394 0
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
1181 29
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
494 4

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
  • DNS