笔记:linux必备网络基础概念和以太网技术基础


由于后面可能需要对交换机进行一些配置,所以也是临时学习一下iptables的相关配置,以及一些基本的网络知识,下面就是我看到一些资料做的一些总结,希望能帮助到一些像我这样的新手。


MTU:最大传输单元(1500type)

解决资源争夺:介质的访问控制 MAC(Media Access Control)算法

以太网使用的算法:CSMA/CD(Carrier Sense Multipath Access)载波侦听
多路访问
冲突检测
                          怎么检测:A在发送数据前先查看线路是否忙,如果不忙,则立即发送数据,并且边发送边侦听,如果发现冲突了,就立即撤退,等待一段时间再检测

隔离冲突域:网桥->交换机

交换机:(存储芯片《flash芯片》,存储数据库(每个交换机上所连接的主机MAC地址))
发现A和B在同一总线上就不再转发了
怎么知道哪个主机在哪个接口上:MAC表(学习阶段,根据报文源地址来学习的)
如果不知道需要发送到哪个接口:如果发现没有B,交换机向每个接口发送数据,将数据包发送到网络中,当B发现数据包,回应发送到交换机,交换机发现B接口,这样就知道B的接口了,当下次发送时交换机就知道了B的接口。
交换机怎么实现网络隔离的:1.交换机必须知道网络中有哪些主机      

广播域:收件地址为全1的地址(所有人都能接受到)

CRC:循环冗余校验码(比较报文发送是否正确)
告诉报文是否有效数据

报文:源地址,目标地址,有效数据长度,校验码     (协议)解决A和B传递的报文
广播风暴:导致网络无法通信          解决方法:隔离广播域(交换机)

如果A和B被交换机隔离(分割成许多小网络,已经隔离广播域,无法发送广播包),要解决通信怎么办?
答:可以在报文中加入一段网络号    报文:
源地址,目标地址,有效数据长度,校验码+网络号

怎么知道自己的网络,怎么知道对方和自己不在一个网络?
答:根据网络号不一样,交换机可以通过学习或者配置可以学习到自己或者对方所连接的网络    源网络,目的网络的标记而不是MAC的标记了

报文:源ip,目标ip(基于源MAC地址)源MAC ,目标MAC+网络号
进行报文的拆卸和包装

ip地址:由网络地址(即网络号定义在哪个网络)和主机号组成
路由怎么通过ip地址知道网络地址?
通过mask掩码

网络间的通信:根据源ip和目标ip
本地键的通信:源MAC和目的MAC

发送给B的哪一个进程:还需要在报文中加入源端口号(进程号)和目标端口号(进程号)

笔记:linux必备网络基础概念和以太网技术基础的更多相关文章

  1. Exynos4412 IIC总线驱动开发(一)—— IIC 基础概念及驱动架构分析

    关于Exynos4412 IIC 裸机开发请看 :Exynos4412 裸机开发 —— IIC总线 ,下面回顾下 IIC 基础概念 一.IIC 基础概念 IIC(Inter-Integrated Ci ...

  2. Podman容器技术基础

    Podman容器技术基础 目录 Podman容器技术基础 简介 安装 基础命令 简介 Podman 是一个开源的容器运行时项目,可在大多数 Linux 平台上使用.Podman 提供与 Docker ...

  3. Linux实战教学笔记19:Linux相关网络知识梳理

    第十九节 Linux相关网络知识梳理 标签(空格分隔): Linux实战教学笔记-陈思齐 一,前言 一个运维有时也要和网络打交道,所以具备最基本的网络知识,对一个运维人员来说是必要的.但,对于我们的工 ...

  4. 网络虚拟化之linux虚拟网络基础

    1 linux虚拟网络基础 1.1 Device 在linux里面devic(设备)与传统网络概念里的物理设备(如交换机.路由器)不同,Linux所说的设备,其背后指的是一个类似于数据结构.内核模块或 ...

  5. Java基础复习笔记系列 九 网络编程

    Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...

  6. linux设备驱动归纳总结(一)内核的相关基础概念【转】

    本文转载自:http://blog.chinaunix.net/uid-25014876-id-59413.html linux设备驱动归纳总结(一):内核的相关基础概念 xxxxxxxxxxxxxx ...

  7. 【转】Pro Android学习笔记(二):开发环境:基础概念、连接真实设备、生命周期

    在Android学习笔记(二):安装环境中已经有相应的内容.看看何为新.这是在source网站上的Android架构图,和标准图没有区别,只是这张图颜色好看多了,录之.本笔记主要讲述Android开发 ...

  8. Kubernetes 学习笔记(一):基础概念

    个人笔记,仅本人查阅使用,不保证正确. 零.微服务 微服务架构专注于应用解耦合,通过将应用彻底地组件化和服务化,每个微服务只包含一个非常小的功能,比如权限管理.日志收集等等.由这一组微服务组合起来,提 ...

  9. 【miscellaneous】 GStreamer应用开发手册学习笔记之基础概念介绍

    第3章. 基础概念介绍 本章将介绍GStreamer的基本概念. 理解这些概念对于你后续的学习非常重要,因为后续深入的讲解我们都假定你已经完全理解了这些概念. 3.1. 元件(Elements) 元件 ...

  10. 【Linux开发】linux设备驱动归纳总结(一):内核的相关基础概念

    linux设备驱动归纳总结(一):内核的相关基础概念 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

随机推荐

  1. php上传文件时出现 caution: request is not finished yet

    其中的一个原因:是wamp64下的tmp文件夹中的临时文件太多,把这个文件夹的临时文件清理后就可以了.

  2. 1005.Django自定义过滤器及标签

    一.关于自定义 自定义的引入 内置函数--------->自定义函数 内置模块--------->自定义模板 内置过滤器------>自定义过滤器 内置标签---------> ...

  3. app 好用的手机端开发调试工具插件 vconsole vue3

    效果:可以在手机上看控制台的内容 $ npm install vconsole 在main.js里引入 // 添加移动端log查看调试器 import Vconsole from 'vconsole' ...

  4. 2021.06.29 mac系统下zsh: command not found:***报错问题

    最近老是遇到zsh: command not found:vue,zsh: command not found:nrm, zsh: command not found:tsc, zsh: comman ...

  5. Go_day01

    Go基础语法 注释 注释是为了增强代码的可读性,不会参与程序的一切功能, go语言注释分为单行注释与多行注释 单行注释 //双斜杠 每行都要添加 // 多行注释 /* */ 一次标记多行注释输入 pa ...

  6. Static详细讲解

    Static详细讲解 package com.andy.base.oop.demo01.demo07; import sun.dc.path.PathError; public class Perso ...

  7. ububtu20.04下MySQL的安装及使用Navicat连接数据库

    ububtu20.04下最新版本MySQL的安装及使用Navicat连接数据库 一.MySQL的安装 先通过如下命令更新软件包: sudo apt-get update 再通过如下命令安装MySQL: ...

  8. SpringBoot——常用配置

    application.yml配置信息 spring: profiles: active: dev application: name: jwt-token-security # Jackson 配置 ...

  9. D3和X6

    D3 版本 d3已经更新到v7版本,中文文档只更新到v4版本,存在部分api不适用和过时问题 使用d3-darge插件布局,插件适配d3版本为v5,近年未更新 API 使用darge中setNode和 ...

  10. 02.SQL

    1. SQL通用语法 SQL语句可以单行或者多行书写,以分号结尾 SQL语句可以使用空格或者缩进来增强语句的可读性 MYSQL数据库的SQL语句不区分大小写,关键字建议使用大写 注释: 单行注释:-- ...