计算机网络基础知识框架

article/2025/10/8 21:21:49

前言

  • 计算机网络基础 该是程序猿需掌握的知识,但往往会被忽略
  • 今天,我将献上一份详细 & 清晰的计算机网络基础 学习指南,涵盖 TCP / UDP协议、Http协议、Socket等,希望你们会喜欢。

目录

示意图
1. 计算机网络体系结构 1.1 简介
  • 定义
    计算机网络的各层 + 其协议的集合
  • 作用
    定义该计算机网络的所能完成的功能

1.2 结构介绍

  • 计算机网络体系结构分为3种:OSI体系结构、TCP / IP体系结构、五层体系结构
  • OSI体系结构:概念清楚 & 理念完整,但复杂 & 不实用
  • TCP / IP体系结构:含了一系列构成互联网基础的网络协议,是Internet的核心协议 & 被广泛应用于局域网 和 广域网
  • 五层体系结构:融合了OSITCP / IP的体系结构,目的是为了学习 & 讲解计算机原理
示意图

低三层为通信子网,负责数据传输
高三层为资源子网,相当于计算机系统,完成数据处理;
传输层承上启下

  • TCP / IP的体系结构详细介绍
    由于 TCP / IP体系结构较为广泛,故主要讲解
示意图
示意图
  • OSI的体系结构详细介绍
示意图
示意图

2. TCP协议

Transmission Control Protocol,即 传输控制协议

  1. 属于 传输层通信协议
  2. 基于TCP的应用层协议有HTTPSMTPFTPTelnetPOP3

关于TCP的其他知识:如三次握手、四次挥手、无差错控制原理等,具体请看文章:计算机网络:这是一份全面 & 详细 的TCP协议攻略


3. UDP协议

3.1 定义

User Datagram Protocol,即 用户数据报协议

  1. 属于 传输层通信协议
  2. 基于UDP的应用层协议有 TFTPSNMPDNS

3.2 特点

无连接的、不可靠的、面向报文、无拥塞控制,具体介绍如下:


示意图

3.3 优缺点

  • 优点:速度快
  • 缺点:消息易丢失(特别是 网络较差时)

3.4 应用场景(对应应用层协议)

要求通信速度高

如:
域名转换:DNS协议
文件传输:FTP协议
网络管理:SNMP协议
远程文件服务器:NFS协议

3.5 报文段格式

  • UDP的报文段共有2个字段:数据字段 & 首部字段
  • 下面主要介绍首部(8字节、4个字段)
示意图
示意图

3.6 TCP、UDP协议的区别

示意图

4. HTTP协议

  • 简介


    示意图
  • 关于其工作方式、报文段等知识,请看文章:这是一份全面& 详细 HTTP知识讲解


5. Socket

5.1 简介

  • 即套接字,是应用层 与 TCP/IP 协议族通信的中间软件抽象层,表现为一个封装了 TCP / IP协议族 的编程接口(API)
示意图
  1. Socket不是一种协议,而是一个编程调用接口(API),属于传输层(主要解决数据如何在网络中传输)
  2. 即:通过Socket,我们才能在Andorid平台上通过 TCP/IP协议进行开发
  3. 对用户来说,只需调用Socket去组织数据,以符合指定的协议,即可通信
  • 成对出现,一对套接字:
Socket ={(IP地址1:PORT端口号),(IP地址2:PORT端口号)}
  • 一个 Socket 实例 唯一代表一个主机上的一个应用程序的通信链路

5.2 其他知识

关于Socket的原理、机制过程 & 使用方式,具体请看文章:Android:这是一份很详细的Socket使用攻略


6. 其他知识

6.1 在浏览器中输入url地址 ->> 显示主页的过程

打开一个网页,整个过程会使用哪些协议

示意图

6.2 IP地址(IPv4地址)

  • 定义
    连接在Internet中的每一台主机(或 路由器)的全球唯一的标识符

  • 组成
    IP地址 = 32位 = 网络号 + 主机号;即IP地址::={<网络号>,<主机号>}

其中:

  1. 网络号:标志主机(或路由器)所连接到的网络。一个网络号在整个因特网范围内必须是唯一的。
  2. 主机号:标志该主机(或路由器)。一个主机号在它面前的网络号所指明的网络范围必须是唯一的。

不同类型的IP地址,其主机号 & 网络号所占字节数不同;故:一个IP地址在整个网络范围内是唯一的

  • 分类
    传统的IP地址是分类的地址,分为A,B,C,D,E五类

区别在于网络号 & 主机号占的字节数不同

示意图
  • 特别注意:在各类IP地址中,有一些IP地址用于特殊用途,不能用于做主机IP地址
示意图

6.3 ICMP协议

  • 定义
    Internet Control Message Protocol,即 网际控制报文协议
  1. 属于IP层协议
  2. 注:ICMP报文不是高层协议,而是作为IP层数据报的数据,加上数据报首部,组成IP数据报发出去
  • 作用
    更有效地转发IP数据包 & 提高交付成功的机会

同时允许主机 / 路由器报告差错 & 异常情况

  • 分类
    ICMP差错报告报文 & ICMP询问报文

  • 主要应用
    PING(分组网间探测)、Traceroute(跟踪1个分组从源点到终点的路径,原理 = 从源主机向目的主机发送一连串的IP数据报)

下面,将主要介绍Ping的过程

6.4 Ping的过程

  • 定义
    Packet InterNet Groper,即分组网间探测
  1. ICMP报文的1个重要应用:使用了IPCM回送请求 & 回送回答报文
  1. 是应用层直接使用网络层ICMP的1个例子,无经过传输层的TCP、UDP
  • 作用
    测试2个主机的连通性

  • 原理

    1. 向目的主机发送多个ICMP回送请求报文
    2. 根据 目的主机返回的ICMP回送回答报文中的时间戳,从而计算出往返时间
    3. 最终显示的结果:发送到目的主机的IP地址、发送 & 收到 & 丢失的分组数、往返时间的最小、最大 & 平均值
  • 过程
    假设有两台主机:
    (目的主机)PC1:IP = 192.168.1.1
    (源主机)PC2:IP = 192.168.1.2

示意图

6.5 路由器与交换机的区别

示意图

6.6 Cookie 与 Session

  • 简介
示意图
  • 区别 & 对比
示意图

6.7 Cookie 与 Token

  • 简介
示意图
  • 基于Cookie的身份验证 & 验证流程
示意图
示意图
  • 基于Token的身份验证 & 验证流程
示意图


作者:Carson_Ho
链接:https://www.jianshu.com/p/45d27f3e1196
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

http://chatgpt.dhexx.cn/article/St10TpGW.shtml

相关文章

python网络基础

python网络基础 1. 前言1.1 拓扑图1.2 三个问题 2. IP2.1 概念2.2 组成2.3 分类2.4 私有IP和私有IP2.4.1 共有IP2.4.2 私有IP 2.5 子网掩码 3. 网络端口3.1 前言3.2 注意 4. 网络协议4.1 前言4.2 四层模型 1. 前言 1.1 拓扑图 1.2 三个问题 IP windows中查看&#xff1a; ipco…

网络基础--搭建一个简单的网络

文章目录 前言一、配置路由器二、配置服务器三、电脑开启dhcp服务总结 前言 这里用的是华为的模拟器ENSP来完成这个实验。 华为的模拟器中PC不能访问服务器&#xff0c;也就是说不能访问网页&#xff0c;所以用Client。 要求&#xff1a;所有电脑自动获取ip地址—dhcp服务&am…

神经网络基础知识

一、课程来源&#xff1a; 深度之眼神经网络基础知识 二、主要内容&#xff1a; 主要分为三个部分&#xff0c;分别是 1.神经网络基础与多层感知机&#xff1a;基础知识、激活函数、反向传播、损失函数、权值初始化和正则化 2.卷积神经网络&#xff1a;统治图像领域的神经…

计算机网络基础知识

计算机网络 上帝视角 如上图就是一张简单的计算机网络&#xff0c;那么什么是计算机网络呢&#xff1f; 百度百科的定义&#xff1a; 网络是由若干节点和连接这些节点的链路构成&#xff0c;表示诸多对象及其相互联系。 在我看来计算机网络通俗地讲就是通过传输介质将分布在…

【Kubernetes】容器网络基础

文章目录 一、前言二、Kubernetes 容器网络基础2.1 容器网络基础知识回顾2.2 Kubernetes 容器网络概览2.3 CNI 插件介绍2.3.1 使用 CNI 插件创建并连接容器网络的操作步骤 三、Kubernetes 容器网络模型3.1 容器网络模型简介3.2 容器网络模型实现3.3 容器网络模型与 CNI 插件的关…

数通基础-网络基础知识

OSI参考模型 OSI 概念 Open System Interconnect开放系统互连参考模型&#xff0c;是由ISO&#xff08;国际标准化组织&#xff09;定义的。它是个灵活的、稳健的和可互操作的模型&#xff0c;并不是协议&#xff0c;而是一个伟大的模型。常用来分析和设计网络体系结构。​ O…

计算机网络基础 (一) —— 概念、组成、功能、分类

1、基本概念 1.1、计算机网络的概念 网络包含了计算机网络&#xff1a; 概念 1.2、计算机功能 1.3、计算机网络组成 1.4、计算机网络的分类 1.5、标准化工作的相关组织 1.6、速率相关的性能指标 1.6.1、速率 数据是1个比特1个比特的传递的&#xff0c;下图中将10个数字传送给…

计算机网络基础知识大全

&#x1f3c6;作者简介&#xff1a;哪吒&#xff0c;CSDN2022博客之星Top1、CSDN2021博客之星Top2、多届新星计划导师✌、博客专家&#x1f4aa; &#xff0c;专注Java硬核干货分享&#xff0c;立志做到Java赛道全网Top N。 &#x1f3c6;本文收录于&#xff0c;Java基础教程系…

浅谈网络基础架构

浅谈网络基础架构 背景看一次网络请求主要过程1.URL解析2.DNS解析解析顺序服务器层次划分 3.建立TCP连接HTTP请求为什么要用TCP协议建立连接&#xff1f;TCP 三次握手 4.服务器处理请求5.浏览器接受响应6.渲染页面 部署架构总览结构组成相关术语 负载均衡&#xff08;LB/SLB&am…

网络基础知识详解(图解版)

网络基础知识详解(图解版) 1.网络协议&#xff1a; 我们用手机连接上网的时候&#xff0c;会用到许多网络协议。从手机连接 WiFi 开始&#xff0c;使用的是 802.11 &#xff08;即 WLAN &#xff09;协议&#xff1b; 手机自动获取网络配置&#xff0c;使用的是 DHCP 协议。 这…

网络知识(入门)

目录 二、基本网络通信原理 网络基础概念&#xff1a;IP地址 IP地址的格式&#xff1a; 由什么来决定网络位的长度&#xff1f; 三、IP地址如何配置 如何看自己电脑IP地址&#xff1f; 另一种命令式查看 手机地址如何查看 IP地址如何配置 疑问&#xff1a;为什么没有配…

网络基础知识

Net Basic 一、网络分层 1. OSI七层模型 物理层&#xff1a;确保原始数据在各种物理媒介上的传输。 有两个重要设备&#xff1a;中继器&#xff08;放大器&#xff09;和集线器 数据链路层&#xff1a;为网络层提供数据传输服务&#xff1b;基本数据单位是帧&#xff1b;以太…

【网络入门】详解常用的基础网络知识(面试笔试常考内容)

目录 1、概述 2、OSI七层模型和TCP/IP四层模型 3、数据进入TCP/IP协议栈时的封装过程 4、端口的概念 5、TCP建立连接时的三次握手 5.1、TCP头的构成 5.2、三次握手的流程说明 5.3、为什么必须使用三次握手&#xff0c;不能用两次握手去建立连接 5.4、SYN包攻击简介 …

面试官都震惊,你这网络基础可以啊!

目录 网络1.对网络的基础认识<1>.组网方式<2>.OSI七层模型<3>.TCP/IP五层&#xff08;四层模型&#xff09;<4>.对封装分用的理解 2.网络数据传输<1>局域网(1)认识IP和MAC(2)网络数据传输的特性(3)网络数据传输流程1)网络互联的方式2).局域网交换…

用matlab做bp神经网络预测,matlab神经网络怎么预测

1、请问MATLAB中神经网络预测结果应该怎么看&#xff1f;求大神解答 从图中Neural Network可以看出&#xff0c;你的网络结构是两个隐含层&#xff0c;2-3-1-1结构的网络&#xff0c;算法是traindm&#xff0c;显示出来的误差变化为均方误差值mse。经过482次迭代循环完成训练&…

matlab神经网络应用设计,神经网络及其matlab实现

Matlab里的神经网络是什么意思啊&#xff0c;我是新手&#xff0c;谁能简单通俗地解释下啊&#xff1f;谢谢了&#xff01;&#xff01;&#xff01; 。 所谓神经网络算法顾名思义是模拟生物神经网络而产生的一种算法&#xff0c;首先需要用一些已知的数据输入到神经网络中&a…

matlab神经网络训练方法,matlab神经网络模型导出

1、MATLAB神经网络中&#xff0c;多次训练后NET怎么保存&#xff1f; 它不过是个结构体&#xff0c;你在当前变量那个框框里找到它->右击->保存为.mat&#xff0c;下次用的时候点load再加载回来就成了&#xff08;以上操作亦可用 save load 命令在代码里实现&#xff09…

人工神经网络matlab代码,matlab神经网络30例代码

如何在matlab中建立多层bp神经网络 当你用newff的时候&#xff0c;里面有一个参数可以控制层数&#xff0c;比如说&#xff1a;P [0 1 2 3 4 5 6 7 8 9 10];T [0 1 2 3 4 3 2 1 2 3 4];net newff(P,T,5); %这样表示有1个隐藏层&#xff0c;里面那个5表示神经元的个数net n…

matlab中的神经网络怎么用,matlab神经网络训练方法

如何利用matlab进行神经网络预测 matlab 带有神经网络工具箱&#xff0c;可直接调用&#xff0c;建议找本书看看&#xff0c;或者MATLAB论坛找例子。 核心调用语句如下&#xff1a;%数据输入%选连样本输入输出数据归一化[inputn,inputps]mapminmax(input_train);[outputn,out…

Matlab神经网络基础

一、newp 设计一 newp函数用于生成一个感知器神经网络&#xff0c;以解决线性可分的分类问题&#xff0c;后两个输入参数是可选的&#xff0c;如果采用默认值&#xff0c;可以简单地采用 n e t n e w p ( P , T ) netnewp(P,T) netnewp(P,T)的形式来调用。 netnewp(P, T, T…