赞
踩
目录
TCP/IP的心脏是互联网层。这一层主要由IP(Internet Protocol)和ICMP(Internet Control MessageProtocol)两个协议组成。
IP(IPv4、IPv6)相当于OSI参考模型中的第3层——网络层。
网络层的主要作用是“实现终端节点之间的通信”。这种终端节点之间的通信也叫“点对点(end-to-end)通信”。
数据链路层的主要作用是在互连同一种数据链路的节点之间进行包传递。而一旦跨越多种数据链路,就需要借助网络层。网络层可以跨越不同的数据链路,即使是在不同的数据链路上也能实现两端节点之间的数据包传输。
主机的定义应该是指“配置有IP地址,但是不进行路由控制的设备”。既配有IP地址又具有路由控制能力的设备叫做“路由器"。而节点则是主机和路由器的统称。
IP大致分为三大作用模块,它们是IP寻址、路由(最终节点为止的转发)以及IP分包与组包。
路由控制(Routing)是指将分组数据发送到最终目标地址的功能。即使网络非常复杂,也可以通过路由控制确定到达目标地址的通路。一旦这个路由控制的运行出现异常,分组数据极有可能“迷失”,无法到达目标地址。因此,一个数据包之所以能够成功地到达最终的目标地址,全靠路由控制。
为了将数据包发给目标主机,所有主机都维护着一张路由控制表(Routing Table)。该表记录IP数据在下一步应该发给哪个路由器。IP包将根据这个路由表在各个数据链路上传输。
IP面向无连接。即在发包之前,不需要建立与对端目标地址之间的连接。上层如果遇到需要发送给IP的数据,该数据会立即被压缩成IP包发送出去。
IP面向无连接的原因:
主要有两点原因:一是为了简化,二是为了提速。面向连接比起面向无连接处理相对复杂。甚至管理每个连接本身就是一个相当繁琐的事情。此外,每次通信之前都要事先建立连接,又会降低处理速度。需要有连接时,可以委托上一层提供此项服务。因此,IP为了实现简单化与高速化采用面向无连接的方式。
补充:
为了提高可靠性,上一层的TCP采用面向有连接型
IP提供尽力服务(Best Effort),意指“为了把数据包发送到最终目标地址,尽最大努力。”然而,它并不做“最终收到与否的验证”。IP数据包在途中可能会发生丢包、错位以及数据量翻倍等问题。如果发送端的数据未能真正发送到对端目标主机会造成严重的问题。例如,发送一封电子邮件,如果邮件内容中很重要的一部分丢失,会让收件方无法及时获取信息。
因此提高通信的可靠性很重要。TCP就提供这种功能。如果说IP只负责将数据发给目标主机,那么TCP则负责保证对端主机确实接收到数据。
在用TCP/IP通信时,用IP地址识别主机和路由器。为了保证正常通信,有必要为每个设备配置正确的IP地址。在互联网通信中,全世界都必须设定正确的IP地址。否则,根本无法实现正常的通信。
IP地址是以网络号和主机号来标示网络上的主机的,我们把网络号相同的主机称之为本地网络,网络号不相同的主机称之为远程网络主机,本地网络中的主机可以直接相互通信;远程网络中的主机要相互通信必须通过本地网关(Gateway)来传递转发数据。
IP地址(IPv4地址)由32位正整数来表示。TCP/IP通信要求将这样的IP地址分配给每一个参与通信的主机。IP地址在计算机内部以二进制(二进制是指用0、1表示数字的方法。) 方式被处理。然而,由于人类社会并不习惯于采用二进制方式,需要采用一种特殊的标记方式。那就是将32位的IP地址以每8位为一组,分成4组,每组以“.”隔开,再将每组数转换为十进制数(这种方法也叫做“十进制点符号”(Dot-decimalnotation)。) 。下面举例说明这一方法。
将表示成IP地址的数字整体计算,会得出如下数值。
2^32 =4 294 967 296
从这个计算结果可知,最多可以允许43亿台计算机连接到网络(虽然43亿这个数字听起来还算比较大,但是还不到地球上现有人口的总数。) 。
IP地址由“网络标识(网络地址)”和“主机标识(主机地址)”两部分组成。IP包被转发到途中某个路由器时,正是利用目标IP地址的网络标识进行路由。因为即使不看主机标识,只要一见到网络标识就能判断出是否为该网段内的主机。
也就是说,其中第一个字段是网络号,标志主机所连接到的网络。第二个字段是主机号,标志该主机。一个IP地址在整个互联网范围内是唯一的。
IP地址的主机标识:
IP地址的网络标识:
IP地址分为四个级别,分别为A类、B类、C类、D类(还有一个一直未使用的E类。) 。它根据IP地址中从第1位到第4位的比特列对其网络标识和主机标识进行区分。
A类地址
A类IP地址是首位以“0”开头的地址。从第1位到第8位(去掉分类位剩下7位。) 是它的网络标识。用十进制表示的话,0.0.0.0~127.0.0.0是A类的网络地址。A类地址的后24位相当于主机标识。因此,一个网段内可容纳的主机地址上限为16,777,214个 。
B类地址
B类IP地址是前两位为“10”的地址。从第1位到第16位(去掉分类位剩下14位。) 是它的网络标识。用十进制表示的话,128.0.0.1~191.255.0.0是B类的网络地址。B类地址的后16位相当于主机标识。因此,一个网段内可容纳的主机地址上限为65,534个。
C类地址
C类IP地址是前三位为“110”的地址。从第1位到第24位(去掉分类位剩下21位。) 是它的网络标识。用十进制表示的话,192.168.0.0~239.255.255.0是C类的网络地址。C类地址的后8位相当于主机标识。因此,一个网段内可容纳的主机地址上限为254个。
D类地址
D类IP地址是前四位为“1110”的地址。从第1位到第32位(去掉分类位剩下28位。) 是它的网络标识。用十进制表示的话,224.0.0.0~239.255.255.255是D类的网络地址。D类地址没有主机标识,常被用于多播。
关于分配IP主机地址的注意事项
在分配IP地址时关于主机标识有一点需要注意。即要用比特位表示主机地址时,不可以全部为0或全部为1。因为全部为只有0在表示对应的网络地址或IP地址不可获知的情况下才使用。而全部为1的主机地址通常作为广播地址。 因此,在分配过程中,应该去掉这两种情况。这也是为什么C类地址每个网段最多只能有254(28-2=254)个主机地址的原因。
一个IP地址只要确定了其分类,也就确定了它的网络标识和主机标识。例如A类地址前8位(除首位“0”还有7位)、B类地址前16位(除首位“10”还有14位)、C类地址前24位(除首位“110”还有21位)分别是它们各自的网络标识部分。
由此,按照每个分类所表示的网络标识的范围如下所示。
用“1”表示IP网络地址的比特范围,用“0”表示IP主机地址范围。将它们以十进制表示,如下所示。其中“1”的部分是网络地址部分,“0”的部分是主机地址部分。
网络标识相同的计算机必须同属于同一个链路。例如,架构B类IP网络时,理论上一个链路内允许6万5千多台计算机连接。然而,在实际网络架构当中,一般不会有在同一个链路上连接6万5千多台计算机的情况。因此,这种网络结构实际上是不存在的。
因此,直接使用A类或B类地址,确实有些浪费。随着互联网的覆盖范围逐渐增大,网络地址会越来越不足以应对需求,直接使用A类、B类、C类地址就更加显得浪费资源。为此,人们已经开始一种新的组合方式以减少这种浪费。
子网与子网掩码
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。