OSI模型
如上图所示,是OSI模型的分层
- 物理层: 应该采用什么样的物理介质,双绞线、光纤,无线电波(wifi),保证可靠的物理信号(0和1)
- 数据链路层:在这一层可以实现数据的分组,根据mac地址可以知道接收者和发送者,在局域网内部,消息传播方式是“广播”,通过网卡定位到电脑,然后进行传输
- 分组: eg: 0101001010 100100101101
- 数据帧:将数据分成段,从发送者到接收者,根据mac地址(每个网卡的唯一标识)
- 保证局域网内mac地址是唯一的就行。
- mac地址是由48位二进制,12位16进制组成
- 内容组成:mac地址+数据包
- 传播方式: 广播
- 网络层:这里主要是不同局域网间的通讯,通过ip找到对应的网关,通过网关找到对应的mac地址,从而找到具体的电脑。这层定义IP,IP是在网络当中的概念,数据链路层是局域网内部的范围,
- 传输层 这一层找到具体的端口,不同的端口对应的是不同的应用,找到端口之后,开启会话,类似于校验,控流
- 会话层 开启会话
- 表示层: 通过ascii码,或者一些校验规则表示,也可能会压缩、解压。通过一些安全策略,然后进行一些算法的换算等等
- 应用层: 数据解压之后,最终的来源是应用层, 数据最开始是在应用层当中,需要表述的数据类型,通过表示层解压、压缩,通过会话层,表示成对应的端口信息,然后通过传输层,一层一层往下传,这就是一套完整的网络传输流程
TCP/IP
每层具体的作用
- 应用层: 应用程序之间如何传递报文,比如HTTP协议
- 传输层: 传输层的作用是为两台主机间的“应用进程”提供端到端的逻辑通信,比如TCP协议
- 网络互联层 网络互联层提供了主机到主机的通信,将传输层产生的数据包封装成分组数据发送到目标主机,并提供路由选择的能力 IP协议是网络层的主要协议,TCP和UDP都是用IP协议作为网络层协议,这一层的主要作用是给包加上源地址和目标地址,将数据包传送到目标地址
- 网络访问层 网络访问层也叫做网络接口层,以太网,WIFI,蓝牙工作在这一层,网络访问层提供了主机连接到物理网络需要的硬件和相关协议
分层的好处
- 各层独立:限制了依赖关系的范围,各层之间使用标准化的接口,各层不需要知道上下层是如何工作的,增加或者修改一个应用层协议,不会影响到传输层协议
- 灵活性更好: 比如路由器不需要应用层和传输层,分层以后路由器就可以加载更少的几个协议层
- 易于测试和维护: 提高了可测试性,可以独立的测试特定层,某一层有了更好的实现,可以整体替换掉
- 能促进标准化: 每一层职责清楚,方便进行标准化