zoukankan      html  css  js  c++  java
  • 【图解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 协议的通信过程中各自发挥了哪些作用。

    --不要用肉体的勤奋,去掩盖思考的懒惰--
  • 相关阅读:
    剑指Offer-11.二进制中1的个数(C++/Java)
    剑指Offer-10.矩形覆盖(C++/Java)
    剑指Offer-9.变态跳台阶(C++/Java)
    UVA 1608 Non-boring sequence 不无聊的序列(分治,中途相遇)
    UVA1607 Gates 与非门电路 (二分)
    UVA 1451 Average平均值 (数形结合,斜率优化)
    UVA 1471 Defense Lines 防线 (LIS变形)
    UVA 1606 Amphiphilic Carbon Molecules 两亲性分子 (极角排序或叉积,扫描法)
    UVA 11134 FabledRooks 传说中的车 (问题分解)
    UVA 1152 4 Values Whose Sum is Zero 和为0的4个值 (中途相遇)
  • 原文地址:https://www.cnblogs.com/pingguo-softwaretesting/p/14967844.html
Copyright © 2011-2022 走看看