网络基础、网络模型、键入网址到网页显示,期间发生了什么?(小林coding版总结)

网络模型
TCP/IP 网络模型共有 4 层 应用层 传输层 网络层 网络接口层
应用层,负责向用户提供一组应用程序,比如 HTTP、DNS、FTP 等;
传输层,负责端到端的通信,比如 TCP、UDP 等;
网络层,负责网络包的封装、分片、路由、转发,比如 IP、ICMP 等;
网络接口层,负责网络包在物理网络中的传输,比如网络包的封帧、 MAC 寻址、差错检测,以及通过网卡传输网络帧等;

OSI 网络模型,该模型主要有 7 层,分别是应用层、表示层、会话层、传输层、网络层、数据链路层以及物理层。
应用层,负责给应用程序提供统一的接口;
表示层,负责把数据转换成兼容另一个系统能识别的格式;
会话层,负责建立、管理和终止表示层实体之间的通信会话;
传输层,负责端到端的数据传输;
网络层,负责数据的路由、转发、分片;
数据链路层,负责数据的封帧和差错检测,以及 MAC 寻址;
物理层,负责在物理网络中传输数据帧;

键入网址到网页显示,期间发生了什么?
1:解析 浏览器解析URL 生成HTTP请求信息
2:寻址 通过DNS查询服务器域名对应的IP地址
3:指路 交给操作系统中的协议栈,上半部分负责收发数据的TCP和UDP协议
下半部分用 IP 协议控制网络包收发操作,包括ICMP协议和ARP协议
ICMP 用于告知网络包传送过程中产生的错误以及各种控制信息。
ARP 用于根据 IP 地址查询相应的以太网 MAC 地址。
意思就是看是TCP还是UDP然后走不同的路径
4:可靠传输 TCP包装 生成TCP报文(含TCP包头格式)
5:远程定位 IP包装 生成IP报文(含IP包头格式)
6:两点传输  MAC(交换机)(含MAC包头格式)
7:出口 网卡 数字信息转换为电信号
8:送别者
8:出境大门 路由器
发:路由表查询转发目标,再由相应的端口作为发送方将以太网包发送出去
收:电信号到达网线接口部分,路由器中的模块会将电信号转成数字信号,然后通过包末尾的 FCS 进行错误校验。
如果没问题则检查 MAC 头部中的接收方 MAC 地址,看看是不是发给自己的包,如果是就放到接收缓冲区中,否则就丢弃这个包。
总的来说,路由器的端口都具有 MAC 地址,只接收与自身地址匹配的包,遇到不匹配的包则直接丢弃。

总结:发送HTTP请求需要穿上TCP、IP、MAC头部一步一步地传递 接收请求需要一层一层的剥开头部进行校验

问答环节

问:“笔记本的是自带交换机的吗?交换机现在我还不知道是什么”

答:笔记本不是交换机,交换机通常是2个网口以上。
现在家里的路由器其实有了交换机的功能了。交换机可以简单理解成一个设备,三台电脑网线接到这个设备,这三台电脑就可以互相通信了,交换机嘛,交换数据这么理解就可以。

问:“如果知道你电脑的mac地址,我可以直接给你发消息吗?”

答:Mac地址只能是两个设备之间传递时使用的,如果你要从大老远给我发消息,是离不开 IP 的。

问:“请问公网服务器的 Mac 地址是在什么时机通过什么方式获取到的?我看 arp 获取Mac地址只能获取到内网机器的 Mac 地址吧?”

答:在发送数据包时,如果目标主机不是本地局域网,填入的MAC地址是路由器,也就是把数据包转发给路由器,路由器一直转发下一个路由器,直到转发到目标主机的路由器,发现 IP 地址是自己局域网内的主机,就会 arp 请求获取目标主机的 MAC 地址,从而转发到这个服务器主机。
转发的过程中,源IP地址和目标IP地址是不会变的(前提:没有使用 NAT 网络的),源 MAC 地址和目标 MAC 地址是会变化的。

你可能感兴趣的:(服务器,网络,http)