理解计算机网络,首先需要从宏观层面了解计算机网络通信的分层结构。最有代表性的是 OSI 七层结构模型,但现实中更流行的是五层结构模型。
了解网络分层结构,需要了解每个网络层级在网络通信中的定位,以及这个层级主要的通信设备、通信协议。
- Java208
- 数据库101
- 框架83
- 设计78
- Spring77
- 分布式74
- java62
- JavaSE57
- 工具37
- 大数据33
- 架构31
- 分布式通信31
- 笔记30
- 设计模式27
- 搜索引擎数据库25
- Spring核心24
- 综合22
- 软件20
- 关系型数据库20
- Spring综合20
- 网络19
- KV数据库19
- Redis18
- MQ17
- 数据结构和算法16
- Elasticsearch16
- JavaEE15
- 其他15
- 基础特性15
- 列式数据库14
- 操作系统13
- 分布式协同13
- mysql12
- 文档数据库12
- 分布式理论12
- HBase12
- JVM11
- MongoDB11
- Linux11
- 并发10
- Mysql10
- Spring数据10
- 中间件9
- flink9
- 构建9
- Kafka9
- 工作8
- DevOps8
- 编程8
- 网络综合8
- hive8
- IO8
- 服务器8
- 安全8
- Elastic8
- 解决方案8
- RPC8
- SpringWeb8
- 重构7
- 分布式存储7
- hadoop7
- Maven7
- 树6
- 网络协议6
- 分布式调度6
- Python6
- 高级特性6
- 容器6
- JavaWeb6
- 监控诊断6
- 分布式协同综合6
- ZooKeeper6
- 效能6
- Tomcat6
- dependence5
- 测试5
- 缓存5
- 微服务5
- Spring集成5
- network4
- vuepress4
- 数据库中间件4
- UML4
- 线性表4
- 网络技术4
- 编程范式4
- IDE4
- 模板引擎4
- hdfs4
- SpringIO4
- Spring其他4
- RPC综合4
- RocketMQ4
- 软件工程3
- redis3
- 数据库综合3
- 分布式综合3
- 编程语言3
- ORM3
- 规范3
- Git3
- minio3
- linux2
- AI2
- windows2
- DDD2
- 操作系统应用2
- 监控2
- JavaBean2
- 流量控制2
- Shardingsphere2
- 方法论2
- Dubbo2
- MQ综合2
- idea1
- 力量训练1
- CDN1
- cloudflare1
- 使用指南1
- markdown1
- 分布式高可用1
- spark1
- 人工智能1
- python1
- bug1
- 数据库``1
- 命令1
- Spring安全1
- io1
- 其他MQ1
如果你不是从事于通信领域,面试时问及计算机网络的知识,一般也就限定在:HTTP(含 HTTPS、Cookie、Session)、TCP、UDP、Socket 这些
综合
计算机网络如何分层?
❓ 问题:计算机网络如何分层?各层的作用是什么?各层的主要协议、设备分别是什么?
这是学习计算机网络知识宏观层面必须要了解的核心点。知道了这些,对于网络的体系结构就基本上了解了。

网络层只把分组发送到目的主机,但是真正通信的并不是主机而是主机中的进程。传输层提供了进程间的逻辑通信,传输层向高层用户屏蔽了下面网络层的核心细节,使应用程序看起来像是在两个传输层实体之间有一条端到端的逻辑通信信道。
UDP 和 TCP 的特点
-
用户数据报协议 UDP(User Datagram Protocol)是无连接的,尽最大可能交付,没有拥塞控制,面向报文(对于应用程序传下来的报文不合并也不拆分,只是添加 UDP 首部),支持一对一、一对多、多对一和多对多的交互通信。
-
传输控制协议 TCP(Transmission Control Protocol)是面向连接的,提供可靠交付,有流量控制,拥塞控制,提供全双工通信,面向字节流(把应用层传下来的报文看成字节流,把字节流组织成大小不等的数据块),每一条 TCP 连接只能是点对点的(一对一)。
HTTP

超文本传输协议(英语:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP 是万维网的数据通信的基础。
网络层(network layer) - 为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。
- 主要协议:
IP
、ICMP
。- 数据单元:IP 数据报(packet)。
- 典型设备:网关、路由器。
概述
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。网络层不提供服务质量的承诺,不保证分组交付的时限,所传送的分组可能出错、丢失、重复和失序。进程间通信的可靠性由运输层负责。
数据链路层(Data Link Layer) - 网络层针对的还是主机之间的数据传输服务,而主机之间可以有很多链路,链路层协议就是为同一链路的主机提供数据传输服务。数据链路层把网络层传下来的分组封装成帧。
- 主要协议:
PPP
、CSMA/CD
等。- 数据单元:帧(frame)。
- 典型设备:二层交换机、网桥、网卡。
简介
- 链路是从一个节点到相邻节点的一段物理线路,数据链路则是在链路的基础上增加了一些必要的硬件(网络适配器)和软件(协议)。
- 数据链路层三个基本问题:封装成帧、透明传输、差错检测。
- 数据链路层有两种信道类型:点对点信道(主要使用
PPP
)和广播信道(主要使用CSMA/CD
)。 - 以太网 MAC 层的地址。
- 适配器、转发器、集线器、网桥、以太网交换机的作用及使用场合。
摘要
物理层(Physical Layer) - 物理层只接收和发送一串比特(bit)流,不考虑信息的意义和信息结构。
- 数据单元:比特流。
- 典型设备:光纤、同轴电缆、双绞线、中继器和集线器。
通信系统模型

计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
