• Linux网络编程-网络基础1


    一. TCP/IP五层模型

    应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等

    传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机

    网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层

    数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层

    物理层: 负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞线)、早期以太网采用的的同轴电缆、光纤, 现在的wififi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层

    一般认为: 一台主机, 它的操作系统内核实现了从传输层到物理层的内容;一台路由器, 它实现了从网络层到物理层;一台交换机, 它实现了从数据链路层到物理层;集线器, 它只实现了物理层;

    在这里插入图片描述

    二. 网络传输流程

    2.1 数据包封装和分用

    1. 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame)

    2. 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation),如下图

    3. 首部信息中包含了一些类似于首部有多长,载荷(payload)有多长, 上层协议是什么等信息

    4. 数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理,称为分用

    在这里插入图片描述

    2.2 传输

    2.2.1 同网段传输

    在这里插入图片描述

    2.2.2 跨网段传输

    在这里插入图片描述

    三. 网络中的地址管理

    3.1 IP地址

    1. IP地址是在IP协议中, 用来标识网络中不同主机的地址

    2. IPv4协议的IP地址是一个4字节, 32位的整数,IPv6协议的IP是一个16字节,128位的整数

    3. 我们通常使用 “点分十进制” 的字符串表示IPv4的IP地址, 例如 192.168.0.1,用点分割的每一个数字表示一个字节, 范围是 0 - 255

    4. Pv6地址通常分为8组,4个十六进制数为一组,每组之间用冒号分隔,例如1a2b:1a2b:fe21:1a2b:0000:0000:0000:0000

    3.2 MAC地址

    MAC地址用来识别数据链路层中相连的节点,长度为48位, 即6个字节。一般用16进制数字加上冒号的形式来表示,例如:08:00:27:03:fb:19 。MAC地址在网卡出厂时就确定了, 不能修改。

  • 相关阅读:
    03目标检测-传统方法与深度学习算法对比
    生活随笔:沉淀的重要性
    git checkout到新的分支之后原来未提交的代码找回
    Explore EP9164S HDMI2.0 1分4分配器
    电子器件系列52:达林顿晶体管阵列
    在Pytorch中调用RNN模型的小细节
    0043-python爬虫学习第二天:beautifulsoup库
    Python:对程序做性能分析及计时统计
    多目标水循环优化算法(Matlab代码实现)
    CUDA学习笔记(十二) CUDA库简介
  • 原文地址:https://blog.csdn.net/Yohe1937/article/details/125866328