- 认识网络中常用的名词以及基本的概念
- 熟悉OSI七层模型和TCP/IP五层模型
- 理解网络通信的数据传输流程
- 认识网络中常用的名词
-
ip地址
ip地址就是表示我们一台主机的因为数字不好记忆,通常使用点分十进制表示IP,每条数据都会包含源IP和目的IP,IP是标示我们通信的两台电脑,常用的ip地址:IPV4,32位,地址的范围是42亿9千,显然ip地址是不够我们的世界上所以的设备使用,这里通常使用的方法:
DHCP动态地址分配技术:谁需要就给谁分配。
NAT:地址替换,实现多人使用同一个IP地址上网 -
PORT端口:
在主机上表示标示一个进程,(uint16_t)pid不能作为port端口号,因为pid会改变,网络程序中分了客户端和服务器端,主动发起连接的一方是客户端,被动接受请求的是服务端,每条数据都包含我们的源ip,源port,目的ip,目的port。PORT就是为了标示计算机上的应用程序。 -
协议
双方通信的约定,在每一个层里面都包含自己的协议,协议是为通信时对数据进行统一的打包和解析操作,保证数据的正确性。
网络协议:网络通信环境中数据的组成格式,
协议分层:就是一种协议封装,封装之后便于使用,对于服务接口以及协议进行明确的划分,形成标准实现起来就便于我们去使用。
- 熟悉OSI七层模型和TCP/IP五层模型
OSI七层模型:七层网络模型称为开放式系统互联参考模,是一个逻辑上的定义和规范。
虽然我们的OSI七层模式在每一层都有自己的实现,对于每一层的对应的物理设备,对于每层的服务,协议和接口区分明显,仔细。虽然七层模型功能区分仔细,但是实现起来比较困难,在现实中一般使用TCP/IP五层模型。
- TCP/IP五层模型
物理层:负责光电信号传输,标志性物理硬件:集线器
数据链路层:相邻设备之间的数据帧的传输,标志性的硬件:交换机(物理层到链路层功能实现以及链路层)。主要协议:以太网帧协议
网络层:负责地址管理和路由选择。标志性硬件:路由器(负责地址选择,物理层到网络层的通信)。主要协议:IP协议
传输层:负责端与端之间的数据传输。主要协议:TCP,UDP协议。
应用层:负责应用程序之间的数据沟通。主要协议包括HTTP,FTP,SMTP,DNS。
计算机操作系统就是物理层到传输层。
-
理解网络通信的数据传输流程
数据传输主要是封装和分用
封装就是应用程序数据在发送之前到物理网络之前,将沿着协议栈从上往下一次传递,每层都将在上层数据的基础之上加上自己的头部信息(有事还包括尾部信息),以实现改成功能的过程就是封装。
- 分用
当帧到达主机的时候,将沿着协议栈自底向上依次传递,各层一些依次处理帧中本层负责的头部信息数据,以获取所需的各层信息,并最终获取我们的应用程序需要的数据,这个过程就是分用。分用就是依靠头部信息中的类型字段实现的。
在后面会详细讲解我们主要协议以及协议的头部信息。