协议
概念:网络协议的简称,为计算机网络中进行数据交换而建立的规则、标准或约定的集合
如果两个电脑想建立通信,但是数据终端所用的字符集不同,一方输入的命令另一方看不懂,因此就产生了协议,规定一个统一的标准,双方就能互相通信了。
IP地址
概念:是指互联网协议地址,也可称为网际协议地址;是IP协议提供的统一的地址格式,它为互联网上每一个网络与每一台主机都分配一个逻辑地址,以此来屏蔽物理地址的差异。
IP地址用于定位主机的网络地址;IP地址像我们写信给一个人,必须要知道他的地址,邮递员才能知道把信送到哪里。
格式:IP地址是一个32位二进制数组成,通常分成四个8位二进制数,IP地址常用“点分十进制”表示成“ a.b.c.d”,其中,a,b,c,d都是0~255之间的十进制整数。例如:122.234.1.34
端口号
概念:端口,就好像是门牌号一样,客户端可以通过ip地址找到对应的服务器端,但是服务器端是有很多端口的,每个应用程序对应一个端口号,通过类似门牌号的端口号,客户端才能真正的访问到该服务器。为了对端口进行区分,将每个端口进行了编号,这就是端口号。
端口包括物理端口与逻辑端口;
物理端口是用于连接物理设备之间的接口,比如说路由器上用于连接其他网络设备的接口
逻辑端口是逻辑意义上用于区分服务的端口,比如用于浏览网页服务的80端口
协议分层
了解协议后,协议分层主要是将协议的功能进行区分可以更好的进行扩展与维护
协议分层理论上有一个模型,叫OSI七层模型,分为以下七层:
- 应用层:针对特定应用的协议
- 表示层:设备具备的数据格式与标准数据格式的转换
- 会话层:负责建立与断开通信连接;管理传输层以下的分层
- 传输层:管理两个节点之间的数据传输
- 网络层:地址管理与路由选择,比如:通过IP地址标识一台主机,通过路由表的方式规划出两台主机的数据传输线路
- 数据链路层:互联设备之间的数据传输与识别数据帧
- 物理层:传输原始比特流(0/1),管理物理介质(如网线、光纤)的电气/机械特性。
由于OSI七层网络模型复杂又不实用,因此只是理论上,并没有具体落地实现
实际组建网络时采用的是TCP/IP五层(或四层)网络模型
采用五层层级结构,每一层都呼叫他的下一层所提供的网络服务完成它的需求,分为以下五层:
- 应用层:负责应用程序之间的通信,网络编程实现我们的需求
- 传输层:完成两台主机之间的数据传输,确保数据从源主机发送到目标主机上。
- 网络层:地址管理与路由选择
- 数据链路层:完成两个相邻设备之间的如何进行通信。如通过网线把电脑链接到路由器/交换机上,这里的电脑与路由器/交换机就是相邻的设备。
- 物理层:规定了网络通信中的一些硬件设施要求。
也有说TCP/IP四层网络模型,其中是把数据链路层与物理层合称为网络接口层
封装
不同的协议层对数据包有不同的叫法,在传输层叫做段,在网络层叫做数据报,在链路层叫帧
应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部,称为封装
数据首部通常会包含首部长度、载荷长度以及上层协议是什么等
封装过程
分用
分用过程就是封装过程的倒的过程,从以太网驱动程序逐步向应用程序进行去首部操作,根据不同类型进行相应的分用
客户端
概念:也可称为用户端,指与服务器相对应,为客户提供本地服务的程序。
服务器端
概念:从广义上讲,服务器是指网络中能对其它机器提供某些服务的计算机系统(如果一个PC对服务器端外提供ftp服务,也可以叫服务器)