关于IP地址和一些其他定义
IP地址(Internet Protocol Address)

  1. 定义:IP地址是指互联网协议地址,又译为网际协议地址。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
    IPv4地址由4字节组成,每个字节用“.”隔开,例如:“192.168.1.1”

  2. IP地址类型

    1. 公有地址(Public address)由Inter NIC(Internet Network Information Center因特网信息中心)负责。这些IP地址分配给注册并向Inter NIC提出申请的组织机构。通过它直接访问因特网。
    2. 私有地址(Private address)属于非注册地址,专门为组织机构内部使用。 以下列出留用的内部私有地址 A类 10.0.0.0--10.255.255.255 B类 172.16.0.0--172.31.255.255 C类 192.168.0.0--192.168.255.255
  3. IP地址分两个部分
    网络位(ID)-用于区分不同的网络
    主机位(ID)-用于区分同一网络中不同的主机

    说明:最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。Internet委员会定义了5种IP地址类型以适合不同容量的网络,即A类~E类。

  4. IP地址的分类

    1. A类IP地址:一个A类IP地址是指, 在IP地址的四段号码中,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。如果用二进制表示IP地址的话,A类IP地址就由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”。A类IP地址中网络的标识长度为8位,主机标识的长度为24位,A类网络地址数量较少,有126个网络,每个网络可以容纳主机数达1600多万台。 A类IP地址 地址范围1.0.0.1到127.255.255.254(二进制表示为:00000001 00000000 00000000 00000001 - 01111111 11111111 11111111 11111110)。最后一个是广播地址。
    2. B类IP地址:一个B类IP地址是指,在IP地址的四段号码中,前两段号码为网络号码。如果用二进制表示IP地址的话,B类IP地址就由2字节的网络地址和2字节主机地址组成,网络地址的最高位必须是“10”。B类IP地址中网络的标识长度为16位,主机标识的长度为16位,B类网络地址适用于中等规模的网络,有16384个网络,每个网络所能容纳的计算机数为6万多台。 B类IP地址地址范围128.0.0.1-191.255.255.254(二进制表示为:10000000 00000000 00000000 00000001----10111111 11111111 11111111 11111110)。 最后一个是广播地址。 B类IP地址的子网掩码为255.255.0.0,每个网络支持的最大主机数为256的2次方-2=65534台。
    3. C类IP地址:一个C类IP地址是指,在IP地址的四段号码中,前三段号码为网络号码,剩下的一段号码为本地计算机的号码。如果用二进制表示IP地址的话,C类IP地址就由3字节的网络地址和1字节主机地址组成,网络地址的最高位必须是“110”。C类IP地址中网络的标识长度为24位,主机标识的长度为8位,C类网络地址数量较多,有209万余个网络。适用于小规模的局域网络,每个网络最多只能包含254台计算机。 C类IP地址范围192.0.0.1-223.255.255.254(二进制表示为: 11000000 00000000 00000000 00000001 - 11011111 11111111 11111111 11111110)。 C类IP地址的子网掩码为255.255.255.0,每个网络支持的最大主机数为256-2=254台
    4. D类IP地址:D类IP地址在历史上被叫做多播地址(multicast address),即组播地址。在以太网中,多播地址命名了一组应该在这个网络中应用接收到一个分组的站点。多播地址的最高位必须是“1110”,范围从224.0.0.0到239.255.255.255。
    5. 特殊的网址:
      1. 每一个字节都为0的地址(“0.0.0.0”)对应于当前主机
      2. IP地址中的每一个字节都为1的IP地址(“255.255.255.255”)是当前子网的广播地址
      3. IP地址中凡是以“11110”开头的E类IP地址都保留用于将来和实验使用
      4. IP地址中不能以十进制“127”作为开头,该类地址中数字127.0.0.1到127.255.255.255用于回路测试,如:127.0.0.1可以代表本机IP地址,用 "http://127.0.0.1" 就可以测试本机中配置的Web服务器。
      5. 网络位不全为0时,主机位全为0的IP地址代表网络号,不可以使用。
      6. 网络位不全为0时,主机位全为1的IP地址代表当前网络的广播,不可使用。
      7. 形如“169.254.X.X”不可以使用,这是微软注册的IP地址
类别最大网络数IP地址范围单个网段最大主机数私有IP地址范围
A126(2^7-2)1.0.0.1-127.255.255.2541677721410.0.0.0-10.255.255.255
B16384(2^14)128.0.0.0-191.255.255.25565534172.16.0.0-172.31.255.255
C2097152(2^21)192.0.0.0-223.255.255.255254192.168.0.0-192.168.255.255
通信关系

  1. 网间通信(使用路由器-rt)
  2. 网内通信(使用二层交换机-sw)

如何判断两个通信节点的通信关系? 查看IP地址的网络位是否一致,一致代表同一网段下的主机,是网内通信,不一致则为不同网段下的主机,是网间通信。

子网掩码(subnet mask)

定义:子网掩码又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。

192.168.1.101/24
上面的IP地址后面的24就是子网掩码,一般为了方便辨认我们将它和IP地址连写在一起。

另一种单独写法是:
11111111111111111111111100000000
说明:24个“1”代表前24位是网络位,8个“0”代表后8位是主机位。

十进制写法是:
255.255.255.0

网络的组成

网络 = 通信节点 + 网络设备 + 传输介质

  1. 通信节点:在电信网络中,一个节点是一个连接点,表示一个再分发点(redistribution point)或一个通信端点(一些终端设备)。节点的定义依赖于所提及的网络和协议层。一个物理网络节点是一个连接到网络的有源电子设备,能够通过通信通道发送、接收或转发信息。因此,无源分发点(如配线架或接插板)不是节点。 在网络理论或图论中,术语节点表示网络拓扑中,线相交或分支的点。

  2. 网络设备:网络设备及部件是连接到网络中的物理实体。网络设备的种类繁多,且与日俱增。基本的网络设备有:计算机(无论其为个人电脑或服务器)、集线器、交换机、网桥、路由器、网关、网络接口卡(NIC)、无线接入点(WAP)、打印机和调制解调器、光纤收发器、光缆等。

  3. 网络传输介质是指在网络中传输信息的载体,常用的传输介质分为有线传输介质和无线传输介质两大类。不同的传输介质,其特性也各不相同,它们不同的特性对网络中数据通信质量和通信速度有较大影响。

OSI参考模型
定义

开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),简称为OSI模型(OSI model),一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围内互连为网络的标准框架。定义于ISO/IEC 7498-1。

OSI模型的七层

  1. 物理层:将数据转换为可通过物理介质传送的电子信号。相当于邮局中的搬运工人。(最底层)
  2. 数据链路层:决定访问网络介质的方式。在此层将数据分帧,并处理流控制。本层指定拓扑结构并提供硬件寻址,相当于邮局中的装拆箱工人。
  3. 网络层:使用权数据路由经过大型网络。相当于邮局中的排序工人。
  4. 传输层:提供终端到终端的可靠连接。相当于公司中跑邮局的送信职员。
  5. 会话层:允许用户使用简单易记的名称建立连接。相当于公司中收寄信、写信封与拆信封的秘书。
  6. 表示层:协商数据交换格式。相当公司中简报老板、替老板写信的助理。
  7. 应用层:用户的应用程序和网络之间的接口。(最顶层)

OSI-Model

图片来自百度百科

TCP/IP参考模型
定义

TCP/IP参考模型是计算机网络的祖父ARPANET和其后继的因特网使用的参考模型。ARPANET是由美国国防部DoD(U.S.Department of Defense)赞助的研究网络。逐渐地它通过租用的电话线连结了数百所大学和政府部门。当无线网络和卫星出现以后,现有的协议在和它们相连的时候出现了问题,所以需要一种新的参考体系结构。这个体系结构在它的两个主要协议出现以后,被称为TCP/IP参考模型(TCP/IP reference model)。

四层协议

  1. 应用层:应用层对应于OSI参考模型的高层,为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等。(最顶层)
  2. 传输层:传输层对应于OSI参考模型的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP)。TCP协议提供的是一种可靠的、通过“三次握手”来连接的数据传输服务;而UDP协议提供的则是不保证可靠的(并不是不可靠)、无连接的数据传输服务。
  3. 网际层(网络层):网际互联层对应于OSI参考模型的网络层,主要解决主机到主机的通信问题。它所包含的协议设计数据包在整个网络上的逻辑传输。注重重新赋予主机一个IP地址来完成对主机的寻址,它还负责数据包在多种网络中的路由。该层有三个主要协议:网际协议(IP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。IP协议是网际互联层最重要的协议,它提供的是一个可靠、无连接的数据报传递服务。
  4. 网络接入层(链路层):网络接入层与OSI参考模型中的物理层和数据链路层相对应。它负责监视数据在主机和网络之间的交换。事实上,TCP/IP本身并未定义该层的协议,而由参与互连的各网络使用自己的物理层和数据链路层协议,然后与TCP/IP的网络接入层进行连接。地址解析协议(ARP)工作在此层,即OSI参考模型的数据链路层。(最底层)

tcp-ip-modleToOSI

OSI和TCP/IP模型对照图-图片来自网络

我们现在应用最普遍的就是TCP/IP模型

应用层的单位是:数据(data)
传输层的单位是:数据段(segment)
网络层的单位是:数据包(packet)
链路层的单位是:数据帧(frame)
物理层的单位是:比特流(bit)
注:如果是TCP/IP五层模型可以包括物理层,不过我们在研究中其物理层一般不做过多考虑,加不加都可以。

在网络中数据如何传输?以浏览网页为例

在模拟器中抓包,可以看到每一层的工作原理。

  1. 请求网站服务器,服务器返回数据,数据从服务器应用程序出来
  2. 数据通过传输层的端口在其前加上传输层的头,头中一般包括本地端口和远程端口信息,此时该数据被称作segment(数据段)
  3. 数据段通过网络层,此时在其前加上网络层的头,头中包括本地IP地址和远程IP地址,此时该数据被称作packet(数据包)
  4. 数据包通过链路层,此时在其前加上链路层的头,头中包括本地网卡的mac地址,和远程设备网卡的mac地址,此时该数据称作frame(数据帧)
  5. 数据帧通过网络设备和传输介质到达远程节点,在传输过程中是以比特流形式,也就是“0”和“1”,此时该数据被称作bit(比特流)

上述过程被称为数据的封装,而数据的解封装是封装的逆过程。

tcp-ip-modle-Working principle

数据的封装过程