各网络互联设备的工作原理,和IP数据报的发送和转发流程的详细介绍

各网络互联设备的工作原理

  1. 网卡

    • 定义:网卡是工作在链路层的网络组件,是局域网中连接计算机和传输介质的接口。
    • 功能:不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码以及数据缓存等。
    • 工作原理:计算机与外界局域网的连接是通过主机箱内插入一块网络接口板(或者在笔记本电脑中插入一块PCMCIA卡)实现的。网卡上面装有处理器和存储器(包括RAM和ROM),网卡和局域网之间的通信是通过电缆或双绞线以串行传输方式进行的,而网卡和计算机之间的通信则是通过计算机主板上的I/O总线以并行传输方式进行。
  2. 路由器

    • 定义:路由器是一种用于电(光)信号转发的网络设备,它可以为接入路由器的任意两个网络节点提供独享的电信号通路。
    • 功能:路由器工作在网络层,既隔离冲突域,也隔离广播域。它负责根据IP数据报的目的地址,在路由表中查找匹配的路由条目,并将数据报转发到下一跳地址。
    • 工作原理:路由器收到IP数据报后,会先检查数据报首部的校验和是否出错,然后提取目的地址,并与本路由器的子网掩码相与,看是否可以直接交付。如果不能直接交付,则查找路由表,根据匹配的路由条目将数据报转发到下一跳地址。
  3. 中继器

    • 定义:中继器又叫"放大器",起放大信号的作用。
    • 功能:解决因线路太长而引起的信号衰减问题。
  4. 集线器

    • 定义:集线器是一种物理层共享设备。
    • 功能:以广播形式发送数据,但安全性较低,容易被别人监听到数据报。
  5. 网桥

    • 定义:网桥处于OSI模型的数据链路层,是一种链路层设备。
    • 功能:能够基于MAC地址进行数据链路层选路,减少集线器因共享和半双工特性引发的网络冲突问题。
    • 工作原理:网桥能够基于学习构造MAC地址表,对MAC地址进行控制与过滤。当数据报到达网桥时,网桥会查找MAC地址表,根据目的MAC地址将数据报转发到相应的端口。
  6. 交换机

    • 定义:交换机意为"开关",是一种用于电(光)信号转发的网络设备。
    • 功能:为接入交换机的任意两个网络节点提供独享的电信号通路。
    • 工作原理:交换机有多个端口,每个端口都具有桥接功能。当数据报到达交换机时,交换机会查找内部的转发表,根据目的MAC地址将数据报转发到相应的端口。

IP数据报的发送和转发流程

  1. 主机发送过程

    • 主机将自己的IP地址和子网掩码进行逻辑与运算,得到所在网络的网络地址。
    • 主机将目的主机的IP地址与自己的子网掩码进行逻辑与运算,得到目的网络地址。
    • 如果目的网络地址与主机所在网络的网络地址相同,则直接交付;如果不同,则需要通过路由器进行间接交付。
    • 主机将数据报传输给所在网络的路由器(默认网关),由路由器将数据报转发给目的主机。
  2. 路由器转发过程

    • 路由器收到IP数据报后,先检查数据报首部的校验和是否出错,如果出错则丢弃数据报并通知主机。
    • 路由器提取数据报的目的地址,并与本路由器的子网掩码进行逻辑与运算,看是否可以直接交付。
    • 如果不能直接交付,则路由器查找路由表,根据匹配的路由条目将数据报转发到下一跳地址。
    • 路由器在转发数据报时,会进行解封装和重新封装(组帧)操作,因此MAC地址会不断改变。
    • 数据报经过多次路由转发后,最终到达目的网络,并在目标LAN中通过链路层的MAC地址以广播方式寻址,找到目的主机。
相关推荐
尘佑不尘18 分钟前
shodan5,参数使用,批量查找Mongodb未授权登录,jenkins批量挖掘
数据库·笔记·mongodb·web安全·jenkins·1024程序员节
Iqnus_1231 小时前
vue下载安装
前端·vue.js·笔记
CLCNboss1 小时前
Mac安装Ruby
开发语言·经验分享·笔记·macos·ruby
呵呵哒( ̄▽ ̄)"3 小时前
尚硅谷-react教程-求和案例-优化3-整合UI组件和容器组件-总结优化-笔记
前端·笔记·react.js
l1x1n04 小时前
【IT基础中英笔记】符号系统与数据类型 | CompTIA ITF+
笔记·学习
kfepiza4 小时前
Win11GBK, idea2024.2.4, 使用Gradle8.8本地安装构建,不使用包装器, 解决utf-8乱码问题, 笔记241028
笔记·gradle·intellij-idea·idea·intellij idea
黄交大彭于晏4 小时前
第五天学习总结:C语言学习笔记 - 数组篇
c语言·笔记·学习
Pandaconda5 小时前
【计算机网络 - 基础问题】每日 3 题(五十九)
开发语言·经验分享·笔记·后端·计算机网络·面试·职场和发展
爱编程的古惑仔5 小时前
leetcode刷题笔记——15.三数之和
笔记·算法·leetcode