TCP/IP五层模型+网络传输基本流程

TCP/IP五层模型+网络传输基本流程

协议

协议,本质是一种约定!

协议,就是约定好的结构体!

为什么要有TCP/IP协议?

网络通信最大的特点是设备之间的距离变远了。

TCP/IP协议,本质是一种网络长距离通信的解决方案。

什么是TCP/IP协议?

1.TCP/IP协议的本质是一种解决方案。

2.TCP/IP协议能分层,前提是因为问题本身能分层。

TCP/IP协议与系统的关系

TCP/IP五层/四层模型(OSI七层模型)

物理层(网卡)

数据链路层

网络层

传输层

应用层

网络传输基本流程

局域网通信原理(以以太网为例):

每台主机在局域网上,要有唯一的标识来保证主机的唯一性:MAC地址

同一个局域网中,主机之间可以直接通信。

认识MAC地址:

MAC地址用来识别数据链路层中相连的节点。

在网卡出厂时就确定了,具有唯一性。

以太网通讯原理(局域网):

在以太网中,任何时候,只允许一台主机向网络中发送数据。

如果有多台同时发送,会发生数据干扰,我们称为数据碰撞。

在没有交换机的情况下,一个以太网就是一个碰撞域。

所有发送数据的主机要进行碰撞检测和碰撞避免。

如果发生碰撞,就要做碰撞避免算法。

主机之间通信本质是两个协议栈在通信。

为什么要自顶向下封装?

因为发送数据的是用户,而传输数据必须由网卡传输,中间分别经过应用层,传输层,网络层,数据链路层,再由网卡发送到其他主机。必须贯穿操作系统,贯穿协议栈。

向下交付:封装

向上交付:解包:报头和有效载荷进行分离

细节1:不考虑应用层协议,任何协议

a.报头中必须要能做到,和有效载荷进行分离的能力

b.报头中必须包含,如何将自己的有效载荷,交付给上层的哪一个具体协议。

细节2:底层收到报文,如果该报文不是发给某主机的,数据链路层会直接丢掉。

报文 = 报头 + 有效载荷

跨网络传输流程

IP地址:IP地址,用来标识全球范围内,主机的唯一性(公网IP)。

IP地址与MAC地址的区别:

从哪来,到哪去 ----源IP,目标IP地址

上一站从哪里来,下一站到哪里 ----源MAC,目标MAC地址

区别:目标IP地址是指最终地址,目标MAC地址指下一站的地址

路由功能:发现不是发给自己局域网主机的报文,就推送给路由器。

路由的过程中,IP地址不变,mac地址一直再变,mac地址只会在本局域网中有效。

(完)

相关推荐
hetao173383716 分钟前
2026-09-18 hetao1733837 的刷题记录
c++·算法
wuyk55540 分钟前
【Socket 进阶之路】第 7 章 IO 多路复用 select & poll 完整实战|多 fd 监听、超时等待、优缺点横向对比
服务器·开发语言·网络·数据库·物联网
stolentime1 小时前
CSP-J2026第一轮试题(附答案解析、markdown源码)
c++·csp
Rabitebla1 小时前
【Linux系统编程】 指令(二):一条路径是怎么定位到文件的
linux·c++·笔记·学习·算法
程序员老陆2 小时前
std::experimental::when_any 深度解析:等待“第一个完成”的异步组合原语
c++·多线程
Rabitebla2 小时前
【Linux系统编程】指令(三):创建、删除、复制、移动、看内容
linux·数据结构·c++·算法
程序员老陆2 小时前
CMake 常用关键字与命令全景:从 set到 target_link_options的现代工程视角
c++·cmake·程序开发
dog2502 小时前
写一个时延固定的拥塞控制
网络
酣大智3 小时前
华为 VRRP的抢占延迟时间
网络·tcp/ip·vrrp
码匠许师傅3 小时前
【C++三方组件】cxxopts:轻量首选的命令行解析
c++