文章目录
应用层
用来提供应用程序之间的信息通信的(淘宝、微信、360、qq、游戏)
协议(protocol):
HTTP:端口号为80
HTTPS:端口号为443,相比HTTP多了SSL加密方式,更安全
FTP:文件传输协议(file transfer protocol)
DNS:把域名解析成ip地址
DHCP:动态获取网络配置
Telnet、Smtp、SSH
表示层
提供数据格式转换的,主要用来数据加解密、数据解压缩和图片/视频编解码
数据在发送之前要用一定的加密方法进行加密
想要使数据发送的快,就要对数据进行压缩,也会使网络更通畅
实时传输(直播)一般都需要视频编解码,不然延迟会高
会话层
session会话管理、服务器验证用户登录和断点续传
比如我们如果在登录一个网站之后,浏览页面过程中要跳转网页,那么不需要重复登录,靠的就是session会话管理,他就是保证在同一个网站中不管多少次的页面跳转,都不需要重新登录
服务器验证用户登录也是同样的道理
断点续传就比如说在下载文件中途有网络波动,在一定时间内网络恢复了,那么会接着下载
传输层(操作系统级别的)
TCP:
TCP传输控制协议,提供一种面向连接的、可靠的、基于字节流的传输层通信协议,有流量控制和差错控制,使用TCP协议的应用比如邮件的接收和发送、文件传输、远端登录。需要数据稳定和完整性比较高的场景多使用TCP协议。
UDP:
UDP用户数据报协议,提供一种无连接的、高效率、低可靠性的数据传输服务,使用UDP协议的应用比如音视频聊天、在线游戏王者荣耀、工业物联网数据传输等。需要数据时效性比较高的场景多使用UDP协议。
线程
端口
一个应用程序可以使用好几个端口,但是一个端口只能被一个应用程序使用
socket(套接字):
是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。
其中TCP/IP协议不是TCP和IP协议,而是代表一个协议族
数据传输一定需要的两个信息:
ip地址和端口号,ip地址能够保证数据到达你的设备,端口号保证数据能从设备到应用程序
网络层
网络层不止有协议,还有实际的设备,比如说路由器
协议有IP、ARP、PARP还有防火墙
网络层主要做的是寻址和路由选择
可以通过ipconfig查看自己的ip地址
数据链路层
交换机、网卡(MAC地址)
设备有几个网卡,就有几个ip地址
交换机只能进行单纯的转发,大家要连到同一台交换机上,而路由器除了支持数据转发外还支持路由寻址
物理层
光纤、网线
把数字信号转换为电信号或者是光信号进行比特流传输
现实TCP/IP事实标准网络模型
包含应用层、传输层、网络层、物理层
C/S架构对比B/S
C/S(Client/Server)
- 客户端和服务端可以使用任意协议(常用TCP、UDP)连接
- 需要指定客户端,每个应用程序都有指定的客户端
B/S(Browser/Server)
- 客户端不受限制
- 浏览器和服务端必须使用http或https协议(已经绑定好其他层的协议)