【计算机网络】网络简介

news2025/3/25 17:15:42

文章目录

  • 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.coloradmin.cn/o/2319982.html

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

相关文章

Vue.js 模板语法全解析:从基础到实战应用

引言 在 Vue.js 的开发体系中&#xff0c;模板语法是构建用户界面的核心要素&#xff0c;它让开发者能够高效地将数据与 DOM 进行绑定&#xff0c;实现动态交互效果。通过对《Vue.js 快速入门实战》中关于 Vue 项目部署章节&#xff08;实际围绕 Vue 模板语法展开&#xff09;…

bootstrap 表格插件bootstrap table 的使用经验谈!

最近在开发一个物业管理软件&#xff0c;其中用到bootstrap 的模态框。同时需要获取表格数据。用传统的方法&#xff0c;本人不想用&#xff0c;考虑到bootstrap应该有获取表格数据的方法&#xff0c;结果发现要想实现获取表格数据功能&#xff0c;需要通过bootstrap的插件实现…

Spring Boot框架识别

1. 通过icon图标进行识别 2、如果 web 应用开发者没有修改 SpringBoot Web 应用的默认 4xx、5xx 报错页面&#xff0c;那么当 web 应用程序出现 4xx、5xx 错误时&#xff0c;会报错如下图&#xff1a; 其他页面 工具一把梭哈

【MySQL】【已解决】Windows安装MySQL8.0时的报错解决方案

一、引言 先说一些没用的话&#xff0c;据说安装MySQL是无数数据库初学者的噩梦&#xff0c;我在安装的时候也是查了很多资料&#xff0c;看了很多博客&#xff0c;但是很多毕竟每个人的电脑有各自不同的情况&#xff0c;大家的报错也不尽相同&#xff0c;所以也是很长时间之后…

MES汽车零部件制造生产监控看板大屏

废话不多说&#xff0c;直接上效果 预览效果请在大的显示器查看&#xff0c;笔记本可能有点变形 MES汽车零部件制造生产监控看板大屏 纯html写的项目结构如下 主要代码分享 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UT…

晶鑫股份迈向敏捷BI之路,永洪科技助力启程

数据驱动的时代&#xff0c;每一次技术的创新和突破都在为企业的发展注入新的动力。而敏捷性也不再是选择&#xff0c;是企业生存与发展的必要条件。作为连续5年获得中国敏捷BI第一名的永洪科技&#xff0c;通过不断地在数据技术领域深耕细作&#xff0c;再次迎来了行业内的关注…

Browser Use Web UI 本地部署完全指南:从入门到精通

文章目录 引言一、项目概述1.1 核心功能1.2 技术特点 二、环境准备2.1 系统要求2.2 必要工具 三、详细部署步骤3.1 获取项目代码3.2 配置 Python 环境3.3 安装项目依赖3.4 环境配置3.5 启动应用 四、DeepSeek-V1 模型配置4.1 基础配置 五、执行Browser Use六、故障排查指南6.1 …

Linux 内核源码阅读——ipv4

Linux 内核源码阅读——ipv4 综述 在 Linux 内核中&#xff0c;IPv4 协议的实现主要分布在 net/ipv4/ 目录下。以下是一些关键的源文件及其作用&#xff1a; 1. 协议栈核心 net/ipv4/ip_input.c&#xff1a;处理接收到的 IPv4 数据包&#xff08;输入路径&#xff09;。net…

宝塔平替!轻量级开源 Linux 管理面板 mdserver-web

本文首发于只抄博客&#xff0c;欢迎点击原文链接了解更多内容。 前言 想必很多人刚接触 Linux 云服务器的时候都听过或者用过宝塔面板&#xff0c;对于小白来说&#xff0c;使用面板大大降低了服务器运维的难度&#xff0c;一键安装 LNMP 环境就可以建站了&#xff0c;像是 N…

基于springboot+vue的网络海鲜市场

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

QT开发(6)--信号和槽

这里写目录标题 1. 信号和槽概述信号的本质槽的本质 2. 信号和槽的使用2.1 连接信号和槽2.2 文档查询 3.自定义信号和槽3.1 自定义槽3.2 自定义信号3.3 带参数的信号和槽 4. 信号和槽的断开 1. 信号和槽概述 在Qt中&#xff0c;⽤⼾和控件的每次交互过程称为⼀个事件。⽐如&quo…

Linux部署DHCP服务脚本

#!/bin/bash #部署DHCP服务 #userli 20250319#检查是否为root用户 if[ "$USER" ! "root" ] thenecho "错误&#xff1a;非root用户&#xff0c;权限不足&#xff01;"exit 0 fi#配置网络环境 read -ep "请给本机配置一个IP地址(不…

Dervy数据库

Derby 和 Sqlite 数据库都是无需安装的数据库 Derby 和 Sqlite 数据库的配置与使用_derby sqlite-CSDN博客 Derby数据库简明教程_原味吐司-腾讯云---开发者社区 下载 对于jdk1.8及以上 Apache Derby 10.14.2.0 Release 进入bin 找到 启动服务端 进入bin目录 实际上是启…

Pythonic编程设计风格解析

Python 作为一种“优雅”、“简洁”、“明确”的编程语言&#xff0c;自诞生以来便以其极强的可读性和简洁的语法风靡全球。然而&#xff0c;真正掌握 Python 并不仅仅是会写 Python 代码&#xff0c;更在于是否写出了Pythonic 风格的代码。什么是 Pythonic&#xff1f;Guido v…

Json的应用实例——cad 二次开发c#

以下是一个使用AutoCAD C#.NET API实现你需求的示例代码&#xff0c;代码实现了提示用户选择一个实体&#xff0c;将一些字符串变量及其对应的值组成JSON格式数据存储到实体的扩展数据&#xff08;XData&#xff09;中&#xff0c;并在弹出窗口中显示该实体的所有扩展数据信息。…

免费送源码:Java+springboot+MySQL 房屋租赁系统小程序的设计与实现 计算机毕业设计原创定制

目 录 摘要 1 1 绪论 1 1.1选题意义 1 1.2开发现状 1 1.3springboot框架介绍 1 1.4论文结构与章节安排 1 2 房屋租赁系统小程序系统分析 3 2.1 可行性分析 3 2.1.1 技术可行性分析 3 2.1.2 经济可行性分析 3 2.1.3 法律可行性分析 3 2.2 系统功能分析 3 2.2.1 功…

个人学习编程(3-22) leetcode刷题

连续子数组&#xff1a;&#xff08;难&#xff09; 示例 1: 输入: nums [0,1] 输出: 2 说明: [0, 1] 是具有相同数量 0 和 1 的最长连续子数组。 示例 2: 输入: nums [0,1,0] 输出: 2 说明: [0, 1] (或 [1, 0]) 是具有相同数量0和1的最长连续子数组。 需要理解的知识&a…

基于python+django的酒店预定网站-酒店管理系统源码+运行步骤+课程学习

该系统是基于pythondjango开发的酒店预定管理系统。适用场景&#xff1a;大学生、课程作业、毕业设计。学习过程中&#xff0c;如遇问题可在github给作者留言。共同学习技术 演示地址 前台地址&#xff1a; http://hotel.gitapp.cn 后台地址&#xff1a; http://hotel.gitapp…

Spring 6: 3容器-Ioc

3、容器&#xff1a;IoC IoC 是 Inversion of Control 的简写&#xff0c;译为“控制反转”&#xff0c;它不是一门技术&#xff0c;而是一种设计思想&#xff0c;是一个重要的面向对象编程法则&#xff0c;能够指导我们如何设计出松耦合、更优良的程序。 Spring 通过 IoC 容…

【漫话机器学习系列】154.岭回归(Ridge Regression)

岭回归&#xff08;Ridge Regression&#xff09;详解 1. 引言 岭回归&#xff08;Ridge Regression&#xff09;是一种改进的线性回归方法&#xff0c;它通过引入正则化项来解决普通最小二乘法&#xff08;OLS, Ordinary Least Squares&#xff09;可能遇到的多重共线性问题…