网络通信1(概念介绍)

1.网络概念

        网络是由若干节点和链接这些节点的链路构成,如下图所示。

        节点是指具有产生、发送、接受或转发数据功能的设备,如下图光猫、路由器、电脑和手机,节点分为数据终端设备和数据通信设备。

        数据终端设备(简称DTE)是指具有生产、发送和接受数据功能的设备,如下图电脑和手机。

        数据通信设备(简称DCE)是指具有转发数据功能的设备,如下图光猫和路由器。

        链路是指链接节点的介质,如下图光纤、网线和无线电波。

        网络可大可小,超大型网络如互联网,超小型网络如两台电脑和一根网线组成的一个网络,如下图所示。常见的网络如办公室、教育、政府和银行等行业或机构使用的网络。

1.1.子网

        为了方便管理,可将大型网络划分为多个小型网络,这些小型网络被称为子网。子网是相对的,小型网络相对大型网络来说,这个小型网络是大型网络的子网。从大型网络划分出的小型网络还可以划分为更小的网络,则更小的网络相对小型网络来说,这个更小的网络是小型网络的子网。

1.2.网络分类

        依据网络覆盖范围可将网络划分为局域网、城域网和广域网。

  • 局域网

        局域网(简称LAN)覆盖范围一般是方圆几千米之内,范围可大可小,大到一栋建筑楼与相邻建筑楼之间相联组成的网络;小到办公室之间相联组成的网络。

        局域网是在一个范围内使用,如一个学校、工厂、企业或机关等组织结构,因此局域网只属于特定组织或机构,外部人员是无法直接访问的。总的来说,局域网是私有网络且封闭的,只允许授权用户使用,比较安全。

  • 城域网

        城域网(简称MAN)是指在一个城市范围内建立的网络。重要用途是作为骨干网,通过城域网将位于同一城市内不同地点的主机、数据库和局域网等相互联接起来。

  • 广域网

        广域网(简称WAN)又称外网或公网,覆盖的范围从几十公里至几千公里,是连接不同地区局域网或城域网的网络。它能链接多个地区、城市和国家,或横跨几个州并提供远距离通信,形成国际性的网络。如有东、西、南和北等分公司,甚至海外分公司,把这些分公司的网络用专线方式联接起来,即形成一个广域网。

1.3.互联网

        互联网又称Internet、国际网络、因特网或英特网,是全球最大的计算机网络,由许多个局域网、城域网和广域网组成,连接了全球的计算机,使得它们可以相互通信和交换信息。

1.4.广域网和互联网的区别

       网络

区别

广域网互联网
覆盖范围覆盖较大的地理范围全球
管理

有互联网服务提供商(简称ISP,如移动、联通和电信)负责构建和维护

通常由一个组织或公司专用

有互联网服务提供商(简称ISP,如移动、联通和电信)负责构建和维护

由全球组织和公司共同使用
安全性相对互联网更加私密和安全开放且全球化
包含关系互联网包含广域网

2.网络通信概念

        网络通信是指通过网络实现DTE与DTE之间的信息交流和传递。如下图所示:通过下图所示的网络实现计算机A向计算机B发送“hello”消息。

上图网络通信过程:

  1. 计算机A产生“hello”数据,并通过网线A发送给路由器A;
  2. 路由器A将“hello”数据通过网线B转发给路由器B;
  3. 路由器B将“hello”数据通过网线C转发给计算机B;
  4. 计算机B接受“hello”数据。
网络通信五要素
要素描述
发送者发送者是指产生和发送数据的数据终端设备,如上图的计算机A
接收者接收者是指接受数据的数据终端设备,如上图的计算机B
介质介质是指链路。如上图的网线A、网线B和网线C
数据如上图“hello”
协议协议是指网络上所有节点之间的通信规则。如福建人用闽语和广东人用粤语相互交谈,结果谁都听不懂对方说的话,若两方想正常沟通,就需要指定一个规则,这个规则就是约定双方都说普通话。 (协议在后续会有更详细介绍)
注意:我们知道仅有两个计算机和一根网线便可以组成一个网络,因此DCE(如上图的路由器)不是组成网络的要素。DCE会在其他场景下使用,后续会详细介绍。

3.网络参考模型概念

        在网络发展初始时,不同厂商的设备是不能相互通信的,且节点间的通信是复杂的,为了使不同厂商的设备相互兼容和使通信化繁为简,人们制定了标准——网络参考模型。

        网络参考模型采用的是分层通信体系结构,即将通信功能分为若干个层次,每个层次完成一部分功能,且不同层次使用不同的协议,然后各个层次相互配合共同完成通信的所有功能。每一层只能和上下两个相邻的层次打交道,它能利用下一层提供的功能,和向上一层提供服务。

        网络参考模型分为OSI参考模型和TCP/IP参考模型。OSI参考模型(全称为开放系统互联参考模型) 在1997年有国际标准组织(ISO)制定,分为7个层次。在OSI参考模型之前,TCP/IP协议簇已经在使用了,并且逐渐演变为TCP/IP参考模型,TCP/IP参考模型分为4个层次。

        由于TCP/IP参考模型比OSI参考模型更早应用于商业上,且TCP/IP参考模型比OSI参考模型实现起来较为容易和运行效率较高,因此TCP/IP参考模型更能带来商业价值,从而TCP/IP参考模型在市场上使用更为广泛。在设备设计上采用的是TCP/IP参考模型,但在网络维护上采用的五层参考模型(网络工程师在学习网络通信或在工作中维护网络时常使用五层参考模型,其本质还是TCP/IP参考模型,只是为了方便学习和工作),五层参考模型分为5个层次。在后续的教程中,主要围绕五层参考模型讲解。

3.1.OSI参考模型

3.1.1.第七层--应用层

        应用层是为DTE的操作系统或应用程序提供访问网络的接口,使操作系统或应用程序产生的数据通过接口进入应用层,然后数据在应用层中通过协议处理后生成报文,并将报文传送给下一层。

        应用层常用协议:Telent、FTP、HTTP、HTTPS、SNMP等。

        举例:通过百度查询“hello”的中文意思,首先“hello”数据通过接口进入应用层,然后在应用层经HTTPS协议处理后生成请求报文,并将请求报文传送给下一层。

3.1.2.第六层--表示层

        将上层提供的数据进行格式转换。由于上层提供的数据并不适合在OSI参考模型内部进行传送,因此在表示层提供了数据格式转换功能。数据格式转换功能有加密和解密、压缩和解压、图片编码和图片解码等。

        举例:本层对上一层传送的“hello”请求报文进行加密和压缩等处理后生成新的请求报文,并传送给下一层。

3.1.3.第五层--会话层

        上两层只是对数据进行处理,但还不能解决发送者和接收者各自的操作系统或应用程序之间是如何会话的。

        会话层是建立、管理和终止发送者和接收者各自的应用程序之间的会话。

会话层的功能:

  • 会话管理:会话层使用会话标识来唯一标识会话,以便建立、认证、维护和关闭指定的会话等;
  • 会话同步:会话层在数据流中插入同步点,以确保应用程序之间的数据通信按照正常的顺序进行,以便接收者能正确的解封和处理数据;(同步点可以是特定的数据标识、控制信息或应用程序定义的同步信号)。
  • 对话控制:会话层定义了会话协议,如请求应答协议和双向通信协议等,以确保应用程序之间交互是有序的和可靠的;
  • 会话恢复:应用程序之间的会话会意外的中断或失败,而会话层通过保存会话状态、重连或重新建立机制使会话恢复到之前的状态,以便应用程序之间能够继续进行数据通信;
  • 保证安全和验证身份:会话层通过加密、数字签名或证书认证等方法确保会话中的数据和通信是安全的,从而防止未经授权的访问和数据泄露。

        举例:本层对上一层传送的“hello”请求报文进行添加会话标识、插入同步点、协议处理和加密处理后生成新的请求报文,并传送给下一层。在发送者和接收者间建立通信前后,会话层会在相应的通信阶段保存会话状态。

3.1.4.第四层--传输层

        会话层解决了发送者和接收者各自的操作系统或应用程序之间会话问题。但还没有解决如何建立会话链接通道?还有一个未解决的问题:接收者可以运行多个应用程序,当发送者发送消息到接收者后,接收者是不知道此消息属于那个应用程序的。

会话和会话链接通道的关系说明:

        网上有个对会话和会话连接通道形象的比喻:有A和B两个城市,需要从A城运送白菜到B城。要将白菜从A城运输到B城,需要建设公路、准备白菜和运输白菜等工作。

        A城相当于发送者;

        B城相当于接收者;

        公路相当于会话连接通道

        会话相当于运输白菜。

接收者给应用程序分配消息:

        应用程序分为未运行程序和运行程序。未运行程序不能发送和接受消息。运行程序是能够发送和接受消息,运行程序就是常说的进程。例如:在计算机上的QQ应用程序,在你还未双击双击打开QQ时,此时的QQ应用程序就是未运行程序,当你双击打开QQ后,此时的QQ应用程序就是运行程序——进程。

        进程会与端口(端口先理解为是一串数字,后续会详细介绍)绑定,在发送者发送数据时会绑定接受者进程的端口,当接受者收到数据后通过端口就知道将数据分配给那个进程了。

传输层的功能:

        建立和释放会话链接通道:选择协议建立和释放会话链接通道,在传输层常用的协议:UDP(用户数据包协议)和TCP(传输控制协议)。(UDPTCP后续详细介绍)

        TCP协议分段和重组数据:当上层传送的数据很大时,发送者将数据整体发送给接收者是不合适的,因此在发送者端需要将数据分割成若干个数据单元,在接收者端将数据单元重组。(注意:若传输层使用的是UDP协议,则不会在传输层分段和重组数据,但数据过大时,必须人为的在应用层将数据分段和重组)。

        按端口号寻找进程:参考上面“接收者给应用程序分配消息”的介绍;

        控制流量:在网络中会涉及到很多设备,如:计算机、路由器、交换机等设备,若计算机发送数据过快,而路由器或交换机发送数据过慢,则路由器或交换机缓存中会持续存储计算机发送过来的数据,当存储的数据占满缓存区,则不会再接受数据,从而导致未被接受的数据丢失,因此需要对发送者进行流量控制。

        封装和解封数据:若本层使用的是UDP协议,则发送者将源端口号和目的端口号等数据封装在上一层传送的数据的头部,封装后的数据被称为数据报;若本层使用的是TCP协议,则发送者将源端口号和目的端口号封装在每个数据单元的头部,封装后的数据单元被称为数据段。接收者收到数据后会在本层将数据报或数据段解封为原来的数据或数据单元。

        举例:本层对上一层传送的“hello”请求报文进行数据分割、添加端口号、设置流量、选择协议并建立会话链接通道后生成数据报或数据段,并传送给下一层。

3.1.5.第三层--网络层

        传输层解决了会话连接道路和进程接收消息的问题。但如上图所示,计算机A向计算机B发送消息,由于路由器不能知晓其他广播域路由器的地址,所以路由器不能转发不同广播域的消息 (广播域可先理解为由路由器分割的网段,例如:上图有8个广播域,分别是计算机A和路由器A之间是一个广播域,路由器A和路由器B之间是一个广播域,同理路由器A和路由器C,路由器A和路由器D,路由器B和路由器E,路由器C和路由器E,路由器D和路由器E,路由器E和计算机B),导致计算机B不能接收到计算机A发送的消息,那么路由器是怎样实现路由器转发不同广播域的消息呢?

        假如经过配置可以使路由器转发不同广播域的消息,但当消息发送到路由器A后,那么消息是选择路由器B、路由器C还是路由器D继续转发呢?这种选择被称为路由选择。上述提到的两个问题是由网络层实现的。

网络层的功能:

        分割和重组数据:不同设备传输数据包(数据包在下面“封装和解封数据”介绍)的大小不同,当设备接收到的数据过大时,会在网络层将数据分割为更小的片段,这个片段被称为分片。接收者在网络层将分片重组。

        封装和解封数据:发送者在本层将源IP地址和目的IP地址等数据封装在分片的头部,封装后的数据被称为数据包。(IP地址和目的IP地址分别是指发送者的IP地址和接收者的IP地址。IP地址是由十进制字符串组成,可理解为家庭住址,后续详细介绍)接收者收到数据后会在本层将数据包解封为分片。

        路由配置:除了发送者和接收者会配有IP地址,路由器也会配有IP地址。通过静态路由协议或动态路由协议等协议,路由器会记下消息到达目的广播域经过的相邻路由器IP地址。如上图,计算机A发送消息给计算机B,则路由器A会记下到达路由器E和计算机B间广播域需要经过的路由器B、路由器C和路由器D的IP地址,路由器B、路由器C和路由器D都会记下到达路由器E和计算机B间广播域需要经过的路由器E的IP地址。路由配置解决了上述的第一个问题。

        路由选择:路由器会根据路由优先级和路由开销选择下一个路由器继续传递消息(路由优先级和路由开销后续会详细介绍)。路由寻址解决了上述的第二个问题。

        例如:本层对上一层传送的“hello”数据报/段进行组装,生成数据包。然后在网络传送过程中根据路由配置和路由选择将消息发送到计算机B。

3.1.6.第二层--数据链路层

(交换机提供了很多接口,可以链接多个节点,以实现同一广播域中多个节点间向互通信)

        网络层解决了不同广播域间的消息转发问题。但如上图所示,以路由器为分割点形成左右两个广播域,当计算机A向计算机F发送消息时,在左侧广播域中有多个节点,计算机A是如何知道将消息发送给路由器,而不是发送给计算机B或计算机C?路由器接收到消息后,在右侧广播域中有多个节点,路由器是如何知道消息发送给计算机F,而不是发送给计算机D或计算机E?

数据链路层功能:

        组装数据帧:本层将源MAC地址和目的MAC地址等数据封装在上一层传送的数据的头部,封装后的数据被称为数据帧。(在数据帧中封装的源MAC地址和目的MAC地址是相对的,当消息由计算机A传送到路由器,则源MAC地址和目的MAC地址分别是指计算机AMAC地址和路由器的MAC地址;当消息由路由器传送到计算机F,则源MAC地址和目的MAC地址分别是指路由器的MAC地址和计算机FMAC地址。MAC地址是由十六进制字符串组成,可理解为身份证号,后续详细介绍)

        MAC地址寻址:在交换机中记录着相邻节点的MAC地址,当数据帧传送到交换机后,根据数据帧中封装的目的MAC地址,将数据传送到相对应的节点。MAC地址寻址解决了上述问题。

        差错检测:在数据传输过程中,可能发生错误,因此需要将上一层传输的数据尾部添加循环冗余校验字段(简称FCS,是一种错误检测机制,该字段长度为4字节)。接收者收到数据帧后,根据循环冗余校验字段和循环冗余检验技术校验是否出错,若出错,则丢弃数据,并请求发送者重新发送数据。

        例如:本层对上一层传送的“hello”数据包进行组装,生成数据包,并将数据帧转化为比特流。然后在网络传送过程中根据MAC地址寻址将消息发送到计算机F,并将比特流转化为数据和进行差错检测。

3.1.7.第一层--物理层

物理层的功能:

        数据和比特流间的相互转换:数据在链路上以光/电信号的形式传输,因此需要将数据转化为光/电信号,但数据不能直接转化为光/电信号,需要将数据先转化为比特流(比特流是指01)。数据链路层是执行数据和比特流间相互转换的层次,在发送方将数据转化为比特流,在接收方将比特流转化为数据。

        传送光/电信号:物理层根据比特流产生光/电信号,并光/电信号传送给其他节点。

        规定通信设备的特性:规定设备物理接口的规格尺寸、引脚数量和引脚排列情况等;规定光/电信号的电平大小、阻抗匹配和传输速率距离限制;规定传输介质(常见的传输介质由有网线、双绞线、同轴电缆、光纤、无线网等)等。

        例如:本层对上一层传送的“hello”比特流转化为光/电信号,然后将光/电信号进行传输。

3.2.TCP/IP参考模型

层数层次描述
第四层应用层与OSI参考模型的第七、六和五层的功能相同
第三层传输层与OSI参考模型的第四层的功能相同
第二层网络层与OSI参考模型的第三层的功能相同
第一层网络接口层与OSI参考模型的第二和一层的功能相同

3.3.五层参考模型

3.4.五层参考模型各层次的数据结构

3.4.1.传输层采用UDP协议的五层参考模型数据结构

3.4.2.传输层采用UDP协议的五层参考模型数据结构

3.5.数据在五层参考模型中的传送过程

示例图

下图为上图的五层参考模型

(计算机、交换机和路由器分别使用五层参考模型的全部层次、下两层和下三层)

  1. 计算机A的应用程序产生数据,并通过接口传送给应用层;
  2. 应用层对数据进行协议处理、加密、压缩、添加会话标识和插入同步点等处理后生成报文,并建立会话,然后传送给传输层;
  3. 传输层对数据进行分割、配置端口、协议处理和流量控制等处理后生成数据报或数据段,并建立会话链接通道,然后将数据报或数据段传送给网络层;
  4. 网络层将数据、源IP地址(计算机A的IP地址)和目的IP地址(计算机B的IP地址)等数据封装成数据包,并传送给数据链路层;
  5. 数据链路层将数据、源MAC地址(计算机A的MAC地址)、目的MAC地址(路由器的MAC地址)和FCS等数据封装成数据帧,然后传送给物理层;
  6. 物理层将数据帧转换为比特流,并根据比特流产生光/电信号,然后将光/电信号传送给交换机A的物理层;
  7. 物理层根据光/电信号产生比特流,并将比特流转换为数据,然后将数据传送给数据链路层;
  8. 数据链路层解封数据帧并读取目的MAC地址,然后再封装成数据帧,并传送给物理层;
  9. 物理层将数据转换为比特流,并根据比特流产生光/电信号,并将光/电信号传送给路由器的物理层;
  10. 物理层根据光/电信号产生比特流,并将比特流转换为数据,并传送给数据链路层;
  11. 数据链路层解封数据帧并传送给网络层;
  12. 网络层解封数据包、读取目的IP地址和选择路由,然后再组装成数据包,并传送给数据链路层;
  13. 数据链路层将源MAC地址改为路由器的MAC地址和将目的MAC地址改为计算机B的MAC地址,然后再封装成数据帧,并传送给物理层;
  14. 物理层将数据转换为比特流,并根据比特流产生光/电信号,并将光/电信号传送给交换机B的物理层;
  15. 物理层根据光/电信号产生比特流,并将比特流转换为数据,然后传送给数据链路层;
  16. 数据链路层解封数据帧并读取目的MAC地址,然后再封装成数据帧,并传送给物理层;
  17. 物理层将数据转换为比特流,并根据比特流产生光/电信号,并将光/电信号传送给计算机B的物理层;
  18. 物理层根据光/电信号产生比特流,并将比特流转换为数据,并传送给数据链路层;
  19. 数据链路层解封数据帧并读取目的MAC地址和计算机B的MAC地址比较是否相同和进行差错检测,若不相同或检测出错,则丢弃数据并请求计算机A重新发送数据;若相同且无错,则将数据传送给网络层;
  20. 网络层解封数据包,并将数据传送给传输层;
  21. 传输层解封数据报或数据段,解封后重组数据,然后通过端口寻找进程,然后判断计算机A传输数据是否结束,若传输结束,则释放会话连接通道,并将数据传送给应用层;
  22. 应用层对报文解压和解密,并根据话标识、同步点和协议解封报文,然后数据通过接口传送给应用程序并关闭会话。

4.端口

        端口是指硬件或软件与外界进行数据交流的出入口。

4.1.端口分类

4.2.虚拟端口

        虚拟端口就是在上述传输层提到的端口,用于区分不同的进程。在平常说的“端口”通常是指虚拟端口。

        端口以端口号的形式标识,端口号的范围是0~65535。按照端口号划分可分为知名端口、注册端口和动态端口。

4.2.1.知名端口

        知名端口的端口号范围是0~1023,这些端口号就是约定成俗的分配给固定的服务使用(服务是一直运行的进程,如:运行在服务器上的程序),不再分配给其他服务使用。如:Web服务的端口号是80、FTP服务的端口号是21、SMTP服务的端口号是25。

4.2.2.注册端口

        注册端口的端口号范围是1024~49151。这些端口与知名端口相反,不分配给某个进程固定使用,是临时分配给某个进程使用,当进程间的会话关闭后,端口号会被释放,此端口号可被其他进程使用。

虚拟端口的传输过程

(为了方便表述端口的传输过程,此图省略了报文、数据报/段、数据包、数据帧、比特流和光/电信号,只显示了端口号和数据)

        服务器运行的Web服务端口号固定为80,计算机在启动进程时,计算机系统为进程临时分配的端口号为8888。计算机将源端口号8888和目的端口号80封装在请求数据中,当封装后的请求数据由计算机传送到服务器后,服务器根据80端口号将请求数据交给Web服务。服务器处理请求数据后产生响应数据,然后服务器将源端口80和目的端口8888封装在响应数据中,当封装后的响应数据由服务器传送到计算机后,计算机根据8888端口号将响应数据交给进程。若计算机和服务器之间的会话关闭后,则8888端口号将被释放。

4.3.物理端口

        物理端口又称为接口,是指硬件与硬件进行数据交流的出入口。接口分为物理接口和逻辑接口。

4.3.1.物理端口

        物理接口是真实存在的,看得见摸得着的,如下图画红圈所示。物理接口又分为管理接口和业务接口。

4.3.1.1.管理接口

        管理接口主要用于用户配置管理设备,也就是用户通过此类接口可以登录到设备,并进行配置和管理操作,不承担业务传输。如下图的Console接口Console接口后续会详细介绍)

4.3.1.2.业务接口

        业务接口是指需要承担业务传输的接口,如交换机或路由器传输发送者数据的接口,如下图。业务接口又分为LAN侧接口和WAN侧接口。

  • LAN侧接口

        LAN侧接口用于同局域网内设备相互传输数据的接口。LAN侧接口常见有千兆以太网接口(千兆以太网接口在后续使用时详细介绍)

  • WAN侧接口

        WAN侧接口用于不同局域网内设备相互传输数据的接口。WAN侧接口常见有GE Combo接口、Async接口、3G Cellular接口、LTE Cellular接口、VDSL接口、GE1/CT1接口、E1-F/T1-F接口和万兆以太网10GE接口(这些接口在后续使用时详细介绍)

4.3.2.逻辑接口

        逻辑接口不是真实存在的,是人为配置建立的接口。逻辑接口同业务接口一样需要承担业务传输。逻辑接口常见有InLoopBack接口、LoopBack接口、NULL接口、VLANIF接口、子接口、Tunnel接口、Bridge接口、虚拟以太网VE接口和虚拟接口模板VT接口(这些接口在后续使用时详细介绍)

5.IP地址概念

        IP地址就是在上述网络层提到的IP地址。IP地址用于给设备(如:计算机和路由器)分配地址,标识设备在网络中的位置,就像是我们的家庭住址一样,如果你要写信给一个人,你就要知道他的地址,这样邮递员才能把信送到。计算机发送信息给其他计算机,前者必须知道后者IP地址才不至于把信息送错。

5.1.IP地址的编址

        IP地址分为IPv4和IPv6两个版本,目前使用比较多的是IPv4版本,接下来先介绍IPv4版本的IP地址,后续再介绍IPv6版本的IP地址。

        家庭住址是用文字来表示,而IPv4版本的IP地址是用32个二进制数来表示,以8个二进制数为一组(即一个字节为一组),共4组,由.”分隔。在使用上常用点分十进制表示,每一组的取值范围都是0~255,如下图所示:

        IP地址分为网络部分和主机部分。网络部分称为网络号或网络ID,表示这个IP地址属于互联网上的哪个网络;主机部分称为主机号或主机ID,表示这个IP地址属于某个网络的哪台设备。将IP地址分为两部分的目的是为了转发数据时更方便的寻址,就像邮递员送信时先把同一个省的邮件放在一起,然后同省中同一个市的邮件在放在一起进行寄送一样。那最终的收信人可能是同一个市的但住址门牌号不同。网络号相当于省市,主机号相当于门牌号。路由器先看数据包中目的IP地址的网络号,把这个数据包送到这个网络后再根据该数据包中目的IP地址的主机号从该网络中找到目的设备。

        网络号是由IP地址的前面二进制数组成,主机号是由IP地址的后面二进制数组成,如下图所示:

5.2.IP地址分类

        根据网络号可容纳主机号数目的不同将IP地址分为五类,分别是A~E类。

5.2.1.A类IP地址

        A类IP地址的第一个二进制数是0。A类IP地址的前8位二进制数是网络号,剩下的24位二进制数是主机号。

  • 形式

  • 网络号范围及数量

        上图为A类IP地址的网络号范围,数量共27 (即128)个。

  • 主机号范围及数量

        上图是某个网络号的主机号范围。每个网络号有224  (即16777216)个主机号,上述得知有128个网络号,因此A类共有224 * 128 (即2147483648)个主机号。即A类的每个网络号有16777216个IP地址,总共有2147483648个IP地址。

  • 作用

        上述可知每个网络号下有16777216个IP地址,即每个网络号下能包含16777216台计算机,这个数量是很大的,适合大规模的区域,如广域网,用于政府机构或大企业。

5.2.2.B类IP地址

         B类IP地址的第一个二进制数是1,第二个二进制数是0。B类IP地址的前16位二进制数是网络号,剩下的16位二进制数是主机号。

  • 形式

  • 网络号范围及数量

        上图是B类IP地址的网络号范围,数量共214 (即16384)个。

  • 主机号范围及数量

        上图是某个网络号的主机号范围。每个网络号有216  (即65534)个主机号,上述得知有16384个网络号,因此B类共有216 * 16384 (即1073709056)个主机号。即B类的每个网络号有65534个IP地址,总共有1073709056个IP地址。

  • 作用

        从上述可知每个网络号下有65534个IP地址,即每个网络号下能包含65534台计算机,相较于A类每个网络号下可包含的计算机数量较少,适合中等规模的区域,如用于中型企业。

5.2.3.C类IP地址

        C类IP地址的第一个和第二个二进制数都是1,第三个二进制数是0。C类IP地址的前24位二进制数是网络号,剩下的8位二进制数是主机号。

  • 形式

  • 网络号范围及数量

        上图是C类IP地址的网络号范围,数量共221 (即2097152)个。

  • 主机号范围及数量

        上图是某个网络号的主机号范围。每个网络号有28  (即256)个主机号,上述得知有2097152个网络号,因此C类共有28 * 2097152 (即536870912)个主机号。即C类的每个网络号有256个IP地址,总共有536870912个IP地址。

  • 作用

        从上述可知每个网络号下最多有256个IP地址,即每个网络号下最多只能包含256台计算机,相较于A类和B类每个网络号下可包含的计算机数量较少,因此适合小规模的区域,如家庭或小型企业。

5.2.4.D类IP地址

        D类IP地址的第一个、第二个和第三个二进制数都是1,第四个二进制数是0。D类IP地址不区分网络号和主机号。

  • 形式

  • 范围及数量

        上图是D类IP地址的范围,数量共228个。

  • 作用

        D类IP地址留给Internet体系结构委员会(IAB)使用,用于多播地址多播地址后续详细介绍)。在后续的教程中不会用到DIP地址,不做过多介绍。

5.2.5.E类IP地址

       E类IP地址的第一个、第二个、第三个和第四个二进制数都是1。E类IP地址不区分网络号和主机号。

  • 形式

  • 范围及数量

        上图是E类IP地址的范围,数量共228个。

  • 作用

        E类IP地址保留为以后使用,通常用于研究之用。因此Internet上没有可用的E类地址。

5.3.特殊地址

5.3.1.私有地址和公有地址

        网络设计之初是为军方服务的,使用不了多少IP地址,但现在网络早早实现民用,所需要的IP地址已经超过IPv4版本所能支持的最大地址数232 (即4294967296)。为缓解IP地址的短缺问题,将A、B和C类分为公有IP地址和私有IP地址。

        公有IP地址需要向ISP申请,它可以直接访问互联网,不可重复使用。

        私有IP地址不需要申请,组织机构内可随意使用,在不同局域网内可重复使用。私有IP地址的重复使用是解决IP地址短缺的方法。私有IP地址不可直接访问互联网,需要使用网络地址转换技术实现私有IP地址访问互联网(网络地址转换技术后续介绍)

A、B和C类的私有/公有IP地址范围
分类私有IP地址范围公有IP地址范围
A类10.0.0.0 ~ 10.255.255.255剩下的A类IP地址都是公有IP地址
B类172.16.0.0 ~ 172.31.255.255剩下的B类IP地址都是公有IP地址
C类192.168.0.0 ~ 192.168.255.255剩下的C类IP地址都是公有IP地址

私有/公有IP地址示例

(路由器配置两个IP地址的原因后续介绍)

        从上图可知接入局域网A的公有IP地址是200.1.1.1,接入局域网B的公有IP地址是200.1.1.2。局域网A和局域网B使用的私有IP地址都是192.168.1.1、192.168.1.2和192.168.1.254。私有IP地址得到了重复使用,这样只需要使用5个IP地址;若是IP地址不区分共有IP地址和私有IP地址,则需要使用8个IP地址,从而私有IP地址的重复使用解决了IP地址的短缺问题。

5.3.2.环回地址

        在网络通信中并非都是一个DTE向另一个DTE发送消息,尤其程序员在开发程序时,需要将自己的电脑即做客户端又做服务器,因此需要自己的电脑接受自己发送的数据,这个功能是通过环回地址实现的。无论什么程序一旦使用环回地址发送请求数据,响应数据会立即返回。

        上述是环回地址的一个功能——称为网络软件测试,环回地址还有一个功能——称为本机网络测试。本机网络测试是指通过终端ping回环地址,若是能ping通,则表示本机网络运行正常,如下图所示:

        环回地址(简称loopback)是指A类IP地址中127.0.0.0 ~ 127.255.255.255范围内的IP地址。127.0.0.1地址是环回地址常用的环回地址,简称为localhost。

5.3.3.网络地址

        我们知道数据在传送过程中路由器先看数据包中目的IP地址的网络号,然后路由器根据网络号寻找路由表中记录的网络地址(路由表是指网络地址和接口对应表,后续介绍)确定数据从那个接口继续传送数据,就像信件送到驿站后,快递员先查看信件上所写地址的省份,然后快递员根据省份寻找省份-快递车对应表上登记的省份确定信件有那辆车继续配送。路由表相当于省份-快递车对应表,网络地址相当于省份。

网络地址是指每个网络号下第一个IP地址,示例如下:

  • 1.***.***.***网络号下的1.0.0.0;
  • 128.10.***.***网络号下的128.10.0.0;
  • 192.168.10.***网络号下的192.168.10.0。

网络地址的意义是代表网络号下所有IP地址,示例如下:

  • 1.***.***.***网络号下的1.0.0.0网络地址代表1.0.0.1 ~ 1.255.255.255范围的所有IP地址;
  • 128.10.***.***网络号下的128.10.0.0网络地址代表128.10.0.1 ~ 128.10.255.255范围的所有IP地址;
  • 192.168.10.***网络号下的192.168.10.0网络地址代表192.168.10.1 ~ 192.168.10.255范围的所有IP地址。

        0.0.0.0也是一个网络地址,它代表1.0.0.1 ~ 255.255.255.255范围下的全部IP地址。

        从上述可知网络地址代表着一个IP地址范围,因此网络地址不可分配给设备使用。

5.3.4.广播地址

广播地址是指每个网络号下最后一个IP地址,示例如下:

  • 1.***.***.***网络号下的1.255.255.255;
  • 128.10.***.***网络号下的128.10.255.255;
  • 192.168.10.***网络号下的192.168.10.255。

广播地址用于向该网络号下的所有IP地址发送消息(广播后续介绍),示例如下:

  • 1.***.***.***网络号下的1.255.255.255广播地址向1.0.0.1 ~ 1.255.255.254范围内的所有IP地址广播消息;
  • 128.10.***.***网络号下的128.10.255.255广播地址向128.10.0.1 ~ 128.10.255.254范围内的所有IP地址广播消息;
  • 192.168.10.***网络号下的192.168.10.255广播地址向192.168.10.1 ~ 192.168.10.254范围内的所有IP地址广播消息。

        255.255.255.255也是一个广播地址,它向1.0.0.1 ~ 255.255.255.254范围内的全部IP地址广播消息。

        广播地址也是不可分配给设备使用。

6.网段概念

网段是指具有相同网络号的一组IP地址的集合,网段常用网络地址表示,示例如下:

  • 1.***.***.***网络号下的1.0.0.1 ~ 1.255.255.255范围内的所有IP地址是一个网段,由1.0.0.0网络地址表示;
  • 128.10.***.***网络号下的128.10.0.1 ~ 128.10.255.254范围内的所有IP地址是一个网段,由128.10.0.0网络地址表示;
  • 192.168.10.***网络号下的192.168.10.1 ~ 192.168.10.254范围内的所有IP地址是一个网段,由192.168.10.0网络地址表示。

        不同网段间存在物理隔离,即不同网段间的DTE不能直接进行通信,相同网段间的DTE可以直接进行通信。物理隔离主要用来解决网络安全问题,防止被攻击。可以通过网络设备(如路由器)配置路由表和路由规则实现不同网段间的DTE进行通信(后续介绍)

7.子网掩码

        子网掩码是配合IP地址使用的,用于标识IP地址那些二进制数是网络号,那些二进制数是主机号。

        子网掩码由32个连续1和连续0的二进制数组成,以8个二进制数为一组(即一个字节为一组),共4组,由.”分隔,连续的1标识网络号,连续的0标识主机号。在形式上用点分十进制表示或IP地址后面跟着“/N”(N是指1的个数)。

A、B和C类IP地址的子网掩码
IP分类描述
A类

例如:A类1.10.10.10 IP地址的点分十进制形式的子网掩码是255.0.0.0,/N形式的子网掩码是1.10.10.10/8。

B类

例如:B类128.10.10.10 IP地址的点分十进制形式的子网掩码是255. 255.0.0,/N形式的子网掩码是128.10.10.10/16。

C类

例如:C类192.168.10.10 IP地址的点分十进制形式的子网掩码是255. 255.255.0,/N形式的子网掩码是192.168.10.10/24。

8.变长子网掩码

        上图是一个企业局域网部署情况。为了保证数据安全通过网段使财务部、研发部和销售部的网络相互隔离不能直接通信。从上图可以看到财务部只使用了192.168.1.***网络号下的3个IP地址,有251个IP地址未使用;研发部只使用了192.168.2.***网络号下的4个IP地址,有250个IP地址未使用;销售部只使用了192.168.3.***网络号下的3个IP地址,有251个IP地址未使用,导致了很多IP地址未被使用而浪费。

        采用变长子网掩码技术可解决上述问题。变长子网掩码(简称VLSM)是在A、B或C类IP地址的子网掩码基础上,将子网掩码相应的0二进制数改为1,从而使IP地址相应的主机号二进制数变为网络号的二进制数(如下图所示)。网络号二进制数的增加和主机号二进制数的减少可以划分更多个网段和使每个网段有更少的IP地址,从而解决了上述IP地址未被使用而浪费的问题。

        通过变长子网掩码技术在A、B或C类基础上划分的网段可被称为子网。

        如上图所示,变长后IP地址的网络号有223个,每个网络号下主机号有26(即64)个。由于网络号向主机号借了2位,在原来C类网络号下多出了22(即4)个子网,如下图所示

从上图可得知每个子网IP地址情况,如下表格
子网说明
子网1

IP地址的二进制范围:110*****.********.********.00000000至110*****.********.********.00111111

IP地址的点分十进制范围:***.***.***.0 至 ***.***.***.63

网络地址:***.***.***.0

广播地址:***.***.***.63
子网2

IP地址的二进制范围:110*****.********.********.01000000至110*****.********.********.01111111

IP地址的点分十进制范围:***.***.***.64 至 ***.***.***.127

网络地址:***.***.***.64

广播地址:***.***.***.127
子网3

IP地址的二进制范围:110*****.********.********.10000000至110*****.********.********.10111111

IP地址的点分十进制范围:***.***.***.128 至 ***.***.***.191

网络地址:***.***.***.128

广播地址:***.***.***.191
子网4

IP地址的二进制范围:110*****.********.********.11000000至110*****.********.********.11111111

IP地址的点分十进制范围:***.***.***.192 至 ***.***.***.255

网络地址:***.***.***.192

广播地址:***.***.***.255

企业局域网部署情况可改为如下图

        特别说明:对于子网掩码为32位的IP地址,由于整个IP地址都是网路号,没有主机号,因此这个IP地址同时是普通IP地址、网络地址和广播地址。如192.168.10.10/32的IP地址,其普通IP地址、网络地址和广播地址都是192.168.10.10。

9.MAC地址概念

        MAC地址就是在上述数据链路层提到的MAC地址。MAC地址又称物理地址,是制造商生产网卡或生产需要MAC地址设备时,给网卡或需要MAC地址设备烧录的唯一标识,一般不可更改,相当于网卡或需要MAC地址设备的身份证号,用于标识在相同网段中的设备位置。

        MAC地址是用48个二进制数来表示,以8个二进制数为一组(即一个字节为一组),共6组,由-”分隔。在使用上常用十六进制表示。如下图所示:

        MAC地址分为组织唯一标识符和网络接口标识符两部分,组织唯一标识符由电气与电子工程师协会(简称IEEE)统一分配给制造商,由MAC地址的前24个二进制数标识;网络接口标识符是制造商分配给每个网卡或需要MAC地址设备的唯一数值,由制造商自行分配,由MAC地址的前24个二进制数标识。如下图所示:

9.1.广播MAC地址

        广播MAC地址用于向同网段内的所有DTE同时发送消息(广播后续介绍)。广播MAC地址是FF-FF-FF-FF-FF-FF。

9.2.MAC地址和IP地址的区别

        地址

区别

MAC地址IP地址
分配方式由制造商烧录由网络管理员分配
参考模型用于第二层数据链路层应用于第三层网络层
功能在网络中标识一个设备,并在不同网段间路由数据包。也可在相同网段中标识一个设备在相同网段中标识一个设备,并在设备间传递数据包
MAC地址用于在相同网段中标识一个设备,不具有路由功能。IP地址虽然也可以用于在相同网段中标识一个设备,但IP地址使得在路由和转发消息时需要额外的处理。因此在相同网段中,使用MAC地址可以更快地查找和匹配设备,以使数据转发更快。

10.网络通信方式

        网络通信分为三种方式:单播、广播和组播

10.1.单播

        单播是指一对一,即一个DTE只向一个DTE发送消息。如上图,计算机A只向计算机E发送消息。发送者在网络层封装的数据包中目的地址是目的DTE的IP地址,如计算机E的IP地址192.168.2.2。

10.2.组播

        组播又称多播,是指一对多,即一个DTE同时向多个DTE发送消息。如上图,计算机A向计算机C、计算机D和计算机E同时发送消息。发送者在网络层封装的数据包中目的地址是D类IP地址。

10.3.广播

        组播是指一对全,即一个DTE同时向全部DTE发送消息。根据广播的范围,广播又分为二层广播和三层广播。三层广播有分为子网广播和全网广播。

  • 二层广播

        二层广播是指只向与发送者同网段的所有DTE同时发送消息。如上图,计算机A只向计算机B和计算机C同时发送消息。发送者在数据链路层封装的数据帧中目的MAC地址是FF-FF-FF-FF-FF-FF。

  • 三层广播——子网广播

        子网广播是指可以向与发送者不同网段的所有DTE同时发送消息。如上图,计算机A可以向计算机D和计算机E同时发送消息。发送者在网络层封装的数据包中目的地址是目的网段的广播地址,如192.168.2.255。

  • 三层广播——全网广播

        全网广播是指发送者向全网段的所有DTE同时发送消息。如上图,计算机A可以向计计算机B、计算机C、算机D和计算机E同时发送消息。发送者在网络层封装的数据包中目的地址是255.255.255.255。

11.广播域概念

        广播域是基于二层广播,是指网络中所有能接收同样广播消息的设备集合,这些设备位于相同的网段中。如“网络通信方式”图片中的计算机A、计算机B、计算机C、交换机B和路由器属于同一个广播域;路由器、交换机B、计算机D和计算机E属于同一个广播域。

12.网关概念

        在“网段概念”中说到网段与网段间是不能直接通信的,要想实现网段间通信需要使用网关。网关可以简单的理解为不同网段间相互交流数据的出入口。

        网关是接收并处理源网段发送的数据包并转发到目的网段的设备统称,路由器属于网关。

13.特别说明

        网络通信的目的在于完成数据的传递,而不关心数据的产生和处理,以及不关心通信设备的特性。网络通信更像物流快递的运输一样,物流快递关心选择什么交通方式和选择什么道路等来实现运输,而不关心运输的是什么产品和对产品怎样打包,因为运输的产品和怎样打包是发货人的事情,也不关心运输车辆的是怎样生产的,因为运输车辆是车辆生产商的事情。

        数据的传递是在传输层、网络层和数据链路层实现的,是网络工程师关心的;数据的生产和处理是在应用层实现的,是程序员关心的;通信设备的特性是在物理层实现的,是设备工程师关心的,因此网络通信的学习要点是在传输层、网络层和数据链路层,后续的网络通信教程也是围绕传输层、网络层和数据链路层进行讲解。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值