IP地址
- 概念:
IP地址主要用于标识网络主机,其他网络设备的网络地址。简单来说:IP地址就是用于定位主机的网络地址。
如:送快递的快递员要知道收货地址,这里的收货地址就相当于IP地址。 - 格式:
IP地址是⼀个32位的⼆进制数,通常被分割为4个“8位⼆进制数”(也就是4个字节),如:
01100100.00000100.00000101.00000110。
通常⽤“点分⼗进制”的⽅式来表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的⼗进制整数)。
如:100.4.5.6。 - 上述说的 格式 都是乌龟的屁股—— “ 规定 ”,只需要狠狠记住就行了。
端口号
- 概念:
在网络通信中,IP地址用于标识主机网络地址,端口号可以标识主机中发送数据,接收数据的进程。
简单来说:端口号用于定位主机中的进程。
如:快递小哥不仅仅要知道收货地址(IP),还要知道收货人的手机号(端口号)。 - 格式:
端口号是0~65535之间的数字,在网络通信中,进程可以通过绑定一个端口号,来及时发送和接收网络数据。
协议
- 概念:
网络协议的简称,网络协议是网络通信经过的所有网络设备都必须共同遵守的一组约定,规则。只有遵守这个约定,计算机之间才能相互通信。
最终体现为在网络上传输的数据包的形式。 - 作用:
实现计算机之间的信息交流
举个例子:
我们都知道,在秦国大一统之前有六国,这六个国家都使用着和秦国不同的货币,因此在不同国家之间进行买卖是非常困难的。但是,当秦始皇灭六国,统一货币之后,那这六个国家的人就必须使用秦始皇指定的货币政策。由此,人与人之间的买卖也好做多了。这里的货币政策就是相当于一个协议,你我都得遵守。
协议分层
OSI 七层模型
了解一下即可,我们重点掌握的是五层模型。
TCP/IP五层模型
封装和分用
- 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在⽹络层叫做数据报(datagram),在链路层叫做帧(frame)。
- 应⽤层数据通过协议栈发到⽹络上时,每层协议都要加上⼀个数据⾸部(header),称为封装(Encapsulation)。
- ⾸部信息中包含了⼀些类似于⾸部有多⻓,载荷(payload)有多⻓,上层协议是什么等信息。
- 数据封装成帧后发到传输介质上,到达⽬的主机后每层协议再剥掉相应的⾸部,根据⾸部中的 “上层协议字段” 将数据交给对应的上层协议处理叫做分用
- 上面的概念看不懂没有关系,结合下面的图,相信你很快就能明白:
-
封装:
-
分用:
-
客户端和服务器
如图所示:记住只要是用户使用的那一方就是客户端。为客户端提供资源的就是服务器。
举个例子:假如我们使用字节旗下的抖音软件,我们只需要在屏幕上不断上划就能看到不同的视频内容,但是对于这个原理其实是:
当我们刷一个视频时,手机(客户端)会向字节的服务器请求数据,此时就牵扯到了数据的发送和接收,而数据的包装正是用的我们前面用到的五层协议模型,先封装再发送。之后服务器就接收了客户端的数据,进行分用,像“ 拆快递 ”一样对数据进行解析。解析后的数据会在服务器内部进行一系列的业务代码,如:给你推荐你感性趣的内容。之后这再将这些内容再包装,发送给客户端。
就这样经过两次发送,两次解析,客户端和服务器就能够通信了,你也能愉快的刷抖音了。
请求和响应
举个例子:
- 1,请求:你主动向抖音的服务器索要资源
响应:抖音官方讲这些资源发给你 - 2, 好⽐在快餐店点⼀份炒饭:
先要发起请求:点⼀份炒饭,再有快餐店提供的对应响应:提供⼀份炒饭
两台主机之间的网络通信流程
- 客⼾端先发送请求到服务端
- 服务端根据请求数据,执行相应的业务处理
- 服务端返回响应:发送业务处理结果
- 客⼾端根据响应数据,展示处理结果(展示获取的资源,或提⽰保存资源的处理结果)