TCP/IP系列2

  1. 首先介绍一下TCP/IP四层模型的最底一层:网络访问层。
    网络访问层主要负责管理与网络适配器的连接,把逻辑IP地址转换为物理地址在局域网内发送。

作为应用开发,我们完全接触不到这一层。所以我们只要了解网络访问层最常见的一种体系结构:以太网的工作原理就可以了。

以太网通过载波监听多路访问/冲突检测(CSMA/CD)来判断计算机何时可以把数据发送到局域网中。该方法要求局域网内的计算机都要监听网络状态,等待线路空闲才可以发送数据。如果两台计算机想要同时发送数据,就会产生冲突。解决冲突的办法是两台计算机都不发送数据,随机等待一个时间间隔,然后在尝试发送数据。

  1. 接下来就是重点介绍一下网际层(IP层)
    IP地址是由4个字节32位的二进制数组成的,最常用的表述方式就是点分十进制,比如192.168.1.1.
    一个IP地址可以分为两部分:网络ID和主机ID(后来又在网络ID的基础上引入了子网ID)。
    按照网络ID所占的位数,可以把IP地址分为如下几类:

A类IP地址:网络ID占8位,后24位表示主机ID
B类IP地址:网络ID占16位,后16位表示主机ID
C类IP地址:网络ID占24位,后8位表示主机ID。
那么计算机是如何判断一个IP地址是A类,B类还是C类呢?

如果一个IP地址(二进制表示)是以0,化为十进制就是以(0~127)开头,那么它是A类IP地址
如果一个IP地址是以10开头,化为十进制就是以128~191开头,就是B类IP地址
如果一个IP地址是以110开头,化成十进制就是 (192~223),那么他就是C类IP地址。

此外,还有用于特殊用途的D类和E类IP地址,D类IP地址用于组播,把一个消息发送到网络的子网中,D类IP地址以1110开头,化成十进制就是224~239.E类IP地址用于科研,以11110开头。

还有一些特殊的IP地址不会被网络管理机构分配,但是我们生活中经常可以遇到。

主机ID全为0的地址,代表了该网络本身,比如129.152.0.0代表了129.152.0.0这个网络本身,它不代表任何主机。

主机ID全为1的地址,代表了该网络的广播地址,比如129.152.255.255就是该网络的广播地址。

127开头的任何IP地址都是回环地址,网络管理机构也不会分配该地址。

除此之外,A类,B类,C类IP地址中都有一段保留地址被用于局域网私有网络,网络管理机构也不会分配改地址。
10.0.0.0~10.255.255.255是A类网络的私有地址
172.16.0.0~172.31.255.255是B类网络的私有地址
192.168.0.0~192.168.255.255是C类网络的私有地址。

  • 子网划分。
    由于A类和B类IP地址,主机位数太多,一般一个网络中很少有那么多主机。所以引入了子网划分的技术,把一个大网络划分为一个个更小的网络。子网划分的实质就是借用主机ID中的一些位来创建更小的网络。

  • ARP解析的过程
    任何一台主机都会在内存中保存一张表,包含了IP地址和物理地址的映射关系。当主机需要向网络上的其他主机发送消息的时候,他会先通过ARP缓存来得到目标主机的物理地址,如果得不到,就发送一个ARP请求帧ARP请求帧包含了这个未被解析的IP地址。网络上的其他主机收到这个请求,如果有主机拥有这个未解析的IP地址,就会向发出该请求的主机发送自己的物理地址,然后发出请求的主机就会更新自己的额ARP缓存。

  • ICMP网络控制协议
    一个消息在到达最终目的地时可能会经过多个路由器,并可能出现多种问题,路由器通过ICMP协议把出现的问题发送给源地址。

最常见的ICMP消息就是Echo RequetEcho Reply,我们常用的 ping命令就是使用该消息。

你可能感兴趣的:(TCP/IP系列2)