互联网协议
又称网络七层协议,OSI七层协议,OSI是一个世界标准组织。
OSI七层协议:
- 应用层
- 表示层
- 会话层
- 传输层
- 网络层
- 数据链路层
- 物理连接层
学习需由下至上:优先了解五层。
1、物理连接层
功能:只用来传输数据,基于电信号发送二进制的数据010101010101。网线就是物理连接层。
2、数据链路层
功能:专门用来处理基于电信号发送的二进制数据,使用以太网协议。
2.1 以太网协议
- 规定好电信号数据的分组方式
- 每一台连接网线的电脑都必须要有一块“网卡”。
网卡由不同厂商生产,每块网卡都有世界上独一无二的12位编号:“MAC地址”。
MAC地址的前六位是厂商号,后六位是流水号。
2.2 交换机
可以让多台电脑连接到一起的东西。
2.3 基于以太网发送数据的特点
特点:可以广播;单播
弊端:会遇到广播风暴,且不能跨局域网通信。
2.4 互联网
互联网是可以让局域网之间进行通信的一种网络。
3、网络层
功能:引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址
IP协议:为每一台计算机分配IP地址,并且确定哪些地址处于同一个子网络。
Mac地址:用来标识唯一的主机。
IP:点分十进制
最小值:0.0.0.0
最大值:255.255.255.255
本机IP:回环地址,127.0.0.1 ---> localhost
如何通过网络进行两台电脑之间的数据交互:先通过IP地址找到你的局域网所在地,再通过你网卡上的Mac地址确定你这台电脑的位置。
4、传输层
功能:建立端口到端口的通信
端口:用来识别主机上的应用程序,即应用程序与网卡关联的编号。
端口号范围:0~65535(注意:一般0 ~ 1024的端口都被操作系统占用了,尽量使用8000之后的端口号)
开发中常用软件的端口号:
- MySQL:3306
- MongoDB:27017
- Django:8000
- Tomcat:8080
- Flask:5000
- Redis:6379
服务端如何与客户端进行通信
必须要建立连接,产生双向通道:
一条是客户端往服务端发送消息的。
另一条是服务器往客户端发送消息的。
5、应用层
http
ftp