【Linux】网络基础1

文章目录

  • 网络基础1
    • 1. 计算机网络背景
      • 1.1 网络发展
    • 2. 认识协议
      • 2.1 网络协议
      • 2.2 OSI七层模型
      • 2.3 TCP/IP五层(或四层)模型
    • 3. 网络传输基本流程
      • 3. 1 数据报封装和分用
    • 4. 网络中的地址管理
      • 4.1 认识IP地址
    • 5. 认识MAC地址

网络基础1

1. 计算机网络背景

1.1 网络发展

独立模式:计算机之间相互独立

网络互联:多台计算机连在一起,完成数据共享

局域网LAN:计算机数量更多了,通过交换机和路由器连接在一起

7ow7sy8zik-1691558754512.png

广域网WAN:将相隔千里的计算机都连在一起

image-20230809132611223

这里所谓的“局域网”和“广域网”都是相对的

2. 认识协议

“协议”就是一种约定

计算机生产的厂商很多,计算机的操作系统也很多,计算机的网络硬件也很多。怎么让这些计算机之间能够相互通信那?

就需要约定一个共同的标准,这就是“网络协议”

2.1 网络协议

4x8dve4se9-1691559118526.png

软件分层之后,每一层只关注自己同层的功能,只使用下层的接口,任何一层出现问题都不会影响到下一层,大大减少开发者的维护成本

高内聚、低耦合

2.2 OSI七层模型

它的最大优点是将服务、接口、协议三个概念明显的区分开来,但是它复杂又不实用,所以一般都谈TCP/IP四层模型

2.3 TCP/IP五层(或四层)模型

image-20230809133904848

3. 网络传输基本流程

网络传输流程图:

ynwdiud4ag-1691559801557.png

两台计算机TCP/IP协议通讯的过程如下:

image-20230809134415606

3. 1 数据报封装和分用

  1. 每一层都会把上一层给自己的数据,作为有效载荷
  2. 每一层都有自己的协议报头
  3. 对应的层 报头 + 有效载荷 = 发送的报文(封装)
  4. 在逻辑上同层协议都认为自己在和对方的同层协议通信
  5. 同层协议,能够相互认识对方的报头
image-20230809134838164

4. 网络中的地址管理

4.1 认识IP地址

IP协议有两个版本,IPV4和IPV6。对于IPV4来说,IP地址是一个四字节32位的整数

局域网通信的原理:

局域网任何时刻只允许一个人向局域网中发送消息,任何人要通信都要有一个唯一的标识符,对于计算机来说每台计算机都配有网卡。网卡在出厂的时候就写入了sn号,MAC地址全球唯一

5. 认识MAC地址

MAC地址是用来识别数据链路层中的相邻的节点,在网卡出厂时就已经确定了并且不能修改,mac地址是唯一的

  1. 先将数据通过操作系统,将数据发送到目标主机TCP/IP协议完成,IP可以标识互联网上的唯一的一台主机
  2. 在本主机收到的数据推送给上层指定的进程。端口号可以标识对应主机内唯一的一个进程
    送到目标主机TCP/IP协议完成,IP可以标识互联网上的唯一的一台主机
  3. 在本主机收到的数据推送给上层指定的进程。端口号可以标识对应主机内唯一的一个进程
  4. 计算机的大小端问题,如果两个计算机的大小端存数据的方式不一样,接收到的数据可能不太理想。所以规定网络序列必须是大端

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

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

相关文章

Flink-串讲面试题

1. 概念 有状态的流式计算框架 可以处理源源不断的实时数据,数据以event为单位,就是一条数据。 2. 开发流程 先获取执行环境env,然后添加source数据源,转换成datastream,然后使用各种算子进行计算,使用s…

数据结构 | 树的定义及实现

目录 一、树的术语及定义 二、树的实现 2.1 列表之列表 2.2 节点与引用 一、树的术语及定义 节点: 节点是树的基础部分。它可以有自己的名字,我们称作“键”。节点也可以带有附加信息,我们称作“有效载荷”。有效载荷信息对于很多树算法…

【学习FreeRTOS】第5章——FreeRTOS任务挂起与恢复

1.任务的挂起与恢复的API函数 vTaskSuspend() ——挂起任务(类似暂停,可恢复,但删除任务,无法恢复)vTaskResume() ——恢复被挂起的任务xTaskResumeFromISR()—— 在中断中恢复被挂起的任务 1.1.任务挂起函数vTaskSu…

leetcode19. 删除链表的倒数第 N 个结点

题目:leetcode19. 删除链表的倒数第 N 个结点 描述: 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 思路: 让前面的节点比后面的节点先走n1步,因为从链表的尾节点的下一个节点开始&…

【BASH】回顾与知识点梳理(二十二)

【BASH】回顾与知识点梳理 二十二 二十二. Linux 账号管理22.1 Linux 的账号与群组使用者标识符: UID 与 GID使用者账号/etc/passwd 文件结构/etc/shadow 文件结构 关于群组: 有效与初始群组、groups, newgrp/etc/group 文件结构有效群组(effective grou…

传值与传址问题

传值与传址实例 2023年上半年软考真题: 22、设函数foo和hoo的定义如下图所示,在函数foo中调用函数hoo,hoo的第一个参数采用传引用方式(call by reference),第二个参数传值方式(call by value),那么函数foo中的print(a…

go错误集(持续更新)

1.提示以下报错 Build Error: go build -o c:\Users\Administrator\Desktop__debug_bin2343731882.exe -gcflags all-N -l . go: go.mod file not found in current directory or any parent directory; see ‘go help modules’ (exit status 1) 解决办法: go …

Elasticsearch 与 OpenSearch:揭开性能差距

作者:George Kobar, Ugo Sangiorgi 对于任何依赖快速、准确搜索数据的组织来说,强大、快速且高效的搜索引擎是至关重要的元素。 对于开发人员和架构师来说,选择正确的搜索平台可以极大地影响你的组织提供快速且相关结果的能力。 在我们全面的…

opencv实战项目 实现手势跟踪并返回位置信息(封装调用)

OpenCV 是一个基于 Apache2.0 许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 需要提前准备opencv 和 mediapipe库 pip --default-timeout5000 install -i https://pypi.tuna.tsi…

拂袖一挥,zipfile秒列zip包内容

使用wxpython列出文件夹中的zip文件及内容 最近在做一个文件管理的小工具,需要列出选择的文件夹下的所有zip压缩文件,并在点击某个zip文件时能够显示其中的内容。为此我使用了wxpython来实现这个功能。 1. 导入需要的模块 首先导入程序需要的模块: import wx import os imp…

设计模式之工厂模式

简单工厂 由一个工厂生产多个产品。 一般工厂 每个产品都有一个单独的工厂专门生产。 抽象工厂 不同工厂生产不同种类的产品,每个工厂生产的同类产品又可以再次分类。比如一个鼠标工厂和一个键盘工厂,他们可以为不同的品牌生产鼠标和键盘。

CTF流量题解http1.pcapng

使用Wireshark工具打开流量文件http1.pcapng,如下图所示。 在过滤检索栏输入http,wireshark自动进行过滤。 选中其中一条记录后,wireshark 下方显示若干信息。 Frame 81: 925 bytes on wire (7400 bits), 925 bytes captured (7400 bits) …

从数据仓库到数据结构:数据架构的演变之路

在上个世纪,从电子商务巨头到医疗服务机构和政府部门,数据已成为每家组织的生命线。有效地收集和管理这些数据可以为组织提供宝贵的洞察力,以帮助决策,然而这是一项艰巨的任务。 尽管数据很重要,但CIOinsight声称&…

DL_20无线串口模块

今日介绍一块最近入手的无线串口模块,40r左右,精简好用,虽然感觉配置波特率啥的并不智能化,但250米的通信距离还是很顶的!它的升级版甚至有1000米的通信距离(空旷地带) 这篇文章不多讲其余话&am…

【C++】开源:abseil-cpp基础组件库配置使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍abseil-cpp基础组件库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&#…

什么,你说你不会通过jdbc一次性创建10个数据库???

小朋友你是否有很多问号???????????? 1、在资源文件中建一个文件,填入连接数据库的基本信息。 2、通过反射拿到资源文件。…

数据库新闻速递 -- POSTGRESQL 正在蚕食数据库市场 (翻译)

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请加 liuaustin3微信号 ,在新加的朋友会分到3群&#xff…

机器学习笔记 - 使用 YOLOv5、O​​penCV、Python 和 C++ 检测物体

一、YOLO v5简述 YOLO v5虽然已经不是最先进的对象检测器,但是YOLOv5 使用了一个简单的卷积神经网络 CNN架构(相对YOLO v8来讲,不过v8精度是更高了一些),更易理解。这里主要介绍如何轻松使用 YOLO v5来识别图像中的对象。将使用 OpenCV、Python 和 C++ 来加载和调用我们的…

K8S系列文章之 一键部署K8S环境

部署的原理是基于自动化部署工具 Ansible 实现的,需要提前安装Ansible 并配置下主机节点环境 1. 安装 Ansible 首先ansible基于python2.X 环境,默认centos都已经安装好了python2环境 // 最好更新下库 // yum update yum install -y epel-release yum i…

flask使用cookie (设置cookie与查看cookie内容)

1.flask包cookie的使用 设置cookie app.route(/set_cookie) def set_cookie():resp make_response(Setting cookie)resp.set_cookie(username, John)return resp查看cookie: app.route(/get_cookie) def get_cookie():username request.cookies.get(username)return Welco…