网络协议初识、传输流程

    在学习网络之前,我们先来了解一下计算机网络的背景。

1、计算机网络背景

     首先我们要提一个问题,网络是什么?接下来,我们就来谈谈网络。

     我们知道,我们的电脑硬件之间都是由线连接的,而正是由这些线和硬件软件构成电脑,现在我们来举个例子,当我们把电脑拆开,然后把每个硬件都分在不同的区域,但是之间依旧用先连接,这样还是一台电脑,不过就是硬件之间的线变得长了一点而已。这就叫做网络。

(1)网络发展

 先来了解几个模式:

独立模式:计算机之间相互独立,串行运行。

网络互联:多台计算机连接在一起,完成数据共享。

局域网LAN:计算机数量更多了,通过交换机和路由器连接在一起。

                通过交换机连接起来的主机构成了局域网;路由器用来连接外网;多个交换机连接的局域网由

                路由器连接。

广域网WAN:将远隔千里的计算机都连在一起。

所谓“局域网”和“广域网”只是一个相对的概念。

(2)认识协议

      计算机之间的传输媒介是光信号和电信号。通过“频率”和“强弱”来表示0和1这样的信息,要想传递各种不同的信息,就需要约定好双方的数据格式。

      协议是什么呢?举个栗子:就比如说,你跟同学约好五一一起去爬华山,约好在某一个汽车站见面,然后到了五一那天你们各自从各自的学校出发,向着你们约定好的地方出发。那么这个五一在某个汽车站见面就相当于一个协议,不过是你跟你同学间的协议。

      那么思考一个问题:只要通信的两台主机,约定好协议就可以了吗?

       答案是不是,处理约定好协议,还需要有一套大家都遵守的标准。

方言栗子:

计算机生产厂商有很多;

计算机操作系统也有很多;

计算机网络硬件设备还是有很多;

如何让这些不同厂商之间生产的计算机能够互相顺畅的通信?就需要有人站出来,约定一个共同的标准,大家都来遵守,这就是网络协议。

2、网络协议初识

(1)协议分层

       当我们在打电话的时候,你们是直接跟对方沟通吗?不,不是的,就打电话这个例子,我们就可以分为两层,一层是通信设备层,一层是语言层。你跟朋友打电话时,首先是通讯设备层接收到你所说的话,然后传到对方的设备层,然后再从设备层接收到的数据再转到语言层,然后对方再接收到你所说的话语。

        在这个例子中,我们的协议只有两层,但是实际的网络通信会更加复杂,需要分更多的层次。分层最大的好处在于“封装”

(2)OSI七层模型

  •  OSI(Open System Interconnection ,开防系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范;
  • 把网络从逻辑上分为了7层,每一层都有相关、相对应的物理设备比如路由器、交换机;
  • OSI七层模型是一种框架性的设计方法,其最重要功能就是帮助不同类型的主机实现数据传输;
  • 它的最大优点是将服务、接口和协议这三个概念明确的区分开来,概念清楚,理论也比较完整。通过七个层次化的结构模型使不同的系统、不同的网络之间实现可靠的通讯;
  • 但是,它既复杂又不实用,所以我们按照TCP、IP四层模型来讲解。


(3)TCP/IP五层(或四层)模型

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。

TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层锁提供的网络来完成自己的需求。

物理层:负责光/电信号的传递方式。比如现在以太网通用的网线(双绞线)、早期以太网采用的同轴电缆(现在主要用于有线电视)、光纤,现在的WiFi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(将信号放大)工作在物理层。

数据链路层:负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就重发)、数据差错校验等工作。有以太网、令牌环网、无线LAN等标准。交换机工作在数据链路层。

网络层:(冲突检测/冲突算法,设备驱动)负责地址管理和路由选择。例如在IP协议中,通过IP地址来表示一台主机,并通过路由表的方式来规划处两台主机之间的数据传输的线路(路由)。路由器工作在网络层

传输层:负责两台主机之间的数据传输。例如传输控制协议(TCP),能够确保数据可靠的从源主机发送到目标主机。

应用层:负责应用程序间沟通。如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议等。我们的网络编程主要是针对应用层


物理层我们考虑的比较少,因此很多时候也可以称为TCP/IP 四层模型。

一般而言:

  • 对于一台主机,他的操作系统内核实现了从传输层到物理层的内容。
  • 对于一台路由器,它实现了从网络层到物理层。
  • 对于一台交换机,它实现了从数据链路层到物理层。
  • 对于集线器,它值实现了物理层。

但是并不绝对,很多交换机也实现了网络层的转发;很多路由器也实现了部分传输层的内容(比如端口转发)。

3、网络传输基本流程

(1)网络传输流程图

同一网段(同一局域网)内的两台主机进行文件传输。


两台计算机通过TCP/IP协议通讯的过程如下:


跨网段的主机的文件传输。数据从一台计算机到另一台计算机的过程中要经过一个或多个路由器。


  IP协议是整个Internet的基础。

(2)数据包分装和分用

  • 不同的协议层对数据包有不同的称谓。在传输层叫做段,在网络层叫做数据报,在链路层叫做帧。
  • 应用层数据报通过协议栈发到网络上时,每层协议都要加上一个数据首部,称为封装。
  • 首部信息中包含了一些类似于首部有多长,载荷有多长,上层协议是什么等信息。
  • 数据封装成帧后发送到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中的“上层协议字段”将数据交。

数据分用的过程:








猜你喜欢

转载自blog.csdn.net/weixin_38175489/article/details/80067598
今日推荐