TCP/IP各层讲解 - 网络层(上)

2,843 阅读6分钟

网络层基础

网络层主要负责的是两个终点节点的通信,也叫作点对点通信。

网络层与数据链路层的关系

数据链路层主要负责连接同一种数据链路得两个节点进行传递,如果需要跨过多种数据链路,则需要网络层的帮助。

举个例子,在旅途当中需要乘坐火车、汽车和飞机,而乘坐这些交通工具的顺序得依照行程表。而乘坐火车或则飞机的票只能在特定的交通工具(区别)内使用,而这个交通工具就是现在所指得数据链路层,然后行程表就是网络层。

网络层

简单的说,数据链路提供的只是两个直连设备之间的通信,而网络层负责的是没有直连的两个网络之间的通信。

总结一下两个层之间功能的区别:

网络层:

  • 异构网络互联(两个不直连的网络通信)
  • 路由与转发(指路由器根据转发表将用户的IP数据报从合适的端口转发出去)

数据链路层:

  • 链路连接的建立,拆除,分离
  • 帧定界和帧同步
  • 顺序控制,指对帧的收发顺序的控制
  • 差错检测和恢复

IP地址

IP地址由32位正整数表示,在计算机中则以二进制的方式处理,但普遍以十进制进行展示,如图

IP地址

IP地址主要被分配到每一个连接到互联网的网卡上,通常一个主机拥有一个网卡即一个IP地址,而路由器则拥有两个网卡即两个IP地址。

IP地址组成

IP地址中主要由网络标识和主机标识所组成。在同一个网段里面网络标识必须相同,而主机标识必须不同。同时在两个不同的网段,网络标识必须不同,这样就可以保证连接网络的设备IP地址的唯一性。

识别网络标识和主机标识的有两种方法,第一种是固定好分类,而第二种则是根据子网掩码的方式。

先说第一种方式:

  • A类地址,前8位是网络标识,后24位是主机标识,即0.0.0.0 ~ 127.0.0.0是A的网络地址。
  • B类地址,前两位为10的地址,从1到16位都是网络地址,而后16位是主机地址。即128.0.0.0 ~ 191.255.0.0 是B的网络地址。
  • C类地址,前三位为110的地址,从1到24位都是网络地址,而后8位是主机地址。即192.168.0.0 ~ 239.255.255.0 是C的网络地址。
  • D类地址,前四位为1110的地址,从1到32位都是网络地址,而后8位是主机地址。即224.0.0.0 ~ 239.255.255.255 是D的网络地址。常用于多播。

第二种方式:

一个IP地址的网络标识和主机表识不受类别所限制,而是一个子网掩码的识别码通过子网网络细分出粒度更小的网络。

子网掩码也是一个32位正整数,它对应的网络标识部分全部为1,而主机部分为0。

例子如下:

子网掩码

子网掩码也可用/区分,例如172.20.0.0/16则前16位为网络标识。

网络层传输

在进行通讯的时候对端必须拥有类似地址的识别码才能进行通讯,在数据链路层中拥有者MAC地址,而在网络层中有着IP地址。

多跳路由

IP地址的传输全靠路由的控制,而IP路由也叫多跳路由。所谓多跳路由是指每一次传输IP包的时候,并不会把最终地址的所有地址列出来,而是通过每一个区间在转发的时候才指定下一跳的动作,直到跳到最终地址。

兼容数据链路层

网络层传输的时候还必须兼容各种数据链路,举个例子,在FDDI中传输可传输4352个字节,而在MTU上只能传输1500个字节,而当两者同时传一个IP包的时候,IP包就会进行一个分片处理。把大的IP包分成几个小的IP包,到了对端再把他们合成送到上一层处理。

面向无连接

IP是面向无连接的。在传输的时候并不需要与对端建立连接,无论对端是否存在,数据包还是会发送出去。

IP采用面向无连接主要是因为简化连接和提速,面向有链接的每一个连接都是相当负责的,如果每一次通讯都要建立起连接就会降低处理速度。

面向有连接

面向连接的服务(connection-oriented service)就是通信双方在通信时,要事先建立一条通信线路,其过程有建立连接、使用连接和释放连接三个过程,后面讲到的TCP就是一种这样的协议。

广播

广播是同一个数据链路里面互相发送数据包,而广播的地址就是把主机地址全部改为1后的地址。而广播分为直接广播和本地广播。

本地广播:

在网络地址是192.168.0.0/24的情况下,广播地址就是192.168.0.255/24,而这个地址的IP包会被路由器所拦截,所以不会传播出去。

直接广播:

直接广播就是192.168.0.1/24 的地址发送一个包给192.168.1.255/24。当路由器接收到这个包的时候会把包分别派到192.168.1.0/24 ~ 192.168.1.254/24上。

多播

由于广播会给一个不需要接收信息的终端带来影响,所以出现了一个多播的方式。对于多播,所有的主机都必须遵从多播地址,由路由器去复制多播的包派发。

全局地址和私有地址

随着网络发展,IP地址日渐不足,而解决这个问题有着两个解决办法,IPv6和IPv4配合NAT技术(私有地址)。

全局地址

简单来说就是除了私有地址外都是全局地址。

私有地址

私有地址并不是固定的,而是再接入互联网的时候才分配,所以私有地址可以在不同的网段内相同,但在同一网段内的网络标识是有所限制的。私有地址范围如下:

  • 10.0.0.0 ~ 10.255.255.255(10/8)
  • 172.16.0.0 ~ 172.31.255.255(172.16/12)
  • 192.168.0.0 ~ 192.168.255.255(192.168/16)

如果这些私有地址需要接入互联网,必须使用NAT技术。

写在最后

开始新的网络层咯!!!

图解TCP/IP

这会作为最近的一个长期目标不定期更新。