《图解TCP/IP》

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

2019-01-27  本文已影响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
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消息
3.其他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.通信质量控制
4.显式拥塞通知

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

5.Mobile IP
上一篇下一篇

猜你喜欢

热点阅读