目录
1.网络发展背景
单机阶段->局域网阶段->广域网阶段->移动互联网阶段
①单机:电脑没联网
②局域网:将一些设备通过交换机/路由器链接起来
③广域网:把更多的局域网也相互链接
1.1网络通信基础
①IP地址:描述一个主机在互联网上的具体位置—现在主要使用IPV4
IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)通常用“点分十进制”的方式来表示
②端口号:区分一个主机上的应用程序
端口号是0~65535范围的数字,在网络通信中,进程可以通过绑定一个端口号,来发送及接收网络数
据。
两个不同的进程,不能绑定同一个端口号,但一个进程可以绑定多个端口号
③协议:网络协议是网络通信(即网络数据传输)的基础.最终体现为在网络上传输的数据包的格式
- 语法:即数据与控制信息的结构或格式;
- 语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;
- 时序,即事件实现顺序的详细说明
协议分层的好处:
①耦合低:上层协议不必了解下层协议的细节,下层协议也不必了解上层协议的细节
②方便替换:可以方便的替换协议
1.2协议模型
1.2.1OSI七层网络模型
只存在于教科书
1.2.2TCP/IP五层协议模型
应用层:应用程序,拿到数据怎么用
比如:你去京东买东西,你只关心买什么,而不关心怎么运
传输层:负责关注传输过程中起点和终点
比如:运输快递要知道,起点与终点
网络层:主要负责为俩个IP,规划路径
比如:具体怎么走,走那些城市,路径最短/走那些城市可能到
数据链路层:关注俩个相邻节点之间的传输
比如:城市怎么怎么到下一个城市,具体的道路是什么
物理层:硬件设备,基础设施
比如:道路是高速还是公路还是小路
那么每一层都有哪些协议呢?
1.2.3在协议分层的背景下,数据如何通过网络传输?
封装:发送方发送数据,要把数据从上到下,依次交给对应的层次的协议,进行封装(加包装)
解析:接送方接送数据,把数据从下到上,依次交给对应的层次的协议,进行解析(拆包装)
1.3TCP/IP的五元组
五元组是用来标识一个网络通信,为具体的TCP实现打下基础
- 源IP:标识源主机
- 源端口号:标识源主机中该次通信发送数据的进程
- 目的IP:标识目的主机
- 目的端口号:标识目的主机中该次通信接收数据的进程
- 协议号:标识发送进程和接收进程双方约定的数据格式
Get请求与Post请求的区别
get请求与post请求没有本质区别,但又以下几个方面的不同
1.数据传输方式:get请求是将数据放到URL中的, post请求是放到请求体中的
2.数据安全性 : post请求要比get请求相对安全
3.缓存:get请求可以被缓存,post请求不能被缓存
重定向与请求转发的区别
请求转发是服务器内部的行为,客户端只访问一次URL,
重定向是服务器给客户端返回一个要去的地址,让客户端自己去访问,
封装与分用
封装:从上到下依次增加报头(从应用层->物理层)
分用:数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中的“上层协议字段”将数据交给对应的上层协议处理
客户端与服务器+请求/响应
客户端:客服端就是向服务器发送请求以及数据的程序
服务端:也就是提供为客户端提供“服务”,接收并储存客户端发送过来的数据或请求,并且对请求进行响应,发送数据给客户端
举例:服务器可理解为超市,客户端可理解为买东西的人.买东西的人要带上钱(钱->协议,要买的东西->请求),超市要看它有没有,有就卖给你(响应),没有就不卖(错误信息),
客户端与服务器之间的通信
俩种:TCP协议与UDP协议