第一层(物理层)
    如何用两台电脑构成最小的局域网(LAN)?
    网线的水晶头1、2和3、6脚分别起着收、发信号的作用,随意只要将水晶头做交叉线1-3、2-6交叉法,然后连接两台电脑。除了网线交叉,还要配置两台电脑的IP地址、子网掩码和默认网关。如可以是一个192.168.0.2/24和192.168.0.5/24。
    
    有一个叫Hub,也就是集线器,它有多个口,可以连接多台电脑,它和交换机不同,没有大脑,完全在物理层工作,将收到的每一个字节发到其他端口上。
    
    
第二层(数据链路层)
    使用Hub,因为它采取的是广播的模式。会有几个问题:
        1.谁发的包?谁接收?
        2.大家都在发包是否会混乱?有没有先后规则?
        3.如果发送错误了,如何处理?
        
        
    这便是第二层也即MAC层需要解决的问题。
    
    对于第2个问题,比如有如下三种解决方式:
        1.分多个车道,各走各的。即信道划分。
        2.轮着来,即轮流协议。
        3.先发送,要是很堵,再回去,错过高峰再出。即是随机接入协议。
        
        解决第1个问题:
        使用MAC地址
        这是第二层网络包的格式
        
        有了目标的MAC地址,数据包在链路上广播,MAC的网卡才鞥呢发现,是它的包,收取后,打开IP包,发现IP地址是自己的,再打开TCP包,发现端口是自己。
        
        CRC是循环冗余检测
        
        
        当不知道目标的MAC地址时怎么办呢?使用ARP协议
        
        ARP协议发送的具体的报文就如下
        
        此外本地机器也会进行ARP缓存,但机器不断上下线,IP也可能会变,所有ARP缓存的MAC地址过一段时间就会过期。
        
局域网
 
    hub集线器广播的形式会造成大量的资源浪费,这就用到了交换机,交换机会根据MAC地址依据策略进行转发。交换机会将学习到的MAC和IP地址记下,也就是我们称之为转发表的。
 

5.从物理层到MAC层的更多相关文章

  1. 网络协议 3 - 从物理层到 MAC 层

        在上一篇博文中,我们见证了 IP 地址的诞生,机器一旦有了 IP,就可以在网络的环境里和其他的机器展开沟通了.     今天,我们来认识下 物理层 和 MAC 层.     日常生活中,身为 ...

  2. 网络协议 3 - 物理层 和 MAC 层

    在上一篇博文中,我们见证了 IP 地址的诞生,机器一旦有了 IP,就可以在网络的环境里和其他的机器展开沟通了.     今天,我们来认识下 物理层 和 MAC 层.     日常生活中,身为 90 后 ...

  3. 网络协议学习笔记(二)物理层到MAC层,交换机和VLAN,ICMP与ping原理

    概述 之前网络学习笔记主要讲解了IP的诞生,或者说整个操作系统的诞生,一旦有了IP,就可以在网络的环境里和其他的机器展开沟通了.现在开始给大家讲解关于网络底层的相关知识. 从物理层到MAC层:如何在宿 ...

  4. 5(计算机网络)从物理层到MAC层

    故事就从我的大学宿舍开始讲起吧.作为一个八零后,我要暴露年龄了. 我们宿舍四个人,大一的时候学校不让上网,不给开通网络.但是,宿舍有一个人比较有钱,率先买了一台电脑.那买了电脑干什么呢? 首先,有单机 ...

  5. 第5讲 | 从物理层到MAC层:如何在宿舍里自己组网玩联机游戏?

    第一层(物理层) 水晶头要做交叉线,用的就是所谓的 1-3.2-6 交叉接法. 有一个叫做 Hub 的东西,也就是集线器.这种设备有多个口,可以将宿舍里的多台电脑连接起来.但是,和交换机不同,集线器没 ...

  6. tcp/ip 卷一 读书笔记(2)物理层和链路层网络

    物理层和链路层网络 术语 链路 是一对相邻结点间的物理线路,中间没有任何其他的交换结点. 数据链路 除了物理线路外,还必须有通信协议来控制这些数据的传输. 帧 数据链路层的协议数据单元(PDU) 串行 ...

  7. MAC层作用

    对于无线传感网 MAC,顾名思义,就是介质访问控制,是用来控制无线介质的访问的,由于无线传输是共享空中资源的,必然存在多个无线传感器节点对传输介质的争用,MAC层协议就是用来解决这个问题的,包括冲突的 ...

  8. 802.11 MAC层

    1. 介绍 本文主要介绍了802.11 MAC层 2. 访问机制 CSMA/CA:  Carrier Sense Multiple Access with Collision Avoidance Wi ...

  9. 计算机网络-3-5-以太网MAC层及交换机

    MAC层的硬件地址 在局域网中,硬件地址又称为物理地址或者MAC地址(因为这种地址用在MAC帧中) IEEE 802标准为局域网规定了一种48位(6字节)的全球地址,固化在适配器的ROM中. 如果计算 ...

随机推荐

  1. Java架构师必看的10本书

    1.大型网站系统与JAVA中间件实践 本书围绕大型网站和支撑大型网站架构的Java中间件的实践展开介绍. 从分布式系统的知识切入,让读者对分布式系统有基本的了解:然后介绍大型网站随着数据量.访问量增长 ...

  2. js面向对象(三)---组件开发

    一.对象的多种表现形式 1.提高对象的复用性 2.如何配置参数和默认参数 不知道该怎么描述,就直接上代码吧,下面做了2个例子,重点看整个组件的大体结构 用组件的方式做拖拽窗口,你可以狠狠的点击这里进行 ...

  3. Android网络(3):HttpClient作client,Tomcat Servlet作server的交互演示样例

    前面相继介绍了Android网络编程里的Socket传输图片.HttpURLConnection,今天看HttpClient. 第一部分:JavaEE版的Eclipse配置Tomcat [备注:开发后 ...

  4. VMware中 CentOS7挂载windows共享文件夹

    在编译自己的hadoop时,不想再次在虚拟机中下载jar包,就想到了挂载自己本地的maven仓库,使用本地仓库来进行编译,这里就需要使用VMware的VMware Tools了,直接复制官方文档如下 ...

  5. usleep - 睡眠若干微秒

    总览 (SYNOPSIS) usleep [number] 描述 (DESCRIPTION) usleep 睡眠 指定的 微秒数. 缺省值 是 1. 选项 (OPTIONS) --usage 显示 简 ...

  6. CentOS7.6安装Go-1.12.9

    安装步骤 Go的官网:https://golang.google.cn 1. 下载压缩包 wget https://dl.google.com/go/go1.12.9.linux-amd64.tar. ...

  7. 深度探索C++对象模型之第三章:数据语义学

    如下三个类: class X { }: class Y :public virtual X { }; class Z : public virtual X {}; class A :public Y, ...

  8. php array remove empty values

    print_r(array_filter($linksArray)); 參考 Remove empty array elements Remove Empty Array Elements In PH ...

  9. Flink开发-IDEA scala开发环境搭建

    现在大数据相关服务,越来越倾向于使用scala语言,scala函数式编程的优势我不多赘述.最明显的一个优点,代码简洁.看个WordCount实现对比: Java版WordCount Execution ...

  10. SQL Server 获取所有库名

    ----1. 获取所有的数据库名----- SELECT NAME FROM MASTER.DBO.SYSDATABASES ORDER BY NAME   -----2. 获取所有的表名------ ...