【linux网络(一)】初识网络, 理解四层网络模型

这篇具有很好参考价值的文章主要介绍了【linux网络(一)】初识网络, 理解四层网络模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

💓博主CSDN主页:杭电码农-NEO💓

⏩专栏分类:Linux从入门到精通⏪

🚚代码仓库:NEO的学习日记🚚

🌹关注我🫵带你学更多操作系统知识
  🔝🔝


【linux网络(一)】初识网络, 理解四层网络模型,Linux从入门到精通,linux,网络,php

1. 前言

本篇文章开始,会正式学习网络,网络编程的本质依然是使用系统调用,所以这里就不另外开辟专栏来讲解网络,而是直接将系统和网络放在一起,望大家理解!

本章重点:

本篇文章着重讲解网络的基本概念,和网络中的四层模型以及它们对应的协议,最后会带大家初步了解网络传输的基本流程,并且会给大家讲解IP地址和MAC地址的基本概念和区别,为后续学习打下基础


2. 初识网络

网络其实就是进程间通信的一种,跨网络通信是在不同主机上进行的(比如我在杭州要访问软件QQ,而QQ的服务器进程可能在深圳),而通信的复杂度是和距离成正比的.跨网络通信需要解决一些问题,比如:

  1. 如何处理在网络中获取的数据?
  2. 在网络中丢包了应该咋办?
  3. 怎样定位要访问的主机或要访问的进程?
  4. 现实生活中有很多路由器可以当网络的跳板,怎样知晓下一跳往哪儿走?

为了解决上面的一些问题,要制定协议
协议的本质就是一层软件层

而像大家听说过的HTTP,TCP/IP协议
就是在这种场景下诞生的

其实网络模型具体被分为了七层,叫做OSI七层模型,但是工程师发现,其实只用四层模型就能很好的解决问题,所以我们主要学习的也是四层网络模型(又称TCP/IP四层模型). 如果你对OSI七层模型感兴趣,可以阅读这篇文章: OSI七层模型

四层模型以及它们的协议:

  • 应用层(HTTP协议)
  • 传输层(TCP/UDP协议)
  • 网络层(IP协议)
  • 数据链路层(ARP协议)

【linux网络(一)】初识网络, 理解四层网络模型,Linux从入门到精通,linux,网络,php
物理层偏向硬件,所以后续不会讲解

拓展阅读:四层模型和七层模型的概念


3. 网络为什么需要分层?

先说结论,进行网络分层的原因:

  • 场景复杂,分层利于拆分复杂场景
  • 功能解耦,便于后续进行各种维护

综上所述,网络进行分层后,不同的层负责不同的功能,互相之间不会干扰,并且每一层都有自己的协议,虽然现在大多数都是使用TCP/IP协议,但是不能保证未来是否会推出更优的协议,所以为了未来的可维护性,进行分层也是很有必要的.除此之外,一旦在网络通信中出现了错误,分层后就能很好的定位错误出现在哪一层,进而改善一些组件

还有一点,网络编程使用的是系统调用.

  • 应用层对应shell,应用软件等
  • 传输层和网络层对应操作系统
  • 数据链路层对应的是驱动板块
  • 而物理层对应的是硬件

【linux网络(一)】初识网络, 理解四层网络模型,Linux从入门到精通,linux,网络,php


4. 网络传输的基本流程

首先我们需要明确下面的观点:

  1. 每一层都有自己的协议定制的方案
  2. 每一层都要有自己的协议报头(字段)
  3. 从上到下交付数据时,要添加报头
  4. 从下到上递交数据时,要去掉报头

有了上面的观念后,再来看看图解:

【linux网络(一)】初识网络, 理解四层网络模型,Linux从入门到精通,linux,网络,php

这个图比较抽象,但是可以看出一点,客户端和服务器的每一层使用的协议都是一样的,也就是说,在客户端的X层添加了协议报头的数据,在服务器的X层会使用同样的协议来拆解报头,用这种方法可以达到,数据在客户端的X层和在服务器的X层,看起来都是一样的.除此之外,数据在经过数据链路层后,可能会经过多个路由器才能到达对方服务器

具体的实例来理解传输过程:

【linux网络(一)】初识网络, 理解四层网络模型,Linux从入门到精通,linux,网络,php

上层数据向下传送时,每一层都有自己的协议,要想对方的同一层根据协议解析数据,就要加一个报头。类似于快递要贴上订单号给每一个快递员或驿站传递信息,收到快递后要把订单号去掉,收到的数据中,多出来的部分就是协议报头

【linux网络(一)】初识网络, 理解四层网络模型,Linux从入门到精通,linux,网络,php


5. 初识IP地址和MAC地址

认识IP地址:
IP协议有两个版本, IPv4和IPv6.
我们只讲IPv4,也是最常用的

  • IP地址是在IP协议中, 用来标识网络中不同主机的地址;
  • 对于IPv4来说, IP地址是一个4字节, 32位的整数;
  • 我们通常也使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255;

认识MAC地址:

  • MAC地址用来识别数据链路层中相连的节点;
  • 长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)
  • 在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址)

IP地址和MAC地址的区别:

IP地址标识的是从当前主机到目标主机的起点与终点.而MAC地址标识的是从当前主机到目标主机的路程中,下一跳要往哪儿跳?我们用唐僧取经的例子来说明,唐僧从东土大唐去西天取经,那么源IP地址就是东土大唐,目的IP地址就是西天.而去西天可能要经过车迟国,黑风岭,火焰山,女儿国等地方,假设下一站是火焰山,那么目的MAC地址就是火焰山


6. 总结

本篇文章着重讲解网络的基础知识,
意在为后面的网络学习打下基础文章来源地址https://www.toymoban.com/news/detail-843677.html


🔎 下期预告:套接字编程 🔍

到了这里,关于【linux网络(一)】初识网络, 理解四层网络模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

原文地址:https://blog.csdn.net/m0_61982936/article/details/137023204

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux从入门到精通 --- 1.初始Linux

    1.1 Linux的诞生 1991年由林纳斯 托瓦兹创立并发展至今称为服务器操作系统领域的核心系统。 1.2 Linux系统内核 Linux内核提供了系统的主要功能,甚至是开源免费的,任何人都可查看内核的源代码或是贡献源代码。 1.3 Linux系统发行版 内核无法被用户直接使用,需配合运用程序才

    2024年04月14日
    浏览(1)
  • 【Linux】初识网络

    目录 背景 协议 什么是协议 协议分层 OSI七层模型 TCP/IP模型 网络协议栈与 OS 的关系 网络传输 局域网中直接通信 数据的封装与分用 局域网通信原理 数据碰撞 跨路由器进行远端通信 IP的介绍 传输演示 🧊一开始,计算机都是一台台独立存在的,跨不同主机的业务处理都需要

    2024年02月05日
    浏览(3)
  • Linux初识网络基础

    目录 网络发展  认识“协议 ” 网络协议  OSI七层模型: TCP/IP五层(或四层)模型 网络传输基本流程 网络传输流程图: 数据包封装和封用   网络中的地址 认识IP地址: 认识MAC地址: 1.独立模式:各个计算机互相独立,各个电脑保存各自数据 2.网络互联:多态计算机连接在

    2024年02月14日
    浏览(10)
  • Linux->初识计算机网络

    目录 前言: 1 网络发展背景 2 协议 2.1 网络协议初识 2.2 协议分层 2.3 OSI、TCP/IP层状模型 2.4 协议和操作系统的关系 2.5 根据协议栈的通信 3 网络中的地址管理         本篇当中没有任何关于网络编程的讲解,全部是对网络的宏观理解,毕竟只有理解了网络实际的走向,后续学

    2024年02月16日
    浏览(10)
  • 【Linux从入门到精通】Linux常用基础指令(下)

      本篇文章接上篇文章(【Linux从入门到精通】Linux常用基础指令(上)、【Linux从入门到精通】Linux常用基础指令(中))进行详解。本章的指令相对没有那么常用,难度相对适中。同时也讲述了几个热键。希望能对你的理解有所帮助。  文章目录 一、grep指令 二、zip指令 三

    2024年02月02日
    浏览(11)
  • 【Linux从入门到精通】Linux常用基础指令(上)

      本篇文章会对Linux下的常用进行详细解释,并附加实例。通俗易懂,希望会对你有所帮助。根据内容量、内容的难易程度、内容的重要程度,分为上中下篇来讲解。  文章目录 一、什么是Linux的指令呢?  二、Linux下的常用指令 2、1 ls 指令 2、1、1 ls -a 2、1、2 ls -l 2、1、3

    2024年02月01日
    浏览(10)
  • 【Linux从入门到精通】Linux常用基础指令(中)

        本篇文章接上篇文章(【Linux从入门到精通】Linux常用基础指令(上))进行详解。本章的指令相对较为重要,使用频率较高,难度相对上篇文章较难,也较为复杂。希望能对你的理解有所帮助。  文章目录 一、mv 指令 1、1 剪切和重命名普通文件  1、2 剪切和重命名目录

    2024年02月02日
    浏览(10)
  • Linux从入门到精通 --- 2.基本命令入门

    2.1 Linux的目录结构 Linux的目录结构是一个树型结构,没有盘符概念,只有一个根目录/,所有文件都在它下面 2.1.1 路径描述方式 Linux系统中,路径之间的层级关系用:/来表示 Linux系统中,路径之间的层级关系用:来表示 2.2 Linux命令入门 命令行:Linux终端,是一种命令提示符

    2024年04月10日
    浏览(8)
  • Linux零基础快速入门到精通

    目录 一、操作系统概述   二、初始Linux Linux的诞生  ​编辑 Linux内核  Linux发行版   小结  三、虚拟机 认识虚拟机  虚拟化软件及安装 远程连接Linux系统  小结  扩展-虚拟机快照  四、Linux基础命令 查看命令帮助和手册(--help)  Linux的目录结构  Linux命令基础格式  ls命

    2024年02月13日
    浏览(23)
  • 『Linux从入门到精通』第 ③ 期 - Linux基本指令(二)

    目录 💐专栏导读 💐文章导读  🌷man指令 🌷cp指令 🌷mv指令 🌷tree指令  🌷echo指令 🌷more指令 🌷less指令(重要) 🌷head与tail指令 🌷date指令 🌺显示时间常用参数: 🌺设置时间常用参数: 🌷cal指令  🌷find whereis which指令 🌷grep指令 🌷zip/unzip指令 🌷tar指令  🌸作者

    2023年04月08日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包