Linux|Linux--网络基础


网络基础

  • OSI
  • TCP/IP模型
  • 网络传输的基本流程
    • 数据包封装和分用
  • 网络中的地址管理

Linux|Linux--网络基础
文章图片

OSI OSI(开放系统互联)七层网络模型结构称为开放式系统互联参考模型,是一个逻辑上的定义和规范;
Linux|Linux--网络基础
文章图片

  • OSI七层模型是一种框架性的设计方法,其最主要的功能就是帮助不同类型的主机实现数据传输
  • 它的最大优点是将服务器、接口、和协议这三个概念明确的区分开来,概念清楚,理论也比较完整,通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯
TCP/IP模型 【Linux|Linux--网络基础】TCP/IP是一组协议的代名词,它还包括了许多协议,组成了TCP/IP协议簇
TCP/IP通讯协议采用5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求
  • 物理层:主要负责光/电信号的传递方式,eg:以太网通用的网线(双绞线)、同轴电缆、光纤、wifi无线网使用的电磁波等。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器工作在物理层
  • 数据链路层:负责设备之间的数据帧的传送和识别。eg:网卡设备驱动、帧同步(从网线上检测到信号算作新帧的开始)、冲突检测(检测到冲突就自动重发)、数据差错校验等工作。以太网(局域网通信规范)、令牌环网、无线LAN等标准、交换机在数据链路层工作
  • 网络层:负责地址管理和路由选择。eg:在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。路由器工作在网络层
  • 传输层:负责两台主机之间的数据传输。eg:传输控制协议(TCP),能够确保数据可靠的从源主机发送到目标主机
  • 应用层:负责应用程序之间的沟通,eg:电子邮件传输(SMTP),文件传输协议(FTP),网络远程访问协议(Telnet)等。网络编程主要就是针对的应用层
物理层考虑的比较少,因此可以以称为TCP/IP四层模型
Linux|Linux--网络基础
文章图片

Linux|Linux--网络基础
文章图片

网络传输的基本流程 Linux|Linux--网络基础
文章图片

  • 对于一台主机,它的操作系统内核实现了从传输层到物理层的内容
  • 对于一台路由器,它实现了从网络层到物理层
  • 对于一台交换机,它实现了从数据链路层到物理层
查看当前主机对应的网卡信息
ifconfig

数据包封装和分用
  • 不同的协议层对数据包有不同的称号,在传输层叫做段,在网络层叫做数据报,在链路层叫做帧
  • 应用层数据通过协议栈发送到网络上时,每层协议都要加上一个数据首部,称为封装。
  • 首部信息中包含了一些类似于首部有多长,载荷有多长,上层协议是什么等信息
  • 数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中的“上层协议字段”将数据交给对应的上层协议处理
    Linux|Linux--网络基础
    文章图片
网络中的地址管理 Linux|Linux--网络基础
文章图片

Linux|Linux--网络基础
文章图片

Linux|Linux--网络基础
文章图片

MAC:
  • MA地址用来识别数据链路层中的相连节点
  • 长度为48位(6字节),一般用16进制数字加上冒号的形式来表示
  • 在网卡出场时就确定了,不能修改,MAC地址通常是唯一的(虚拟地址中的AC地址不是真实的MAC地址)
    Linux|Linux--网络基础
    文章图片

    推荐阅读