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地址只会在本局域网中有效。

(完)

相关推荐
h39745 小时前
DirectShow过滤器开发-视频源过滤器
c++·windows·音视频·directshow
程序猿编码6 小时前
榨干 RTX5090 算力!Qwen3 专用单卡推理引擎,手写C++/CUDA 算子实现 MTP 推测解码
开发语言·c++·大模型推理·qwen3·多模态推理
西飘客7 小时前
vs 怎么根据dll 生成lib文件
c++·qt
不像程序员的程序媛7 小时前
检测网络的命令mtr详解
网络
天启HTTP8 小时前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
程序员老陆8 小时前
深入理解 C++ thread_local:线程私有存储的正确打开方式
开发语言·c++·程序设计
运维行者_8 小时前
网络性能监控怎么做?从自动发现到根因分析的4个环节
运维·服务器·网络·人工智能·支持向量机
hz5678910 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
优橙教育10 小时前
零基础学AI应用开发要多久?3个月能到什么水平
服务器·开发语言·网络·php
AIgorithmGEEK10 小时前
[Linux]从手写报头到内核套路:序列化、反序列化与自定义协议全链路
linux·运维·服务器·网络·序列化·反序列化