包收发操作
副标题:阅读《网络是怎么连接的(户根勤)》读书笔记4
IP模块如何将包发给对方
通用流程
- 发送方的网络设备负责创建包,即生成含控制信息的头部,然后附上要发送的数据
- 接着,包被发往最近的网络转发设备
- 然后转发设备会根据头部信息判断接下来应该发往哪里,这个过程会用到一张表,按照头部记录的目的地址在表里查询,根据查到的信息判断接下来应该发往哪个方向
- 转发设备层层接力,最后到达接收方
- 发送方和接收方统称为终端节点,转发设备称为转发节点或中间节点
扩展流程——TCP/IP网络,用以太网规则传输包
- 转发设备包括路由器和集线器两种
- 路由器根据目标地址判断下一个路由器的位置,是按照IP规则传输包的设备
- 集线器在子网中将网络包传递给下一个路由,是按照以太网规则传输包的设备
- TCP/IP包包含
MAC头部
和IP头部
、TCP头部和数据块
,IP头部存入下一级路由器的IP地址,MAC头部存入下一级路由器的MAC地址(即以太网地址,是IP协议写入的,使用ARP广播的形式获取),MAC地址也叫物理地址(Physical Address) - 例:
- 客户端向服务器发包,先经集线器配合自己的一张表读取
MAC头部
获取下一个路由器甲的MAC地址,根据MAC地址,让以太网进行包的传输 - 包会到达下一个路由器甲,路由器有一张IP协议的表,再读取
IP头部
获取再下一个路由器乙的IP地址,为了将包发给再下一个路由器,就必须要下一个路由器乙的MAC地址,并记录到MAC头部
- 客户端向服务器发包,先经集线器配合自己的一张表读取