笔记: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. Assert的使用和简单解释

    Assert 的简单使用 Document d = Jsoup.connect("http://www.baidu.com").get(); Assert.notNull(d, & ...

  2. VC9.0 for Python2

    python2安转包时提示: pip install xxx时,提示 Microsoft Visual C++ 9.0 is required 下载并安装: 链接:https://pan.baidu. ...

  3. unidbgrid导出Excel到多个sheet

    xls := TXlsFile.Create(true); xls.NewFile; xls.ActiveSheet := 1; xls.SheetName := '未自评人员清单'; xls.Act ...

  4. 给临时停车号码牌插上翅膀:lua脚本语言加入—鲁哇客智能挪车号码牌技术升级之路

    预计6月中旬上线的,带语音的智能挪车号码牌,会新增lua编程脚本的支持.类似于我们的手机,从功能机到智能机的进化,有着划时代的意义:产品功能不再由厂家决定,她可由lua编程脚本书写,随时编辑修改. l ...

  5. python 引用传递,简单例子

    from threading import Threaddef test1(a): while 1: print adef test2(a): a["a"] = 2if __nam ...

  6. 关于不同平台、环境下64位int型的输入输出方式(转)

    C语言 64位int 定义方式: Linux: long long         Windows:__int64 C语言 64位int 输出方式: Linux: "%lld"   ...

  7. [imx6ull][nand] uboot烧录固件

    背景 在调试阶段使用nxp的mfg-tools烧录比较麻烦,故考虑使用uboot指令实现固件烧录 烧录方法 //烧写内核 nand erase 0x4000000 0x800000 tftp zIma ...

  8. python之序列化与反序列化

    #!/usr/bin/env python# -*- coding:utf-8 -*-#Author:QiFeng Zhang'''序列化反序列化之json应用'''import json #导入js ...

  9. MySQL如何指定字符集和排序规则?

    在MySQL中,可以使用以下两种方式指定字符集和排序规则: 创建数据库或表时指定字符集和排序规则 在创建数据库或表时,可以使用 CHARACTER SET 和 COLLATE 选项指定字符集和排序规则 ...

  10. ECharts连接数据库的具体实现

    相关描述 我们由之前的实例可以得知,要是不连接数据库的话,只是需要套用一下ECharts的相关模板即可,这部分内容我在前几篇中已经叙述过了: 现在,我们需要实现的是,将数据库里面的数据导入到web网页 ...