0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux网络栈总体架构

麦辣鸡腿堡 来源:技术简说 作者:技术简说 2023-07-24 10:59 次阅读

网络栈总体架构

总体结构

网络栈指的是为了进行网络数据包的收发,由内核实现的一套函数集合。网络栈安装预先设置的一套规则对用户数据进行封装从而达到网络上主机之间数据交换的目的。

最初按照这种分层设计的思想,网络栈被分为了4层,从上到下依次为应用层、传输层、网络层、链路层,而且在每个层次都定义了数据的封装方式,随着网络协议的发展,四层分层架构满足不了新的需求,OSI七层网络栈出现,在原先的应用层进行了更细致的划分,将应用层划为:应用层、表示层、会话层。

以OSI七层模式为依据,学习Linux1.2内核网络栈实现中的文件对应关系:

图片

应用层:

该层定义了一套用户调用接口函数,即socket套接字接口函数,如socket、bind、accept等,这套接口函数由Linux操作系统的glicbc库提供,网络栈实现不涉及这套函数。

表示层、会话层:

相应的功能实现对于BSD Socket或INET Socket层。

传输层:

如常见的TCP、UDP协议,对于传输层的实现集中在TCP协议和UDP协议上

该层涉及的文件主要有:tcp.c udp.c igmp.c snmp.h

网络层:

数据包路由功能实现在网络层,这一层也是IP协议所在的层次,RAW套接字也划分在这一层,用户必须自己创建IP首部和传输层协议首部。

该层涉及的文件主要有:ip.c route.c ip_fw.c raw.c packet.c

链路层:

链路层实现是作为网络栈与底层硬件驱动的一个接口层存在的。

该层涉及的文件主要有:dev.c p8022.c panap.c p8023.c eth.c arp.c

“驱动层”:

OSI七层模式没有这一层,将驱动层序所在层次定义为“驱动层”,该层与链路层进行交互,完成数据包的收发公工作。

该层涉及的文件定义在dricers子目录下的一些网络设备的驱动程序。

物理层:

网络栈实现不涉及物理层

Linux网络栈层次命名

网络栈分层如下:BSD socket层、INET层、传输层(L4)、网络层(L3)、链路层(L2)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10991

    浏览量

    206742
  • 网络
    +关注

    关注

    14

    文章

    7251

    浏览量

    87447
收藏 人收藏

    评论

    相关推荐

    linux网络驱动

    目前正在学习linux下飞思卡尔imx6q_sabre的ARM A9开发板的网络驱动,学的云里雾里的,哪位高手帮忙指点一下,最好从代码的角度来说。上层用户发送数据通建立socket、经过协议、经过网卡发送到
    发表于 08-22 15:23

    嵌入式Linux系统开发学习路线

    等),同步与互斥对共享资源访问控制等重要知识,主要提升对Linux应用开发的理解和代码调试的能力。  四:Linux网络编程  计算机网络在嵌入式L
    发表于 09-21 10:09

    Linux基础

    、signal、信号量等),同步与互斥对共享资源访问控制等重要知识,主要提升对Linux应用开发的理解和代码调试的能力。  四:Linux网络编程  计算机网络在嵌入式
    发表于 08-03 09:46

    深入linux内核架构

    深入linux内核架构
    发表于 08-31 19:54

    嵌入式网络协议基础知识

    第2章 嵌入式网络协议基础知识本章教程为大家介绍嵌入式网络协议基础知识,本章先让大家有一个全面的认识,后面章节中会为大家逐一讲解用到的协议。基础知识整理自百度百科,wiki百科等。
    发表于 08-03 06:24

    RL-TCPnet网络协议的FreeRTOS版本移植方式

    第8章 RL-TCPnet网络协议移植(FreeRTOS)本章教程为大家讲解RL-TCPnet网络协议的FreeRTOS版本移植方式。目录第8章 RL-TCPnet
    发表于 08-11 08:25

    什么是嵌入式网络协议

    什么是嵌入式网络协议
    发表于 10-13 07:33

    什么是嵌入式网络协议

    什么是嵌入式网络协议
    发表于 10-13 08:42

    主流的小型嵌入式网络协议

    最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=95243第1章 当前主流的小型嵌入式网络协议这几年物联网发展迅猛,各种
    发表于 12-23 06:18

    介绍RL-TCPnet网络协议

    第4章 RL-TCPnet网络协议简介本章节介绍RL-TCPnet网络协议,让大家对 RL-TCPnet有一个整体的了解,RL-TCPnet是一款小型
    发表于 03-02 06:30

    用一个实例展示一下Linux内核帧的入和退过程

    1、Linux内核调试方法总结之帧  帧  帧和指针可以说是C语言的精髓。帧是一种特殊的数据结构,在C语言函数调用时,
    发表于 11-04 15:47

    LINUX音频驱动架构相关资料分享

    1、LINUX音频驱动架构  LINUX下音频驱动开发,要遵循标准的ALSA架构,  下面分别从硬件架构、软件
    发表于 11-04 15:57

    网络总体规划设计

    网络总体规划设计 网络工程设计的原则   1.网络建设的核心原则——实用    1) 网络的基本功能  ● 文件共享。● 文件传输
    发表于 11-06 08:48 2376次阅读

    【嵌入式Linux(基础篇)】从标准Linux到嵌入式Linux + 嵌入式Linux知识架构

    主要介绍了GNU/Linux的诞生,标准Linux是如何应用在嵌入式系统中的,最后讲述了嵌入式Linux知识架构
    发表于 11-02 09:51 33次下载
    【嵌入式<b class='flag-5'>Linux</b>(基础篇)】从标准<b class='flag-5'>Linux</b>到嵌入式<b class='flag-5'>Linux</b> + 嵌入式<b class='flag-5'>Linux</b>知识<b class='flag-5'>架构</b>

    6G总体愿景、技术趋势、网络架构研究报告

    世界各国不仅把6G作为构筑未来数字经济与社会发展的重要基石,也将其视为国家间前沿科技竞争的制高点。全球主要国家的多。个研究机构和联盟组织相继发布了6G总体愿景、技术趋势、网络架构等方面的白皮书和研究报告,陈述各国发展6G的宏伟愿
    发表于 12-19 11:23 239次阅读
    6G<b class='flag-5'>总体</b>愿景、技术趋势、<b class='flag-5'>网络</b><b class='flag-5'>架构</b>研究报告