《图解TCP/IP》学习——第五章 IP协议的相关技术

版权声明:扫我头像就可以向我提问,共同提高:) https://blog.csdn.net/u011436427/article/details/83990028

一、仅凭IP无法完成通信

1)web网站的地址和电子邮件地址等都是由应用层提供的,不会使用由十进制数组成的某个IP地址

2)在以太网(数据链路层)的情况下,只使用MAC地址传输数据包

二、DNS

DNS可以将字符串(一串用罗马字和点号组成的字符串)自动转换为具体的IP地址。

1.IP地址不便记忆:最早的DNS方式——hosts的数据库文件

1)由于IP地址由一串数据序列组成,并不好记,所以提出了个主机识别码
主机识别码:指的是,为每台计算机赋以唯一的主机名,可以直接使用主机名来进行网络通信。

2)系统利用hosts的数据库文件,自动将主机名转换为具体的IP地址
在这里插入图片描述

缺点是:

在这里插入图片描述

2.DNS的产生

1)DNS系统:有效管理主机名IP地址之间对应关系的系统;
作用:可以维护一个用来表示组织内部主机名和IP地址之间对应关系的数据库

2)在应用中,当用户输入主机名(域名)时,DNS会自动检索那个注册了主机名和IP地址的数据库,并迅速定位对应的IP地址。
若主机名和IP地址需要进行变更时,也只需在组织机构内部进行处理即可;
就算到现在,当人们访问任何一个Web站点时,都能够直接输入主机名进行访问,这也归公于DNS

3.域名的构成

1)域名指的是:为了识别主机名称组织机构名称的一种具有分层的名称
域名由几个英文字母(or英文字符序列),并用点号连接构成。

eg:
在这里插入图片描述

说明:
在这里插入图片描述

eg:
在这里插入图片描述

2)单个主机名无法管理IP地址,因为在不同的组织机构中不允许有同名的主机。
当出现了带有层次的域名之后,每个组织机构就可以自由地为主机命名了。

3)DNS的分层,叫做树形结构
在这里插入图片描述

说明:
a)顶点数的根(Root),底下是这棵树的各层枝叶;

顶点的下一层叫做:第一层域名,eg:jp日本,uk英国等代表国家的域名,edu美国教育机构,com美国企业

b)jp往下第二层域名不仅包括ac、co等不同组织机构的属性域名,还包括tokyo等表示地域的通用域名
eg:如下图所示
在这里插入图片描述

c)甚至在使用属性(组织类型)域名地域域名的情况下,还可以有第3层域名。

4)域名服务器
域名服务器是指:管理域名的主机和相应的软件,其所管理的分层叫做ZONE,每层都设有一个域名服务器

eg:域名服务器
在这里插入图片描述

说明:
a)根域名服务器中,注册了管理的域名服务器的IP地址。若要新增一个类似jp或org的域名或者修改某个已有域名,就得在根域名服务器中进行追加或变更。

b)
在这里插入图片描述

c)为了提高域名服务器的容灾能力,一般会设置至少两个以上的域名服务器。
所有的域名服务器都必须注册根域名服务器的IP地址,因为DNS根据IP地址进行检索时,需要从根域名服务器开始按顺序进行

5)解析器Resolver

DNS解析器:进行DNS查询的主机和软件;
用户所使用的工作站个人电脑都属于解析器。

4.DNS查询的过程

eg:图中kusa.co.jp域中的计算机想要访问网站www.ietf.org.

在这里插入图片描述

说明:
在上面的第四步,查询的补充:查询的话,会从这棵树按照顺序进行遍历,直到找到指定的域名服务器,并由这个域名服务器返回想要的数据。

5.DNS如同互联网中的分布式数据库

DNS:是一种通过主机名来检索IP地址的系统,它管理的不仅仅是主机名与IP地址的映射关系,还要管理众多其它信息。

eg:DNS的主要记录

重点关注:A记录PTR记录NS记录
在这里插入图片描述

在这里插入图片描述

三、ARP:Address Resolution Protole

1.ARP概要

1)确定了IP地址,就可以向目标地址发送IP数据报,但是在底层链路,实际通信却需要对应的MAC地址
2)ARP是以IP地址为线索,用来定位下一个应该接收数据分包的网络设备MAC地址。
目标主机不在同一个链路上,则可通过ARP查找下一跳路由器的MAC地址。
只适用于IPv4.

2.ARP的工作机制

ARP通过ARP请求ARP相应来确定MAC地址。

eg如下:
在这里插入图片描述

说明:
1)eg的解释如下:
在这里插入图片描述

2)ARP请求的还有一个作用是:将自己的MAC地址告诉给对方

3)为了避免每发送一个IP数据报都要进行一次ARP请求,来确定MAC地址,从而造成不必要的网络流量
因此,对于发送方的ARP缓存表而言,
在这里插入图片描述
对于接收方的ARP缓存表而言而言,
在这里插入图片描述

4)ARP包格式如下:
在这里插入图片描述

3.IP地址和MAC地址为什么缺一不可?

eg:
如主机A想要发送IP数据报给主机B,必须要经过路由器C,即使知道了主机B的MAC地址,由于路由器C会隔断两个网络,还是无法直接实现从主机A发送数据报给主机B。故,主机A 必须得先将数据报发送给路由器C的MAC地址C1.
在这里插入图片描述

说明:
1)目前的路由器可以做到将那些MAC地址成为了广播地址的IP数据报不再进行转发。
在这里插入图片描述

2)ARP具有对IP地址和MAC地址的映射进行缓存的功能,有了这个缓存功能,发送IP包时,就不必要每次都发送ARP请求,从而防止性能下降。
在这里插入图片描述

3)
在这里插入图片描述

4.RARP协议:Reverse Address Resolution Protocol

1)RARP是从MAC地址定位IP地址的一种协议。
使用RARP的前提是:认为MAC地址就是设备固有的一个值。
eg:打印机服务器等小型嵌入式设备
在这里插入图片描述
在这里插入图片描述

2)我们的个人PC的IP地址,是通过DHCP自动分配获取的IP地址。

5.代理ARP

在这里插入图片描述

四、ICMP:辅助IP的icmp

1)架构ICMP网络的时,需要注意两点:确认网络是否正常工作,遇到异常时的问题诊断。

2)ICMP的主要功能:
确认IP包是否成功送达目标地址;
通知在发送过程中,IP包被废弃的具体原因;
改善网络设置;

3)ICMP只负责与IP相关的设置,ICMP是基于尽力而为的IP上进行工作的,因此,无法保证服务质量。ICMP所承担的功能并非传输层的补充,二应将其考虑为IP的一部分。

eg:
在这里插入图片描述
在这里插入图片描述

2.主要的ICMP消息

ICMP消息类型如下
在这里插入图片描述

1)ICMP目标不可达消息(类型3)

IP路由器无法将IP数据包发送给目标地址时,会给发送端主机返回一个目标不可达(Destination Unreachable Message)的ICMP消息,并在消息中显示不可达的具体原因。
在这里插入图片描述

2)ICMP重定向消息(类型5)

前提:这主要发生在路由器持有更好的路由信息的情况下。
路由器
发现发送端主机使用了次优的路由发送数据,那么它会返回一个ICMP重定向(ICMP Redirect Message)的消息给这个主机。
在这个消息中,包含了最合适的路由信息和源数据。

eg:
在这里插入图片描述

说明:
传统重定向的缺点
在大多数情况下,这种重定向消息可能会成为引发问题的原因,所以往往不进行这张设置。例如,不是发送端主机,而是途中某个路由器的路由控制表不正确的时候,ICMP有可能无法正常工作。

3)ICMP超时消息(类型11)

a)IP包的TTL字段与ICMP之间的关系如下:
IP包中有一个字段叫做TTL(Time to Live,生存周期),他的值随着每经过一次路由器就会减1,直到减为0时,该IP包则会被丢弃。
此时,IP路由器会发送一个ICMP超时消息(ICMP Time Exceeded Message,错误号0)给发送端主机,并通知该包已被丢弃

b)设置IP包生存周期的主要目的:为了在路由控制遇到问题,发生循环状况的时候,避免IP包无休止地在网络上被转发。

eg:ICMP时间超过的消息
在这里插入图片描述

补充:利用ICMP超时消息的应用——tracerout

在这里插入图片描述

4)ICMP回送消息(类型0、8)

a)用于进行通信的主机或路由器之间,判断所发送的数据包是否已经成功到达对端的一种消息。
既可以向对端主机发送会送请求的消息(ICMP Echo Reguest Message,类型8),也可以接受对端主机发回来的回送应答消息(ICMP Echo Replay Message,类型0).

b)网络上最常用的的ping命令就是这个消息实现的

3.其它的ICMP消息

1)ICMP原点抑制消息(类型4)
在这里插入图片描述

2)ICMP路由器探索消息(类型9、10)
在这里插入图片描述

3)ICMP地址掩码消息(类型17、18)
在这里插入图片描述

4.ICMPv6

1)ICMPv6的作用
IPv4中ICMP与IPv6中ICMPv6的区别与进步:
a)IPv4中的ICMP仅作为一个辅助作用支持IPv4,然而在IPv6中,ICMP的作用被扩大,如果没有ICMPv6,那么IPv6就无法进行正常的通信。
b)在IPv6中,IP地址定位MAC地址的协议从ARP转为ICMP的邻居探索消息(Neighbor Discovery),这种邻居探索消息融合了IPv4的ARP、ICMP重定向以及ICMP路由器选择消息等功能于一体。
c)提供自动设置IP地址的功能,ICMPv6中没有DNS服务器的通知功能,因此,需要ICMPv6和DHCPv6组合起来,才能够实现自动设置IP地址的功能。

2)ICMPv6将ICMP大致分为两类:
一类是错误消息,类型0-127;
另一类是信息消息,类型128-255;

ICMPv6错误消息如下
在这里插入图片描述
ICMPv6信息消息如下
在这里插入图片描述

3)邻居探索

IPv4与IPv6中查询mac地址的区别如下:
a)IPv4使用ARP协议,且ARP采用的是广播,使得不支持ARP的节点也会收到包,会造成一定的浪费。
b)ICMPv6中类型133-137的消息叫做邻居探索消息(在IPv6通信中很重要)。
邻居请求消息用于查询IPv6的地址与MAC地址的对应关系,并由邻居宣告消息得知MAC地址。IPv6的邻居请求消息利用的是IPv6的多播地址

eg:IPv6张查询MAC地址
在这里插入图片描述

eg:在IPv6中IP地址的自动设置
在这里插入图片描述

说明:
在这里插入图片描述

五、DHCP:自动设置IP地址

1.DHCP实现即插即用

1)DHCP的作用:实现了自动设置IP地址、以及统一管理IP地址分配。
DHCP:Dynamic Host Configuration Protocol。

2)有了DHCP,计算机只要连接网络,就可以进行TCP/IP通信,DHCP不仅可以在IPv4中,而且可以在IPv6中使。

3)在没有DHCP服务器的网络中
在这里插入图片描述

在有DHCP的服务器当中
在这里插入图片描述

2.DHCP的工作机制——传统方式

1)
在这里插入图片描述

2)从DHCP中获取IP地址的流程(从DHCP客户端到DHCP服务端之间,感觉是cs架构呀)如下:
分为两个阶段
在这里插入图片描述

说明:
a)DHCP在分配IP地址有两种方法。一种:DHCP服务器在特定的IP地址中自动选出一个分析分;另外一种:针对MAC地址分配一个固定的IP地址。这两种方式可以并用

b)为了避免单一DHCP服务器遇到故障,人脉就会假设两台或两台以上的DHCP服务器,但是可能会导致分配的IP地址相互冲突。
解决办法如下:
在这里插入图片描述

3.DHCP中继代理——继承了传统互联网的特点的当代互联网

1)只有一个以太网(无线LAN)的网络,eg:家庭。
使用宽带路由器充当DHCP的角色。

2)当有多个以太网(无线LAN)网络,如果针对每个网络都设置一个DHCP服务器,将会是这个复杂的工程。
所以,解决方式如下:利用DHCP中继代理
DHCP中继代理的作用:对不同网段的IP地址分配也可以由一个DHCP服务器统一进行管理和运维。它只需要在每个网段内设置一个DHCP中继代理(多数为路由器)即可,从而在DHCP服务器上为每个网段注册IP地址的分配范围。

eg:
注意:
DHCP中包含,发出请求的主机MAC地址/DHCP中继代理就是利用这个MAC地址将包返回给了DHCP客户端。也就是下面的(4)
在这里插入图片描述

六、NAT协议

1.NAT的定义

1)NAT(Network Address Translator)是用在本地网络中使用私有地址,在连接互联网时,转而使用全局IP地址的技术。

2)NAPT(Network Address Ports Translator)技术:转换TCP、UDP端口号的技术,可以实现用一个全局IP地址与多个主机进行通信。

3)在IPv4与IPv6的相互通信中,常使用NAT-PT技术。

2.NAT的工作机制

1)典型NATeg如下:
在这里插入图片描述

2)典型的NAPTeg如下:
当私有网络内的多台机器同时都要与外部进行通信,仅转换IP地址,人们担心全局IP地址不够用。
在这里插入图片描述

说明:

1)在TCP/UDP的通信当中,只有目标地址、源地址、目标端口、源端口以及协议类型(TCP or UDP)五项内容一致的时候,才会被认为是通一个通信连接。

2)
在这里插入图片描述

3)这种转换表在NAT路由器上自动生成,eg:在TCP的情况下,建立TCP连接首次握手时的SYN包一经发出,就会生成这个表。而后,接收到关必连接时,会发出FIN包的确认应答并从将表删除。

3.NAT-PT(NAPT-PT)

1)NAT-PT是将IPv6的首部转换为IPv4的首部的一种技术。专业,只有IPv6的主机就可以与IPv4地址的其它主机进行通信了。

2)NAT-PT的典型eg如下:
在这里插入图片描述

4.NAT的潜在威胁

在这里插入图片描述

5.解决NAT的潜在问题与NAT穿越

1)改用IPv6。如果都使用IPv6,那就没必要使用NAT了。

2)若在一个没有NAT的环境里,主机用户可以完全忽略NAT的存在而进行通信。
在NAT内侧主机上(私有IP地址的一边)的应用上可以生成NAT转换表,但是需要先发送一个虚拟的网络包给NAT的外侧。然后,会读取包首部中的内容,并自动生成一个转换表。若转换表构造合理,就能实现NAT外侧的主机与内测的主机之间建立通信。
此外,该应用还可以与NAT路由器进行通信生成NAT表,并通过一定的方法,将NAT路由器上的附属全局IP地址传给应用。

上面的方法就可称之为:NAT穿越。NAT外侧与内测进行通信,解决了NAT无法从NAT的外部向内部服务器建立连接的问题。这种方法与IPv4环境的兼容性极好。

七、IP隧道

1)如果两个IPv4网络的中间夹杂着IPv6网络,这俩IPv4网络如何进行通信?
在这里插入图片描述

2)一般情况下,紧接着IP首部的是TCP或者UDP的首部。
然而,在网络层的首部后面继续追加网络层首部的通信方法叫做:IP隧道,eg:IP首部的后面还是IP首部。
eg:两边都是IPv4的中间夹杂着IPv4,
   两边都是IPv6的中间夹杂着IPv4,
在这里插入图片描述

说明:骨干网上通常使用IPV4orIPv6进行传输,若有些只能IPv4 orIPv6的路由器就可以使用IP隧道技术来转发数据包。

eg:多播隧道
若路由器没有多播包的路由控制信息,则多播消息也就无法穿越路由器来发送消息。所以,可以使用IP隧道,路由器利用单播的形式发包,也就能够向距离较远的链路转发多播消息。
在这里插入图片描述

八、其它IP相关技术

1.IP多播相关技术

1)在多播通信中,确认接受端是否存在很重要。如果没有接收端,发送多播消息会造成网络流量的浪费。

2)确认是否有接收端,要通过MLD(Multicast Listener Discovery)实现。他是IPv4总的IGMP和IPv6中的ICMPv6的重要功能。

3)MLD的两大作用如下:
a)像路由器表明,想要接收的多播消息,并通知想接受多播的地址。
在这里插入图片描述

b)向交换机集线器通知,想要接收的多播地址。
在这里插入图片描述
具体过滤的方法如下:
通常,集线器可以学习发送端的MAC地址,在探听的过程中,由于可以从MLD包中获得多播发送的地址和端口,从而不会再向毫无关系的端口发送多播帧,可以减轻那些不再接受多播消息端口的复合。

eg:基于IGMP(MLD)多播实现:
在这里插入图片描述

2.IP任播——DNS根域名服务器

1)IP任播指的是:为那些提供同一种服务的服务器配置同一个IP地址,并于最近的服务器进行通信的一种方法。
eg:报警电话110与119系统。
还有DNS根域名服务器,从负载均衡与灾备应对的角度去看,全世界的根域名服务器不可能只设置13处,所以使用IP任播,可以让更多的DNS根域名服务器散布到世界的各个角落。

2)缺点:无法保证第一个包和第二个包发送给同一个主机。所以,对于无连接的UDP发出请求而无需应答的情况下适用,对于面向连接的TCP或者UDP中要求通过连续的多个包进行通信,就不合适了。

eg:IP任播
在这里插入图片描述

3.通信质量控制

1)IP协议是一种“尽力服务”型的通信。但是有时候也会“堵车”。
  通信线路上的拥塞叫做收敛。当网络收敛时,路由器和集线器的队列(buffer)会溢出,会造成大量的丢包现象,从而会影响通信性能。eg:web界面迟迟无法显示。

2)在IP通信过程中为了能够保证服务质量QoS,提出了控制通信质量的机制。
(a)控制通信质量的工作机制类似于高速公路上的VIP通道,对于需要保证通信质量的包,路由器会进行特殊处理,甚至优先处理;
(b)通信质量包括:带宽、延迟、时延波动、丢包率等内容。
(c)为了控制通信质量,提出了RSVP技术(Resolution Reservation Protocol多协议标签交换),该技术主要分为以下的两个部分:
一个是提供点对点的详细优先控制 (IntServ)
另一个是提供相对较粗粒度的优先控制 (DiffServ)

3)IntServ
(a)IntServ是针对特定应用之间的通信进行质量控制的一种机制。
特定指的是:源IP地址、目标IP地址、源端口号、目标端口号、协议号相同。
(b)
在这里插入图片描述
在这里插入图片描述

4)DiffServ
(a)IntServ针对应用的连接进行详细的通信质量控制。
(b)DiffServ是针对特定的网络进行较粗粒度的通信质量控制。例如,针对某个特定的供应商进行顾客排名,从而进行数据包的优先处理
(c)具体操作过程如下:
在这里插入图片描述

在这里插入图片描述

5)IntServ与DiffServ的区别
在这里插入图片描述

4.显式拥塞通知ECN

1)ECN:Explicit Congestion Notification显示拥塞通知
2)在这里插入图片描述

3)ECN机制:
在发送包的IP首部中记录路由器是否遇到拥塞,并在返回包的TCP首部中通知是否发生过拥塞。
拥塞检查在网络层中进行,而拥塞通知则在传输层上进行,这两层的互相协助实现了拥塞通知的功能

在这里插入图片描述

5.Mobile IP

(1)来源:
在这里插入图片描述

(2)Mobile IP技术可以使得主机所连接的子网IP发生变化的时候,主机IP地址仍保持不变。

(3)IP隧道与Mobile IP的一个具体例子
在这里插入图片描述

移动主机,归属地址,归属代理,外部代理的重要定义
在这里插入图片描述

(4)Mobile IPv6
Moblie IP中存在的问题如下:
在这里插入图片描述

Mobile IPv6的解决办法:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u011436427/article/details/83990028