一次购物请求中网络协议工作过程

互联网缩短了人与人、人与物、物与物之间的距离,构建了其间的交流方式。不同个体之间交流需要通信通道,而网络协议就是构建此通道的基础。

目前网络通用的协议是 TCP/IP 协议。TCP/IP 标准协议分为 7 层:物理层、数据链路层、IP层、传输层、会话层、表示层、应用层。但是在实际使用中通常将会话层、表示层合并到应用层。从而成为 5 层协议体系。下面将一一次购物请求来说明 TCP/IP 协议的工作过程。

1 从目标机到网关的转发

  1. 用户在应用层发起购物请求,此处涉及的应用层协议是 http/https协议,应用层将会完成应用层http头与请求内容的组装,成为一个请求包:
  1. 应用层将用户请求包封装完成后,通过socket 调用,将请求包传递给传输层。传输层分为 TCP 和 UDP 两种协议。此处为了保证请求的可靠性,选择 TCP 协议。TCP 协议将会指定浏览器的监听端口和电商服务器的监听端口(因为一台电脑上不可能只运行一个服务,故需要通过端口来区分同一 ip 机器上不同的应用进程。)。
  1. 传输层封装完成后的请求包将会继续被传输到 IP 层。IP 层将会根据 IP 协议为请求包增加源 IP 地址 和目标 IP 地址。
  1. IP 层封装完成包继续传输到数据链路层(MAC 层)。
    • 操作系统既然知道了目标 IP 地址,就开始考虑如何根据此 IP 找到目标机器。操作系统往往先会判断此 IP 是本地 IP 还是外地 IP。此处电商服务器 IP 很显然是外地 IP。
    • 由于目标 IP 为外地 IP。故需要从对应网关转发出去。此处的源 IP 192.168.1.101 为局域网地址,显然其 IP 由网关 192.168.1.1 的 DHCP 自动分配。

      上述决定从哪个网口转发出去 IP 包的过程称为路由,常用路由协议有 OSPFBGP

    • 此时如何才能将 IP 包转发给网关呢?在本地通信基本靠吼,根据ARP 协议,操作系统就会发出广播,请问谁是 192.168.1.1 啊,网关收到后会回复其 mac 地址。按照此 mac 地址对请求包继续封装。封装完成后,按照目标 mac 地址转发到对应的网关。

2 网关到网关的转发

3 网关到目标机的转发

注意:

  • 只要再网络上跑的包,都是完整的,可以有下层没上层,绝不可能有上层没下层。
  • 始终把自己想象成一个处理网络包的程序,如何拿到网络包,如何根据规则处理,如何转发出去。
  • 二层设备指仅处理网络包的 mac 头的设备,三层设备是指处理网络包的 mac 头和 ip 头的设备。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值