zoukankan      html  css  js  c++  java
  • TCP-IP详解学习笔记2

    TCP-IP详解学习笔记2

    链路层

    • 链路层的目的是为IP模块发送和接收IP数据报;
      • TCP/IP支持多种不同的链路层,依赖于使用网络硬件类型:有线局域网(以太网,城域网(MAN),有线语音网络)、无线网络(Wi-Fi无线局域网,蜂窝技术的各种无线数据服务)。
      • 大多数链路层技术都有一个相关的协议,描述路由硬件传输的相应PDU格式,链路层对应的是帧数据,以区分更高层的PDU格式。
      • 帧格式一般支持可变的帧长度,范围从几字节到几千字节,上限叫作最大传输单元(MTU);
      • 调制解调技术不强制规定最大帧。
    • 如果多个站同时发送数据,可能因信号传播延迟而发生碰撞,碰撞可以被监测到,它会导致发送站等待一个随机时间,然后重新发送数据,这种方法叫作带冲突监测的载波侦听多路访问。
    • IEEE 802局域网、城域网标准。
      • 所有的以太网(802.3)帧都基于一个共同的格式:
        • 以太网帧开始是一个前导字段,用于确定一个帧的到达时间,并确定编码位(时钟恢复)之间的时间量;
        • 以太网是一个异步的局域网,接口到另一个接口之间的编码位间隔可能不同。
        • 前导是一个公认的模式,典型值为0xAA,在发现帧起始分隔符(SFD),接收器使用它恢复时钟,SFD的固定值为0xAB.
      • 以太网(IEEE 802.3)帧格式包含一个源地址和目的地址,一个重载的长度/类型字段,一个数据字段和一个帧校验序列(CRC32)。
      • 大多数系统中,以太网使用1500字节的MTU.
    • 帧校验序列、循环冗余校验:
      • 循环冗余校验(CRC)字段位于尾部,一般具有32位。
      • 使用一个模2除法除以一个(n+1)位的值,这个作为除数的值称为生成多项式,取余数的二进制反码。
      • 位模的任何改变极可能导致余数的改变,帧在传输过程中受损就会被丢弃。
    • 帧大小:
      • 以太网帧有最小和最大尺寸,最小帧是64字节,最大帧长度为1518字节。
    • 为解决大型多用途交换网路运行中的问题,IEEE采用一种称为虚拟局域网(VLAN)的扩展。
    • 以全双工模式运行扩展的以太网和跨越不同速率的网段时,可能需要由交换机将帧缓存一段时间,在发送方采取流量控制的方法,利用PAUSE帧实现流量控制。

    网桥和交换机

    • 交换机本质上是高性能的网桥,网桥和交换机用于连接多个物理链路层网络;
    • 过滤数据库就是一张存端口的列表。
    • 生成树协议(STP)能够解决循环帧, STP通过在每个网桥禁用某些端口来工作,可避免拓扑环路。
    • 使用网桥协议数据单元(BPDU)的帧来实现让STP适应一些变化。
      • 最新的方案是快速生成树协议。
      • 根网桥在网络中标识符最小。
    • 传统STP的问题之一是在拓扑变化后,只能通过一定时间内未接收到的BPDU来检测。
      • 快速生成树协议(Rapid Spanning Tree Protocol, RSTP), 会监视每个端口的状态,并在故障时立即发送一个拓扑变化通知。
    • RSTP使边缘端口(只连接到端口站的端口)和正常的生成树端口之间,以及点到点链路和共享链路之间都有区别。
    • 多注册协议提供在网桥局域网环境中的站之间注册属性的通用方法。

    无线局域网(IEEE 802.11 Wi-Fi)

    • 无线保真(Wi-Fi)是访问Internet的最流行技术之一,IEEE标准名称为802.11.
    • 多个站(STA),站和接入点(AP)组成一个操作子集,一个AP和相关的站被称为一个基本服务集(BSS),AP之间通常使用一种有线的分布式服务(DS,"主干"),形成一个扩展服务集(ESS).
    • 802.11帧:
      • 用于同步的前导码;
      • 物理层会聚程序(PLCP),以独立于物理层的方式提供特定的物理层信息。
        • 帧的PLCP部分的传输速率一般比其他部分低, 为了提高正确交互的概率(较低速率一般具有更好的容错性能),提供对传统设备的兼容性和防止慢速操作的干扰。
    • MPDU(Mac PDU)以帧控制字开始,其中包括2位的类型字段,用于识别该帧的类型。
    • 管理帧: 用于创建、维持、终止站和接入点之间的连接。
    • 控制帧: RTS/CTS和ACK,控制帧与帧确认被用于一种流量控制方式。
      • 流量控制有助于接收方使一个过快的发送方降低发送速率。
      • 帧确认有助于发送方知道哪些帧已正确接收。
      • 802.11支持请求发送和明确发送(RTS/CTS)。
      • AP提供一个称为分组大小阈值的配置选项。
        • 超过阈值的帧会导致一个RTS帧优先于数据帧发送。
        • iwconfig命令可用于设置多种变量,包括RTS和分片阈值,这是一个用于衡量链路可靠性的粗略指标。
    • 发送一个帧和接收一个ACK所需时间与链路距离和时隙(802.11 Mac协议的一个基本单位)相关。
    • 数据帧、分片和聚合: 在一个繁忙的网络中看到的帧一般都是数据帧。
      • 802.11帧和链路层(LLC)帧之间存在一对一的关系,它们保证更高层协议(IP)是可用的。
      • 帧分片时, 每个分片有自己的MAC头部和尾部的CRC, 并且他们独立于其他分片处理。
      • 除非使用块确认的功能,否则每个分片将被单独发送,并由接收方为每个分片产生一个ACK.
      • 分片仅用于目的地址为单播的帧。
      • 同一帧最多能分15个分片。
      • 最后一个分片将更多标志字段设为0,接收方根据分片号将帧重组并交付给更高层的协议。
      • 帧聚合:将多个完整的802.3(以太网)聚合在一个802.11帧中; 聚合为短帧。
    • 省电模式和事件同步功能:
      • 802.11提供一种使站进入有限电源状态的方式: 省电模式(PSM),STA可在某个时间关闭无线电接收器电路。
      • Wi-Fi采用时间同步功能(TSF),每个站保持一个64位计数器的参考时间,这个时间与网络中的其他站保持同步。
    • 802.11介质访问控制:
      • 在无线网络中检测"冲突"具有更大挑战性,无线网络中的介质是相对单一的,都需要协同传输,避免多个站点同时发送。
      • 点协调功能(PCF)、分布式协调功能(DCF)和混合协调功能(HCF).
      • 802.11载波侦听能以物理和虚拟方式实现。
      • 虚拟载波侦听机制会检查每个MAC帧中的持续时间字段,这通过站的侦听而非引导流量来实现。
      • 物理载波侦听(CCA), DCF冲突避免和退避过程,HCF和802.11e/n的QoS;
        • 支持QoS的Wi-Fi设备通常更昂贵更复杂。
    • 物理层的细节: 速率、信道和频率:
      • 802.11中,多个信道可能以不同方式、不同功率水平工作,这取决于所在地区和国家的监管。
      • 存在不同的信道宽度: 5MHz、10MHz、20MHz和40MHz, 信道绑定(将所有者的Wi-Fi系统聚合为2个20MHz信道)。
      • 更高吞吐量的802.11/802.11n,采用多输入多输出(MIMO)管理空间流,即由多个天线同时传输的多个数据流。
    • Wi-Fi安全:
      • 临时密钥完整性协议(TKIP)的方案。
      • CCMP是基于计数器模式的AES, 以确保用于认证和完整性的密码块链消息认证码的安全。
    • Wi-Fi网状网(802.11s):
      • 网状网(Mesh操作): 通过Mesh操作,无线站点可用作数据转换代理(像AP那样)。
      • 混合路由协议(HWRP)。
      • 基于对等同时认证(SAE)的认证(SAE).
        • 不需要特定的发起者与响应者之间的操作同步.
    • 点到点协议:
      • 点到点协议(PPT), 是一种在串行链路上传输IP数据报的流行方法,可分配Internet系统参数。
      • 点到点协议族支持建立链接的基本方法--称为链路控制协议(Link Control Protocol,LCP), 以及一系列的NCP协议。
      • 链路控制协议: 用于在点到点链路上建立和维护底层的双方通信路径。
        • 由2个1字节的包含固定值0x7E的标志字段包围。
      • LCP在基本的PPP分组之上进行了简单的封装。
        • 回送请求/应答消息可由LCP在一条活跃链路上随时交换,以验证对方的操作。
        • 放弃请求消息可用于性能测试,指示对方丢弃没有响应的分组。
      • LCP选项:
        • 异步控制字符映射(ACCM)选项定义那些控制字符(0x00~0x1F)需要被转义为PPP操作。
        • PPP支持一种交换链路质量报告信息的机制。
        • 回叫控制协议(CBCP)。
      • 多链路PPP: 可用于将多条点到点链路聚合为一条链路。
    • 环回:
      • 回环能力一般使用一个虚拟的环回网络接口来实现,它就像一个真正的网络接口,可通过TCP/IP与同一主机的其他部分通信。
        • 127.0.0.1,localhost;
        • 在linux中,回环接口被称为lo;
      • IPv4中以127开始的目的地址被回环,但是对于IPv6,只有地址::1被定义用于环回操作。
    • MTU和路径MTU:
      • 很多链路层网络中,携带高层协议PDU的帧大小是有限制的;
        • 以太网有效载荷的字节数通常被限制为1500;
        • 链路层的这种特征被称为最大传输单元(MTU).
      • 如果IP层有一个数据要传送,但是长度超过了MTU,则IP层就需要分片。
      • 路径MTU是不对称的,因为两个方向上的路由选路可能不同。
    • 隧道基础: 两台计算机通过Internet或其他网络建立一条虚拟链路是有用的(虚拟专用网络, VPN)。
      • 隧道是在高层(或同等层)分组中携带底层的数据。
      • 为某个协议的分组或另一层的分组建立隧道有多种方法:
        • 通用路由封装;
        • Microsoft专用的点对点隧道协议(PPTP);
        • 第2层隧道协议(LT2P).
    • 单向链路(DUL):
      • 当链路仅在一个方向工作时出现一个有趣的问题: 在一个方向工作的链路称为单向链路(UDL).
      • 可在辅助Internet接口上创建隧道。
      • 为了在接收方自动建立和维护隧道,规定了一种动态隧道配置协议(DTCP)。
    • 与链路层相关的攻击:
      • 由于大部分链路层信息不被高层共享, 因而被攻击后难以检测。
      • 混杂模式。
      • 攻击交换机,因为交换机中有一个基于每个端口的站列表。
      • WEP加密,可能被先进的Wi-Fi攻击涉及加密保护的攻击。
      • 如果攻击者可以访问两个端点之间的信道,它可采用很多方式来攻击PPP链路。
      • 隧道经常是目标,有时也成为攻击工具。
    • TCP/IP成功的原因之一在于它能工作在几乎任何一种链路技术之上。
      • 本质上来说:IP只要求发送方和接收方之间存在某条路径,它可能经过一些级联的中间链路。
      • 发送方和接收方之间可能永远没有一条端到端路径。
  • 相关阅读:
    RE
    【LeetCode】198. House Robber
    【LeetCode】053. Maximum Subarray
    【LeetCode】152. Maximum Product Subarray
    【LeetCode】238.Product of Array Except Self
    【LeetCode】042 Trapping Rain Water
    【LeetCode】011 Container With Most Water
    【LeetCode】004. Median of Two Sorted Arrays
    【LeetCode】454 4Sum II
    【LeetCode】259 3Sum Smaller
  • 原文地址:https://www.cnblogs.com/longjiang-uestc/p/10660112.html
Copyright © 2011-2022 走看看