【有书共读13】《计算机网络》读书笔记13
第4章 网络层
4.1网络提供的两种服务
电信网使用昂贵的程控交换机(其软件也很复杂),用面向连接的通信方式,使电信网络能够向用户(实际上就是电话机)提供可靠传输的服务。
当两个计算机进行通信时,也应当建立连接(但在分组交换中是建立一条虚电路VC),以保证双方通信所需的一切网路资源。然后双方就沿着已建立的虚电路发送分组。这样的分组的首部不需要填写完整的目的主机地址,而只需要填写这条虚电路的编号(一个不大的整数),因而减少了分组的开销。在通信结束后要释放建立的虚电路。图4-1是网络提供的虚电路服务的示意图。主机H1和H2之间交换的分组都必须在事先建立的虚电路上传送。
因特网采用的设计思路:网路层向上只提供简单灵活、无连接的、尽最大努力交付的数据报服务。网络在发送分组时不需要先建立连接。每一个分组(IP数据报)独立发送,与其前后的分组无关(不进行编号)。网络层不提供服务质量的承诺。也就是说,所传送的分组可能出错、丢失、重复、失序(即不按序到达终点),当然也不保证分组交付的时限。
4.2网际协议IP
网际协议IP是TCP/IP体系中两个最主要的协议之一[STEV94][COME06][FOR10],也是最重要的因特网标准协议之一。与之配套使用的还有三个协议:
l 地址解析协议ARP
l 网际控制报文协议ICMP
l 网机组管理协议IGMP
图4-2画出这三个协议和网际协议IP的关系
由于网际协议IP是用来互连起来的许多计算机网络能够进行通信,因此TCP/IP是用来使互连起来的许多计算机网络能够进行通信,因TCP/IP体系体系中的网络层常称为网际层、ip层。
4.2.1虚拟互连网络
从一般概念讲,将网络互相连接起来要使用一些中间设备。根据中间设备所处的层次,可分为:
· 物理层:转发器(repeater)
· 数据链路层:网桥/桥接器(bridger)
· 网络层:路由器(router)
· 网络层以上:网关(gateway)
图a表示有许多计算机网络通过一些路由进行互连。由于参加互连的计算机网络都使用相同的网际协议IP,因此可以把互连以后的计算机网络看成如图b所示的一个虚拟互连网络。也就是逻辑互联网络,意思是互连起来的各种物理网络的异构性本来是客观存在的,但是利用IP协议就可以使这些性能各异的网络在网络层上看起来好像是一个统一的网络。
4.2.2分类的IP地址
1. IP地址及其表示方法
整个的因特网就是一个单一的、抽象的网络。IP地址就是给因特网上的每一个主机(或路由)的每一个接口分配一个在全世界范围是唯一的32位的标识符。IP地址现在由因特网名字和数字分配机构ICANN进行分配。
IP编址的的三个阶段:
分类IP地址:最基本的编址法
子网划分:对分类IP地址的改进
构成超网:较新的无分类编址法
分类IP地址就是把IP地址分为若干固定类,每一类由:
网络号:标识主机或路由器所连接的网络,网络号在因特网范围内是唯一的
主机号:网络号指明的前提下,标识主机或路由器,唯一。
两次唯一,保证了IP地址:网络号+地址号在整个因特网范围内是唯一的。
A、B、C类地址都是单播地址。D类是多播地址。但是在A、B、C类地址内部,主机全1表示的是对此网络内的主机进行广播。
A类:(0…)8b + 24b –约占全部IP地址的50%
B类:(10…)16b+16b –约占全部IP地址的25%
C类:(110…)24b+8b –约占全部IP地址的12.5%
D类:1110+28b多播地址
E类:(1111)+保留未用
现在广泛采用的是CIDR,无分类编址,用的是超网,分类编址已经是过去式了。当然我国正在积极倡导推行IPv6,要在新的网络秩序重建下掌握更多话语权又是另外的事情了。
三类地址取值细节:
A类网络号只有1个字节,也即8b,且第一个bit固定为0,则实际只有7bits可用。但是可以指派的网络号是27−2=12627−2=126个.
减掉的2:
全0:表示本网络(this)
全1:01111111:保留作为环回测试地址。比如用Flask这样的网络框架,在本地测试运行时,是127.0.0.1:5000这样的套接字。用于本地进程之间的通信。过程是:主机发送目的地址是环回地址的IP数据报,本主机上的协议栈就处理数据报中的数据,不把数据发送到网络。
即:可用的网络号是1~126
注:10.x.x.x是保留的私有地址
看完网络号,自然再来关注主机号。
A类地址主机号占3个字节,最大主机数为224−2224−2.
减2的原因:
IP地址中的全0的主机号表示该IP地址是该主机所在的单个网络地址,强调单个是因为主机可以连接到多个网络。流出一个全0的主机号状态标识网络号,可以在后面的网关地址概念处用到。
全1的主机号:该网络上的所有主机
到这里需要强调一下,粗略计算一下,A类地址有(27−2)(224−2)≈231(27−2)(224−2)≈231个。整个IP地址共有:232232个。实际上因为前面的固定标记,以及保留的E类地址,总数还不到232232个。而A类地址直接妥妥地占到了一半。总共就126个可用的A类IP地址,一个地址就可以自由分配224−2224−2个主机地址,是非常方便的。像B类,C类,一个机构稍微大一点,就不得不申请多个才能完成全部的主机互联。这其实是非常不公平的事情。毫无疑问,A类地址几乎都在北美,这也是为什么我们需要加快推进IPv6的一个侧面原因吧。IPv4不够用当然是主要的。网络空间的公平也是追求的目标。
B类地址:网络号2B固定是从10开始,那么就不存在全0全1的网络号了。但是要减1,减1的原因是:
128.0.0.0不分配。
即:网络号从128.1~191.255
注:去掉私有地址:172.16.x.x~172.31.x.x
主机号一样是减2,全0全1不分配。
C类地址:3B的网络号前面的三位从110开始。那么有21位可以用。但是仍然有一个虽然不是全0全1,不分配的是:192.0.0.0.
其实B、C类网络号去1,A类去2可以这么记忆。B、C类可分配的比特中,全0也不用。因为环回地址有A类的就够了,所以只减1.
这没有任何逻辑,纯粹助记而已。
IP地址是逻辑地址,是用软件实现的。
物理地址是数据链路层和物理层使用的地址,是硬件地址。
硬件地址固化在网卡上的ROM中,硬件地址又称之为MAC地址。
发送数据从高往下,封装到数据链路层的帧时,数据链路层看不到IP地址,在每段链路之间的跨越都是通过MAC地址进行的。
既然数据链路层看不到IP地址也就意味着源IP地址和目的IP地址在转发过程中不会改变,而可被数据链路层看到的MAC地址,在每一段跳跃时都要改变。值得注意的是用私有地址的NAT路由器,要有一次穿上公网(因特网)可识别的IP地址。又一次变化。如果对方主机也连接在NAT路由器上,则在目的端又有一次变化。
IP地址的重要特点:
(1)每一个IP地址都由网络号和主机号组成。从这个意义上讲:IP地址是一种分等级的地址结构。
(2)实际上IP地址是标志一个主机(或路由)和一条链路的接口。
(3)用转发器或者网桥连接起来的若干个局域网仍为一个网络,因为这些局域网都具有相同的网络号。具有不同网络号的局域网必须用路由器进行互连。
(4)在IP地址中,所有分配到网络号的网络(不管是范围很小的局域网,还是可能覆盖很大地理范围的广域网)都是平等的,是指因特网同等对待每一个IP地址。
#笔记##读书笔记#