网络层
互联网中一个主机H1要把一个IP数据报发送给目的主机H2,首先主机H1查自己的路由表,看目的主机是否在本网络上,如果是则不需要经过任何路由器,直接进行交付,任务完成,如果不在同一个网络,则必须把IP数据发送给某个路由器(如图中的R1),R1查找自己的路由表后,知道应当把IP数据发送给路由器R2,进行间接交付,这样一直转发下去,最后由路由器R5,知道与H2在同一网络,于是就把IP数据直接交付到目的主机H2,我们知道主机的协议栈有5层,但是路由器的协议栈只有下3层,我们可以注意到,R4到R5用了卫星网络,而R5连接的使无线网络,这里强调的是,互联网可以由多种异构网络互联组成
IP概述
整个互联网就是一个,单一的,抽象的网络,IP地址就是给互联网上每一台主机或者路由器,分配一个在全世界范围内唯一的32位标识符,IP的结构可以使我们在互联网上方便的寻址
分类的ip地址
所谓的分类的IP地址就是把ip划分为若干固定类,每一类的地址都有固定的长度的字段组成,第一个就是网络号,他标志着一个主机或者路由器连接到的网络,一个网络号在整个互联网必须是唯一的,第二个是主机号,它标志着,该主机或路由器,一个主机号在他前面的网络号所指明的网络范围内必须是唯一的,由此可见一个IP号在整个网络是唯一的
这两级ip应该写为,IP地址={<网络号>,<主机号>}
下图给出了各种IP地址的网络号字段和主机号字段,这里的A类B类C类都是单播地址(一对一通信)
1.IP:计算机在互联网上的唯一地址;
192.168.0.100:四段0--255的数据组成(IPv4):点分十进制
IP地址的范围:
最小IP地址:000.000.000.000:
最大IP地址:255.255.255.255:
A:所谓IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。按照TCP/IP规定,IP地址用二进制来表示,
每个IP地址长32bit,比特换算成字节,就是4个字节。
例如一个采用二进制形式的IP地址是“11000000101010000000000101100100”,
这么长的地址,人们处理起来也太费劲了。
为了方便人们的使用,IP地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节。
于是,上面的IP地址可以表示为“10.0.0.1”。IP地址的这种表示法叫做“点分十进制表示法”,这显然比1和0容易记忆得多。
B:IP地址的组成
IP地址 = 网络号码+主机地址
A类IP地址:第一段号码为网络号码,剩下的三段号码为本地计算机的号码:192.168.0.100:192是网络号码
B类IP地址:前二段号码为网络号码,剩下的二段号码为本地计算机的号码
C类IP地址:前三段号码为网络号码,剩下的一段号码为本地计算机的号码
以下三个IP地址:
1).192.168.0.100;
2).192.168.0.200;
3).192.168.1.100;
请问以上三个IP地址哪些可以互相访问?关键取决于"子网掩码":
如果子网掩码:255.255.255.0
11111111.11111111.11111111.00000000(子网掩码中,全部是1端被标识为"网络号码")
此时:1)和2)可以互相访问;
如果子网掩码:255.255.0.0
11111111.11111111.00000000.00000000
此时:1)和2)和3)都可以互访;
特殊地址:
127.0.0.1 回环地址,可用于测试本机的网络是否有问题. ping 127.0.0.1
DOS命令 ipconfig:查看本机IP地址
xxx.xxx.xxx.0 网络地址
xxx.xxx.xxx.255 广播地址
A类 1.0.0.1---127.255.255.254 (1)10.X.X.X是私有地址(私有地址就是在互联网上不使用,而被用在局域网络中的地址) (2)127.X.X.X是保留地址,用做循环测试用的。
B类 128.0.0.1---191.255.255.254 172.16.0.0---172.31.255.255是私有地址。169.254.X.X是保留地址。
C类 192.0.0.1---223.255.255.254 192.168.X.X是私有地址
D类 224.0.0.1---239.255.255.254
E类 240.0.0.1---247.255.255.254
对于主机和路由器来说,IP地址都是32位的二进制代码,为了提高可读性,我们常常把32位,每8位一个空格,为了便与书写可以用等效的十进制数进行表示,并且在这中间加一个点,叫做点分十进制
IP地址和MAC地址(硬件地址)的区别
层次上来说,硬件地址是数据链路层和物理层使用的地址,而IP是网络层及其以上的使用的地址,是一个逻辑地址(因为Ip地址是软件实现的)
网络层的IP数据一旦交给了数据链路层,就被封装成了MAC帧,MAC帧在传输时使用的原地址和目的地址都是硬件地址,俩个硬件地址都写在了帧首部
主机或路由器收到MAC帧时,根据MAC帧首部的硬件地址,决定收下或者丢弃,只有剥离MAC帧的首部和尾部后把数据交给网络层后才可以拿到IP
主机H1和H2进行通信,如下图
强调一下几点
(1)在Ip层抽象的互联网上只能看到IP数据报,虽然IP需要经过路由R1和R2,但是但他首部的原地址和目的地址始终都是IP1和IP2
(2)虽然IP数据报中有源数据IP,但是路由器只根据目的地Ip进行选择
(3)数据链路层只能看到MAC帧,在不同的网络中传输时,原地址和目的地址都会变,如上图
(4)网路层只提供,简单灵活,无连接,尽最大努力交付的数据服务,网络层不提供服务质量的承诺,不保证数据交付的时限,所传送的分组可能出错,丢失,重复,进程间通信的可靠性由运输层负责
(5)IP网是虚拟的,因为从网络层看,IP网就是统一抽象的网络,IP层抽象的互联网,屏蔽了下层网络很复杂的细节,使我们能够使用统一的,抽象的Ip地址处理主机间的通信问题
网络层IP数据报的组成
IP数据报分为俩部分,一个是首部,一个是数据部分,而首部中的目的地址和原地址都使指的IP