网络复习篇——网络基础(一)

目录

一.同一数据链路发送数据

二.网络协议栈与操作系统的关系

三.封装,解包,分用

四.IP协议的屏蔽作用

[五.IP地址 VS Mac地址](#五.IP地址 VS Mac地址)


在看完《图解http》和《图解TCP/IP》之后我又把C++的网络课进行二刷,加深自己的理解。

一.同一数据链路发送数据

当我们向同一数据链路中的另一台主机发送数据时,我们的数据会广播到这个数据链路中的所有主机中。每个主机的数据链路层检查报文中的目的Mac地址与自己的是不是一样,不一样则丢弃,一样则向上传递到网络层,进而贯穿操作系统到应用层。

当同一数据链路中的两台主机同时发送数据时会发送数据碰撞,因为在网线中的数据都是电信号或者光信号。为了避免碰撞,有碰撞避免算法,该算法下,同一数据链路中的主机会生成随机数,在这个随机数时间后再发送这个数据到网线中,由于每个主机生成的随机数极大概率不一样,所以碰撞的概率就很小了。

令牌环网有令牌环算法,它将一个令牌依次分发给该数据链路中的主机,持有令牌的主机则可以向数据链路中发送数据,这个就如同多线程中的加锁,是一个道理。

交换机可用于划分碰撞域,进一步减小碰撞的可能性。

二.网络协议栈与操作系统的关系

应用层就是操作系统的上层应用,也就是用户态。

传输层和网络层则是操作系统内核提供的,主流的TCP/IP协议栈几乎在所有的操作系统中都支持。我们在socket编程时调用的接口就是在传输层上的。开发网络工具时还会用到网络层和数据链路层的接口。

数据链路层就对应操作系统中的驱动程序。因为硬件的接口是非常张牙舞爪的,所以驱动程序对硬件接口进行封装和对操作系统提供服务。网络中的数据链路层同样是网卡驱动在管理网卡。

物理层就对应操作系统管理的硬件了,在网络中是网卡设备。

网络通信的本质就是在贯穿协议栈,同时也在贯穿操作系统。

  • 对于一台主机,它的操作系统内核实现了从传输层到物理层的内容;
  • 对于一台路由器,它实现了从网络层到物理层;
  • 对于一台交换机,它实现了从数据链路层到物理层;
  • 对于集线器,它只实现了物理层。

可以说,一台主机可以有路由器,交换机,集线器的功能;一个路由器可以有交换机和集线器的功能。

但是并不绝对. 很多交换机也实现了网络层的转发; 很多路由器也实现了部分传输层的内容(比如端口转发)。

三.封装,解包,分用

网络通信的过程,本质就是发送端逐层封装 、接收端逐层解包的过程。

  1. 几乎任何层的协议,都要提供一种能力,将报头和有效载荷分离的能力。
  2. 几乎任何层的协议,都要在报头中提供,决定将自己的有效载荷交付给上层的哪一个协议的能力。

四.IP协议的屏蔽作用

在跨子网传输时,我们要通过路由器进行路由选择,此时用到的是ip协议。在路由器中的ip协议这一层会将接收到的Mac帧报头被解包的数据,路由选择之后会再将数据链路的报头加上,如果以太网协议就加上以太网报头,如果是令牌环网就加上令牌环网协议报头。也就是IP协议屏蔽了底层网络的差异化,靠的就是工作在IP层的路由器。IP实现了全球主机的软件虚拟层,一切皆是IP报文!

五.IP地址 VS Mac地址

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

Mac地址,出局域网之后,原地址和目的地址都要重写 / 替换 ,让路由器重新封装数据链路报头

ipv4的IP地址4字节,ipv6的IP地址16字节。Mac地址6字节。

相关推荐
程与留8 小时前
05_Qt 核心模块概览——Qt Core、Gui、Widgets、Quick 的职责划分
c++·qt
dogstarhuang9 小时前
OpenAI GPT-5.6 降价后如何重算 API 账单?多模型路由与成本治理实战
服务器·网络·人工智能·大模型·api·ai应用开发·接口管理
树的枝9 小时前
【STM32】03.中断和EXTI外设
笔记·stm32·单片机·嵌入式硬件
苏宸啊9 小时前
linux网络编程udp服务器和客户端代码编写(echo版本和字典版本)
linux·网络
buhuizhiyuci9 小时前
【QT-百日筑基篇】修真世界摸爬滚打多年,终于黄天不负有心人,突破炼器中期——常用控件QWight的属性
开发语言·c++·qt·gui·图形化
Wang's Blog9 小时前
PostgreSQL笔记34:索引优化策略全景解析——从B-tree到HOT的核心原理与实践
数据库·笔记·postgresql
金字塔頂の蝸牛9 小时前
商务日语口语实用手册
笔记·学习笔记·日语·外语
HwJack2010 小时前
UIAbility 生命周期全链路:从冷启动到热启动的实战笔记
笔记·华为·harmonyos
九硕智慧建筑一体化厂家10 小时前
直流智能照明|全场景节能升级!打造安全低碳的智慧建筑光环境
运维·笔记·安全·智慧城市
奇树谦11 小时前
HDD 为什么适合顺序大文件读写:从 RAID 5 到 RAID 50 的原理与性能分析
linux·运维·网络