zoukankan      html  css  js  c++  java
  • 关于分组数据报在局域网中传播按MAC地址寻找目的PC机,和在广域网中按IP地址寻找PC的个人理解。

    今天重新学习了计算机网络中关于网络层的一些知识, 对数据在计算机网络中的传输有了一些个人的理解。

                 以下内容中:  以太网==局域网

                          

                 整个因特网可以在逻辑上划分为:网络核心部分和网络边缘部分。

               

                      网络核心部分及:路由器,路由器相连接的“网络” (此处“网络”可以理解为大小不同的局域网),以及连接路由器和网络的线路设备。

                      网络边缘部分及: PC机、工作站、移动终端等。

               为简化对网络的理解,我们将OSI七层体系结构简化为TCP/IP五层模型。

                        TCP/IP体系结构:应用层,运输层,网络层,数据链路层和物理层。

                         在以太网(局域网)中,PC端通过集线器或网桥进行相互的连接,PC机之间的数据报传输,也是通过MAC地址来进行寻址的。

                为什么是MAC地址来进行寻址?在我们的印象中网络数据传输一直以来都是IP地址寻址,在局域网中怎么就变成MAC地址了?

                             现在网络,数据报的传输方式采用:分组转发

                                      分组的生成过程:应用层的原数据,通过运输层提供的服务对原数据进行TCP或UDP的协议封装;将封装的数据再传给

                                                                  网络层,网络层提供IP协议的封装;将IP数据报传递给数据链路层,数据链路层对IP数据报再进行封                                                                装,在IP数据报的首部添加目的地址(6字节),  源地址(6字节),  类型(2字节)。 在IP数据报的尾部添加                                                                 帧检测序列FSC(4字节)。将IP数据报封装成MAC帧。      在MAC帧首部前再添加8字节的帧分界符,                                                                最终形成需要传输的分组。

                                     

               我们将PC端视为五层体系结构,   将网络中的路由器视为三层体系结构(网络层,数据链路层,物理层)。

                        集线器可以近似看做传输线路(集线器的实际作用是:对信道上减弱或失真的数据进行修复并继续传输)。

                        网桥有多个端口,每个端口延伸一条线路,可以将不同的PC机按所属端口,划分到不同的碰撞域; 从而减少局域网中数据传输                                                          的碰撞(冲突)。

                                         在网桥内部有一张表,表中记录有通过本网桥进行数据传输的PC机的MAC地址以及PC所在的网桥端口号。

             在局域网中数据传输是采用广播通信(广播通信:同一时间,线路上只能有一台机器在发送数据,并且所发送的数据能够被同一线路上的所有PC机接收到), 中间设备是集线器或者网桥,这两种设备不具有TCP/IP体系结构。集线器可以近似看做传输线路,       只有网桥具有寻址的作用,而网桥寻址是按照MAC地址和端口号进行查询目的PC机。  因此在以太网中寻址是按MAC地址寻址。

           

             在网络中,路由器具有TCP/IP体系结构的前三层,寻找目的PC机过程中要进过许多的路由器,按照IP地址来寻找目的PC。

                       

  • 相关阅读:
    opencv 遍历Mat对象中数据方法-转
    JVM OutOfMemoryError 分析
    hibernate validation HV000030: No validator could be found for constraint
    通过aop实现rpc统一参数校验&异常捕捉
    java8 lambda groupingby 分组保持原来顺序
    递归判断素组是否有序
    dubbo 直连
    Linux 删除openjdk
    telnet命令调用远程dubbo 接口
    git submodule ssh key
  • 原文地址:https://www.cnblogs.com/liweikuan/p/12367913.html
Copyright © 2011-2022 走看看