9.1网络通信基础

一.基础概念:

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

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

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

二.协议分层:

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

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

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

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

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

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

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

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

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

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

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

相关推荐
毕设源码-钟学长7 分钟前
【开题答辩全过程】以 基于javaweb的音乐节管理系统为例,包含答辩的问题和答案
java·eclipse
启山智软14 分钟前
供应链商城核心功能模块清单
java·前端·开源
是萧萧吖22 分钟前
每日一练——有效的括号
java·开发语言·javascript
程序员欣宸28 分钟前
LangChain4j实战之十六:RAG (检索增强生成),Naive RAG
java·人工智能·ai·langchain4j
qq_3363139342 分钟前
javaweb-Maven
java·maven
Sayuanni%342 分钟前
数据结构_Map和Set
java·数据结构
Demon_Hao43 分钟前
Spring Boot开启虚拟线程ScopedValue上下文传递
java·spring boot·后端
野犬寒鸦1 小时前
从零起步学习并发编程 || 第三章:JMM(Java内存模型)详解及对比剖析
java·服务器·开发语言·分布式·后端·学习·spring
一勺菠萝丶1 小时前
Jenkins 构建日志出现 `[INFO]` 乱码?原因与完整解决方案(小白必看)
java·servlet·jenkins
C雨后彩虹1 小时前
CAS 在 Java 并发工具中的应用
java·多线程·并发·cas·异步·