网络发展
独立模式->网络互联(共享数据由服务器集中管理)->局域网LAN(交换机和路由器)->广域网WAN
认识“协议”
数据链路层:如何保证数据准确的到达下一个设备?
网络层:IP协议,如何定位主机?
传输层:TCP协议,长距离传输数据丢失的问题?
应用层:如何处理接收到的数据?(https、http、ftp、smtp)
为什么会有这些问题?
传输距离变长导致了这些问题的产生。
网络协议
协议分层
- 高内聚、低耦合
- 实现封装、易于维护
OSI七层模型
TCP/IP协议
物理层:光/电信号的传播方式。集线器(放大信号)
数据链路层:负责设备之间数据帧的传送和识别。交换机。
网络层:负责地址管理和路由选择。IP协议,路由器。
传输层:负责两台主机之间的数据传输。TCP协议。
应用层:负责应用程序间沟通。
网络协议栈和OS有什么关系?
网络通信的本质:就是贯穿协议栈的过程。
网络传输基本流程
网络协议栈的层状结构中,每一层都有协议。
每层都要添加报头。
报文=报头+有效载荷。
通信的过程:本质就是不断地封装和解包的过程。
- 几乎任何层的协议,都要提供将报头和有效载荷分离的能力。
- 几乎任何层的协议,都要在报头中提供决定将自己的有效载荷交付给上层哪一个协议的能力。(分用)
以太网通信
每台主机在局域网上,都要有自己唯一的标识(Mac地址)。
报文:src mac dst mac Mac地址对比
数据碰撞问题
发送主机都要执行碰撞避免的算法。
交换机:划分碰撞域
网卡的工作模式:正常模式&&混杂模式
如何看待局域网?
局域网:多台主机所共享的临界资源。
IP协议
IP协议是什么?
IPv4,4字节。
IPv6,16字节。
为什么要有IP协议?
指导我们进行路径规划。
IP地址vsMac地址
IP地址,尤其是目的IP,一般都是不会改变的,协助我们进行路径选择。
从哪来->到哪去,一直是不变的。
Mac地址,出局域网之后,源Mac地址和目的Mac地址都要丢弃,让路由器重新选择。
上一站从哪来->下一站去哪里,会一直变化,变化的依据是目的IP地址是哪里。
在Client端,把数据交给路由器,本质上就是局域网通信。
IP协议屏蔽了底层网络的差异化(依靠工作在IP
层的路由器)。
IP协议实现了全球主机的软件虚拟层,一切皆是IP报文。