网络原理 - 详解

一,网络通信基础

1.1 IP地址

描述一个设备在网络上的地址,一般使用4个0~255之间的数字,并且使用三给 . 进行分割,如:127.0.0.0

1.2 端口号

端口号是一个2个字节的整数,用来区分一个主机上的不同应用程序,不同的程序可以绑定不同的端口号,在同一个主机上,一个端口号只能绑定一个应用程序,但一个应用程序可以绑定多个端口号。(端口号:0~65535,1~1023专门给系统使用)

1.3 网络协议

网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组规则。如怎么样建立连接、怎么样互相识别等。

为什么会有协议?计算机的传递形式是光信号和电信号,通过频率和强弱来表示0和1这样的信息,要想传递不同的数据类型,就要约定双方的数据格式,就好比摩斯密码,我把信息传递给你,你也需要按照约定好的方式去翻译。

1.4 五元组

在 TCP/IP 协议中,用五元组来表示一个网络通信:

  1. 源IP:标识源主机
  2. 源端口号:标识源主机中该次通信发送数据的进程
  3. 目的IP:标识目的主机
  4. 目的端口号:标识目的主机中该次通信接收数据的进程
  5. 协议号:标识发送进程和接收进程双方约定的数据格式

 1.5 协议分层

类似于敲代码,当代码越写越复杂时,往往将代码拆分成多个部分,这样可以更好理解代码。网络通信也是一样,当遇到复杂的场景时,往往需要大量的协议,如果使用一个协议来解决所有问题,那么协议就会非常庞大,不利于我们去理解和学习。

所以我们可以把大的协议拆分成多个小的协议,让每个小的协议负责一小块事务,这样更加利于理解学习。但是实际上网络通信会更加的复杂,拆分出的协议也就更多,协议一多就不好管理,这时候就需要对协议进行分层。

按照协议的定位/作用分类,并且约定不同层次之间的调用关系:1)上层协议调用下层协议  2)下层协议为上层协议提供支持。整体结构类似于一个公司,老板将一个大的任务分配给各个部门,各个部门主管在分配任务给各个员工。

协议分层的优点:

1)上层协议和下层协议之间进行了封装,双方之间互不干扰。

2)每一层协议都可以根据需求进行替换,更加灵活

1.6 TCP/IP五层模型 

网络原理 - 详解_第1张图片

 OSI 七层模型既复杂又不实用,所以在这里主要介绍TCP/IP五层模型:

  • 物理层:描述网络通信的硬件设备,如:光纤,网线等
  • 数据链路层:两个相邻节点之间的数据传输情况
  • 网络层:负责地址管理和路由选择,也就是路径规划
  • 传输层:负责两台主机之间的数据传输,只关注起点和终点
  • 应用层:负责如何使用网络通信传递过来的数据

网络设备所在分层:

  • 主机:操作系统内核实现了从传输层到物理层的内容
  • 路由器:从网络层到物理层
  • 交换机:从数据链路层到物理层
  • 集线器:物理层

注:并不绝对,随着科技的发展,单个设备涉及的层数也会越来越多

 1.7 封装和分用

封装:网络原理 - 详解_第2张图片

 分用:就是上述过程的逆推,就类似于快递,装快递是"封装",拆快递是"分用",在分用的过程中还会遇到交换机和路由器,这又会产生封装,如下图:

网络原理 - 详解_第3张图片

 路由器也是同理,只不过要将数据分用到网络层。

二,网络编程基础原理

  • 发送端:数据的发送方进程,称为发送端。发送端主机即网络通信中的源主机。
  • 接收端:数据的接收方进程,称为接收端。接收端主机即网络通信中的目的主机。
  • 收发端:发送端和接收端两端,也简称为收发端。
  • 请求和响应:你上餐馆点菜是请求,餐馆给你上菜是响应。
  • 服务端:在常见的网络数据传输场景下,把提供服务的一方进程,称为服务端,可以提供对外服务。
  • 客户端:获取服务的一方进程,称为客户端
  • 注意:发送端和接收端只是相对的,只是一次网络数据传输产生数据流向后的概念

网络原理 - 详解_第4张图片


 

你可能感兴趣的:(网络,服务器,运维)