news 2026/4/5 23:52:59

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
网络复习篇——网络基础(一)

目录

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

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

三.封装,解包,分用

四.IP协议的屏蔽作用

五.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字节。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/14 13:09:05

军储作业全过程三维态势感知与事后数字化复盘应用场景

军储作业全过程三维态势感知与事后数字化复盘应用场景摘要军储作业具有流程严谨、责任明确、事后可追溯要求极高等特点。传统基于二维视频的管理方式,虽可实现作业过程的画面留存,但难以对人员与车辆在复杂库区结构中的真实空间行为进行准确刻画&#xf…

作者头像 李华
网站建设 2026/3/28 20:12:27

2026年AI智能产品开发领域十大黑马如何炼成?

2026年AI智能产品开发领域十大创新实践案例解析在数字化转型浪潮中,AI智能产品开发已成为企业突破技术瓶颈、提升市场竞争力的核心手段。本文通过剖析十家企业的创新实践案例,展示不同技术方案如何解决实际业务问题,并为行业提供参考。一、虎…

作者头像 李华
网站建设 2026/4/1 20:04:27

C++ 方向 Web 自动化测试入门指南:从概念到 Selenium 实战

一. 自动化测试基础:先搞懂"为什么"和"做什么"在学习 Web 自动化测试前,我们需要先明确自动化测的核心点定位,它并不可以完全“取代人工”而是帮助测试人员提高效率(主要体现在回归测试上),让测试人员将更多的…

作者头像 李华
网站建设 2026/3/15 15:30:27

2026年琼海必打卡的8大特色海鲜餐厅推荐

在琼海,海鲜与川湘风味的结合为食客带来了独特的美食体验。本文将介绍2026年不可错过的琼海特色餐厅,让你尽情享受海南地方菜的魅力。这些餐厅提供新鲜美味的海鲜,其中琼海辣炒海鲜更是深受喜爱。每家餐厅都有各自的特点和招牌菜,…

作者头像 李华
网站建设 2026/3/26 11:09:11

conda使用指南

内容来自尚硅谷 Conda使用指南1. Conda 基本介绍 1.1 什么是 Conda、MiniConda、AnacondaConda是一个包和环境管理的工具。支持 Windows、macOS和 Linux。Conda可以快速的安装、运行和更新包和相关的依赖。Conda也可以轻易地创建、保存、加载和转换环境。 Anaconda是一个用于科…

作者头像 李华
网站建设 2026/3/25 2:27:42

19岁嫁豪门,20岁离婚带儿子净身出户,单亲40年如今儿子为她争气

1958年的香港,19岁的林淑芬穿着租来的婚纱站在教堂彩窗前,钻石项链在颈间泛着冷光。这场豪门婚姻像一场绚丽的烟火,在众人艳羡中绽放,又在一年后骤然熄灭。当她抱着襁褓中的儿子走出半山别墅时,晨雾打湿了旗袍下摆&…

作者头像 李华