一、网络通信协议
网络通信协议就是针对计算机直接实现网络数据的交换所使用的。
网络协议
当然解决什么问题自然先知道它是什么,网络协议就是网络数据传输中,都执行的规则。
那这个规则是什么呢,问题就来了,因为大家都用的不一样的话,交流自然费力,效率肯定地下了,于是就有了一个组织ISO定义了网络通信协议的基本框架,被称为OSI模型。OSI模型指定的七层标准模型,图如下
主机01 | 协议 | 主机02 |
应用层 | 应用层协议 | 应用层 |
表示层 | 表示层协议 | 表示层 |
会话层 | 会话层协议 | 会话层 |
传输层 | 传输层协议 | 传输层 |
网络层 | 网络层协议 | 网络层 |
数据链路层 | 数据链路层协议 | 数据链路层 |
物理层 | 物理层协议 | 物理层 |
很明显OSI模型的好处可以知道:
1.建立了统一的通信标准
2.每层分工明确,开发人员可以更加便捷的进行开发
TCP/IP模型
首先需要考虑为什么会有这么一个模型,思考一下,OSI模型把任务规划的太理想了,他的细节太多了,而且还很复杂,想真正的在实践中应用是很困难的,实际工作就由TCP/IP模型来作为标准流程了,TCP/IP模型图
OSI | TCP/IP | 各种的协议 |
应用层 | 应用层 | FTP、SMTP、DNS |
表示层 | ||
会话层 | ||
传输层 | 传输层 | TCP UDP |
网络层 | 网络层 | IP ARP RARP ICMP |
数据链路层 | 网络接口层 | 各种通信网络接口(以太网等) |
物理层 | 物理网络 |
二、IP地址
IP地址:就是在网络中标识一台计算机的地址编号
IP地址可以分为两类,分别是IPV4和IPV6
IPV4
ipv4 一般是 192.168. x.x 它采用的是32位二进制,大概能存43亿个地址
它分为四个部分,每个部分是一个整体,取值为0到255
IPV6
IPV6的存在是补充IPV4地址的不足,一个人干很多事情就要用了很多的地址,才43亿个地址,那么多人肯定不够用,所以出现了IPV6,他这个量就很大了,足够人类的使用了
IP地址的相关命令
ipconfig
本机地址,127.0.0.1
三、端口号
端口号,用来识别计算机中进行通信的应用程序。又被称为程序地址,端口号一台计算机有着65536个,用来实现数据通信
每运行一个程序就会有一个端口号,然后把数据发送给相应的程序只需要找到对应的端口号。
就比如你使用qq登录王者荣耀,然后王者荣耀的战绩就可以实现传递到qq中,你可以在qq中查询到你的战绩,实质就是王者荣耀的数据传递给了qq
端口号的分类
知名端口号:
0--1023,众所周知的端口号,这些端口号一般会固定分配给一些服务,21端口分配给FTP(文件传输协议)服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务
动态端口号:
范围是1024-65535,如果开发的程序没有设置端口号,操作系统(Windows、unix、Linux)会在动态端口区域随机生成一个端口给这个程序使用,当程序结束退出时,占用的这个端口号就会被释放掉。
四、客户端和服务器
服务端
服务端是为客户端服务的,提供服务的内容例如保存客户端的数据,处理客户端的请求,比如你刷抖音的时候每次都会向服务器发出请求,然后服务器会返回相关的数据,让你可以刷出来下一个视频。
客户端
客户端又被称为用户端,它是指和服务端对应,为用户提供一定应用功能的程序,手机和电脑上的程序基本都是客户端的程序,当然如果搭建了服务器,这个时候程序就相应的作为了服务端。