ChuannBlog

1.3 计算机网络

  1. 计算机之间通过物理连接介质(网络设备)连接到一起
  2. 计算机之间基于网络协议通信(网络协议相当于计算机)界的通用语言

开发需要了解的: ip地址确定目标机器的局域网
mac地址确定目标机器的具体地址
tcp/udp确定目标机器的软件端口

什么是互联网协议及为何要有互联网协议

osi五层模型

我们将应用层、表示层、会话层并作应用层,从tcp/ip五层(应用层传输层网络层数据链路层物理层)协议的角度来阐述每层的由来与功能,搞清楚了每层的主要协议就理解了整个互联网通信的原理。
首先,用户感知到的只是最上面一层应用层,自上而下每层都依赖于下一层,所以我们从最下一层开始切入,比较好理解。每层都运行特定的协议,越往上越靠近用户,越往下越靠近硬件

物理层

局域网与广域网皆属第1、2层。

数据链路层
以太网协议

网络层
IP协议
ARP协议
  1. 首先通过ip地址和子网掩码区分出自己所处的子网
    场景数据包地址
    同一子网目标主机mac,目标主机ip
    不同子网网关mac,目标主机ip
  2. 分析172.16.10.10/24与172.16.10.11/24处于同一网络(如果不是同一网络,那么下表中目标ip为172.16.10.1,通过arp获取的是网关的mac)
    源mac目标mac源ip目标ip数据部分
    发送端macFF:FF:FF:FF:FF:FF172.16.10.10/24172.16.10.11/24数据
  3. 这个包会以广播的方式在发送端所处的自网内传输,所有主机接收后拆开包,发现目标ip为自己的,就响应,返回自己的mac
传输层

tcp/udp协议,基于端口(port)通信
端口:一台计算机可以有多个软件,端口为单个软件提供一台电脑上独一的端口以标示该软件

应用层

用户上网流程