Android C++系列:Linux网络(二)通信过程

![[Android C++系列:Linux网络(二)通信过程.png]]

上图对应两台计算机在同一网段中的情况,如果两台计算机在不同的网段中,那么数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器,如下图所示其实在链路层之下还有物理层,指的是电信号的传递方式,比如现在以太网通用的网线 (双绞线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)是 工作在物理层的网络设备,用于双绞线的连接和信号中继(将已衰减的信号再次放大使之传得更远)。
在这里插入图片描述

链路层有以太网、令牌环网等标准,链路层负责网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。交换机是工作在链路层的网络设备,可以在不同的链路层网络之间转发数据帧(比如十兆以太网和百兆以太网之间、以太网和令牌环网之间),由于不同链路层的帧格式不同,交换机要将进来的数据包拆掉链路层首部重新封装之后再转发。

网络层的IP协议是构成Internet的基础。Internet上的主机通过IP地址来标识,Internet上有大量路由器负责根据IP地址选择合适的路径转发数据包,数据包从Internet上的源 主机到目的主机往往要经过十多个路由器。路由器是工作在第三层的网络设备,同时兼有交换机的功能,可以在不同的链路层接口之间转发数据包,因此路由器需要将进来的数

相关推荐

  1. 网络通信

    2024-07-12 15:02:02       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 15:02:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 15:02:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 15:02:02       58 阅读
  4. Python语言-面向对象

    2024-07-12 15:02:02       69 阅读

热门阅读

  1. 力扣第230题“二叉搜索树中第K小的元素”

    2024-07-12 15:02:02       23 阅读
  2. Gradio聚类

    2024-07-12 15:02:02       17 阅读
  3. Node.js 模块系统

    2024-07-12 15:02:02       17 阅读
  4. 模板方法模式的实现

    2024-07-12 15:02:02       21 阅读
  5. Android.mk中LOCAL_SDK_VERSION的作用是什么?

    2024-07-12 15:02:02       21 阅读
  6. C++:右值引用

    2024-07-12 15:02:02       22 阅读
  7. Xcode Playgrounds:探索Swift编程的交互式乐园

    2024-07-12 15:02:02       22 阅读
  8. Okhttp实现原理

    2024-07-12 15:02:02       15 阅读