【计算机网络】网络简介

文章目录

  • 1. 局域网与广域网
    • 1.1 局域网
    • 1.2 广域网
  • 2. 路由器和交换机
  • 3. 五元组
    • 3.1 IP和端口
    • 3.2 协议
    • 3.3 协议分层
  • 4. OSI七层网络协议
  • 5. TCP/IP五层模型
    • 5.1 TCP/IP模型介绍
    • 5.2 网络设备所在分层
  • 6. 封装与分用
    • 6.1 数据包的称谓
    • 6.2 封装
    • 6.3 分用

1. 局域网与广域网

1.1 局域网

简单介绍:指在某一特定区域内由多台计算机组成的互联网组。

局域网,即 Local Area Network ,简称 LAN 。 Local 即标识了局域网是本地,局部组建的一种私有网络。局域网内的主机之间能方便的进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下, 是无法通信的。

局域网组建网络的方式:

基于网线直连
基于集线器组建
基于交换机组建
基于交换机和路由器组建

1.2 广域网

简单介绍: 通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网。

广域网,即 Wide Area Network,简称WAN

广域网内部的局域网都属于其子网,互联网就是最大的广域网。
在这里插入图片描述

2. 路由器和交换机

交换机是一种常见的网络设备 ,它主要用于局域网内的设备通信。
路由器是一种用于连接多个网络的设备,它在网络之间起到了桥梁的作用。

路由器上的接口分为LAN口WAN口WAN口用来接运行商的网线,LAN口用来接入设备,路由器的LAN口也可以接入交换机,交换机还可以接交换机,基于上述结构就构成了庞大的网络结构。

路由器和交换机的区别:

路由器,实现了网络层到物理层,也就是TCP/IP的下三层,路由器工作在网络层
交换机,实现了从数据链路层到物理层,也就是TCP/IP的下两层,交换机工作在数据链路层

3. 五元组

在 TCP/IP 协议中,用五元组来标识一个网络通信:

源 IP :标识源主机
源端口号:标识源主机中该次通信发送数据的进程
目的 IP :标识目的主机
目的端口号:标识目的主机中该次通信接收数据的进程
协议号:标识发送进程和接收进程双方约定的数据格式

3.1 IP和端口

IP 地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。
简单说,IP 地址用于定位主机的网络地址 。

IP地址是一个32位的二进制数,通常被分割为 4 个 “8 位二进制数 ” (也就是 4 个字节),如: 01100100.00000100.00000101.00000110。
通常“ 点分十进制 ” 的方式来表示,即 a.b.c.d 的形式( a,b,c,d 都是 0~255 之间的十进制整数)。如:192.168.1.1 。

IP 地址解决了网络通信时,定位网络主机的问题,但是还存在一个问题,传输到目的主机后,由哪个进程来接收这个数据呢?这就需要端口号来标识。

端口号用于标识主机中发送数据、接收数据的进程。
简单说:端口号用于定位主机中的进程 。

端口号是0~65535范围的数字 ,在网络通信中,进程可以通过绑定一个端口号,来发送及接收网络数据。
两个不同的进程,不能绑定同一个端口号,但一个进程可以绑定多个端口号。

在这里插入图片描述

3.2 协议

协议就是一种通信过程中的约定,通信双方需要制定好数据的格式,才能确保双方进行正常沟通。
通信双方的计算机可能来源于不同的厂商,为了确保两个计算机中的网络通信,就需要计算机遵守相同的网络协议。

网络协议是网络通信(即网络数据传输) 经过的所有网络设备都必须共同遵从的一组约定、规则。如:怎么样建立连接、怎么样互相识别等。

通常由三要素组成:

语法:即数据与控制信息的结构或格式
语义:即需要发出何种控制信息,完成何种动作以及做出何种响应
时序:即事件实现顺序的详细说明

协议(protocol)最终体现为: 在网络上传输的数据包的格式。

3.3 协议分层

网络通信过程中,需要涉及到的细节方方面面,如果只有一个协议来完成通信,则这个协议无比复杂,非常不利于学习和维护。故我们需要把一个庞大,复杂的协议,拆分成一个小而美的协议。

通信协议拆分后归类形成层状结构:

把功能定位相似的协议放在同一层
上层协议调用下层协议的功能,下层协议给上层协议提供服务
只有相邻的层次之间可以进行交互

分层的作用:

最大的好处 :定义好两层间的接口规范,让双方遵循这个规范来对接, 类似于面向接口编程
上层协议自接使用下层协议(已封装好),不需要理解下层协议的细节
某一层的协议进行封装之后,对于其它层没影响

4. OSI七层网络协议

并不常用使用OSI(Open System Interconnection)七层网络协议,这里只是给大家简单介绍

分层名称功能概览
应用层针对特定应用的协议电子邮件<->电子邮件协议;远程登录<->远程登录协议
表示层设备固有数据格式和网络标准数据格式的转换接受不同表现形式的数据,如文字流、图像、声音等
回话层通信管理。负责建立和断开通信连接何时建立连接、何时断开连接以及保持多久连接
传输层管理两个节点之间的数据传输。负责可靠传输是否有数据丢失
网络层地址管理和路由选择经过哪个路由传递到目标地址
数据链路层互连设备之间传送和识别数据帧数据帧与比特流之间的转换
物理层以0、1代表电压的高低。界定连接线与网线的规格比特流与电子信号之间的转换;连接线与网线的规格

5. TCP/IP五层模型

5.1 TCP/IP模型介绍

TCP/IP 是一组协议的代名词,它还包括许多协议,组成了 TCP/IP 协议簇。
TCP/IP 通讯协议采用了 5 层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

应用层:负责应用程序间沟通,关注的是传输的数据在应用程序中如何使用
传输层:负责两台主机之间的数据传输,关注的是传输的起点和终点 (TCP/UDP)
网络层: 关注的是通信中的数据规划 (IP/ICMP)
数据链路层:负责设备之间的数据帧的传送和识别,关注的是相邻结点的通信细节
物理层 :负责光 /电信号的传递方式, 是网络通信的基础设施

在这里插入图片描述
物理层我们考虑的比较少。因此很多时候也可以称为 TCP/IP 四层模型。

5.2 网络设备所在分层

对于一台主机 ,它的操作系统内核实现了从传输层到物理层的内容,也即是 TCP/IP 五层模型的下四层
对于一台路由器,它实现了从网络层到物理层,也即是 TCP/IP 五层模型的下三层
对于一台交换机,它实现了从数据链路层到物理层,也即是 TCP/IP 五层模型的下两层
对于集线器 ,它只实现了物理层

6. 封装与分用

6.1 数据包的称谓

不同的协议层对数据包有不同的称谓

称谓位置
段(segment)TCP数据段(传输层)
报(datagram)UDP数据段(传输层)
包(packet)IP数据包(网络层)
帧(frame)以太网数据帧(数据链路层)

封装:应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header) ,称为封装(Encapsulation) 。

封装后首部信息中包含了一些类似于首部有多长,载荷 (payload) 有多长,上层协议是什么等信息。

数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中 的 " 上层协议字段 " 将数据交给对应的上层协议处理。

通过QQ发消息的例子来介绍封装和分用,A通过QQ给B发送一个hello

6.2 封装

每一层的数据都会组装交给下一层。

交给下一层:下层提供api,上层调用api,把组装的数据当作参数传递。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.3 分用

封装的逆过程
在这里插入图片描述
在这里插入图片描述
补充:

交换机或路由器的封装分用过程也同样适用,只是封装分用的程度不同。
对于一台路由器,它实现了从网络层到物理层,也即是 TCP/IP 五层模型的下三层
对于一台交换机,它实现了从数据链路层到物理层,也即是 TCP/IP 五层模型的下两层

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/74136.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在QT中进行控件提升操作

目录 一、概述 二、功能需求 三、提升操作 1&#xff09;拖入标准控件 2&#xff09;自定义类 3&#xff09;提升控件 一、概述 QT中提供的标准控件能够满足我们大多数情况下的功能需求&#xff0c;但是在一些特殊应用场合&#xff0c;我们可能需要对控件的功能进行扩展&am…

如何自定义知行之桥Webhook端口返回的Response消息

一、Webhook端口功能概述 知行之桥的Webhook端口提供灵活的消息响应机制&#xff0c;支持用户通过修改配置文件自定义返回的消息体内容&#xff0c;能够查看是否调用接口成功、数据是否推送成功以及自定义返回给用户端的响应内容。 本指南将详解如何通过脚本配置实现以下需求…

pnpm config set ignore-workspace-root-check true

异常 ERR_PNPM_ADDING_TO_ROOT  Running this command will add the dependency to the workspace root, which might not be what you want - if you really meant it, make it explicit by running this command again with the -w flag (or --workspace-root). If you don…

【iOS】SwiftUI 路由管理(NavigationStack)

QDRouter.swift import SwiftUIMainActor class QDRouter: ObservableObject {Published var path NavigationPath()static let main QDRouter() // 单例private init() {}func open(_ url: String) {guard let url URL(string: url) else {return}UIApplication.shared.op…

蓝桥杯学习-13回溯

13回溯 一、回溯1 例题1–递归实现排列型枚举-蓝桥19684 1.递归可以解决不定次数的循环问题 2.使用数组来标记数字是否被选过import java.util.Scanner;public class Main {static int n;static boolean[] st new boolean[10]; //判断数字是否被选过static int[] path ne…

【IDEA中配置Maven国内镜像源】

1. 为什么需要配置国内镜像源&#xff1f; 首先&#xff0c;Maven本身的工作原理是通过从仓库中下载依赖包。而这些依赖通常来自于 Maven中央仓库&#xff08;位于国外&#xff09;&#xff0c;由于网络原因&#xff0c;我们在国内访问这些远程仓库的速度比较慢&#xff0c;甚至…

【QA】观察者模式在QT有哪些应用?

1. 信号与槽机制 Qt的**信号与槽&#xff08;Signals & Slots&#xff09;**是观察者模式的典型实现&#xff0c;通过元对象系统&#xff08;Meta-Object System&#xff09;实现松耦合通信。 核心特点&#xff1a; 类型安全&#xff1a;编译时检查参数匹配跨线程支持&…

uniapp中的路由、本地存储与网络请求

navigator 在UniApp中&#xff0c;navigator 组件用于页面跳转和应用内导航。 基本使用 属性&#xff1a; url: 需要跳转的目标页面路径&#xff0c;路径可以是相对路径或绝对路径。open-type: 跳转的方式&#xff0c;默认为 navigateTo。其他可选值包括&#xff1a;redirec…

python3使用lxml解析xml时踩坑记录

文章目录 你的 XML 数据解析 XML----------------------------1. 获取 mlt 根元素的属性--------------------------------------------------------2. 获取 chain 元素的属性--------------------------------------------------------3. 获取所有 property 的值-------------…

【DeepSeek 学c++】dynamic_cast 原理

用于向下转化。 父类引用指向指类对象 假设父亲是a, 子类是b. B* pb new B; 子类对象 A* pa 父类引用指向子类对象&#xff0c; 那么向上转化 Apa pb 这个是自动完成的&#xff0c;隐式转化&#xff0c;不需要dynamic_cast 向下转化指的是 A pa new B。 这个是指向子类对象…

c++ 数组索引越界检查

用 c 编写了一些程序&#xff0c;发现 c 不会自动检查数组的索引越界问题。有时候程序运行错误&#xff0c;提示的错误信息莫名其妙&#xff0c;但很可能是某个数组越界的问题。 例如&#xff1a; #include <iostream>int main() {double arr[5] {1.1, 2.2, 3.3, 4.4,…

Touch Diver:Weart为XR和机器人遥操作专属设计的触觉反馈动捕手套

在虚拟现实&#xff08;VR&#xff09;和扩展现实&#xff08;XR&#xff09;领域&#xff0c;触觉反馈技术正逐渐成为提升沉浸感和交互体验的重要因素。Weart作为这一领域的创新者&#xff0c;凭借其TouchDIVER Pro和TouchDIVER G1触觉手套&#xff0c;为用户带来了高度逼真的…

基于deepseek的智能语音客服【第二讲】后端异步接口调用封装

本篇内容主要讲前端请求&#xff08;不包含&#xff09;访问后端服务接口&#xff0c;接口通过检索知识库&#xff0c;封装提示词&#xff0c;调用deepseek的&#xff0c;并返回给前端的全过程&#xff0c;非完整代码&#xff0c;不可直接运行。 1.基于servlet封装异步请求 为…

归并排序的思路与实现

归并排序主要是两大模块 分治 和 合并 即将已有序的子序列合并&#xff0c;得到完全有序的序列&#xff1b;即先使每个子序列有序&#xff0c;再使子序列段间有序。若将两个有序表合并成一个有序表&#xff0c;称为二路归并 由于使用了新的数组 那么空间复杂度就为O(n) 但这…

Word中公式自动标号带章节编号

&#xff08;1&#xff09;插入一行三列的表格&#xff0c;设置宽度分别为0.5&#xff0c;13.39和1.5&#xff0c;设置纵向居中&#xff0c;中间列居中对齐&#xff0c;最右侧列靠右对齐&#xff0c;设置段落如下 &#xff08;2&#xff09;插入域代码 【Word】利用域代码快速实…

阿里云服务器环境部署 四 MySQL主从配置

安装MySQL 导入mysql镜像 docker load -i /opt/dockerinstall/mysql/mysql-8.1.0.tar docker run --privilegedtrue --name mysql8 --restartunless-stopped -e MYSQL_ROOT_PASSWORD123456 -p 3306:3306 -v /usr/local/mysql/logs:/var/log/mysql -v /usr/local/mysql/d…

[RH342]iscsi配置与排错

[RH342]iscsi配置与排错 1. 服务端配置1.1 安装targetcli1.2 准备磁盘1.3 服务端配置1.4 防火墙配置 2. 客户端配置2.1 安装客户端软件2.2 配置客户端2.3 连接登录服务端2.4 挂载使用 3. 安全验证扩展3.1 服务端3.2 客户端 4. 常见的排错点4.1 服务端常见错误4.2 客户端常见错误…

服装零售行业数字化时代的业务与IT转型规划P111(111页PPT)(文末有下载方式)

服装零售行业数字化时代的业务与IT转型规划P111 详细资料请看本解读文章的最后内容。 随着数字化技术的迅猛发展&#xff0c;服装零售行业正经历着前所未有的变革。本文将对《服装零售行业数字化时代的业务与IT转型规划P111》进行详细解读&#xff0c;探讨未来几年内该行业的…

基于javaweb的SSM+Maven宠物领养宠物商城流浪动物管理系统与实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…

PostgreSQL 数据库中导入大量数据

在 PostgreSQL 数据库中导入大量数据,可根据数据来源和格式选择不同的方法。以下为你详细介绍几种常见的方式: 1. 使用 COPY 命令(适用于本地数据文件) COPY 命令是 PostgreSQL 内置的高效数据导入工具,适合处理本地的数据文件。 步骤 准备数据文件 确保你的数据文件格…