【计网】TCP/IP四层模型(一)

OSI七层模型

在这里插入图片描述
OSI(Open Systems Interconnection)七层模型是国际标准化组织(ISO)提出的网络通信框架,用于标准化不同厂商设备之间的通信流程。

  1. 物理层(Physical Layer)​​
    ​​作用​​:传输原始比特流(0和1),定义物理介质(电缆、光纤、无线)的电气、机械特性(如电压、接口形状)。
    ​​关键协议/设备​​:网线、光纤、集线器(Hub)。 ​​通俗比喻​​:相当于“公路”本身,负责车辆(数据)的物理运输。

  2. 数据链路层(Data Link Layer)​​ ​​作用​​: 将比特流组织成​​帧(Frame)​​,进行差错检测(如CRC校验)。
    通过MAC地址实现同一局域网内设备的直接通信(如交换机转发)。
    ​​关键协议/设备​​:以太网(Ethernet)、MAC地址、交换机(Switch)。
    ​​通俗比喻​​:像“邮递员”,在同一个社区(局域网)内根据门牌号(MAC地址)精准投递信件(数据帧)。

  3. 网络层(Network Layer)​​
    ​​作用​​:
    通过​​IP地址​​实现不同网络间的路由选择(如路由器跨网转发)。
    解决拥塞控制、分组拆分与重组。
    ​​关键协议/设备​​:IP协议、路由器(Router)、ICMP(Ping)。
    ​​通俗比喻​​:像“GPS导航系统”,规划跨城市(跨网络)的最佳路径(路由),确保包裹(IP数据包)到达目标城市。

  4. 传输层(Transport Layer)​​ ​​作用​​:
    提供端到端(应用程序到应用程序)的可靠传输(如TCP)或高效传输(如UDP)。
    通过​​端口号​​区分不同服务(如80端口对应HTTP)。 ​​关键协议​​:TCP(可靠传输)、UDP(快速传输)。
    ​​通俗比喻​​:像“快递公司”,TCP是顺丰(保证包裹不丢失),UDP是普通邮政(可能丢件但速度快)。

  5. 会话层(Session Layer)​​ ​​作用​​: 建立、管理、终止应用程序之间的会话(如断点续传、身份验证)。
    解决“谁可以通信”和“如何同步通信”问题。 ​​关键协议​​:RPC(远程过程调用)、SSH会话。
    ​​通俗比喻​​:像“电话秘书”,负责拨通电话(建立会话)并在通话结束后挂断(终止会话)。

  6. 表示层(Presentation Layer)​​ ​​作用​​: 数据格式转换(如加密/解密、压缩/解压、字符编码转换)。
    确保发送方和接收方“说同一种语言”。 ​​关键协议​​:SSL/TLS(加密)、JPEG/MPEG(多媒体编码)。
    ​​通俗比喻​​:像“翻译官”,将中文(发送方数据格式)翻译成英文(接收方可读格式)。

  7. 应用层(Application Layer)​​ ​​作用​​:直接面向用户提供网络服务(如网页浏览、邮件发送)。
    ​​关键协议​​:HTTP(网页)、FTP(文件传输)、SMTP(邮件)。
    ​​通俗比喻​​:像“手机APP”,用户直接操作微信(应用层)发送消息,无需关心底层如何传输。

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

OSI七层模型理论完整,但在实际中并未被完全采用,而是将其简化为了TCP/IP四层模型,降低了复杂性,减少了冗余,应用更为广泛。
TCP/IP四层模型:

  • 网络接口层(物理+数据链路)
  • 网络层(IP)
  • 传输层(TCP/UDP)
  • 应用层(会话+表示+应用)
    TCP/IP五层模型:
  • 物理层(硬件)
  • 数据链路层(mac)
  • 网络层(IP)
  • 传输层(TCP/UDP)
  • 应用层(会话+表示+应用)

在这里插入图片描述
在这里插入图片描述

为什么要有TCP/IP协议

TCP/IP协议是互联网的基础通信协议,它的存在解决了​​不同设备、不同网络之间的互联互通问题​​。

  • 在早期互联网中,计算机是由不同厂商各种使用自己的通信协议来进行通信,不同计算机之间不能实现互联互通,而TCP/IP定义了一套完整的通信协议,就想你和朋友之间有一个暗号一样,就算没有互相看见彼此,也能通过暗号识别出对方,而TCP/IP也是这样,定义了一套完整的通信协议,屏蔽了底层差异,只要能够支持TCP/IP的计算机就能够进行通信。
  • 随着两台主机之间距离变远,如何保证数据传输过程不会发生丢失,如何保证数据准确传输到对方主机上,如何保证对方主机能够识别出我发送的消息等一系列问题出现,为了解决这些问题,就出现了TCP/IP协议,所以协议本质上是一种解决问题的方案。

网络传输基本流程

局域网通信

为了实现两台主机在同一个局域网之间能够通信,那就要保证,主机之间的唯一性,而 MAC地址 就是用来标识主机之间唯一性的。

MAC地址
  • MAC用来识别数据链路层中相连的节点
  • 长度为 48 位,一般用16进制加上冒号的形式来标识,(例如:08:00:27:03:fb:19),在电脑上命令窗口输入 ipconfig /all就可以查看到自己主机的MAC地址
  • MAC地址在网卡出厂时候就已经设定,不能修改,通常是唯一的(虚拟机中的MAC地址是虚拟的MAC地址,可能会冲突,有些网卡也支持用户自定义MAC地址)。
局域网通信
早期局域网通信过程
  • 在以太网中,同一时刻只允许一台机器向网络中发送消息
  • 如果有多台主机同时发送消息,就会发生数据碰撞
  • 所有发送数据的主机都需要进行碰撞检测和碰撞避免
  • 没有交换机的情况下,一个以太网就是一个碰撞域
  • 早期局域网通信,没有交换机的情况下,主机发送消息给其他主机是通过广播的形式发送的,每台主机都能收到消息
  • 主机确认收到的是否是发给自己的是通过确认目标MAC地址是否是自己
现代局域网通信
  • 现代局域网通信每台主机独立交换机端口,相当于每台主机都有一个专用的电话线,不会发送消息碰撞。
局域网通信过程(图解)

在这里插入图片描述
当我们发送你好的时候,需要经过TCP/IP四层模型,每经过一层都需要进行封装报头,在传输给另一台主机的时候,另一台主机就需要对封装的报文进行解包和分用,传输给上层
在这里插入图片描述

报文
  • 报头对应协议层的结构体字段
  • 除去报头,剩下的就叫做有效载荷
  • 报文 = 报头 + 有效载荷
数据包封装过程

当数据从应用层向下传递时,每一层都会添加自己的头部(Header),形成新的数据单元:

  • ​​应用层​​:生成原始数据(如HTTP请求)。 ​​
  • 传输层​​:添加 ​​TCP/UDP头​​ → 形成​​段(Segment)或数据报(Datagram)​​。
  • ​​网络层​​:添加 ​​IP头​​ → 形成 ​​数据包(Packet)​​。
  • ​​数据链路层​​:添加 ​​MAC头 + CRC校验​​ → 形成 ​​帧(Frame)​​。
  • 物理层​​:转换为 ​​比特流(Bit Stream)​​ 发送到网络。
    在这里插入图片描述

不同协议层对数据包有不同的称呼:

  • 物理层:比特流
  • 数据链路层: ​​帧(Frame)
  • 网络层:数据包(Packet) 或 ​​IP数据报(IP Datagram)​
  • 传输层:TCP(段(Segment))和 UDP(数据报(Datagram))
  • 应用层:​​消息(Message)​​ 或 ​​数据流(Data Stream)​
数据分用的过程

在这里插入图片描述

跨局域网传输(广域网传输)

IP地址

IP地址有两个版本IPV4和IPV6
IPv4 vs IPv6 特性对比

特性IPv4IPv6
地址长度32位(4字节)128位(16字节)
表示形式点分十进制(如 192.168.1.1冒号分十六进制(如 2001:0db8:85a3::8a2e:0370:7334
地址总数约43亿(2³²)约3.4×10³⁸(2¹²⁸)
分块大小每段8位(0-255)每段16位(0-FFFF)
地址类型单播、组播、广播单播、组播、任播(取消广播)
报文头大小20-60字节(可变)固定40字节
NAT必需(地址不足)可选(地址充足)

关键区别说明

  1. 地址空间

    • IPv4仅支持约43亿地址,早已耗尽(依赖NAT缓解)
    • IPv6地址数量足够为地球每粒沙子分配一个IP
  2. 地址表示

    • IPv4使用点分十进制(4段,每段0-255)
    • IPv6使用冒号分十六进制(8段,每段0-FFFF),支持压缩写法(::替换连续全零段)
  3. 性能优化

    • IPv6固定40字节报文头,去除了校验和等字段
    • 取消广播,改进组播和任播支持
    • 原生支持移动IP和QoS标记
网络通信过程(图解)

在这里插入图片描述
在这里插入图片描述
网络通信过程中IP地址和MAC地址区别:

  • 源IP地址和目的IP地址在整个通信过程中一直不变。
  • 源MAC地址和目的MAC地址在整个通信过程中一直变。
  • MAC地址用于局域网中通信,IP地址用于广域网中通信
端口号

端口号是传输层协议的内容

  • 端口号是一个2字节16位的整数
  • 端口号用来标识主机上的唯一进程
  • IP地址 + 端口 用来标识唯一主机上的唯一进程
  • 一个端口号只能被一个进程占用
端口号范围
  • 0 - 1023: 知名端口号, HTTP(80), FTP(20和21), SSH(22) 等这些广为使用的应用层协议, 他们的
    端口号都是固定的
  • 1024 - 65535: 操作系统动态分配的端口号. 客户端程序的端口号, 就是由操作
    系统从这个范围分配的
    (一个进程可以绑定多个端口号,但一个端口号只能被一个进程绑定)
端口号和进程ID

标识唯一进程可以用进程的pid来标识,这里为什么还要用到端口号呢,那是为了解耦,防止网络编程和系统进程管理强耦合。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/48998.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自监督学习(Self-supervised Learning)李宏毅

目录 Self-supervised Learning简介: BERT : How to use BERT case1:sequence to class 语言积极性OR消极性判断 case2:sequence to sequence句子中的词语词性标注 case3:sequence2 to class两个句子是不是一个为前提一个为…

DeepSeek实战--微调

1.为什么是微调 ? 微调LLM(Fine-tuning Large Language Models) 是指基于预训练好的大型语言模型(如GPT、LLaMA、PaLM等),通过特定领域或任务的数据进一步训练,使其适应具体需求的过程。它是将…

蓝桥杯FPGA赛道第二次模拟题代码

一、顶层文件 module test( input wire sys_clk, input wire sys_rst, input wire [3:0]key_in, output reg [7:0]led,output wire scl, inout wire sda,//i2c的信号output wire [7:0]sel, output wire [7:0]seg//数码管的驱动 );wire [23:0] data ; reg [31:0] dsp_dat…

R 语言机器学习:为遥感数据处理开启新视角

技术点目录 基础理论、机器学习与数据准备建模与空间预测实践案例与项目了解更多 ——————————————————————————————————————————— 前言综述 在当今科技快速发展的时代,遥感技术为生态学研究提供了海量的数据资源&#xf…

AI与脑机接口:人机融合的终极形态?

AI与脑机接口:人机融合的终极形态? 系统化学习人工智能网站(收藏):https://www.captainbed.cn/flu 文章目录 AI与脑机接口:人机融合的终极形态?摘要引言技术路线对比1. 信号采集:侵…

20250508在WIN10下使用移远的4G模块EC200A-CN直接上网

1、在WIN10/11下安装驱动程序:Quectel_Windows_USB_DriverA_Customer_V1.1.13.zip 2、使用移远的专用串口工具:QCOM_V1.8.2.7z QCOM_V1.8.2_win64.exe 3、配置串口UART42/COM42【移远会自动生成连续三个串口,最小的那一个】 AT命令&#xf…

南京大学OpenHarmony技术俱乐部正式揭牌 仓颉编程语言引领生态创新

2025年4月24日,由OpenAtom OpenHarmony(以下简称“OpenHarmony”)项目群技术指导委员会与南京大学软件学院共同举办的“南京大学OpenHarmony技术俱乐部成立大会暨基础软件与生态应用论坛”在南京大学仙林校区召开。 大会聚焦国产自主编程语言…

中小企业设备预测性维护:从技术原理到中讯烛龙实践落地指南

在工业 4.0 与智能制造浪潮的推动下,中小企业正面临设备管理模式的深刻变革。传统的事后维修与预防性维护策略,因缺乏数据驱动与智能决策能力,已难以满足企业降本增效的核心诉求。据 Gartner 统计,非计划停机导致的生产损失平均每…

服务器数据恢复—硬盘坏道导致EqualLogic存储不可用的数据恢复

服务器存储数据恢复环境&故障: 一台EqualLogic某型号存储中有一组由16块SAS硬盘组建的RAID5阵列。上层采用VMFS文件系统,存放虚拟机文件,上层一共分了4个卷。 磁盘故障导致存储不可用,且设备已经过保。 服务器存储数据恢复过程…

STM32的SysTick

SysTick介绍 定义:Systick,即滴答定时器,是内核中的一个特殊定时器,用于提供系统级的定时服务。该定时器是一个24位的递减计数器,具有自动重载值寄存器的功能。当计数器到达自动重载值时,它会自动重新加载…

电子电气架构 --- 如何有助于提安全性并减少事故

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…

跨浏览器自动化测试的智能生成方法

一、背景与挑战:跨浏览器测试为什么“难”? 在现代Web应用开发中,跨浏览器兼容性是用户体验的底线保障。面对Chrome、Firefox、Safari、Edge乃至IE、移动浏览器等多种运行环境,开发者与测试人员常面临: 相同DOM在不同…

小程序与快应用:中国移动互联网的渐进式革命——卓伊凡的技术演进观

小程序与快应用:中国移动互联网的渐进式革命——卓伊凡的技术演进观 在知乎看到很多:“懂王”发布的要把内行笑疯了的评论,卓伊凡必须怼一下,真印证那句话,无知者无畏 一、Web与小程序的技术本质差异 1.1 浏览器渲染…

抛物线法(二次插值法)

抛物线法简介 抛物线法(Quadratic Interpolation Method)是一种用于一维单峰函数极值搜索的经典优化方法。该方法通过在区间内选取三个不同的点,拟合一条二次抛物线,并求取这条抛物线的极值点作为新的迭代点,从而逐步…

记录一次华为魔改 fusionlnsight和ai问答的狗血故事

需求 需要通过客户端连接 fusionlnsight 平台,平台开启了高可用和 kerberos 认证 。现在需要连接时不使用高可用连接,也就是不使用 zookeeper,适用ip:port 直连。 踩坑记录 尝试使用 平台上面的主节点的ip10000默认端口连接,连…

【杂谈】Godot 2D游戏窗口设置

如切如磋,如琢如磨。 目录 一、引言二、设置(一)基本尺寸(二)拉伸(三)手持设备朝向(四)​​窗口模式​​ 一、引言 在开发2D游戏时,​​窗口尺寸的设定是游戏…

mac 使用 Docker 安装向量数据库Milvus独立版的保姆级别教程

Milvus 特点:开源的云原生向量数据库,支持多种索引类型和GPU加速,能够在亿级向量规模下实现低延迟高吞吐。具有灵活的部署选项和强大的社区支持。 适用场景:适合处理超大规模数据和高性能需求的应用,如图像搜索、推荐…

(14)Element Plus项目综合案例

本系列教程目录:Vue3Element Plus全套学习笔记-目录大纲 文章目录 第3章 综合案例3.1 搭建项目3.1.1 创建Vite工程3.1.2 配置路由 3.2 登录模块页面3.2.1 注册页面3.2.2 登录页面3.2.3 忘记密码页面 3.3 导航设置3.3.1 头部3.3.2 侧边栏与底部1)头像部分…

基于腾讯云MCP广场的AI自动化实践:爬取小红书热门话题

基于腾讯云MCP广场的AI自动化实践:爬取小红书热门话题 我正在参加Trae「超级体验官」创意实践征文,本文所使用的 Trae 免费下载链接:www.trae.com.cn/?utm_source… 🔎 背景 在人工智能快速发展的时代,AI技术不仅重…

C++从入门到实战(十四)初识STL与STL简介

C从入门到实战(十四)初识STL与STL简介 前言一、什么是 STL?二、STL 的版本三、STL六大组件(目前了解即可,后面会逐步讲解)1. 容器(Containers)—— 装数据的“盒子”2. 算法&#xf…