9.1网络通信基础

一.基础概念:

1)IP地址:描述网络上的一个设备所在的位置.

2)端口号(port):区分一个主机上不同的进程,和pid一样的作用,但两者不同.

3)协议:网络通信传输数据的含义,协议表示一种约定,这种约定可以是任意的.协议分层之后,上层不需要知道下层协议的细节,可以灵活地调整,替换某层协议.

二.协议分层:

1)OSI七层网络模型(理论,并不使用):

2)TCP/IP五层(四层)网络模型(目前使用):

a.物理层:描述网络通信中一些基础设施需要遵守的规范(比如网线,网口).

b.数据链路层:相邻节点之间,数据传输的方式.

c.网络层:路径规划(起点和终点间有很多道路可供选择).

d.传输层:只关心起点和终点,不关心之间过程(数据从哪里出发,要到哪里去).

e.应用层:拿到这个数据具体用来干什么.

三.网络数据传输的基本流程(封装和分用):

1.封装:在载荷(payload)的基础上加上一些协议信息,比如报头(header).实际上就是字符串的拼接.

2.数据链路层会添加帧头和帧尾,其它协议只是添加头.

3.分用就是封装的逆过程,一次一次剥开了.

相关推荐
小bo波6 小时前
Java Swing 图形用户界面实验 —— 从算术练习到游戏开发的完整实践
java·课程设计·gui·游戏开发·扫雷·swing
咖啡八杯8 小时前
GoF设计模式——备忘录模式
java·后端·spring·设计模式
SamDeepThinking18 小时前
裁掉那个差程序员后,给你看团队里高手的代码:这个习惯,希望你有
java·后端·程序员
朕瞧着你甚好19 小时前
技术雷达 & Java 集成评估报告 — Apache Tika 3.3.1
java·ai编程
MacroZheng20 小时前
短短几天,暴涨2.8万Star!又一款编程神器开源!
java·人工智能·后端
SamDeepThinking20 小时前
函数式编程:用BiFunction消除多类型分支的代码重复
java·后端·面试
Flittly2 天前
【AgentScope Java新手村系列】(16)从RAG到多路检索
java·spring boot·spring
小兔崽子去哪了2 天前
Java 生成二维码解决方案
java·后端
人活一口气2 天前
从JVM调优到MCP协议:Java全栈技术体系深度总结与企业级架构实践
java·spring boot
NE_STOP2 天前
Vibe Coding -- 完整项目案例实操
java