【图解TCP/IP 归纳】第五章 IP协议相关技术

第五章 IP协议相关技术

5.1 仅凭IP无法完成通信

  • IP协议是TCP/IP中的网络层的一个泛指,但是为了实现网络层的通信,IP协议还需要大量的辅助协议才能实现完全的网络层通信

5.2 DNS

  • DNS(Domain Name System,域名系统):将域名自动转换为IP地址

  • 5.2.1 IP地址不便于记忆

    • 传统电脑使用hosts文件作为数据库,存储网站域名以及对应的IP地址
  • 5.2.2 DNS的产生

    • DNS系统维护着一个用来表示组织内部主机名和IP地址之间对应关系的数据库
  • 5.2.3 域名的构成

    • (1)定义:域名是指为了识别主机名称和组织机构的一种具有分层的名称(由几个英文字母用点号连接构成)
    • (2)域名的组成:分层结构(树形结构)顶点Root下的第一层域名为顶级域名,包括如cn,jp等国别顶级域名,以及edu,com等通用顶级域名;第二层域名包括如ac,co等机构型域名,以及beijing等地域通用域名,以上的两种也可以用于第三层域名
    • (3)域名服务器:管理域名的主机和相应的软件,所管理的分层称为ZONE;根部所设置的DNS叫做根域名服务器,其下的每一层服务器都注册了更下一层的服务器信息;所有的域名服务器都必须注册根域名服务器,因为DNS根据IP的检索是从根域名服务器开始的
    • (4)解析器(Resolver):进行DNS查询的主机和软件,我们常用的电脑均属于解析器,器至少要注册一个以上域名服务器的IP地址
  • 5.2.4 DNS查询

    • 解析器向上层域名服务器查询,上层若不知则一直向上层查询,直至根域名服务器为止,此时若未查询到则返回失败,查询成功则返回IP地址。查询成功后曾未知的解析器和域名服务器都会将数据暂时保存到缓存里
      在这里插入图片描述
  • 5.2.5 DNS如同互联网中的分布式数据库

    • DNS是一种通过主机名检索IP地址的系统,其同时还需要管理其他多种信息,如主机名与IP地址的对应信息叫做A记录,从IP地址检索主机名称的信息叫做PTR,上层与下层域名服务器的IP地址的映射为NS记录,注册了邮件地址与邮件接收服务器的主机名为MX记录

5.3 ARP

  • 5.3.1 ARP概要

    • (1)定义:ARP(Address Resolution Protocol,地址解析协议)用于解决地址问题,其以IP地址为线索,用来定位下一个应该接收数据分包的网络设备对应的MAC地址(即寻找下一跳路由器的MAC地址);ARP包有自己的首部格式,单独通过网络层传输,不随着IP包发送
    • (2)局限:只能用于IPv4,IPv6中使用ICMPv6来发送邻居探索消息
  • 5.3.2 ARP的工作机制

    • (1)请求与响应:发送端广播发送一个带有自身IP地址、MAC地址以及目标端IP地址的ARP请求包,目标端收到后,将自己的MAC地址填入ARP响应包发回发送端
    • (2)缓存:发送端与接收端在请求与响应过程完成后,会将彼此的MAC地址(IP地址)缓存一段时间,以便之后使用。时间过后,缓存内容将会清楚,需要重新请求与响应
      在这里插入图片描述
  • 5.3.3 IP地址与MAC地址的联系

    • 网络层的传输,开始时只知道自己与目标的IP地址,倘若不知道下一个目标的MAC地址,会导致传递给数据链层没有目标。所以需要ARP对于两者沿途中的路由器进行了解(传到交换机时,由于目标MAC为广播帧,交换机将会广播该数据),得到下一个路由器的MAC地址,从而通过其中的路由器完成数据传递。换言之,网络层的传输就是,发送端→(ARP)→路由器1→(ARP)→路由器2→(ARP)→……→路由器n→(ARP)→接收端,这样的接力过程
      在这里插入图片描述
  • 5.3.4 RARP(Reverse Address Resolution Protocol)

    • 反转ARP,从MAC地址定位IP地址的协议。通常用于RARP服务器,在这个服务器上注册“没有任何接口或无法通过DHCP动态获取IP地址的“嵌入式设备,当该设备接入RARP服务器时,会被分配一个IP地址(发送RARP包,有目标IP地址,目标MAC地址,自己的MAC地址,但是自己的IP地址为广播地址)

5.4 ICMP

  • 5.4.1 辅助IP的ICMP

    • (1)功能:ICMP(Internet Control Message Protocol,Internet控制报文协议)用于确认IP包是否成功到达目标地址,通知在发送过程当中IP包被废弃的具体原因;
    • (2)报文格式:ICMP报文包含在IP数据报中,IP报头在ICMP报文的最前面。一个ICMP报文包括IP报头(至少20字节)、ICMP报头(至少八字节)和ICMP报文(属于ICMP报文的数据部分)。当IP报头中的协议字段值为1时,就说明这是一个ICMP报文。
    • (3)分类:一是通知出错原因的错误消息,二是用于诊断的查询消息(根据类型区分)
      在这里插入图片描述
  • 5.4.2 主要的ICMP消息

    • (1)ICMP目标不可达消息(类型3):表示IP路由器无法将IP数据包发送给目标地址,其中附带不可达的具体原因(如1为主机不可达,表示路由表中无目标主机信息或目标主机未联网;4表示MTU发现中的分片不符合要求(附带应分的大小))
    • (2)ICMP重定向消息(类型5):如果路由器发现发送端主机使用了次优的路径发送数据,那么会返回一个ICMP重定向的消息给这个主机(包含了最适合的路由信息和源数据),同时该消息中不会带上子网掩码的长度,故追加的路由信息为/32形式
      在这里插入图片描述
    • (3)ICMP超时消息(类型11):当IP包到达其TTL期限时被丢弃时,此时的路由器会发送ICMP超时消息(错误号0)给发送端
    • (4)ICMP回送消息(类型0、8):发送端向接收端发送回送请求消息,接收端向发送端发送回送应答消息(实现PING命令)
  • 5.4.3 其他ICMP消息

    • (1)ICMP原点抑制消息(类型4):当IP数据遇到拥堵情况时,路由器向发送端返回原点抑制消息,使其打开IP包的传输间隔
    • (2)ICMP路由器探索消息(类型9、10):用于发现与自己网络中相连的路由器,发送端向接收端发送路由器请求,接收端接收后向发送端发送路由器公告
    • (3)ICMP地址掩码消息(类型17、18):用于了解子网掩码信息,发送端发送地址掩码请求,接收端发送地址掩码应答
  • 5.4.4 ICMPv6

    • (1)ICMPv6的作用:实现IPv4中ICMP基本功能的同时,也完成了ICMP邻居探索消息(融合ARP,ICMP重定向以及ICMP路由器选择消息于一体),消息分为错误消息和信息消息两类,0127为错误消息,128255为信息消息
    • (2)邻居探索:实现ARP功能,得知下一跳的路由器/主机的MAC地址以实现通信(邻居请求消息与邻居宣告消息);兼顾DHCP的功能实现IP地址分配(无路由器时,通过自身的MAC地址生成链路本地单播地址;有路由器时,通过路由器请求消息得知IP地址的前半部分(可以是路由器的IPv6地址的前半段),路由器融合请求中的源MAC地址生成全局单播地址,再以路由器宣告消息返还给发送端)

5.5 DHCP

  • 5.5.1 DHCP实现即插即用

    • DHCP(Dynamic Host Configuration Protocol,动态主机设置协议):实现自动设置IP地址、统一管理IP地址分配
  • 5.5.2 DHCP的工作机制

    • (1)所需:DHCP服务器,其中将DHCP所要分配的IP地址、相应的子网掩码、路由控制信息以及DNS服务器设置到服务器上
    • (2)工作原理:发现包与提供包(服务器自动选出),请求包与提供包(根据请求中的MAC地址分配),解决包(随时通知解除当前IP地址),限制时间(分配的IP地址的存活时间,可以通过再发送请求包来延长时限)
    • (3)必须功能:DHCP服务器(在分配IP地址前向该IP地址发送ICMP回送请求包(即PING命令),确认没有返回应答;DHCP客户端(针对从DHCP那里获得的IP地址发送ARP请求包,确认没有返回应答)
  • 5.5.3 DHCP中继代理

    • LAN网段中多使用宽带路由器来充电DHCP角色,其属于DHCP中继代理器,转发客户端与服务器之间的通信连接实现DHCP功能(客户端与中继代理的发送与接收均为广播,中继代理与服务端的发送与接收均为单播)

5.6 NAT

  • 5.6.1 NAT定义

    • NAT(Network Address Translation,网络地址转换)用于在本地网络中使用私有地址,在连接互联网时转而使用全局IP地址的技术(我们日常使用的路由器就是使用了此技术);而NAPT为转换TCP/UDP端口号的技术。均用于支持这些技术的路由器上
  • 5.6.2 NAT的工作机制

    • (1)NAT工作原理:转换IP地址时,NAT路由器有对应的地址转换表,实现数据传回时能对应的发送的内部私有IP地址;
      (2)NAPT工作原理:包含端口号一起转换(IP地址:端口号),而只有目标/源地址,目标/源端口号以及协议类型完全相同才被认为是同一个通信连接。内部存有地址转换表,存有(私有IP地址:端口号)对应(NAT路由器IP地址:端口号),表中的内容随着三次握手的初始SYN包一起建立,随着四次挥手的最后FIN包删除
      在这里插入图片描述
  • 5.6.3 NAT-PT(NAPT-PT)

    • 将IPv6的首部转换为IPv4首部的一种技术,用在支持NAT-PT的路由器上
  • 5.6.4 NAT的潜在问题

    • NAT的核心是依赖自己内部的转换表,主要问题如下:无法从NAT的外部向内部服务器建立连接;转换表的生成需要一定的开销;通信过程中NAT一旦重新启动所有的TCP连接全部挂掉;即使有容灾备份TCP还是会断开
  • 5.6.5 解决NAT的潜在问题NAT穿越

    • (1)使用 IPv6:这样所有的设备都可以有一个全局IP地址了(使用NAT的主要原因是因为IPv4不够用,所以通过路由器当NAT与DHCP中继代理,为每个连接设备分配单独的私有地址),直接通过该地址即可连接,无需NAT
    • (2)NAT穿越:根据特定的应用,实现完全忽略NAT的存在而通信。通俗点说,就是两个NAT内部的应用连接,通过两个应用的NAT路由器的地址转换表的建立,实现两个应用的直连,此时在某种意义上可以忽略NAT路由器的存在。甚至,可以直接获取NAT路由器上的全局IP地址,主机直接使用此地址进行通讯

5.7 IP隧道

  • (1)定义:IP隧道可以将网络A发来的IPv6的包统合为一个数据,再为之追加一个IPv4(分片的话就是多个包都加上)首部以后转发给网络C(或者反过来,用IPv6的首部取包装IPv4的数据)
    在这里插入图片描述
  • (2)使用:路由器同时支持IPv4和IPv6相当费劲,此技术则用于不同时支持两种协议的路由器;也可以通过包装多播数据,在路由器之间进行单播传输后,再将包装的多播数据拆分从而继续进行多播(隧道的核心在于,要明确隧道的终止位置来拆开包装,否则数据包会无限循环)

5.8 其他IP相关技术

  • 5.8.1 IP多播相关技术

    • (1)多播通信的重点:确认接收端是否存在。使用MLD(IGMP),通过IP包进行传输。
    • (2)技术核心:接收端告诉自己的路由器自己想要接收多播信息并告知多播地址(即使路由控制表中的多播信息指向自己的IP,然后路由器发送时设为多播发送端的地址);接收端再告诉自己的交换机想要接收多播信息的地址(即在地址转发表中设置发送端的地址与接收端地址的关联,由于多播地址只用于目标地址,其已经被提前告知,从而交换机无法习得)
  • 5.8.2 IP任播

    • (1)定义:为那些提供同一种服务的服务器配置同一个IP地址,并与最近的服务器进行通信的一种方法
    • (2)使用:DNS根域名服务器,110,119等报警电话。即电话请求这些IP地址时,选用最近的服务器
  • 5.8.3 通信质量控制

    • (1)定义:IP协议的“尽力服务”的协议,无法进行通信服务质量保证
    • (2)控制机制:需要进行通信质量控制的包需要优先处理,其包括带宽、延迟。时延波动等内容。
    • (3)点对点特定应用间控制IntServ:特定应用是指源目IP端口以及协议完全相同,在两者连接中的所有路由器均对对应包邮质量控制
    • (4)相对较粗粒度的优先控制DiffServ:针对特定网络进行较粗粒度的通信质量控制,特定网络内为域。进入此域的IP包首部的DSCP字段(TOS)均会被替换为不同优先级,从而在该域内优先级高的数据会先处理
  • 5.8.4 显式拥塞通知

    • (1)定义:在网络发生拥塞时,发送主机会减少数据包的发送量
    • (2)实现原理:ECN替代TOS段,在发送包的IP首部中记录路由器是否遇到拥塞,并在返回包的TCP首部中通知是否发生过堵塞
  • 5.8.5 Moblie IP

    • (1)定义:使得主机所连接的子网IP发生变化时,主机IP地址仍然保持不变。应用无需改动,即使是IP地址发生变化的环境下通信也能继续
    • (2)工作机制:
      ① 移动主机:移动了位置但是IP地址却不变的设备。未移动时,IP地址叫做归属地址,其不会改变。当移动到新的子网时的地址为移动地址(主机IP地址不变,网络地址与主机地址都不变);
      ② 归属代理:处于归属网络下,监控移动设备的位置,并转发数据包给移动主机;
      ③ 外部代理:支持移动主机的通信。
      具体实现:设备移动之前与主机正常通信。移动之后,主机的信息先传递到归属代理,然后通过IP隧道将数据传递给外部代理后,再交给移动设备(从应用层看,移动主机始终使用归属地址进行通信)
      在这里插入图片描述
    • (3)问题:必须要有外部代理的网络才可以通信;三角路径效率不高;域的安全设置会屏蔽掉非本域内IP从自己域内发出的包(解决方案为通过外部代理过归属代理再回到主机,这样使得效率更低)

对应的思维导图

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

方寸间沧海桑田

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值