TCP/IP.part1.网络基础知识

前言

TCP/IP协议栈是通信网络中的重要组成部分。最近在阅读《图解TCP/IP》这本书,其对TCP/IP的讲解比较通俗易懂,且涵盖了大部分重要的概念。本文主要是对其中的内容进行总结并附加自己的看法。


第一部分包含:

  • 计算机网络的发展
  • 协议的概念及意义
  • 协议分层与OSI参考模型
  • 传输方式的分类
  • 网络的构成要素
  • 现代网络实态

一、计算机网络的发展

计算机网络的发展经历了以下几个阶段:

  1. 批处理
    将程序装入卡带,将卡带装入读卡器并由读卡器读入输入程序给计算机,计算机处理后打印结果。
  2. 分时系统
    多个终端(一些输入输出装备)与同一个计算机连接,采用CPU时间片轮转机制实现多个程序同时运行。促进了BASIC语言的发展。
  3. 计算机之间的通信
    不在使用外部存储介质转移数据。
  4. 计算机网络的产生
    各式各样的计算机相互连接。
  5. 互联网的普及
    连接异构性计算机的通信网络。使得拥有不同硬件、软件(包括操作系统)的计算机能够实现通信。后续更是追求从“单纯建立连接”到“安全建立连接”。

二、协议的概念及意义

协议就是计算机与计算机之间通过网络实现通信时实现达成的一种“约定”。这种“约定”使那些不同厂商的设备、不同的CPU及操作系统组成的计算机之间能够实现通信。每一种协议都明确界定了它的行为规范。
我们可以把协议看做人们平常说话所用的语言。语言不通无法沟通,协议一致通信自如。

1、分组交换协议

将大数据分割为一个个叫做包的较小单位进行传输。每个包的报文首部是体现协议“约定”的部分,分组的发送方和接收方有必要对报文首部和内容保持一致的定义和解释。

2、协议的标准化

不同厂商可能会使用不同的协议,并不有利于异构计算机之间的通信。协议标准化可以带来更多的灵活性。ISO制定了一套国际标准OSI。

三、协议分层与OSI参考模型

OSI将协议分层。每一层为上层提供服务,并接受下一层提供的服务。上下层之间进行交互时遵守的约定叫做“接口”,同一层之间的交互所遵守的约定叫做“协议”。分层可以将每个分层独立使用,即使某分层发生变化,不会波及整个系统。通信两端需要保持同一层的协议一致,且提供的接口要满足上层的需求。

1、通过对话理解分层

A与B通过电话通话,表面是A与B用汉语对话,语言层采用了汉语这个协议。但A与B的通话是由通信设备层保证的,其为上层提供了“让对方清楚听到自己说话的内容”这个服务,至于说话的内容对方是否听懂其并不关注。同时这一层协议可以用无线电,也可以用电话,但两端一定要保持一致。

2、OSI参考模型

这个模型并不是具体的协议(OSI协议与OSI参考模型)。其包含七层,发送方由上之下分层传输数据,接收端从下至上分层传输数据。
以电子邮件为例:

  1. 应用层
    将邮件内容,发件人,目标地址告诉对方。
  2. 表示层
    邮件客户端不同,我们编辑的文字格式可能不同,对方可能识别不出来。表示层的作用在于将特有的数据格式转化为统一的网络数据格式。为上层提供服务。
  3. 会话层
    决定采用何种连接方式(连接时机)。建一次连接传输所有邮件还是建一次只传一封邮件?
  4. 传输层
    在两个主机之间创建逻辑上的通信连接。如果数据没有到达,会负责进行重发。其为上层提供的服务是保证比特流能全送到。类比说活,这一层是保证听清楚每句话,至于每句话内容的处理,交给上层。
  5. 网络层
    为上层提供的服务:面对众多数据链路,保证一条合适的网络路径。类比说话,网络层保证找到你要对话的人,给出一个问路的顺序。后面如何对话,交给上层。这一层关注的是IP地址。
  6. 数据链路层
    保证在通过(同一个)传输介质互联(直连)的设备之间进行可靠通信。关注MAC地址。
    网络层关心传输的最起点和最终点,数据链路层关心两个直连设备的通信。类比说话,网络层保证找到你要对话的人,数据链路层保证每两个人是可以对话的,才能一路问到最后的人。
  7. 物理层
    保证物理传输能够完成。(采样、0、1的转化,用电压、光传输等等)。

四、传输方式的分类

1、面向有连接的和面向无连接的

  1. 面向有连接的
    类似打电话,发送数据前需要在收发主机之间连接一条通信线路。连接不建立,数据不发送。
  2. 面向无连接的
    类似寄包裹,发微信,发邮件,不需确认对端,即使对端不存在或无法接受数据,也可以发数据,想发就发。

有/无连接只针对某一层,网络层用IP协议,就必然是无连接的,但在传输层用TCP协议,就是有连接的。每层之间都可能不一样。

2、电路交换与分组交换

电路交换类似电话网。只要连接建立,即使链路空闲,只要连接不断,其他用户依然无法使用链路,利用率低。分组交换是所有用户共享链路,只要链路空闲,想发就发。分组数据被路由器缓存下来,以先进先出的顺序逐一发送出去。提高利用率。

3、根据接收端数量分类

  • 单播
  • 广播
  • 多播
  • 任播

五、网络的构成要素

1、通信媒介

每个数据链路名可以包含不同的通信媒介。带宽决定传输速率(车道数),吞吐量衡量带宽、网络拥堵等等的标准。

2、网卡(NIC)

也叫网络适配器,有内置,有外置。

3、中继器

把衰减的信号还原,从物理层面上延长网络。
集线器可以看做是多口中继器

4、网桥/二层交换机

根据数据帧的内容转发数据给相邻的其他网络,构成一个更大的局域网。只用于连接相同或相似的链路。其只是在同一局域网把网络延长,让他们觉得他们是互联的,这是数据链路层要处理的问题,因此是第二层面上对网络的延长。关注MAC地址。
交换集线器。

5、路由器/三层交换机

连接网络与网络的设备。不同局域网的连接,可以隔离广播。路由器比三层交换机的优势在于其可以连接任意两个数据链路。如WAN和LAN。

6、4~7层交换机

负载均衡器

7、网关

进行协议的转换。在两个不能直接通信的协议之间进行翻译,最终实现两者之间的通信。

六、现代网络实态

把网络比作高速公路:
个人机传输数据到边缘网络,类似高速公路的入口,其由多功能路由器和3层交换机组成。交换机接收到数据后根据不同业务分配到主干网。即进入高速公路路传输。最后汇集到控制中心的服务器。
一些信息发布者,类似bilibili或者阿里云,我们把自己想要展示的数据传给他们的数据中心,数据中心往往与主干网直接连接,大大减少了交换过程。传输更快速。
“云”技术,即利用虚拟化技术(将硬件虚拟化,并用软件控制),根据使用者的情况动态调整必要资源(如CPU、硬盘、内存)的机制。

您的支持是我创造源源不断地动力