Linux网络_从系统到网络(网络协议栈分层与功能,认识协议,OSI七层模型与TCPIP四层模型,网络通信流程(局域网,跨网络),MAC地址,IP地址)

article/2025/9/19 11:23:08

文章目录

    • 1.网络在体系结构的位置与网络协议栈的层状结构
    • 2.协议栈各层的功能
    • 3.协议
    • 4.OSI七层模型与TcpIp四层模型
    • 5.网络通信的流程
    • 局域网通信流程(以太网)
    • MAC地址
    • 跨网络通信
    • IP地址

1.网络在体系结构的位置与网络协议栈的层状结构

在这里插入图片描述

2.协议栈各层的功能

在这里插入图片描述

协议栈分层设计达到了解耦目的,层与层之间只有接口之间的关系,提高了代码之间的可维护性与拓展性。同一层之间使用的协议相同,达到了跨设备的作用

3.协议

协议本质是一种约定,这种约定用计算机语言表达出。约定本身要可以通过某种数据标记出来,通信双方也可以识别。

eg:
在这里插入图片描述

4.OSI七层模型与TcpIp四层模型

开始涉及网络分层模型为OSI七层模型,但在实现的时候,因为其过于繁琐,最后实现简化为四层模型。
OSI七层模型为:

在这里插入图片描述
新增每层之间的作用为:

  • 表示层:双方通信时,设备固有数据格式和网络标准数据格式的转化
  • 会话层:建立与断开通信连接

OSI七层模型与TCPIP四层模型之间的关系为:
TCPIP四层协议中将会话层,表示层,应用层三层合并到应用层上

5.网络通信的流程

局域网通信流程(以太网)

在同一个局域网中,两台主机可以直接通信。

首先数据从主机A从应用层开始,自顶向下数据封包

经过每一层添加对应的报头
在这里插入图片描述
报头也是数据,一般是通过位断或结构体构成的。
数据封包:
用户的数据在拷贝到操作系统的缓冲区时,将报头添加到用户数据头部。每经过TCPIP协议一层,就向头部添加一层报头。

当主机B收到数据时要自底向上解包分用,最晚封装报头一定在报文的最外层
在这里插入图片描述

在识别报文时,接受方将报文分成当前层的报头以及有效载荷两部分
在这里插入图片描述
在对应层时只关心对应层的报头。
不同层的报头可能是下一层的有效载荷

当前层如何将报文分为当前层报头+当前层有效载荷?

  1. 定长报头:每一层报头的长度固定,系统直接截取固定长度就可以将报文分成两部分。
  2. 自定义描述字段:在报头结构体中前八个字节保存了报头大小以及有效载荷大小。系统拿到报文时,只要提取前两个整数,就可以找到报头大小和有效载荷大小。

每个协议报文的拆分都为这两种方法(解包)

有效载荷传递给上层那个具体协议
每个协议结构体中包含一个变量,这个变量表示了当前层的有效载荷应该给上层的那个协议。

所有协议中包含一个有效字段要传递给上层的那个协议(分用)

局域网通信流程如下图:
在这里插入图片描述
数据在主机A封包后再以太网传输到主机B,主机B经过解包分用将数据传递给应用层

数据在以太网中的传输过程为:

在主机A向主机B传递报文时,局域网上所有的主机底层都可以收到报文数据,只不过只有主机B对报文进行了解析,其他主机直接丢弃了报文。
在这里插入图片描述
实际局域网通信过程中不仅仅只有主机A与主机B通信,局域网上所有主机都有可能互相通信

局域网特性要求任何时候只能一台机器发送信号,A与B发信息时可能此时D向C发信息,这时就形成了局域网碰撞现象。

如果网络中的数据发生碰撞,主机可以检测到。(主机A发送信息与接受的信息不同,说明发生了碰撞)

当发生碰撞时,所有的主机进行碰撞避免算法,来避免碰撞。

注意:局域网发生碰撞的概率很低,网络通信速度与计算机处理速度很快。

MAC地址

主机A向主机B发消息,B如何识别消息发送给自己?

当前计算机中,每一台计算机上都至少有一张网卡,而每一张网卡都内置了48位序列号,这个序列号是全球唯一的。

局域网发送的数据称为MAC数据帧
在这里插入图片描述
数据帧上有dst MAC地址,当MAC数据帧在局域网上传输时,每一台主机与dst MAC地址对比,如果匹配上,则处理数据。匹配不上则丢弃数据。(单项发送)

注意:
如果dst MAC地址设置为全F,这个数据帧所有主机都会处理,称为广播发送信息

跨网络通信

主机A与主机2通信
在这里插入图片描述

路由器横跨多个网络,且每一个局域网都认为路由器时局域网上的一台主机。
主机A,B,C可以直接与路由器通信,主机1,2,3同理。

如果两个局域网都是通过以太网通信比较简单,但如果两个局域网一个用以太网,另一个用令牌环通信,就存在在数据链路层使用的协议不同,添加的网络报头不同,无法直接通信的现象。

注意:

  1. 以太网通过碰撞通信,令牌环是指拿到令牌的主机可以向网络中发送信息。
  2. 虽然在数据链路层所用的协议不同,但在其他层(传输层,网络层)协议相同

路由器结构:

在这里插入图片描述

IP地址

IP地址:(公网IP)用来标识全网唯一台主机
IPV4:32位比特位标记IP地址
IPV6:128位比特位标记IP地址

以太网数据帧发送给路由器,路由器解包到网络层,路由器通过查找路由表确定要发给那个局域网那台主机。数据又通过路由器网络层的封包到路由器的数据链路层,此时添加的报头是令牌环报头。(相当于换了以太网报头)

在这里插入图片描述

在数据链路层以上主机A与主机2的每层报头相同。此时就达到主机A通信主机2。

综上:通过IP地址虚拟化了所有底层网络的差异,底层差异有路由器解决。只要在网络层添加IP协议,底层网络集体实现不用考虑,所以现在的主流网络又称为IP网络。

这点与Linux进程虚拟地址空间,和Linux一切皆文件类型。


http://chatgpt.dhexx.cn/article/Vfy8H80J.shtml

相关文章

TCP/IP五层(或四层)模型

图解TCP/IP协议 基本概念 1、TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。 建立起一个TCP连接需要经过“三…

matlab怎么画两个自变量的图_tcpip四层模型怎么画?画模型图的好用软件推荐

tcpip四层模型就是一个将osi参考模型的会话层和表示层合并到应用层,数据链路层和物理层合并为链路层后的结果。tcpip四层模型包含应用层、运输层、网络层和链路层。tcpip四层模型的协议功能包括数据的发送、与硬件的交互、消息路由规则、格式定义、错误验证。 tcpip…

TCP/IP四层模型与OSI七层参考模型(网络协议)

TCP/IP四层模型与OSI七层参考模型 一. OSI七层参考模型①. 物理层②. 数据链路层③. 网络层④. 传输层⑤. 会话层⑥. 表示层⑦. 应用层 二. TCP/IP模型①. 物理层②. 数据链路层---网络协议③. 网络层---网络协议④. 传输层---网络协议⑤. 应用层---网络协议 三 .TCP/IP四层模型…

网络分层(OSI7层模型和TCP/IP四层模型)

1 OSI七层模型 1.1 物理层 主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模…

TCPIP四层模型和OSI七层模型对应表

转载于:https://www.cnblogs.com/Pual623548198/p/7084421.html

计算机网络--TCP/IP四层模型

TCP/IP四层模型 在了解TCP/IP四层模型前,我们先来了解一下OSI七层结构。 OSI七层模型 虽然OSI七层模型划分的很完美,但是在实际应用当中有一些层的工作是重复的,所以出现了更贴近实际的TCP/IP四层模型。TCP/IP四层模型其实也就是将一些出现重复工作的层进行合并。比如将数…

计算机网络-OSI七层协议模型、TCPIP四层模型和五层协议体系结构之间的关系各层的作用

文章目录 一、结构二、对应的协议三、各层的作用1、物理层2、数据链路层3、网络层4、运输层5、会话层6、表示层7、应用层 一、结构 二、对应的协议 三、各层的作用 1、物理层 主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。…

TCPIP四层协议

TCP/IP四层协议 在说TCP/IP四层协议之前,就不得不说OSI七层模型 OSI七层模型:自底向上依次是物理层,数据链路层,网络层,传输层,会话层,表示层,应用层 TCP/IP体系结构的优点&#x…

TCP/IP协议四层模型

TCP(传输控制协议)/IP(网际协议) 简介 TCP/IP协议是一系列网络协议的总和;包括:TCP,IP,UDP,ARP等,这些被称为子协议。在这些协议中,最重要、最著名…

深入理解网络通信协议一之TCPIP四层模型

快速理解网络通信协议 5.1五层模型 物理层:把主机连接起来的物理手段,作用是负责传送01电信号 链路层:确定物理层上01信号的分组方式;一组电信号称为帧,一个帧分成两部分:标头(head&#xff0…

什么是TCP/IP?-四张图解释TCP/IP四层协议模型

什么是四层模型 第一层:应用层,主要有负责web浏览器的HTTP协议, 文件传输的FTP协议,负责电子邮件的SMTP协议,负责域名系统的DNS等。 第二层:传输层,主要是有可靠传输的TCP协议,特别高效的UDP协议。主要负责传输应用层的数据包。 第三层:网络层,主要是IP协议。主要…

TCP/IP四层模型

TCP/IP网络模型适用于不同设备上进程间的通信,共分为四层分,从上到下分别是应用层、传输层、网络层、网络接口层 应用层(Application Layer) 应用层是最上层的,我们能直接接触到的层,我们日常所使用的软件…

互联网基石:TCP/IP 四层模型,由浅入深直击原理!

前言 TCP/IP 是迄今为止最常用的网络互联协议套件,在全球互联网运营方面发挥了巨大作用,可以这样说 TCP/IP 在互联网世界无处不在! TCP/IP 最初由 DARPA(美国国防高级研究计划局)的两位科学家于 1970 年代开发&#x…

「网络基础」TCP/IP协议4层模型,一分钟了解下

一、TCP/IP四层模型 1、网络接口层 2、互联网层 3、传输层 4、应用层 TCP/IP和OSI七层对应关系: OSI&TCP IP 应用层协议对应关系: 【了解】Dynamic Host Configuration Protocol (DHCP)/BootP(Bootstrap Protocol)动态主机配置协议(DHCP)服务器…

maven快速打包

maven快速打包 你是否打个包需要很长时间。如:15-20分钟。那可能是你的操作方式有问题。 慢速的打包方式: 每次都clean一下后,再重新打包。 我之前也是这样做的,每次打包都需要10分钟。 正确的快速打包方式: 不clea…

maven打包指定jdk的版本

文章目录 问题 问题 今天遇到个问题,项目中新写了一个接口,其中用到了lambda表达式,本地跑是没问题的,但提交到gitLab上,自动打包部署时却报错了(这是其他同事配置的),报错信息如下: 可以看出…

IDEA使用maven进行打包详细记录

前言 IDEA打包有两种方式&#xff1a; 1.build打包 2.maven打包 一开始用第一种方式build打包后运行报错&#xff0c;然后用第二种打包后运行成功。 特此记录一下&#xff0c;用maven进行打包&#xff01; 一、配置pom.xml文件 <build><plugins><plugin>…

MAVEN工具篇——maven打包跳过测试

使用Maven打包的时候&#xff0c;可能会因为单元测试打包失败&#xff0c;这时候就需要跳过单元测试。 Maven跳过单元测试主要可以分为三种方法。 一、命令行方式跳过测试 我们可以用两种命令来跳过测试 mvn clean install -DskipTestsmvn clean install -Dmaven.test.skiptr…

idea中Maven打包

1.环境依赖 jdk maven maven打包插件引入 1.1 maven打包&#xff0c;首先在pom文件中加上build属性&#xff0c;和dependencies是同级的&#xff1a; <build> <!--打包出来的文件名,可以不填写&#xff0c;有默认值--> <finalName>Test</fin…

maven打包时, 资源文件没有被打包进来的问题

问题起因 我们系统使用Mybatis作为持久层框架&#xff0c;这里不详细描述Mybatis框架的使用方法&#xff0c;我们讲述三种加载mapper的方式总结&#xff1a; <mapper resource"" />加载普通的xml文件&#xff0c;传入xml的相对路径(相对于类路径)<mapper c…