网络编程-基础网络概念

一、网络基本概念

  1. 网络组成:由若干结点(计算机、交换机、路由器等设备)和连接结点的链路组成
  2. 网络设备:交换机、路由器、集线器
  3. 传输介质:双绞线、同轴电缆、光纤
  4. 简单网络示例:交换机可连接多台主机

二、IP 地址

  1. 定义:给因特网上主机 / 路由器接口分配的全球唯一标识符,用于寻址
  2. 分类:
    • IPv4:32 位,格式 "A.B.C.D",分 4 段(每段 8 位,0-255,十进制),示例:192.168.31.1
    • IPv6:128 位,格式 "XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX",分 8 段(每段 16 位,4 位十六进制),示例:2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b
  3. 组成(IPv4 默认):由网络号 (同一物理网络主机共用)和主机号(单台主机标识)两部分构成,共 32 位

三、IP 地址分类(IPv4)

  1. 分类依据:按地址开头位和网络号 / 主机号的位数划分,共 5 类
  2. 各类结构与范围:
    • A 类
      • 开头位:以0开头
      • 结构:网络号 7 位 + 主机号 24 位
      • 范围:0.0.0.0~127.255.255.255
    • B 类
      • 开头位:以10开头
      • 结构:网络号 14 位 + 主机号 16 位
      • 范围:128.0.0.0~191.255.255.255
    • C 类
      • 开头位:以110开头
      • 结构:网络号 21 位 + 主机号 8 位
      • 范围:192.0.0.0~223.255.255.255
    • D 类
      • 开头位:以1110开头(无网络号 / 主机号划分,用于组播)
    • E 类
      • 开头位:以11110开头(保留,用于科研实验)

四、IP 地址和物理地址(MAC 地址)的核心区别

IP 地址和物理地址(MAC 地址)的核心区别可以从这几个维度区分:

1. 定义与作用

  • IP 地址:网络层(OSI 模型)的逻辑地址,用于标识因特网上主机 / 设备的网络位置,实现跨网络的寻址与通信。
  • 物理地址(MAC 地址):数据链路层的硬件地址,固化在网卡等网络设备中,用于同一局域网内设备间的直接通信(标识具体硬件)。

2. 分配与归属

  • IP 地址:由网络管理员 / ISP(运营商)分配,可手动修改或通过 DHCP 自动获取,与网络环境关联。
  • 物理地址(MAC 地址):由设备厂商在生产时写入硬件,全球唯一且通常不可修改(部分设备支持软件临时修改)。

3. 格式

  • IP 地址(IPv4) :32 位,点分十进制格式(如192.168.1.1)。
  • 物理地址(MAC 地址) :48 位,十六进制格式(如00:1A:2B:3C:4D:5E)。

4. 通信范围

  • IP 地址:支持跨网络(不同局域网)通信,依赖路由器转发。
  • 物理地址(MAC 地址):仅在同一局域网内有效,无法直接跨网络使用

五、端口

1. 端口的范围与分类

  • 端口范围 :共 65536 个(0~65535),其中:
    • 0~1023:知名端口(默认分配给常用服务,如 80=HTTP、443=HTTPS、22=SSH);
    • 1024~49151:注册端口(需申请注册的服务端口);
    • 49152~65535:动态 / 私有端口(临时分配给客户端进程)。
  • 规则:同一主机上,一个端口同一时间只能被一个进程占用(避免冲突)。

2. 套接字(Socket)的实际作用

"IP+Port" 是套接字地址,而 ** 套接字(Socket)** 是网络编程的 "工具":

  • 它是操作系统提供的编程接口,封装了 "IP+Port"、传输协议(如 TCP/UDP)等信息;
  • 进程通过套接字,才能真正建立连接、发送 / 接收数据(是跨主机进程通信的 "桥梁")。

3. 传输层协议与进程通信的关联

"IP+Port" 需配合传输层协议(如 TCP、UDP)才能实现可靠通信:

  • TCP:面向连接、可靠传输(适合文件传输、网页加载等),会通过 "三次握手" 建立进程间的可靠连接;
  • UDP:无连接、不可靠但高效(适合视频通话、直播等),直接基于 "IP+Port" 发送数据。

4. 进程通信的 "跨网络" 逻辑

跨主机进程通信的流程:

  1. 发送方进程通过 "自身 IP + 端口" 和 "接收方 IP + 端口",封装数据;
  2. 数据通过网络(经路由器转发)到达目标主机;
  3. 目标主机根据 "接收方端口",将数据交付给对应进程。

六、常见网络协议

1. TCP:靠谱的 "顺丰快递"

  • 定位传输层协议(负责 "把数据安全送到对方进程")
  • 特点
    • 先 "打电话确认":发数据前先和对方进程 "三次握手"(类似:"你在吗?""我在,你呢?""我也在,开始发!"),确保连接可靠;
    • 丢件必补:数据发过去后,对方会回 "收到了",没收到就重发;
    • 顺序不乱:哪怕数据分开发,也会按顺序拼好(比如寄 3 本书,哪怕快递分 2 次送,也会按 1、2、3 的顺序给你)。
  • 场景:发文件、聊微信(消息不能丢)、网页加载(内容不能乱)。

2. UDP:快速的 "同城闪送"

  • 定位传输层协议(负责 "快速把数据发出去")
  • 特点
    • 不打电话直接发:不用提前确认连接,拿起数据就发(类似:直接把快递扔到对方小区,不管对方在不在);
    • 丢件不补:发完不管了,丢了也不重发;
    • 速度快但不稳:适合 "不怕丢、要速度" 的场景。
  • 场景:直播(卡 1 秒不影响,要实时)、打游戏(延迟比丢 1 个技能更致命)、视频通话(卡帧比等重发更能接受)。

3. HTTPS:"加密 + 上锁的包装规则"

  • 定位应用层协议(基于 TCP,是 HTTP 的 "安全版")
  • 特点
    • 先 "加密钥匙交换":发数据前,先和对方交换 "加密钥匙"(类似:寄快递前,先给对方一把锁,自己留钥匙);
    • 内容加密:打包的数据会用钥匙加密(类似:把手机装在带锁的箱子里,标签只写 "包裹 1 号",小偷不知道里面是啥);
    • 防篡改、防偷看:中间被人截了,没钥匙打不开,改了内容也会被发现。
  • 场景:现在的所有网页(浏览器地址栏的 "https://")、支付(输密码不能被偷)、登录账号(信息不能泄露)。

关系总结:

  • TCP/UDP 是 "运输方式"(负责把东西送过去);
  • HTTP/HTTPS 是 "包装规则"(负责东西要怎么包);
  • HTTPS = HTTP + 加密锁(在 HTTP 的包装外,加了一层安全保护)。

七、网络分层

1.OSI模型

OSI 七层模型可以理解成 "跨国快递的完整配送流程" ------ 从你把包裹交给快递员,到对方收件人拆开包裹,整个过程被拆成 7 个分工明确的环节,每个环节只做自己的事,互不干扰但又紧密配合。

核心原则:自上而下封装数据,自下而上解包数据(发送方从上到下打包,接收方从下到上拆包)。


第 7 层:应用层 ------ 收件人拆包裹(用户直接接触)
  • 角色:最终的 "使用者",对应我们用的软件 / 程序。
  • 通俗解释 :就像收件人打开包裹,拿出里面的衣服、零食 ------ 这一层是 用户能直接感知的层,负责处理 "有意义的实际数据"。
  • 例子:浏览器(HTTP/HTTPS)、微信(聊天消息)、网盘(文件传输)。
  • 关键动作:生成要发送的数据,或者解析收到的数据。
第 6 层:表示层 ------ 给包裹做 "标准化处理"
  • 角色:数据的 "翻译官 + 化妆师"。
  • 通俗解释 :比如你寄的是 "国际快递",要把中文的说明书翻译成英文;或者怕包裹受潮,给它套个防水袋 ------ 这一层负责 数据的格式转换、加密、压缩
  • 例子
    • 加密:把你的密码变成乱码(防止中途被偷看);
    • 压缩:把大文件压成压缩包(减少传输体积);
    • 格式转换:把图片格式从 PNG 转成 JPG。
  • 关键动作:确保发送方和接收方 "能看懂对方的数据"。
第 5 层:会话层 ------ 快递员打电话确认 "配送时间"
  • 角色:通信的 "会话管理者"。
  • 通俗解释 :就像快递员和收件人约定 "明天下午 3 点送货",还会确认 "送到门口还是快递柜" ------ 这一层负责 建立、管理、终止两个设备之间的 "对话连接"
  • 例子
    • 你登录微信时,和服务器建立的 "登录会话";
    • 视频通话时,维持的 "实时通话连接"(断线了会重连)。
  • 关键动作:决定 "什么时候开始通信、什么时候结束",还能做 "断点续传"(比如下载文件断网了,下次接着传,不用重下)。

第 4 层:传输层 ------ 快递公司的 "运输调度"
  • 角色 :进程的 "快递分配员",对应之前讲的 TCP/UDP
  • 通俗解释 :你寄了 2 个包裹,一个是 "重要文件"(选顺丰,靠谱),一个是 "同城零食"(选闪送,快) ------ 这一层负责 给数据选 "运输方式",并送到目标主机的具体进程
  • 核心功能
    1. 端口寻址 :通过 IP+端口 定位到对方的具体程序(比如把网页数据送到浏览器,不是微信);
    2. 选择传输协议
      • 选 TCP(顺丰):可靠传输,丢件必补,适合重要数据;
      • 选 UDP(闪送):快速传输,丢件不补,适合实时数据。
  • 关键动作:给数据分段(大文件切成小包裹)、给小包裹编号(确保顺序)、丢件重发(TCP 专属)。
第 3 层:网络层 ------ 快递的 "路线规划师"
  • 角色 :主机的 "导航员",核心协议是 IP 协议
  • 通俗解释 :你从北京寄包裹到上海,快递公司不会直接从北京送到上海,而是规划路线:北京→济南→南京→上海 ------ 这一层负责 给数据包选 "最佳传输路线",实现跨网络寻址
  • 核心功能
    1. IP 寻址:通过 IP 地址定位目标主机(比如 "192.168.1.1" 就是主机的 "快递地址");
    2. 路由选择:通过路由器,让数据包从一个网络跳到另一个网络(比如从你家 WiFi 跳到小区宽带,再跳到电信骨干网)。
  • 关键动作:给数据包加 "IP 地址标签",指挥路由器转发。
第 2 层:数据链路层 ------ 小区里的 "快递员跑腿"
  • 角色 :局域网内的 "跑腿员",核心是 MAC 地址(物理地址)
  • 通俗解释 :包裹到了上海的小区快递站,快递员不用看收件人的 "详细地址",只看 "楼栋号 + 门牌号"(MAC 地址),就能把包裹送到家门口 ------ 这一层负责 同一局域网内的设备通信
  • 核心功能
    1. MAC 寻址:用网卡的物理地址(全球唯一)识别局域网内的设备;
    2. 帧封装:把网络层的数据包打包成 "帧",还会做 "差错检测"(比如包裹坏了,直接丢弃)。
  • 例子:你家电脑和路由器之间的通信,就是通过这一层完成的。
第 1 层:物理层 ------ 快递的 "运输管道"
  • 角色 :数据的 "搬运工",负责 传输二进制电信号 / 光信号
  • 通俗解释:就像快递的 "货车、飞机、传送带" ------ 这一层不管数据是什么内容,只负责把 "0 和 1" 的信号从一个设备传到另一个设备。
  • 例子:网线里的电信号、光纤里的光信号、WiFi 的无线电波,都属于物理层的传输介质。
  • 关键动作:只传信号,不处理数据(哪怕信号错了,也不管,交给上层处理)。

通俗总结:完整的 "数据快递" 流程

假设你用浏览器打开一个网页(发送请求):

  1. 应用层:浏览器生成 "请求网页" 的指令;
  2. 表示层:把指令加密(如果是 HTTPS);
  3. 会话层:和网页服务器建立 "会话连接";
  4. 传输层:选择 TCP 协议,给数据加 "端口标签"(比如 80 端口);
  5. 网络层:加 IP 地址标签(服务器的 IP),规划传输路线;
  6. 数据链路层:加 MAC 地址标签,在局域网内传输到路由器;
  7. 物理层:通过网线 / 光纤把电信号 / 光信号发出去。

服务器收到后,从下到上反向拆包,最后把网页数据按同样的流程传回来 ------ 你就能看到网页了!


核心记忆要点
  1. 分层原则:每层只做一件事,上层依赖下层,下层不关心上层;
  2. 口诀应表会传网文物(应用、表示、会话、传输、网络、数据链路、物理);
  3. 高频考点
    • 传输层:TCP/UDP + 端口;
    • 网络层:IP 协议 + IP 地址;
    • 数据链路层:MAC 地址 + 局域网通信。

2.tcp/ip协议模型

TCP/IP 模型不追求理论完美,只关注实际数据传输的核心环节 ,4 层从上到下分别是:应用层 → 传输层 → 网际层 → 网络接口层

TCP/IP 四层 对应 OSI 七层 通俗类比(快递流程)
应用层 应用层 + 表示层 + 会话层 收件人拆包裹、用物品
传输层 传输层 选顺丰 / TCP 或闪送 / UDP
网际层 网络层 规划快递路线、写 IP 地址
网络接口层 数据链路层 + 物理层 小区快递员跑腿 + 货车运输

1. 应用层 ------ 直接对接用户的 "包裹内容"
  • 角色 :用户能直接接触的层,负责处理具体的业务逻辑
  • 通俗解释:就像你寄的包裹里的 "衣服、零食、文件"------ 这些是真正有意义的东西,对应到网络里,就是你用的浏览器、微信、网盘这些应用。
  • 核心功能
    1. 生成要传输的 "实际数据"(比如网页请求、聊天消息);
    2. 封装数据格式(比如 HTTP 规定网页数据怎么打包);
    3. 处理加密 / 压缩(比如 HTTPS 的加密,其实是把 OSI 表示层的功能整合进来了);
    4. 建立 / 管理会话(比如登录微信的连接,整合了 OSI 会话层的功能)。
  • 常用协议:HTTP/HTTPS(网页)、FTP(文件传输)、SMTP(邮件)、DNS(域名解析)、SSH(远程登录)
  • 关键特点程序员开发网络应用,主要就是和这一层打交道
2. 传输层 ------ 选快递方式的 "调度员"
  • 角色 :负责进程间的端到端传输,和 OSI 传输层完全一致
  • 通俗解释 :你寄包裹时选 "顺丰(TCP)" 还是 "闪送(UDP)"------ 这一层决定数据的传输方式,并且通过端口号定位到目标主机的具体程序。
  • 核心功能
    1. 端口寻址 :用 IP+端口 标识 "哪个主机的哪个程序"(比如把网页数据送到浏览器的 80 端口,不是微信的端口);
    2. 协议选择
      • TCP 协议:靠谱的顺丰,三次握手建立连接,丢包重发,保证顺序;
      • UDP 协议:快速的闪送,无连接直接发,丢包不补,速度优先。
  • 关键特点:只关心 "把数据从 A 程序送到 B 程序",不管中间经过哪些路由器。
3. 网际层 ------ 规划路线的 "导航员"
  • 角色 :负责跨网络的路由和寻址 ,对应 OSI 的网络层,是 TCP/IP 模型的核心
  • 通俗解释 :快递的 "全国物流调度中心"------ 从北京寄到上海,规划路线 "北京→济南→南京→上海",通过IP 地址定位目标主机。
  • 核心协议IP 协议(IPv4/IPv6) ------ 给每台主机分配唯一的 "网络地址",就像快递的 "收件人省市区地址"。
  • 辅助协议
    • ICMP 协议:"网络报错提醒"------ 比如 ping 不通某台主机,就是 ICMP 返回的 "目标不可达";
    • ARP 协议:"IP 地址转 MAC 地址"------ 知道了对方的 IP,就像知道了 "小区地址",ARP 帮你找到 "楼栋号(MAC 地址)"。
  • 关键特点路由器的核心工作层,路由器只看 IP 地址,不管上层的应用和传输协议。
4. 网络接口层 ------ 最后一公里的 "跑腿 + 运输"
  • 角色 :负责局域网内的传输和物理信号传递,整合了 OSI 的数据链路层 + 物理层
  • 通俗解释:小区快递员的 "跑腿送货"+ 货车的 "运输管道"------ 把网际层的数据包,送到目标主机的门口。
  • 核心功能
    1. 数据链路层部分 :用MAC 地址(网卡的物理地址)识别局域网内的设备,把 IP 数据包打包成 "帧",做差错检测(比如包裹坏了就丢弃);
    2. 物理层部分:通过网线、光纤、WiFi 等介质,传输二进制的电信号 / 光信号(不管数据内容,只负责传 0 和 1)。
  • 常用技术:以太网协议、WiFi 协议、网线 / 光纤等传输介质。
  • 关键特点只在局域网内有效,跨网络的话,要交给网际层的路由器转发。

八、TCP 固定头部结构:像 "快递面单" 的详细信息

TCP 固定头部是20 字节(5 行,每行 4 字节 = 32 位) ,可以理解成快递包裹的 "超级面单"------ 上面写满了 "谁发的、发给谁、怎么发、要注意啥" 的关键信息,保证数据能 "靠谱送达"。

先看整体结构:5 行固定内容(20 字节)

每行是 32 位(4 字节),共 5 行,下面逐行拆讲解:

第 1 行:发件人和收件人的 "窗口号"

左 16 位:16 位源端口号 右 16 位:16 位目的端口号
类比:寄件人的店铺窗口号 类比:收件人的店铺窗口号
作用:标识发送方的进程(比如你电脑上的浏览器用的端口) 作用:标识接收方的进程(比如服务器的 80 端口对应网页服务)

第 2 行:包裹的 "序号标签"

整行 32 位:32 位序号
类比:包裹的编号(比如 "第 1 个包裹""第 2 个包裹")
作用:TCP 把大文件拆成多个 "小数据包",序号标记每个包的顺序(比如第 1 包序号是 100,第 2 包是 200),接收方靠序号把包按顺序拼好。

第 3 行:"收到包裹的回执号"

整行 32 位:32 位确认号
类比:收件人给的 "已收到" 回执(比如 "我已经收到序号≤100 的包裹了")
作用:告诉发送方 "我已经收到你发的序号≤确认号 - 1的数据包了",如果发送方没收到这个回执,就会重发对应包。

第 4 行:"快递规则 + 收货能力"

这一行是混合信息,拆成 4 部分:

左 4 位:头部长度 中间 6 位:保留 中间 6 位:标志位(6 个开关) 右 16 位:16 位窗口大小
类比:面单的长度 类比:预留的空白栏 类比:包裹的特殊要求开关 类比:收件人的收货筐大小
作用:告诉对方 "这个 TCP 头部一共有多少字节"(因为后面可能有 "选项",所以需要标长度) 作用:暂时没用,留着以后扩展 作用:6 个 "开关" 控制 TCP 行为(比如SYN是 "请求建立连接",ACK是 "确认收到数据",FIN是 "请求断开连接") 作用:告诉发送方 "我现在最多能收多少字节的数据"(防止发太快,收件人装不下)

第 5 行:"包裹的安检 + 紧急电话"

左 16 位:16 位校验和 右 16 位:16 位紧急指针
类比:包裹的安检码 类比:包裹的紧急联系电话
作用:检查数据是否在传输中被篡改(如果安检码不对,就丢弃这个包) 作用:如果打开了 "紧急开关(URG)",这个指针标记 "紧急数据在哪里结束"(比如传输中突然有紧急消息,优先送这部分)

额外:可选的 "补充说明"(选项)

固定头部后面可以加选项(最多 40 字节),类比 "面单背面的补充说明"(比如 "易碎品,轻拿轻放"),用来传递额外信息(比如协商最大传输单元 MTU)。

总结:TCP 固定头的核心作用

就像一张信息齐全的快递面单,通过 "端口(找对人)、序号(排好序)、确认号(防丢件)、窗口(控速度)、标志位(控连接)" 这一堆信息,实现了 "可靠、有序、不丢包" 的传输 ------ 这就是 TCP "靠谱" 的原因!

九、IPv4头部结构

IPv4 头部是网络层的 "身份凭证" ,默认 20 字节(可加最多 40 字节选项),可以理解成快递的 "物流面单"------ 写清 "发件地址、收件地址、包裹规格、运输规则",让路由器能把数据包准确送到目标主机。

整体结构:5 行固定内容(20 字节)

每行 32 位(4 字节),共 5 行,逐行拆解:

第 1 行:包裹的 "基础信息"

左 4 位:版本号 中间 4 位:头部长度 中间 8 位:服务类型(TOS) 右 16 位:总长度
类比:快递类型(比如 "国内快递") 类比:面单本身的长度 类比:包裹优先级(比如 "加急件") 类比:包裹总重量(含面单)
作用:固定为4(代表 IPv4) 作用:标识 IPv4 头部的总长度(默认 20 字节,对应值为5 作用:告诉路由器 "这个包的优先级"(比如语音包设为高优先级) 作用:标识整个 IP 数据包的总字节数(头部 + 数据)

第 2 行:包裹的 "拆分与标识"

左 16 位:标识 中间 3 位:标志 右 13 位:片偏移
类比:包裹的唯一编号 类比:包裹拆分规则(比如 "不可拆") 类比:拆分后包裹的顺序
作用:给大数据包的拆分片段分配 "同一编号"(比如一个大文件拆成 3 个包,标识相同) 作用:控制数据包拆分:DF=1 表示 "不可拆",MF=1 表示 "不是最后一个片段" 作用:标记片段在原数据包中的位置(比如第 2 个片段的偏移是 "100 字节")

第 3 行:包裹的 "运输规则"

左 8 位:生存时间(TTL) 中间 8 位:协议 右 16 位:头部校验和
类比:包裹最大运输次数(防止绕路) 类比:包裹里的物品类型(比如 "文件") 类比:面单的防伪码
作用:限制数据包的转发次数(每过一个路由器减 1,减到 0 就丢弃,防止死循环) 作用:标识上层协议(比如6代表 TCP,17代表 UDP) 作用:检查头部是否被篡改(若校验失败,路由器会丢弃包)

第 4 行:发件人的 "地址"

整行 32 位:源 IP 地址
类比:寄件人的详细地址
作用:标识发送方主机的 IP 地址(比如你的电脑 IP:192.168.1.1)

第 5 行:收件人的 "地址"

整行 32 位:目的 IP 地址
类比:收件人的详细地址
作用:标识接收方主机的 IP 地址(比如服务器 IP:123.45.67.89)

额外:可选的 "补充说明"(选项)

固定头部后可加选项(最多 40 字节),类比 "面单背面的特殊要求"(比如 "指定运输路线"),用来传递额外信息(比如记录路由路径)。

总结:IPv4 头部的核心作用

物流面单的核心信息,通过 "源 IP / 目的 IP(找对主机)、TTL(防死循环)、协议(告诉上层怎么处理)",让数据包能跨网络、准确地被路由器转发到目标主机 ------ 这是网络层 "寻址 + 路由" 的关键载体。

十、跨主机进程通信的 "数据封装→传输→解包" 全流程

一、核心场景

应用程序 A(比如你电脑上的微信)要给另一台主机的应用程序 B(比如好友的微信)发送数据 "hello",整个过程需要各层协议配合,给数据 "逐层打包",传到目标后再 "逐层拆包"

二、发送方(应用程序 A)的 "封装流程"(自上而下)

数据从上层(应用层)到下层(数据链路层),每一层都会给数据加 "本层协议头 / 尾",最终变成 "数据帧" 在网络中传输:

  1. 应用层:生成原始数据 "hello"(这是应用程序 A 要发的内容)。
  2. 传输层 :给 "hello" 前面加 TCP/UDP 头部(比如加 TCP 头,包含源端口、目的端口,用来标识 "应用 A" 和 "应用 B")。
  3. 网络层 :给 "TCP 头 + hello" 前面加 IP 头部(包含源 IP、目的 IP,用来标识 "应用 A 的主机" 和 "应用 B 的主机")。
  4. 数据链路层 :给 "IP 头 + TCP 头 + hello" 前后加 帧头、帧尾(包含源 MAC、目的 MAC,用来在局域网内传输),最终形成 "数据帧"。

三、网络传输

封装好的 "数据帧" 通过物理层(网线 / WiFi)发送到网络,经路由器基于IP 地址转发,最终传到应用程序 B 所在的主机。

四、接收方(应用程序 B)的 "解包流程"(自下而上)

数据从下层(数据链路层)到上层(应用层),每一层都会剥离 "本层的协议头 / 尾",最终拿到原始数据:

  1. 数据链路层:收到数据帧,剥离 "帧头、帧尾",得到 "IP 头 + TCP 头 + hello"。
  2. 网络层:剥离 "IP 头部",得到 "TCP 头 + hello"。
  3. 传输层:剥离 "TCP/UDP 头部",得到原始数据 "hello"。
  4. 应用层:把 "hello" 交给应用程序 B,应用 B 就收到了数据。

图中核心知识点总结

  1. 分层封装 / 解包原则:发送方 "自上而下加头",接收方 "自下而上拆头"------ 每一层只处理自己的协议头,不干扰上层数据。
  2. 各层协议的作用
    • 应用层:提供实际数据;
    • 传输层(TCP/UDP):定位 "进程"(通过端口);
    • 网络层(IP):定位 "主机"(通过 IP 地址);
    • 数据链路层:定位 "局域网设备"(通过 MAC 地址)。
  3. 数据单元名称
    • 应用层:数据;
    • 传输层:段(TCP)/ 数据报(UDP);
    • 网络层:IP 数据报;
    • 数据链路层:帧。
相关推荐
郝学胜-神的一滴5 分钟前
深入理解Linux中的Try锁机制
linux·服务器·开发语言·c++·程序人生
Java后端的Ai之路6 分钟前
【AutoDL算力平台】-MobaXterm 连接 AutoDL 并上传文件资源(图文 + 实操)
服务器·网络·mobaxterm·autodl算力平台
阿巴~阿巴~9 分钟前
NAT技术:互联网连接的隐形桥梁
服务器·网络·网络协议·架构·智能路由器·nat·正反向代理
DevOps-IT11 分钟前
HTTP状态码(常见 HTTP Status Code 查询)
运维·服务器·网络·网络协议·http
sim202012 分钟前
把etcd分区挂到SSD盘
linux·etcd
普马萨特14 分钟前
移动网络信号指标与单位整理(2G/3G/4G/5G Android vs IoT)
android·网络·物联网
EndingCoder17 分钟前
函数基础:参数和返回类型
linux·前端·ubuntu·typescript
阿巴~阿巴~18 分钟前
打通局域网“最后一公里”:ARP协议原理、流程与安全解析
服务器·网络·网络协议·tcp/ip·tcp·ipv4·arp
CAU界编程小白29 分钟前
Linux系统编程系列之动静态库
linux
济61732 分钟前
linux(第十三期)--filezilla使用方法(实现ubuntu和windows11文件互传)-- Ubuntu20.04
linux·运维·ubuntu