1. 数据通信基础
定义域基础概念:
- 数据通信:指在两个或多个设备之间传输数据的过程,通常通过通信介质来实现的。
- 数据:传输的数据可以是文本、数字、图像、视频等然后形式的信息
- 通信介质:用于传输数据的物理路径,包括有线介质和无线介质。
数据传输的组成元素:
- 发送方:产生并发送数据的设备
- 接收方:接收数据的设备
- 传输介质:数据传输的物理路径
- 协议:一组规则和约定,用于确保数据传输的正确性和效率
2. OSI七层,TCP四层
OSI七层模型:
- 物理层:负责传输物理介质上的信号,定义硬件接口和电气规范
- 数据链路层:负责在相邻节点之间传输数据帧,处理物理层的错误检测和纠正
- 网络层:负责数据包的路由和寻址,选择最佳路径将数据从源发送到目标。
- 传输层:提供端到端的数据传输,确保数据的可靠性和顺序性。
- 会话层:负责会话的建立与管理
- 表示层:负责数据的格式化、加密和压缩
- 应用层:负责与用户进行交互
TCP四层模型:
- 链路层:负责在相邻节点之间传输数据帧,处理物理层的错误检测和纠正
- 网络层:负责数据包的路由和寻址,选择最佳路径奖数据从源发送到目标
- 传输层:通过端到端的数据传输服务,确保数据的可靠性和顺序性
- 应用层:负责与用户进行交互,支持各种网络服务
3. TCP三次握手四次挥手详解
TCP三次握手:
- 第一次:客户端向服务器发送一个带有SYN标志位的数据包,表示请求建立连接
- 第二次:服务器收到请求后向客户端发送一个带有SYN和ACK标志位的数据包,表示同意建立连接
- 第三次:客户端向服务器发送一个带有ACK标志位的数据包,表示连接已建立。
TCP四次挥手:
- 第一次:客户端向服务器发送一个带有FIN标志位的数据包,表示已经完成数据传输
- 第二次:服务器接收到后,向客户端发送一个带有ACK标志位的数据包,确认已经收到客户端的结束请求
- 第三次:服务器向客户端发送一个带有FIN标志位的数据包,表示已经服务端也完成了数据的传输
- 第四次:客户端向服务器发送一个带有ACK标志位的数据包,确认收到服务端的结束请求,然后正式断开连接。
4. TCP/UDP的区别
- 连接方式:
- TCP:面向连接的协议。在数据传输之前,需要通过三次握手建立可靠的连接。传输完成后,通过四次挥手终止连接
- UDP:无连接的协议。不需要建立连接,直接发送数据,也不保证数据的可靠传输。
- 可靠性:
- TCP:提供可靠的、面向连接的服务。通过确认(ACK),重传、序列号和校验等机制,确保数据的完整性和顺序性
- UDP:不保证数据的可靠传输。数据可能会丢失、重复或乱序,但是UDP的传输速度快。
- 应用场景:
- TCP:适用于对数据可靠性要求较高的场景,如网页浏览(HTTP/HTTPS)、文件传输(FTP)、电子邮件(SMTP)等。
- UDP:适用于对实时性要求较高的场景,如视频流、音频流、实时游戏、DNS查询等
5. 二层交换机和三层交换机的区别
概念:交换机是计算机网络中用于连接多台设备的网络设备,其核心功能是根据数据帧的目标地址(如MAC地址和IP地址)进行高效的数据转发。它通过减少冲突域、隔离广播域,提升局域网内的通信效率和安全性。
二层与三层的区别:
对比维度 | 二层交换机 | 三层交换机 |
---|---|---|
工作层次 | OSI模型的数据链路层 | OSI模型的网络层 |
核心功能 | 基于MAC地址转发数据帧,实现局域网内的设备通信 | 基于IP地址进行路由和交换,支持跨子网通信。 |
路由能力 | 无路由功能,仅在同一子网内工作 | 具备路由功能,可连接不同子网(如VLAN间路由) |
协议支持 | 支持以太网协议(如STP、VLAN) | 支持路由协议(如静态路由、RIP、OSPF)和三层ACL |
性能优化 | 高速转发数据帧,延迟极低 | 通过硬件ASIC加速路由,接近二层交换机的转发速度 |
典型应用场景 | 局域网内部的同网段通信 | 企业级核心网络、数据中心跨子网通信或多VLAN环境 |
二层交换机是纯交换设备,仅处理MAC地址;三层交换机是交换+路由一体化设备,支持IP路由。二层交换机需要依赖路由器才能实现跨子网通信,而三层交换机可独立完成子网间的路由。所以,是否需要跨子网通信是选择二层或三层交换机的核心判断依据
6. 网址栏里输入URL发生了什么
- 解析URL:检查格式,浏览器会自动补全协议或端口号。若输入内容类似搜索关键词,可能会触发搜索引擎。对特殊字符进行URL编码。
- DNS解析:将域名转换为IP地址,在此之前会查看浏览器缓存,若缓存命中,则直接返回。如果没有命中,就会向DNS服务器发起请求,最终获得目标服务器的IP地址。
- 建立网络连接:浏览器会构造HTTP请求头,然后通过TCP三次握手与服务器建立连接,如果是HTTPS,则协商加密协议、交换证书、生成会话密钥,建立安全通信通道。
- 发送请求与接收响应:客户端发送HTTP请求给服务器,服务器接收到请求后处理,然后生成响应,附加状态码。然后客户端接收服务器发送来的响应数据。
7. tcp如何保证其可靠性
- 通过三次握手确保双方通信能力正常并协商初始序列号,这样可以避免因网络延迟导致的历史连接干扰,确保双方准备好传输数据
- 通过序列号和确认应答来保证双方都收到了对方的确认,避免乱序和重复。
- 通过超时重传确保丢包数据最终会被送达
- 通过流量控制使得发送方根据ACK包中窗口大小来动态调整发送速率,防止接收方因缓冲区不足导致数据丢失
- 通过阻塞控制来平衡网络负载,减少因拥塞导致的丢包。
- 通过四次挥手释放连接,确保双方数据都发送完毕,安全的断开连接。
8. DNS
DNS即域名系统,是互联网的地址“薄”,负责将人类可读的域名转换为机器可识别的IP地址。
- 核心功能与特点:
- 域名解析:将域名转换为IP地址或IP转换为域名
- 分布式数据库:将数据分散存储在全球多个DNS服务器中,避免单点故障
- 缓存机制:本地缓存和DNS缓存,减少重复查询。
- 核心组件:
- 域名空间:树状结构:根域名(
.
)→ 顶级域名(TLD,如.com
、.org
)→ 二级域名(如example.com
)→ 子域名(如blog.example.com
)。 - DNS服务器类型:根域名服务器,顶级域名服务器,权威域名服务器,递归解析器。
- 资源记录:DNS数据库中存储的具体信息类型。如A、AAAA等各种记录类型。
- 域名空间:树状结构:根域名(
- DNS查询流程:
- 本地查询:浏览器缓存—操作系统缓存—路由器缓存—本地DNS服务器缓存。
- 递归查询:若本地无缓存,递归解析器依次查询:根域名服务器—顶级域名服务器—权威服务器。然后权威服务器返回www.example.com的IP地址,递归解析器缓存结果并返回给用户。
9. DHCP
DHCP即动态主机配置协议,用于自动为设备分配IP地址、子网掩码、网关以及DNS服务器等网络配置参数。
- 核心功能:
- IP地址动态分配:从地址池中自动分配IP地址,支持租约续期和地址回收
- 地址冲突检测:分配IP地址前,检查网络中是否存在地址冲突。
- 工作流程:
- Discover:客户端广播DHCP Discover报文,寻找可用的DHCP服务器。
- Offer: 服务器响应DHCP Offer报文,提供一个可用的IP地址及配置。
- Request: 客户端选择并DHCP Request报文,确认使用该IP
- Acknowledge服务器回复DHCP ACK报文,正式分配IP地址并记录租约时间。
10. NAT
NAT即网络地址转换,是一种网络技术,用于将私有网络的私有ip地址转换为公共互联网的公有IP,解决IPv4地址短缺问题,同时隐藏内部网络结构以及提升安全性。
- 核心功能:
- 地址转换:将内网设备的私有IP映射为公网IP
- 端口复用:通过PAT(端口地址转换),多个设备共享一个公网IP。
- 安全隔离:隐藏内网拓扑,外部无法直接访问私有IP设备。
- NAT类型:
- 静态NAT:一对一固定映射
- 动态NAT:从公网IP池动态分配IP(多对多映射,适用于企业内网)
- PAT(NAT重载):多对一映射,通过不同端口区分设备。
- 工作流程:
- 内网设发送请求:内网设备访问公网服务器
- NAT转换:路由器将原IP替换为公网IP,源端口改为随机端口,并记录映射表。
- 响应返回:服务器只会把数据返回到公网ip地址和端口号,然后通过路由器根据映射表转发回内网设备。