网络的基础

协议分层:

为什么会协议分层?

  • 问题本身是分层的

  • 不断进行封装,低耦合

对应的网络协议栈与操作系统有什么关系?

其中五层协议中最重要的传输层和网络层就是操作系统中的板块。

网络通信的本质:

贯穿协议栈的过程。

网络协议栈的层状结构中,每一层都有协议:

这里举出的只是每一层中众多协议中的一个。

封装和解包的过程:

对应从应用层到链路层是封装的过程

从链路层到应用层是解包的过程。

对应的几点扩展:

  • 报文 = 报头 + 有效载荷

  • 几乎任何层协议,都提供一种分离能力,将报头和有效载荷分离。

  • 几乎任何层协议,都要在报头中提供,决定将自己的有效载荷交付给上层的哪一个协议的能力(分用)

为了防止以太网发生数据碰撞问题:

发送主机都要执行碰撞避免算法

划分碰撞域:交换机

ip地址:

是什么?

网络的唯一标识。

为什么会有ip地址?

IP协议屏蔽了底层网络的差异化,

主要靠的是工作在IP层的路由器。

ip地址的作用:

IP实现了全球的软件的虚拟层,一切皆是报文。

对应屏蔽产异化的具体细节:

对于两个用户直接通行,对应网络层的报文段中有对应的源ip地址和目的ip地址,

需要通过路由器进行转发,而路由器在转发过程中通过和数据链路成的转换关系,

完全屏蔽了差异化。

ip vs max:

ip:ip地址,尤其是目的ip,一般是不会改变的,协助我们进行路径选择

mac:mac地址,出局域网之后,源和目的mac地址都要被丢弃,让路由器重新封装。

网络通信的基本脉络示意图:

相关推荐

  1. 网络安全基础

    2024-02-01 23:30:03       41 阅读

最近更新

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

    2024-02-01 23:30:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-01 23:30:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-01 23:30:03       82 阅读
  4. Python语言-面向对象

    2024-02-01 23:30:03       91 阅读

热门阅读

  1. Android String.format() 引发的卡顿问题

    2024-02-01 23:30:03       53 阅读
  2. Vue2项目中实现头像上传

    2024-02-01 23:30:03       54 阅读
  3. C# 递归执行顺序

    2024-02-01 23:30:03       50 阅读
  4. C#面:sealed修饰符有什么特点

    2024-02-01 23:30:03       52 阅读
  5. mybatis一对多查询,list中的泛型是包装类

    2024-02-01 23:30:03       48 阅读
  6. DynamoDB 的 LSI 和 GSI 有什么区别?

    2024-02-01 23:30:03       53 阅读
  7. Linux

    Linux

    2024-02-01 23:30:03      48 阅读
  8. 每日OJ题_算法_前缀和⑦_力扣525. 连续数组

    2024-02-01 23:30:03       74 阅读
  9. c++ sort解释

    2024-02-01 23:30:03       42 阅读
  10. MySQL造数方法

    2024-02-01 23:30:03       59 阅读
  11. pgsql中in 和 join 怎么选

    2024-02-01 23:30:03       44 阅读