【图解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



相关文章
|
XML 监控 网络协议
云深处绝影四足机器人协议学习解析
本文详细介绍并解析了云深处绝影X20四足机器人的通信协议,包括TCP服务端端口号、基于Service的请求/响应通信机制、通信帧结构、消息类型、常见的通信示例如获取状态和导航请求,以及运动控制的参数和命令。文中还提出了对协议中某些未明确说明或可能存在的问题的疑惑。
1155 1
云深处绝影四足机器人协议学习解析
|
网络协议 安全 网络安全
什么是TCP/UDP/HTTP?它们如何影响你的内网穿透体验?
数据的传输离不开各种协议,它们就像现实世界中的交通规则,规定了数据如何打包、寻址、传输和接收。对于使用内网穿透的用户来说,理解TCP、UDP和HTTP这些基础协议的特点,能帮助你更好地理解其性能表现,并选择最适合的配置方案。
|
网络协议 安全 API
WebSocket、Socket、TCP 和 HTTP 的差别与应用场景
WebSocket、Socket、TCP 和 HTTP 是网络通信中的四大“使者”,各具特色:HTTP 适合短时请求,TCP 稳定可靠,Socket 灵活定制,WebSocket 实现实时双向通信。本文用通俗语言解析它们的区别与应用场景,助你为项目选择最合适的通信方式。
3568 3
|
域名解析 存储 缓存
深入学习 DNS 域名解析
在平时工作中相信大家都离不开 DNS 解析,因为 DNS 解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程。
1816 31
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
491 13
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
1701 3
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
2671 2
|
网络协议 前端开发 API
HTTP 和 TCP 协议的应用场景有哪些不同
【10月更文挑战第25天】HTTP(超文本传输协议)和 TCP(传输控制协议)处于网络协议栈的不同层次,各自具有独特的功能和特点,因此它们的应用场景也存在明显的差异。
|
网络协议
http 与 tcp 的关系
【10月更文挑战第25天】总的来说,HTTP 和 TCP 是网络通信中不可或缺的两个协议,它们共同为网络应用提供了可靠的数据传输和交换服务。理解它们之间的关系对于开发和维护网络应用具有重要的意义。
|
网络协议 API 数据格式
HTTP 和 TCP 协议的主要区别
【10月更文挑战第25天】HTTP 和 TCP 在网络通信中扮演着不同的角色,各自具有独特的功能和特点,它们相互配合,共同为实现网络应用的各种需求提供了基础支持。

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
  • DNS