笔记: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. logic 运算符

  2. centos安装k8s注意点

    安装方法,参考 https://blog.csdn.net/frankgy01/article/details/127936367 https://www.cnblogs.com/yangzp/p/1 ...

  3. weblogic11g打补丁,应用出现乱码

    解决办法: 1.找到域下的这个路径:autodeploy\manager\WEB-INF里的web.xml文件,先备份好,再添加以下语句: <context-param> <para ...

  4. mysql安装调试

    mysql安装 1.下载mysql的压缩包 tar -xvzf mysql-5.6.38-linux-glibc2.12-i686.tar.gz2.安装之后密码是随机的,所以我们需要重新修改密码: [ ...

  5. 打不过AI就拉拢?ChatGPT和MidJourney已成我小秘书!

    为了体验AI,晓衡这两周战斗力爆棚了! 每天大概睡了四~五个小时,而且中午也没有休息过,但精神却还很亢奋. 直到周一下午,身体才有种被掏空的感觉,晚上 10 点就睡了.可能是兴奋劲还在,早晨不到 6 ...

  6. LoadRunner——分析图详解(十四)

    <分析图详解> 一.Running V user s 图 X轴表示运行所用的时间,Y轴表示vuser数, 显示在整个运行过程中随着时间的推移,虚拟用户数量是如何变化的,具体描述为:用户是如 ...

  7. springboot---多环境启动命令格式

    一.多环境命令启动 maven插件中首先clean,再package打包,(修改字符集为UTF-8) 使用cmd命令java -jar s(Tab键自动补全)  -spring.profiles.ac ...

  8. springboot 连接不上 redis 的三种解决方案!

    针对于这种情况,首先,我们最简单直接的方法就是需要确认Redis是否已经正常启动(验证方法:如果安装在Linux下的话可以使用ps-ef|grep redis来进行确认是否开启) 如果未开启,我们可以 ...

  9. C# 动态创建类,动态创建表,支持多库的数据库维护方案

    1.创建表 SqlSugar支持了3种模式的建表,非常的灵活,可以MYSQL MSSQL ORACLE等用同一语法创建数据库,不需要考虑数据库的兼容性 中间标准: string  大文本 5.1.3. ...

  10. 【ASP.NET Core】在node.js上托管Blazor WebAssembly应用

    由于 Blazor-WebAssembly 是在浏览器中运行的,通常不需要执行服务器代码,只要有个"窝"能托管并提供相关文件的下载即可.所以,当你有一个现成的 Blazor was ...