> 文档中心 > 网络原理初识

网络原理初识

目录

  • 网络发展史
  • 网络类型
  • 网络通信基础
  • 总结

网络发展史

计算机诞生以来,计算机网络的发展大致可以被分成7个阶段:

  1. 批处理时代:事先将用户程序和数据装入卡带或磁带,并由专业的人员操控计算机按照一定的顺序读取卡带.批处理时代的计算机主要用于大规模的计算.
  2. 分时系统(TSS):一台主机和多个终端建立连接.用户可以在终端通过程序与终端实现网络通信,实现感觉上的"一人一机".分时系统具有多路性,独占性,交互性,及时性.
  3. 计算机之间的通信:计算机之间通过通信线路建立连接,在此之前,计算机只能实现和终端之间的通信.向把一台计算机内的数据传递给另一台计算机需要很多繁琐的步骤去处理.
  4. 计算机网络的产生:计算机之间的相互连接更加多元化.用户可以通过窗口系统在一台终端上实现多种功能.
  5. 互联网的普及:随着人们对计算机通信之间的要求越来越高.在搭建网络时更倾向于用轻量级设备去代替大型主机,并且网络的搭建由"单供应商连接"转换成了"多供应商连接(各种软硬件供应商的产品组合构建起来的网络)".
  6. 以互联网为中心的时代:从"单纯的建立连接"转变成了"安全建立连接"
  7. TCP/IP的网络时代:在此之前胡往事是由多个独立发展的网络通信技术融合而成,TCP/IP使其完成了统一.

网络类型

  1. 局域网:局域网就是在某个较小的区域(例如一个公司,一个学校)内通过各种组网设备让各个计算机间的网络建立连接.
    常见的组网设备有交换机和路由器.交换机将同属于一个网段内的多台设备连接起来构成局域网.路由器含有两个网口,其中LAN口将同属于一个网段内的多台设备连接起来构成局域网;WAN口则负责与另外一个局域网的路由器的WAN口相连接从而达到局域网间网络通信的目的.
  2. 广域网:通过路由器将多个局域网连接起来,在物理上组成范围更大的网络.

网络通信基础

  1. IP地址:用于唯一标识一台主机.IP地址是一个32位的二进制数,通常被分割为4个"8位二进制数".如"01101110.11000110.00000111.10100010",通常用"点分十进制"的方式表示,即a.b.c.d的形式(a-d都是0-255之间的十进制整数).一个常见的IP地址:127.0.0.1(环回IP:表示自己使用的主机).
  2. 端口号:利用IP地址我们可以识别出通信的目标主机.但无法区分出是目标主机上具体哪一个程序在进行通信.端口号则用于唯一定位主机中进行通信的进程.端口号是一个16位的二进制数.
  3. 协议:通过IP地址和端口号我们可以定位目标主机中唯一的进程.但网络通信是基于二进制进行数据传输的,数据在发送端和输出端呈现的格式无法被统一,协议则负责规范双方的数据格式. 协议是计算机与计算机之间在进行网络通信时事先达成的一种规定.
    协议分层:一个完整的协议是非常庞大的,如果不作处理在使用时是很麻烦的.因此一个好的做法就是讲一个大的协议划分成多个小的协议.而每个小的协议则独属于一层.协议分层可以使每一层和每一层之间能够独立完成自己层内的功能.从而使网络通信的效率更高;同时每一层内的协议是有很多种.由于分层使得每一层和每一层之间的耦合性降低,也就是说当某一层中的协议替换成该层众多协议中的另外一个时并不会影响其它层协议的运行.
  4. OSI七层模型(Open System Interconnection):七层分别为:应用层,表示层,对话层,传输层,网络层,数据链路层,物理层.OSI七层模型是一种框架性的设计方法,是协议的一个逻辑上的定义和规范,OSI七层模型并不没有落地实现,它只是所有协议在分层时的一种参考.实际组建网络是更常用的是TCP/IP协议族实现.
  5. TCP/IP协议族:与OSI七层模型不一样,TCP/IP协议族只有五层,自上至下分别是应用层,传输层,网络层,数据链路层,物理层.
    1. 硬件(物理层):负责物理层面上的数据传输,如以太网,电话线路等等.硬件之间能够相互通信是TCP/IP协议存在的前提.

    2. 网络接口层(数据链路层):利用以太网中的数据链路层进行通信(相邻节点).相当于是NIC(网卡)的"驱动程序".驱动程序是操作系统和硬件之间起桥梁作用的软件.计算机的一些外围附加设备和扩展卡突进需要物理硬件,还需要有相应驱动程序的支持.(常见的驱动程序一般在电脑上已经内置好了,所以可以即拔即插)

    3. 互联网层(网络层):使用IP协议,IP协议基于IP地址转发分包数据.IP协议的作用是将分组数据包发送到目的主机(点对点).(忽略传输过程中网络结构的细节,只关注分组数据包发送到目的主机)

      1. IP:跨越网络传送数据包,使整个互联网都能收到数据的协议.通过IP地址识作为主机的标识.IP协议不具有重发机制,即使分组数据包未能达到对端主机也不会重发,因此,属于非可靠性传输协议.
      2. ICMP:IP数据包在发送途中反生异常导致无法传送到目的地址,需要给发送端发送一个发生异常的通知.ICMP有时也用来诊断网络健康的健康状况.
      3. ARP:从分组数据包中的IP地址里解析出MAC地址的协议.
    4. 传输层:最主要的功能是让应用程序之间(端对端)实现通信.通过端口号来分清计算机中程序和程序之间到底谁和谁在通信

      1. TCP:一种面向有连接的传输层协议.可以在传输过程中判断数据是否完整的发送到了对方,比较可靠.
      2. UDP:一种面向无连接的传输层协议.不可靠.检查数据包的完整性这件事需要在应用程序中实现.
    5. 应用层(会话层以上的分层):主要体现的是用户的需求.浏览器与服务端之间通信所用的协议是HTTP,所传输的数据格式主要是HTML,HTTP属于OSI模型中应用层上的协议,HTML属于表示层上的协议.
      应用层常见的协议:

      1. 电子邮件的协议:SMTP(Simple Mail Tranfer Protocol)
      2. 文件传输的协议:FTP(File Tranfer Protocol)
      3. 远程登录的协议:TELNET,SSH(Secure SHell)
      4. 网络管理的协议:SNMP(Simple Network Management Protocol), MIB(Management Information Base)

如果把将一台计算机内的数据传输给另一个计算机这整个过程比作是送快递的话,则从发货点到用户住址间的各条公路,铁路等实际存在的路线就是物理层;负责送快递的快递小哥就相当于是数据链路层;商家负责规划从发货点到用户住址附近的快递接收点的一条"最优路线""(最优取决于用户的需求以及商家自身成本的考虑)相当于网络层;商家打包快递包裹送至发货点和用户确认收到快递则相当于是传输层;用户购买快递并下订单这一过程相当于是应用层.

总结

本篇文章主要介绍了网络通信基础中的一些相关名词,如IP地址,端口号,协议,OSI七层模型,TCP/IP五层模型以及TCP/IP中各层协议.