• 【图解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)策略。在数据包送出后,不会置之不理,一定会向对方确认是否成功送达。

    握手过程中使用了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地址反查域名。

    四、与 HTTP 协议的关系

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

    --不要用肉体的勤奋,去掩盖思考的懒惰--
  • 相关阅读:
    零基础入门学习python--第一章
    mount: no medium found on /dev/sr0 找不到介质
    linux中shell变量$#,$@,$0,$1,$2的含义解释
    ospf多区域实例配置
    Linux查看cpu信息
    ethtool查看网卡以及修改网卡配置
    circusctl命令在ubuntu 上执行,卡住的现象处理。
    ubuntu 16.04.1 LTS zabbix-agent安装
    ubuntu 16.04.1 LTS 初始化
    Ubuntu开机启动的方式
  • 原文地址:https://www.cnblogs.com/pingguo-softwaretesting/p/14967844.html
Copyright © 2020-2023  润新知