美文网首页《图解TCP/IP》
《图解TCP/IP》之IP协议相关技术

《图解TCP/IP》之IP协议相关技术

作者: 笙绳省盛 | 来源:发表于2019-01-27 14:55 被阅读1次

    1.仅凭IP无法完成通信

    在访问Web站点和发送、接收电子邮件时,我们通常会直接输入Web网站的地址和邮件地址等那些由应用层提供的地址,而不会使用由十进制数字组成的某个IP地址。因此,为了能让主机根据实际的IP包进行通信,就有必要实现一种功能--将应用中使用的地址映射为IP地址。
    此外,在数据链路层也不使用IP地址。在以太网的情况下只使用MAC地址传输数据。而实际上将众多IP数据包在网络上进行传送的就是数据链路本身,因此,必须了解发送端MAC地址。如果不知道MAC地址,那么通信也就无从谈起。
    由此可知,在实际通信中,仅凭IP远远不够,还需要众多支持IP的相关技术才能实现最终通信。

    2.DNS

    我们平常在访问某个网站时不使用IP地址,而是用一串罗马字和点号组成的字符串。而一般用户在使用TCP/IP进行通信时也不使用IP地址。能够这样做是因为有了DNS功能的支持。DNS可以将那串字符串自动转换为具体的IP地址。

    1.IP地址不便于记忆

    在进行应用操作时,用户必须指定对端的接收地址,此时如果使用IP地址的话应用就会有很多不便之处。因此IP地址是由一串数据序列组成,并不好记。

    2.DNS的产生

    在上述背景下,产生了一个可以有效管理主机名和IP地址之间对应关系的系统,那就是DNS系统。在这个系统中主机的管理机构可以对数据进行变更和设定。也就是说,它可以维护一个用来表示组织内部主机名和IP地址之间对应关系的数据库。

    3.域名的构成

    域名是指为了识别主机名称和组织机构名称的一种具有分层的名称。


    屏幕快照 2019-01-23 下午2.33.23.png
    • 域名服务器
      域名服务器是指管理域名的主机和相应的软件,它可以管理所在分层的域的相关信息。其所管理的分层叫做ZONE。
    • 解析器
      进行DNS查询的主机和软件叫做DNS解析器。用户所使用的工作站或个人电脑都属于解析器。一个解析器至少要注册一个以上域名服务器的IP地址。通常,它至少包括组织内部的域名服务器的IP地址。
    4.DNS查询
    屏幕快照 2019-01-23 下午2.49.57.png
    5.DNS如同互联网中的分布式数据库

    DNS所管理的信息不仅仅是这些主机名和IP地址之间的映射关系。它还要管理众多其他信息。


    屏幕快照 2019-01-23 下午2.52.47.png

    3.ARP

    只要确定了IP地址,就可以向这个目标地址发送IP数据报。然而,在底层数据链路层,进行实际通信时却有必要了解每个IP地址所对应的MAC地址。

    1.ARP概要

    ARP是一种解决地址问题的协议。以目标IP地址为线索,用来定位下一个应该接收数据分包的网络设备对应的MAC地址。如果目标主机不在同一链路上时,可以通过ARP查找下一跳路由器的MAC地址。不过ARP只适用于IPv4,不能用于IPv6.IPv6中可以用ICMPv6替代ARP发送邻居探索消息。

    2.ARP的工作机制

    ARP是借助ARP请求与ARP响应两种类型的包确定MAC地址。


    屏幕快照 2019-01-23 下午3.12.33.png

    4.ICMP

    1.辅助IP的ICMP

    架构IP网络需要特别注意两点:确认网络是否正常工作,以及遇到异常时进行问题诊断。
    ICMP的主要功能包括,确认IP包是否成功送达目标地址,通知在发送过程当中IP包被废弃的具体原因,改善网络设置等。有了这些功能以后,就可以获得网络是否正常、设置是否有误以及设备有何异常等信息,从而便于进行网络上的问题诊断。


    屏幕快照 2019-01-23 下午4.20.28.png
    2.主要的ICMP消息
    • 目标不可到达消息
      IP路由器无法将IP数据包发送给目标地址时,会给发送端主机返回一个目标不可达的ICMP消息,并在这个消息中显示不可达的具体原因。


      屏幕快照 2019-01-23 下午4.39.15.png
    • ICMP重定向消息
      如果路由器发现发送端主机使用了次优的路径发送数据,那么它会返回一个ICMP重定向的消息给这个主机。在这个消息中包含了最合适的路由信息和源数据。这主要发生在路由器持有更好的路由信息的情况下。路由器会通过这样的ICMP消息发送端主机一个更合适的发送路由。
    • ICMP超时消息
      IP包中有一个字段叫做TTL(Time To Live,生存周期),它的值随着每经过一次路由器就会减1,直到见到0时该IP包就会被丢弃。此时,IP路由器将会发送一个ICMP超时的消息给主机,并通知该包已被丢弃。
      设置IP包生存周期的主要目的,是为了在路由控制遇到问题发生循环状况时,避免IP包无休止地在网络上被转发。此外,有时可以用TTL控制包的到达范围,例如设置一个较小的TTL值。
    • ICMP回送消息
      用于进行通信的主机或路由器之间,判断所发送的数据包是否已经成功到达对端的一种消息。可以向对端主机发送回送请求的消息,也可以接收对端主机发回来的回送应答消息。
    3.其他ICMP消息
    • ICMP原点抑制消息
      在使用低速广域线路的情况下,连接WAN的路由器可能会遇到网络拥堵的问题。ICMP原点抑制消息的目的就是为了缓和这种拥堵情况。当路由器向低速线路发送数据时,其发送队列的残存变为零而无法发送出去时,可以向IP包的源地址发送一个ICMP原点抑制消息。收到这个消息的主机借此了解在整个线路的某一处发送了拥堵的情况,从而打开IP包的传输间隔。
    • ICMP路由探索消息
      主要用于发现与自己相连网络中的路由器。当一台主机发出ICMP路由器请求时。路由器则返回ICMP路由器公告消息给主机。
    • ICMP地址掩码消息
      主要用于主机或路由器想要了解子网掩码的情况。可以向那些目标主机或路由器发送ICMP地址掩码请求消息,然后通过接收ICMP地址掩码应答消息获取子网掩码的信息。

    5.DHCP

    1.DHCP实现即插即用

    为了实现自动设置IP地址、统一管理IP地址分配,就产生了DHCP(Dynamic Host Configuration Protocol)协议。有了DHCP,计算机只要连接到网络,就可以进行TCP/IP通信。

    2.DHCP的工作机制

    使用DHCP之前,首先要架设一台DHCP服务器。然后将DHCP所要分配的IP地址设置到服务器上。此外,还需要将相应的子网掩码、路由控制信息以及DNS服务器的地址等设置到服务器上。


    屏幕快照 2019-01-27 上午11.20.06.png

    6.NAT

    1.NAT定义

    NAT(Network Address Translator)是用于在本地网络中使用私有地址,在连接互联网时转而使用全局IP地址的技术。除转换IP地址外,还出现了可以转换TCP、UDP端口号的NAPT(Network Address Ports Translator)技术,由此可以实现用一个全局IP地址与多个主机的通信。

    2.NAT的工作机制

    屏幕快照 2019-01-27 下午1.21.28.png

    7.IP隧道

    网络A、网络B使用IPv6,如果处于中间位置的网络C支持使用IPv4的话,网络A与网络B之间将无法直接进行通信。为了让它们之间正常通信,这时必须得采用IP隧道的功能。


    屏幕快照 2019-01-27 下午1.31.52.png

    IP隧道中可以将那些从网络A发过来的IPv6的包统和为一个数据,再为之追加一个IPv4的首部以后转发给网络C。
    一般情况下,紧接着IP首部的是TCP或UDP的首部。然而,现在的应用当中“IP首部的后面还是IP首部”或者“IP首部的后面是IPv6的首部”等情况与日俱增。这种在网络层的首部后面继续追加网络层首部的通信方法就叫做“IP隧道”。

    8.其他IP相关技术

    1.IP多播相关技术

    在多播通信中,确认接收端是否存在非常重要。如果没有接收端,发送多播消息将会造成网络流量的浪费。
    而确认是否有接收端,要通过MLD实现。它是IPv4中IGMP和IPv6中ICMPv6的重要功能之一。
    IGMP(MLD)主要有两大功能:
    1.向路由器表明想要接收多播消息。
    2.向交换集线器通知想要接收多播的地址。

    2.IP任播

    IP任播主要用于报警电话110和消防电话119。IP任播是指为那些提供同一种服务的服务器配置同一个IP地址,并与最近的服务器进行通信的一种方法。

    3.通信质量控制
    • 通信质量的定义
      IP协议的设计和开发初衷是作为一个“尽力服务”型的协议,是一款“没有通信服务质量保证”的协议。在“尽力服务”型的通信中,如果遇到通信线路拥堵的情况,可能会导致通信性能下降。
      通信线路上的拥塞也叫做收敛。当网络发生收敛时,路由器和集线器的队列溢出,会出现大量的丢包现象,从而极端影响通信性能。
    • 控制通信质量的机制
      对于需要保证通信质量的包,路由器会进行特殊处理,并且在力所能及的范围内对其进行优先处理。
      通信质量包括带宽、延迟、时延波动等内容。路由器在内部的队列中可以优先处理这些要求保证通信质量的包,有时甚至不得不丢弃那些没有优先级的包以保证通信质量。
    4.显式拥塞通知

    当发生网络拥塞时,发送主机应该减少数据包的发送量。作为IP上层协议,TCP虽然也能控制网络拥塞,不过它是通过数据包的实际损坏情况来判断是否发生拥塞。然而这种方法不能在数据包损坏之前减少数据包的发送量。
    为了解决这个问题,人们在IP层新增了一种使用显式拥塞通知的机制,即ECN。
    ECN为实现拥塞通知的功能,将IP首部的TOS字段置换为ENC字段,并在TCP首部的保留位追加CWR标志和ECE标志。
    ECN的机制概括起来就是在发送包的IP首部中记录路由器是否遇到拥塞,并在返回包的TCP首部中通知是否发生过拥塞。拥塞检查在网络层进行,而拥塞通知则在传输层进行,这两层的互相协助实现了拥塞通知的功能。

    5.Mobile IP
    • Mobile IP的定义
      Mobile IP技术在主机所连接的子网IP发生变化时,主机IP地址仍保持不变。应用不需要做任何改动,即使是在IP地址发生变化的环境下,通信也能继续
    • IP隧道与Mobile IP


      屏幕快照 2019-01-27 下午2.54.03.png

    相关文章

      网友评论

        本文标题:《图解TCP/IP》之IP协议相关技术

        本文链接:https://www.haomeiwen.com/subject/lsbjjqtx.html