网络原理——基础概念(端口号、分层、封装和复用)、各层协议(TCP/IP协议)(详细图解)

目录

一、基础概念 

1、 IP地址

(1)点分十进制

2、端口号

3、协议

(1)协议的 组成部分

(2) 协议的 作用

4、五元组

5、协议分层

(1)分层的 好处

(2)OSI 七层模型

(3)TCP/IP 五层模型

6、封装和分用

 (1)封装

 (2)分用


一、基础概念 

1、 IP地址

   IP地址是指互联网协议地址(网际协议地址)。是 IP 协议提供的一种同一的地址格式。描述了网络上一个主机的位置(收货地址)

   IP地址本质上是一个 32 位的整数,但是由于 32位的整数不方便人们来读和记忆,所以采用了 “点分十进制”。

  (这部分只简单介绍,是为了更好的理解后面的内容,详细的 IP地址 的内容在 IP协议部分)

(1)点分十进制

   将 32位的 IP地址(4个字节),按照每个字节,分成四个部分,这四个部分中间用 . 隔开。

例如: 123.139.170.255

   因为一个字节8个比特位,因此每一部分的取值范围:0~255。

注意:127.0.0.1 是一个特殊的IP地址,叫 环回IP,表示自己这个主机。

2、端口号

   IP地址表名了哪个主机,但是主机上还有很多进程,因此要通过端口号来确定是哪个进程。

   端口号描述了一个主机上的某个应用程序(收件人电话)。

   端口号本质上是一个 2 个字节(16位)的无符号整数,范围是 0 ~ 65535 。

   使用时,两个进程不能绑定同一个端口号,但是一个进程可以绑定多个端口号。(当服务器程序启动时,就需要绑定一个端口号,以便客户端程序来访问)

例如: 3306:mysql 默认的端口号

3、协议

   协议是 网络协议 的简称,本质上就是 “约定”(发出来的数据是啥样的格式,接收方按照对应的格式来进行解析)。要想进行有效的通信,就需要明确通信协议。

   协议 最后再网络通信中,表现为网络上传输的数据报的格式

(1)协议的 组成部分

① 语法:数据和控制信息的 结构 或 格式 。(打电话:约定都说普通话)

② 语义:需要发出某种控制信息,完成某种动作 以及 做出某种响应。(双方怎么做,打电话我问:在吗,对方回答:在)

③ 时序:事件实现顺序的详细说明。(打电话先讲什么后讲什么)

(2) 协议的 作用

   网络通信的时候,本质上传输的是 光信号 和 电信号,通过光信号 的 频率(高频率 和 低频率)电信号 的 电平(高电平 和 低电平)来表示 0 和 1 。

   这些 0 和 1 组合起来到底是什么意思,协议就可以对这些进行规定了。

4、五元组

   在 TCP/IP协议(很重要的协议)中,用五元组来表示一个网络通信。

  • 源IP :标识源主机。
  • 源端口号 :标识源主机中进行这次网络通信中 发送数据 的 进程。
  • 目的IP :标识目的主机。
  • 目的端口号 :标识目的主机中进行这次网络通信中 接收数据 的 进程。
  • 协议号 :标识发送数据进程 和 接收数据进程 双方约定的 数据格式 。

   网络通信的过程,类似发快递的过程:

5、协议分层

   对于网络协议(协议)来说,往往分成几个层次进行定义。

   如果网络通信只通过一整个协议来进行规定,那么里面的细节就会很多,会很庞大复杂。因此更好的方法就是,把一个大的复杂的协议,拆分成多个小的更简单的协议,每个协议仅仅只负责它那部分的工作。(类似于将一个复杂程序代码,分成很多小的部分代码,让他们实现其各自的功能,最后再进行汇总)

(1)分层的 好处

① 每层协议不需要理解其他层的协议

   打电话的人,不需要理解电话的工作原理,就可以完成打电话的操作。

   制造电话的人,不需要考虑打电话的人说英语还是汉语。

② 可以把对应层的协议换成其他协议

   打电话的人,可以使用有线电话,也可以使用无线电话。可以使用英语,也可以使用汉语

(2)OSI 七层模型

   OSI 七层模型(Open System Interconnection 开放系统互连)是指 把网络从逻辑上分了 7 层。

    OSI 七层模型 虽然实现了分层,但还是比较复杂,并且不实用。因此在实际组建网络时,使用的是 TCP/IP 五层 模型。

(3)TCP/IP 五层模型

   TCP/IP 是一组协议的代名词,它包括了很多协议(有了TCP/IP协议栈)。它采用了 五层结构。

  • 应用层:负责说明传递的这个数据是干嘛的。
  • 传输层:负责 端 到 端 之间的通信,即 起点 -> 终点。(进程 -> 进程)
  • 网络层:负责 点 到 点 之间的通信,即路线规划。(全局)
  • 数据链路层:负责两个相邻的设备之间的通信。(相邻:同一根网线)(局部)
  • 物理层:负责网络通信的硬件设备。网线、网卡......针对硬件设备进行的约定。

 类似:

  • 应用层:买的喷壶,这个喷壶是用来浇花?还是消毒?
  • 传输层:我负责下单,商家负责发货,我们都只关心货到了没有。
  • 网络层:快递公司选择路线:①广州 -> 西安 ; ②广州 -> 郑州 -> 西安。
  • 数据链路层:若网络层选择了 广州 -> 郑州 -> 西安,这里就只负责  广州 -> 郑州 这一小部分。
  • 物理层:运输用 飞机?火车?火车?

6、封装和分用

   封装和分用是在网络传输中对数据的操作。因为分层的原因,所以每层只看得懂它负责的数据,而我们在实际传输时(在网线中),是整个数据进行传输的。因此要用到封装(快递打包)和分用(快递拆包)。

 (1)封装

   主要用在发送数据的过程中。

   假设现在要 QQ发送数据 (使用 TCP/IP 五层模型):   

   上图中,在主机上发送数据,就是从应用层开始,逐层进行封装的过程。

 (2)分用

   主要用在接收数据的过程中。

   以另一台主机接收 QQ 消息 为例:

 注意:在整个网络通信的过程中,还要经过交换机和路由器,经过时,也需要进行封装和分用。

唯一的区别是:

  • 交换机有两层:物理层、数据链路层
  • 路由器有三层:物理层、数据链路层、网络层

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值