网络分层的含义
搞定以下四个问题
1、TCP在进行三次握手的时候,IP层和MAC层对应都有什么操作?
类比:总经理、经理、组长、员工。
2、A知道自己的下一个中转站是B,从A发出来的包,应该把B的IP地址放到哪里呢?
3、 二层设备处理的包里,有没有HTTP层的内容?
4、打开一个点上网站,都需要经历哪些过程?
网络为什么需要分层?
原因一:
复杂的层序都要分层,这是程序设计的要求。
程序是如何工作的?
如图所示:
大体过程:先包装再拆解、
是否从网口进入→process_layer2(buffer) →process_layer3(buffer)→process_tcp (or udp)(buffer)→应用处理(根据应用端口号)。
网络报从网口经过时,两个选择:
一种是凡是经过的,都进行处理一遍(混杂模式),另一种是选择性
process_layer2(buffer):进去(拆解头)or转发
process_layer3(buffer):进去(拆解头)or转发
process_tcp (or udp)(buffer):三种情况
1、一个请求
2、一个应答
3、一个正常的包
前两者,发送一个汇付宝
后者直接往下一层发送。
页面展示出来。再一次点击鼠标,发起另一个HTTP请求,
整体过程:send_tcp(buffer)→send_layer3(buffer)→send_layer2(buffer)
揭秘层与层之间的关系
1、问题解决
TCP发送每一个消息,都要带着IP层和MAC层。因为TCP没发送一个消息,IP层和MAC层的所有机制都要运行一遍。
核心:只要在网络上跑的包,都是完整的,可以有下层没上层,不可能有上层没下层
好比一栋高楼大厦,不可能没有地基就有高楼
2、问题解决
见过程图
3、问题解决:
一个HTTP协议的包经过一个二层设备,二层设备收进去的是整个网络包。HTTP TCP IP MAC都有
二层设备:把MAC头拿下来,看看是丢弃转发还是自己留用。三层设备,以此类推。
4、问题解决
见过程图