OSI七层参考模型
假设PC1为发送端:
应用层7: 输入高级语言指令,人和程序之间的一个交流平台(打开微信输入聊天的话语)
表示层6: 将人类使用的高级语言翻译成二进制语言
会话层5: 管理多个会话,保证消息正确到达指定主机
传输层4: ①确定传输的协议;②在网络传输中,通过端口的不同,来区分应用程序
1.tcp协议:传输数据的时候慢,但是很稳定
2.upd协议:传输数据的时候很快,但是不稳定,易丢包
协议:协商议定
发送数据时按照某种格式发送,对面收的时候,也以这种格式接收
网络层3: 选择数据的最佳传输路线(ip地址)
数据链路层2:二次确认数据是否正确到达(MAC地址,全球唯一)
物理层1: 将二进制数据准换成电信号传输出去,定义了一些物理接口的标准
假设PC2为接收端:
物理层1: 将电信号转换成二进制
数据链路层2:对比自己的mac和数据包里的mac地址做对比,如果一样接收,如果不一样丢弃,检验包是否完整
网络层3: 再次对比ip地址
传输层4: 通过端口号找到对应的程序
会话层5: 通过特定的会话通道到达表示层
表示层6: 将二进制转化成高级语言
应用层7: 显示在应用程序中
单播:1对1 私聊
组播:特定的一组人
广播:所有人
TCP/IP协议族的组成
一、网络层协议:
icmp 检测主双向联通性
ping(程序) trecrt(程序)
ARP协议:地址解析,根据IP地址转换成mac地址
二、传输层协议:
tcp:慢 稳定
udp:快 不稳定
三、应用层:
http:超文本传输协议 明文传输(基于tcp协议)
https:http+ssl组合的超文本传输加密协议(基于tcp协议)
FTP:文件传输协议(只能传输文件,基于tcp协议)
TFTP:简单文件(基于udp协议)
数据封装过程
| 应用层1+表示层2+会话层3 | data | 数据 | |||
|---|---|---|---|---|---|
| 传输层4 | tcp/upd+端口号 | data(真是数据) | 数据段 | ||
| 网络层5 | IP地址 | tcp/upd+端口号 | data(真是数据) | 数据包 | |
| 数据链路层6 | mac地址 | IP地址 | tcp/upd+端口号 | data(真是数据)+数据校验位 | 数据帧 |
数据链路层:交换机→根据mac地址转发数据(2层原理)
网络层:路由器→根据IP地址转发数据(3层原理)
传输层:防火墙→根据协议和端口号(4层原理)
应用层:PC→控制真实数据(7层协议)
提示:越靠近底层速度越快。