俗话说,不会敲代码的司机不是好厨子。作为奋斗在一线的iOS开发猿,对网络理解的不深刻一点,再深刻一点,怎么能说是好猴子呢。所以,我开始了我的第三次规模化学习。第一次是在大学时,第二次是在实习的那段时间,这前两次基本就是囫囵吞枣,看个大概,记点名词。这次的目的是总结归纳,重在理解。Ok,下面是我根据谢希任教授编著的『计算机网络』一书整理的相关章节的一些内容以及我自己的一些浅显的理解。
网络层的核心内容是网际协议IP,只有深入地掌握IP协议的原理,才能理解因特网是怎么样工作的。
区别于电信网采用的端到端的“面向连接”的可靠传输服务,因特网采用是设计思路是:网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。网络在发送分组时不需要建立连接,每一个分组独立发送,不进行编号。所以,网络层不提供服务质量的承诺。采用这个思路的前提是计算机相对于电话机,具有很强的差错处理能力。那么这样做的好处是:网络的造价大大降低,运行方式灵活,能够适应多种应用。因特网能够发展到今日的规模,充分证明了当初采用这种设计思路的正确性。
一、网际协议IP
网际协议IP是TCP/IP体系中两个最主要的协议之一,也是最重要的因特网协议之一。与IP协议配套使用的还有四个协议:
- 地址解析协议ARP(Address Resolution Protocol)
- 逆地址解析协议RARP(Reverse Address Resolution Protocol)
- 网际控制报文协议ICMP(Internet Control Message Protocol)
- 网际组管理协议IGMP(Internet Group Management Protocol)
在网络层中IP协议要使用ARP和RARP协议,ICMP和IGMP协议要使用IP协议。
二、虚拟互联网络
如果要在全世界范围内吧数以百万计的网络都互联起来,并且能够互相通信,那么这样的任务一定非常复杂。其中遇到许多问题需要解决,如:
- 不同的寻址方案
- 不同的最大分组长度
- 不同的网络接入机制
- 不同的超时控制
- 不同的差错恢复方法
- 不同的状态报告方法
- 不同的路由选择技术
- 不同的用户接入控制
- 不同的服务(面向连接的服务和无连接服务)
- 不同的管理与控制方式
等等
在这种情况下,没有一种单一的网络能够适应所有用户的需求。
TCP/IP体系在网络互连上采用的做法是在网络层采用了标准化协议,但相互连接的网络则可以是异构的。由于参加互连的计算机网络都使用相同的网际协议IP,因此可以吧互连以后的计算机网络看成一个虚拟互连网络。所谓虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来就是客观存在的,但是我们利用IP协议就可以使这些性能各异的网络在网络层上看起来好像是一个统一的网络。这样做的好处是:当IP网上的主机进行通信是,就好像在一个单个网络上就行通信一样,它们看不见互连的各网络的具体异构细节。
三、IP地址的划分
IP地址就是给因特网上的每一个主机或路由器的每一个接口分配一个在全世界范围是唯一的32位的标识符。IP地址现在由因特网名字与号码指派公司ICANN(Internet Corporation for Assigned Names and Numbers)进行分配。IP地址的编址方法经过了三个历史阶段:
1.分类的IP地址。这是最基本的编址方法。
分类的IP地址就是将IP地址分为若干个固定类,每一类地址都是由两个固定长度的字段组成,其中第一个字段是网络号,标示主机或路由器所连接到的网络。第二个字段是主机号,标志改主机或路由器。一个网络号在整个因特网范围内必须是唯一的,一个主机号在它前面的网络号所指明的网络范围内必须是唯一的。所以,一个IP地址在整个因特网范围内是唯一的。
2.子网的划分。这是对最基本的编址方法的改进。
从二级IP地址到三级IP地址。二级IP地址有很多问题,例如:1.空间利用率低;2.给一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏;3.不够灵活...
为解决这些问题,从1985年起在IP地址中又增加了一个“子网号字段”,使两层IP地址变为三层IP地址。这种做法叫做划分子网或子网寻址、子网路由选择,已成为因特网的正式标准协议。
划分子网的方法是从网络的主机号借用若干位作为子网号,主机号就相应的减少了同样的位数。
从IP数据报的首部并不知道源主机或目的主机所连接的网络是否进行了子网的划分。因为32位的IP地址本身以及数据报的首部都没有包含任何有关子网划分的信息。因此,就要使用子网掩码。
把子网掩码和收到的数据报的目的IP地址逐位相“与”,就得出所要找的子网的网络地址。如果一个网络不划分子网,那么该网络的子网掩码就使用默认子网掩码。默认子网掩码中的1的位置和IP地址中的网络号字段net-id正好相对应。
相对于二级IP地址,划分子网增加了灵活性,但却减少了能够连接在网络上的主机总数。
3.构成超网。这是比较新的无分类编址方法。
无分类域间路由选择CIDR(Classless Inter-Domain Routing)
1.CIDR消除了A、B、C类地址以及划分子网的概念,可以更加有效的分配IPv4的地址空间。CIDR把32位的IP地址划分为两个部分,前面部分是“网络前缀”or“前缀”,用来指明网络,后面部分用来指明主机。CIDR还使用“斜线记法”,即在IP地址后面加上斜线“/”,然后写上网络前缀所占的位数。
2.CIDR把网络前缀都相同的连续的IP地址组成一个“CIDR地址块”。
例如:192.168.32.1/22 表示:前22位是网络前缀,后10位为主机号