画布 1
中心主题
  概述
    计算机网络是一组互连的计算机构成的集合
    硬件组成
      节点
        段节点
          计算机
          主机
        中间节点
          交换机
          路由器
      通信链路
        有线
          无线
        传输技术
          广播网络
          点到点
        网络规模
          个人网PAN
          局域网LAN
          城域网MAN
          广域网WAN
          互联网internet
    网络体系结构和协议
      面向连接，无连接服务
        字节流
        报文
      原语
      协议栈
        OSI模型
        TCP/IP模型
      接口，服务，协议
        服务通过协议实现
  物理层⚛️
    定义比特作为信号在信道上传输时相关接口
      基本概念
        信道
          传送信息的媒介
        带宽
          传输过程中振幅不会明显减弱的频率宽度。 （保留至少一半）
          介质的模拟带宽使用赫兹Hz表示
          数字带宽使用bps表示
            low-pass channel
            Band-pass channel
        比特率（bps）
          每秒传输比特数
          信道容量
            信道的最大数据率
          吞吐量
            单位时间内网络可以传送的数据位数bps
          负载
            单位时间内注入网络的数据位数bps
        波特率（Baud）
          每秒传输的码元（信号单元）个数
            Baud =1/T(T是一个信号单元周期）
            bps=Baud*(log2V) v是信号的有效状态数（电平级数）
        时延
          发送时延
            数据长度/信道带宽
          传播时延
            物理链路长度/传播速度
              传播速度
                信道上，信号单位时间内传送的距离m/s
          节点处理时延
          排队时延
        传输损失
          误码率BER
            P=传送错的位数/总的传送位数
          信号强度的衰弱与失真
          时延失真
          噪音
      通信理论
        傅立叶变换
        无噪声信道容量
          Nyquist Bit Rate
            bit rate=2*bandwidth *log2V
            如果一个任意信号通过了一个带宽为B的低通滤波器, 那么只要进行每秒2B次采样就可以完全重 构出被过滤的信号。
            对于二进制信号, B(Hz)带宽支持的数据率为2B(bps)
        噪声信道
          Shannon theorem
            Capacity =bandwidth *log2(1+signal_power/noise_power)
              S/N=10*lg(S/N)
        数据传输速率=码元速率*log2v
          码元速率/采样速率=1/T
      传输介质
        有线传输
          磁带
          双绞线 Twisted pair
            无屏蔽双绞线UTP
            屏蔽双绞线STP
          同轴电缆 Coaxial Cable
          光纤 Fiber Cables
            单模光纤
        无线传输
          无线电传输
          微波传输
            多径衰落
          红外传输
          光传输
          通信卫星🛰️
            同步卫星GEO
            中轨卫星MEO
            低轨卫星LEO
            轨道高度越高，往返时延越长，覆盖全球所需卫星数越少
        接口特性
          机械特性
            指明接口所用形状、尺寸等
          电气特性
            指明接口电缆各条线上的电压范围
          功能特性
            指明某条线上出现某一电压的电平表示何种意义
          过程特性
            指明对于不同功能的各种可能事件的出现顺序
      数字调制
        数字数据-数字信号
        模拟数据-数字信号
        数字数据-模拟信号
        数字数据-模拟信号
        时钟恢复
          Manchester
            不归零逆转
              低到高表示1，高到低表示0
            数据传输速率只有调制速率的1/2
        平衡信号，正电压与负电压一样多
          8B/10B
        频移键控，幅移键控，相移键控
          QPSK：正向相移键控
          QAM：正交幅移键控
          星座图
            点的相位是以该店到原点的线与x轴之间的角度来表示
            点的振幅是该点到原点的距离
      多路复用
        时分复用TDM
          统计时分复用STDM
        频分复用FDM
        波分复用WDM
        码分复用CDM
      物理层设备
        公用交换电话网（应用）
          数据发送器
            线路编码技术
          调制解调器
            使用调制技术的组合
            全双工调制传输
            DSL：数字用户线
            ADSL：非对称数字用户线
              离散多音调制:DMT
                QAM
              将 1.1 MHz 划分为 256 个 4312.5 Hz 的信道
              0 号信道用于简单老式电话服务 (POTS) 1–5 号信道不使用， 以防止语音信号和数据信号彼此之间干扰
              250条信道
                一条上行控制流
                一条下行控制流
                248条用户数据
              频分复用FDM
              V.34调制方案
                采样速度：4000波特
          Codec编码解码器
            模拟信号数字化
            采样
              采样频率至少为模拟信号最高频率的2倍
            量化
              电平级数
            编码
        中继器
          将数字信号整形放大再转发出去
        放大器
          将衰减的模拟信号放大
        集线器Hub
          多端口中继器
          转发到其他所有端口
          不能分割冲突域
      交换
        电路交换
        报文交换
        分组交换
        计算🧮
  数据链路层
    相邻节点间可靠高效的传输帧
      成帧Framing
        字符计数法
          在帧头说明帧内字符个数
          容错率差
        字节/字符填充法
          使用一个标志字节标记帧开始和结束
          透明传输：用转义字符标识帧中与标志相同字符
          需要是8的整数倍
        比特填充法
          使用特殊字符序列标记帧开始与结束
          透明传输
          帧长度任意
        物理层编码违例法
          编码方案有冗余时可采用
          将违例的编码作为标志位
          manchester
      差错控制
        差错检测原理
          纠错码ECC
          检错码EDC
          汉明距离
            要检测出 t-bit 差错 , 编码的汉明距离至少为 t+1
            要纠正 t –bit 差错 , 编码的汉明距离至少是 2t+1
          校验码长度
            纠正单比特差错
              （m+r+1)<=2^r
          汉明吗编码
            计算🧮
        差错类型
          帧丢失
          帧被毁坏
            单比特差错
            突发差错
        差错检测方法
          奇偶校验
            奇校验：加上校验位，码字中“1”的个数为奇数
            对数据块的奇偶校验
              k*n的矩阵
              检测长度为n的突发差错
          循环冗余校验CRC
            计算🧮
            r个校验位能检测出长度小于等于r的突发差错
            硬件实现
          Checksum
        差错纠正方法
          纠错编码（海明码）
            海明码位数
              n+K<=2^K-1
                n为有效信息位数
                K为校验位个数
            校验位分布
              校验位Pi处于海明位号2^(i-1)位置上
            数据位分组
              数据位的海明位号等于校验该数据位的各校验位海明位号之和
              D1在H3（011），则由P2与P1校验
            校验位取值
              该校验位校验的数据位所有位求异或
            校验原理
              将校验位与与其校验的数据位进行奇偶校验（求异或）
              全为0，说明没有错
              否则非零的数就是错误位的海明位号
          前向纠错FEC
          自动重发请求ARQ
            通过超时，帧定时器实现
      流量控制
        初级协议
          帧延时
            使用0，1区分第一次收到帧与新帧
          帧丢失
            定时器，超时重传
        滑动窗口协议
          特点
            捎带应答
            设置发送窗口与接收窗口
            序号循环使用
          一比特滑动窗口协议
            停止等待
            窗口大小为1
          Go back n协议
            发送窗口为n，小于序号范围
            累计ack
            i号帧丢失后，重传i以后所有帧
          选择重传协议
            最大窗口大小不超过序号范围的一半
            ack定时器
            NAK
          性能
            无差错信道：U=1/(1+2a)
            有差错信道: U=(1-p)/(1+2a)
            Go-back N 和选择重传协议、 无差错。
              U=W/2a+1
            ⚠️ 捎带确认：U=W/2(a+1)
      典型协议
        点到点链路
          HDLC
            面向比特，零比特填充
            可靠的面向连接服务
          PPP
            字节填充
            无连接不确认服务
        广播链路
  介质访问控制子层
    控制站点对介质的访问以便有序高效地使用介质
      信道分配
        静态信道分配
          FDM、FDMA、TDMA、CDMA
          不适应突发性流量
        动态信道分配
          随机多址访问
            ALOHA
              Pure ALOHA
                发送前不需要协商
                没有收到ack则重传该帧
                易冲突期：2t
                  t：传输一帧用时。帧长度/比特率
                  在已冲突期收到其他节点的数据说明发生冲突
              Slotted ALOHA
                划分均匀的离散时隙T0
                易冲突期：t
            载波监听多路访问协议
              CSMA
                信道空闲，以一定概率发送数据
                  信道忙，站一直等到信道空闲
                Nonpersistant CSMA
                  信道忙，则等待一个随机时间再重新监听载波
                  高负载：高吞吐
                Persistent CSMA
                  1-persistant
                    信道忙，等信道空闲立即传输（发送概率为1）
                    低负载：高吞吐低时延
                    高负载：低吞吐
                  P-persistant
                    信道忙，等信道空闲立即传输（发送概率为p）
                易冲突期：τ(传播时延)
              CSMA/CD
                数据包发送时监听信道，检测到冲突，放弃传输
                  实现：边传边读
                易冲突期：2τ
                  一个站点最多2τ发现冲突
                重传等待时间
                  退避时间
                    最多退避16次
                    二进制指数退避
            无线局域网协议
              隐蔽站，暴露站问题
              MACA
                四帧交换
                  源站向目的站发送请求发送帧RTS
                  目的站发出CTS作为应答
                  源站收到CTS发送数据
                  目的站发出ack作为应答
                冲突：2站同时向一个站发送RTS
                二进制指数退避
          受控多址访问
            集中式：轮询
            分布式：令牌
      局域网参考模型：IEEE 802
        物理层
        MAC层
          多址访问控制
        LLC层
          屏蔽MAC层差异，为网络层提供统一接口
          不可靠的数据报服务
          有确认数据报服务
          可靠的面向连接服务
        Ethernet IEEE802.3
          网卡
            支持物理层，MAC层， LLC层
            有唯一的MAC地址
          工作原理：广播电路
          IEEE802·3性能
          经典以太网
            10Mbps
            物理层
              曼彻斯特编码
              10Base 5:粗以太网
                10mm，同轴电缆，500m
                载波监听，冲突检测
              10Base5:细缆以太网
                5mm，同轴电缆，185m
              10BaseT
                RJ-45，UTP5
                  无共享电缆
                HUB：集线器
                  物理上星状结构，逻辑上总线结构
                  一个网段最多使用3个集线器
                  物理层互连设备
              总线拓扑
              星型拓扑
            MAC层
              帧间间隔IFG
                10Mbps帧间隔为9.6μs
              帧结构
              帧长度
                最大：1518字节，数据长度1500字节
                最小：64字节（数据46位）使用pad字段填充
            CSMA/CD
            半双工：中继器，集线器
          快速以太网：IEEE802.3u
            100Mbps
            集线器（半双工通信）
            交换机（全双工通信）
            CSMA/CD
            星型拓扑，点到点拓扑
            4B/5B
            帧长度同经典以太网
          千兆以太网：IEEE802.3z
            交换机（ 全双工模式）
              不使用CSMA/CD
              自动配置
            集线器（半双工模式）
              使用CSMA/CD
              解决线缆长度过短问题
                载波扩展：使用pad使帧长度拓展为512字节
                帧突发：将多个帧级联发送
                  最小帧长度：64B
            8B/10B
          万兆以太网
            仅支持全双工操作
            不使用CSMA/CD
            星型拓扑，点到点拓扑
            使用光纤
          交换式以太网
            交换机
              包含一个连接所有端口的高速背板，为一对通信用户提供专用信道
              根据目的MAC地址交换帧
              每个端口独占一个冲突域，无冲突
              数据链路层互连设备
                硬件实现
                  直连式操作方式
            星型拓扑
            无冲突
          使用控制帧实现流量控制
        无线局域网IEEE802.11
          帧类型
            数据帧
            控制帧
            管理帧
          多路访问：CSMA/CA
            工作原理
              发送方载波监听并等待DIFS时间直到信道空闲
              帧成功传输，目的站等待SIFS时间，返回一个ACK
              缺少ACK说明发送冲突或其他错误，使用二进制指数退避
            信道监听
              物理监听
              虚拟监听
                站跟踪网络分配向量NAV保留信道使用逻辑记录
                帧携带NAV，指明一系列数据时传输时长
                通过NAV确定退避时间
            RTS/CTS可选
            分段突发
          省电模式
            信标帧
              客户端进入省电模式
              AP缓存发给客户所有流量
              客户端发送poll信息给AP
              AP将缓存信息发给客户端
            自动省电交付APSD
              客户端进入省电模式
              AP缓存发给客户所有流量
              客户端向AP发送帧
              AP将缓存信息发给客户端
          QoS服务质量管理
            帧间隔
              DCF帧间隔（DIFS）
                常规数据帧
              最短帧间隔（SIFS）
                ACK，突发段等
              仲裁帧间隔（AIFS1，AIFS4）
              扩展帧间隔（EIFS）
            传输机会TXOP
              每个站获得相同传输时间
      评价MAC协议指标
        低负载下的时延
        高负载下的吞吐量
      数据链路层交换
        网桥（不考了）
          数据链路层的网络互连设备
            软件实现
              存储转发操作方式
          学习网桥
            帧的路由转发由网桥决定，对主机透明
            即插即用
          工作原理
            查找时使用目的mac地址
              丢弃同一局域网的帧
              转发不同局域网的帧
              泛洪目的地址不知或广播地址的帧
          建立站表
            后相学习算法
              网桥第一次接入网络，哈希表为空
              通过接受帧获取该帧地址及从哪个接口进入
              学习时使用源mac地址
            生成树算法
        虚拟局域网VLAN（新增考点）
          逻辑拓扑与物理拓扑分离
          实现(网桥，三层交换机)
            软件方式
            基于接口：VLAN表
              先查VLAN表，再查转发表
            基于MAC地址
            交换机间通信
              贴标签（VLAN标记）
              IEEE802.1Q协议
                交换机处理
                主机与交换机间只交换普通以太网帧
              有效VID取值范围：1～4096
  网络层
    实现主机-主机的传输
      功能
        网络互连
          互连不同网络，使得在传输层看起来一样
        编址
          主机/路由器地址必须统一，唯一的
        路由选择
          选择下一跳路径
            选路策略
              固定查表选路
              洪泛flooding
                输入数据包转发至出输入链路外所有链路
                广播风暴
                  TTL，跳计数器
                  包中序列号
              随机选路
              自适应选路
            IPv4路由表
              目的IP地址，子网掩码，下一跳地址，输出接口
            最短路径选路：Dijkstra算法
            选路算法
              DVR 距离矢量选路
                每个路由器维护一个路由表
                  对于一个目的节点，路由器只知道距离，不知道路径
                与邻居交换信息更新路由表，共享整个网络信息
                  发送路由信息（周期性）：目的地，距离
                  收到路由信息
                    有更好的路径，路由器更新路由表
                    刷新现有路由
                  删除过期路由表项
                好消息扩散快，坏消息传播慢
                  无穷计数问题
              LSR链路状态选路
                路由器与网络内的每一个路由器共享其邻居信息
                  路由器在本地构造已知的部分网络拓扑结构后，放入链路状态包LSP中，并发送每个路由器
                    路由器知道全网拓扑结构
                操作过程
                  发现邻居，获得邻居的网络地址
                    HELLO包
                      广播网络，广播特殊HELLO包
                      点到点网络，将HELLO包直接发给邻居
                    邻居响应，告知路由器ID或地址
                    当多个路由器连接在一个LAN上，简化拓扑结构
                      将LAN看作一个虚拟节点
                  测量到每个节点的时延或开销
                    用环回时间测量（ECHO包）
                  构造一个LSP包，包含它知道的部分网络拓扑
                    周期性构造
                      发生重要的拓扑结构变化
                    LSP包序号：检查LSP是否是新的
                      LSP重复，丢弃
                      LSP比已收到报的最大序号小，判定为过时
                    LSP包年龄：用于删除循环LSP
                  将LSP可靠的发给网络中其他路由器
                    洪泛方式转发
                    所以LSP都要进行确认
                      延时确认
                  计算到其他路由器的最短路径
                    有向带权图，执行Dijkstra算法
              分级选路
                分为蔟，区等等多级网络体系
                级间跳数简化为1
                自治系统内部使用内部网关协议（IGP）
                  如：RIP、OSPF
                自治系统间使用外部网关协议（EGP）
                  如：BGP
              PVR
            选路协议（动态路由表）
              以太网划分多个自治系统AS，内部使用不同内部选路协议，AS间使用统一的外部选路协议
              RIP：基于距离矢量选路（应用层协议）
                每个网络为一跳
                  跳数上限16
                UDP传输
              OSPF：基于链路状态选路（网络层协议）
                开放的最短路径优先
                IP传输
                将AS划分为多个区
                链路模式
                  点对点
                  转接网络
                    入边有值，出边无值
                  桩网络
                    有向图中只进不出
                  虚拟
              BGP：基于路径矢量选路（应用层协议）
                实现基于策略选路
                TCP传输
                对于每一条路由，保存完整的路径
              内部网关协议
              边界网关协议
        组包
          将上层报文/消息封装📦
        分段
          标志字段
            MF=1:后面还有分片
            MF=0:最后一片分片
            DF=0:允许分片
            片偏移：13位，以8个字节为偏移单位
            标识：同一数据报的不同分片共用一个标识，以便在目的主机能够重装 (借助标识与片偏移量)
          分为更小的单元，以便能够在不同数据链路层上传输
          每次分段要考虑到新加包头，使其总长度为8的倍数
          在源主机，路由器分片，在目的主机重装
      交换技术
        Circuit switching
          电话网
        Packet switching
          计算机网络
          虚电路
            面向连接服务
              虚电路标识符VCI
          数据报
            无连接服务
      拥塞控制（不考）
        增加资源
          网络提供
            构造可与承载业务量匹配良好的网络
          业务量感知路由
            固定链路权值
            基于业务量改变链路权值
              考虑链路带宽，传播时延，负载
                考虑负载会导致震荡
        减少负载
          接纳控制
            虚电路网络中使用
            如果增加业务量会导致网络拥塞，就不允许建立虚电路
          业务量减速
            基于反馈的解决方案
              普通抑制分组：只有主机响应
              逐跳反压：沿途每一跳都响应
              ECN：显式拥塞通知
                IP，TCP使用
                IP包头的两个比特用于记录该包是否遇到拥塞
            1.路由器检测到拥塞
              排队时延估测：d=αd+(1-α)s
                α:平衡因子
                d：近期队列长度
                s：即使队列长度样本
            2.传送关于拥塞的信息
              向源主机发一个抑制分组包，显式通知
              给原始数据包打上标签，以免产生更多抑制分组
              路由器只以较低速率发送抑制分组，以免增加网络负载
            3.调整系统操作
              收到抑制分组，源主机减少业务量
          负载掉落
            随机丢包
            依据类型丢包
              文件传输📃
                丢新包
              多媒体
                丢旧包
            智能丢包
              与主机合作：对数据包标记
            随机早期检测RED
              在情况变差前丢包
                当某条线路平均队列长度超过阈值，认为线路拥塞，将随机丢弃少量包
              隐式通知
                路由器丢包，源主机没有收到ack，发现拥塞
                  源主机降低发送速率
      QoS（不考）
        业务量整流（去突发性）
          漏桶
            桶满时，后续数据被丢弃
            强制以固定的平均速率模式输出
          令牌桶
            允许一定突发性
            令牌桶满只丢弃令牌
            最大速率突发长度计算
        分组调度
          竞争的流之间，为一个流的包分配路由器资源
            流：源主机发往目的主机的一系列数据包
          FIFO：先进先出队列
            队列满时，新到达包丢弃
          优先级队列
            每个优先级的单独队列
            线路空闲时，优先处理高优先级队列
          公平队列
            轮流处理每个队列的包
          公平加权队列
            优先级队列➕公平队列
              系统轮流处理每个队列，按权值选择一次处理包的个数
        资源预留
          带宽，缓存空间，CPU周期
        流协商
        流描述
      网络互连
        允许任一网络的用户与所有其他网络的用户通信
          隧道技术
            源主机发出的包，封装在中间网络的包中
          分片
            MTU：最大传输单元
        网络互连协议IP
          无连接尽力而为的服务，基于数据报选路
          IPv4
            IPv4地址
              32位，点分十进制记法：101.200.171.172
                唯一并且统一的
              特殊IP地址
                0.0.0.0:本主机（不知道自己的主机号时使用）
                网络号全0:该网络内的主机
                255.255.255.255:广播地址
                127.x.x.x:环回地址（本地调试）
                可分配地址数=2^n-2
                  n为主机号位数
                  去除全0，全1
                    主机号全1:在该网络内广播
                    主机号全0:该网络的网络地址
              分类地址：网络号➕主机号
                A、B、C类
                网络地址：网络号保留，主机号为0
                  IP地址与子网掩码按位与
                  路由选择时，以网络地址识别网络
                子网划分
                  子网掩码
                  对外网不可见
                超网划分
                  将地址空间连续的几个子网聚合
                    聚合子网个数为2的幂次
                  超网掩码
              无类别地址
                无类别域间选路CIDP
                  “/前缀”记法
                  路由聚合
                    最长匹配原则
                  源主机路由
                    本网内，直接发送帧给目的主机(直接交付)
                    不在本网，发送给目的主机（间接交付）
                  路由器路由
                    发现匹配表项，转发给对应接口
                    没有找到表项，转发给默认表项
                    网络特定选路
                      一个网络只需一个表项定义网络地址
                    主机特定选路
                      路由表给出目的主机地址，对选路控制更强
              NAT：网络地址翻译
                使用私有/专用地址
                NAT路由器常与防火墙结合在一个设备中，负责局部地址与全局地址的翻译
                使用端口号区分一个网络中的不同主机
                  对源TCP/UDP端口进行转换
                私有IP地址
                  10.0.0.0/8
                  172.16.0.0/12
                  192.168.0.0/16
            包格式
              包头各个字段含义
                IPv4校验和:只检查包头，不检查数据
                分组和重装相关字段
                  段标识
                    标识数据报
                  DF
                    DF=1不允许分段
                  MF
                    MF=0这是最后一个分段
                  偏移量
                    分段相对于原始的数据报中的位置
                    单位64比特（8字节）
          IPv6
            地址更长
              128位
                冒分十六进制
                  双冒号简化
            简化包头
            安全性
            改善QoS
            路由器不能分片
          IP组播
            D类地址
              224.0.0.0~239.255.255.255
              一个IP地址标志一个组播组
              同一个组的多台主机共用一个组播地址
            基于UDP
            需要组播路由器支持
            组播IP地址向MAC地址转换时会产生冲突，需要在IP层利用软件进行过滤
            组播路由算法IGMP
              组播转发树
              主机声明
              组播路由器周期性探询
        ICMP：因特网控制报文协议（IP层协议）
          ICMP报文封装在IP包中
          差错控制
            流量控制
          报告意外事件
            目的地不可达
              分段问题，无法通过
              找不到目的地
            超时
            源抑制
            重定向
              选择更优路由
          对因特网进行测试
            ECHO：ping（工作在应用层）
            Tracert工作在网络层
        ARP：地址解析协议（网络层协议）
          将IP地址映射到MAC地址
            📢广播询问：谁是101.200.171.172？
            ⌛️等待回应：我是101.200.171.172，MAC地址是...
        RARP：逆向ARP
          将MAC地址映射到IP地址
            工作原理与ARP一致
        BOOTP：启动协议
          使用UDP数据报
            路由器上转发
          用于配置无盘工作站
        DHCP：动态主机配置协议（应用层协议）
          UDP
          C/S模式
          提供远程主机自动配置
            主机IP地址，路由器IP地址，子网掩码，DNS服务器IP地址
          四步配置
            discover（广播）
            offer（广播）
              提供配置信息
            request（广播）
              选择一个配置信息，请求一个IP
              对于多个应答信息，通常选择最早到达的
            ack（广播）
              DHCP服务器确认，将IP分给主机
        启动时配置数据
      SDN技术（新增考点）
        数据平面
          根据转发表进行转发
          本地动作
        控制平面
          传统方法（每路由器法）
            路由器执行路由选择算法
            路由器包含路由、转发两种功能
            路由选择处理器执行控制平面功能
          SDN方法
            远程控制器计算和分发转发表供每台路由器使用
            路由选择控制器负责与远程控制器通信
            SDN控制器
              网络范围状态管理层：维护准确的网络状态信息，实现具体路由协议（作出最终控制决定）
              北向接口：为运行在控制平面的网络控制应用程序提供这些信息
              南向接口：SDN控制器与受控设备间的通信（OpenFlow协议）
            网络控制应用程序
              根据SDN控制器提供的方法，监视、编程、控制网络设备
              计算路由表，进行负载均衡等
  传输层
    实现进程-进程的逻辑通信
      传输协议要素
        寻址
          端口号：应用程序的服务访问点
            端口映射器：名字服务器或目录服务器
            进程服务器：不常用服务器的代理
        连接
          主要问题：数据包的丢失，延时，重传
          连接建立
            三次握手🤝
          连接释放
            非对称释放
              一方释放则连接中断
            对称释放
              两个独立的单向连接，需双方都释放
        差错控制
          自动请求重传
          数据缓存大小问题
        流量控制
          动态缓存分配
            接收方缓存区大小
            通信子网容量
        多路复用
          发送端
            多路复用接收不同进程的数据包，按端口号区分
          接收端
            解复用：按端口号将消息传递给合适进程
          逆向多路复用
            一个传输层连接用多个网络接口，实现快速传输
        拥塞控制
          分配带宽
            最大最小公平性
          网络层检测拥塞
          将拥塞情况通知源主机
            显式拥塞通知：TCP with ECN
            隐式拥塞通知：源主机根据丢包情况判断
          源主机采取措施
            无拥塞，增加发送速率
            有拥塞，降低发送速率
            控制法则：加法增乘法减AIMD
              高效性，公平性，收敛性
      用户数据报协议UDP
        无连接不可靠传输
          保留消息边界
        应用
          DNS
          DHCP
          RIP
        UDP数据报格式
          Checksum
            可选
            ACK：1，seq：u+1，ack：w+1
              伪头标：只校验，不传输
              源IP地址，目的IP地址，协议字段(17)，0，UDP长度
        提供IP之上的多路复用与解复用
      传输控制协议TCP
        面向连接，可靠的，端到端服务
          套接字（源端口➕目的端口）
            每个连接由一对套接字标识
          使用熟知端口
          面向字节流：不保留消息边界
        TCP报文段
          TCP端=TCP头（20或更多字节）➕数据
            允许没有数据的段
              常用于ack及控制消息
          段序号
            tcp段中序号为该段第一个字节序号
          确认号
            ack段中确认序号为下一个期待的字节的序号
          标志域
            URG
              使urgent pointer字段有效
            ACK
              ack段，使ack序号有效
            PSH
              立即交付
            RST
              重新连接
            SYN
              连接建立使用
            FIN
              连接释放使用
            ECE
              接收方TCP实体设置
                告知源主机拥塞
            CWR
              发送方TCP实体设置
                收到CWR，接受主机消除ECE
            ECE显式拥塞通知
          TCP校验和
            必选
            使用伪头标校验
              协议字段：6
          最大端长度MSS：段中最大数据长度
            IP数据报长度限制
            数据链路层最大传输单元限制（网络层分片）
          窗口尺寸Window scall
            滑动窗口大小动态变化
          时间戳
            计算往返时间样值
          选择确认SACK
            对确认序号的补充
              可在一个数据包丢失但后续数据到达时使用
            告知发送方接收到的段序号范围
          面向字节
          可选项
        连接管理
          连接建立：三次握手
            双方同意每一方初始序号
              采用基于时钟的方案确定初始序号
            A->B
              SEQ：X, ACK：, (SYN)
              没有数据但是占用一位SEQ
            B->A
              SEQ：Y，ACK：X+1,(SYN,ACK)
              没有数据但是占用一位SEQ，即对方ACK应为Y+1
              分配服务器端资源
              存在SYN洪泛攻击安全问题
                第二次握手后服务器已分配资源，但是客户端不进行第三次握手，而是再次进行请求建立连接。导致服务器浪费大量资源，引起死机
                SYN Cookie：抗SYN洪泛攻击方法
            A->B
              SEQ:X+1,ACK：Y+1,(ACK)
              分配客户端资源
          数据传输
            段序号，确认序号
          连接释放
            三次握手
            四次握手：半关闭连接
              A->B（FIN）
                FIN：1，seq：u
                u：前面已传送过的数据的最后一个字节序号+1
                不携带数据也会消耗一个序号
                此后，客户端A不再发送数据
                  即A没有需要向B发送的数据后再发FIN
              B->A（ACK）
                ACK：1，seq：v，ack：u+1
                v：前面已传送过的数据的最后一个字节序号+1
                此时处于半关闭状态，服务端B继续向A发送数据
              B->A（FIN，ACK）
                FIN：1，ACK：1，seq：w，ack：u+1
                服务端B没有数据要向A再发送
              A->B（ACk）
                ACK：1，seq：u+1，ack：w+1
                再经过时间等待器设置的2MSL（最长报文段寿命）后进入CLOSED状态
                  服务端B的FIN报文可能先于它所发送的最后一个报文到达A，等待2MSL时间，在FIN先发送的报文一定到达A，或是已经丢失。则不用再等待
            FIN控制帧与FIN，ACK控制帧
        流量控制
          滑动窗口大小可变
            窗口大小为0时
              发送方不再发送段
              紧急数据仍可发送
              窗口探针
                防死锁
          Nagle算法：发送端
            已发送被确认
            缓冲数据填满半个窗口或达到MSS
          Clark算法：接收段
            只在缓冲区空闲达到MSS或其缓冲区一半为空时，更新窗口更新段
          配合使用
        差错控制
          ARQ
          数据段设置计时器
          ACK段无需设置计时器
          快速重传机制
            收到三个重复的ACK（确认号相同）
        TCP定时器管理
          重传计时器RTO
            往返时间概率密度RTT
              RTT=αRTT+(1-α)S
              SRTT:平滑RTT
            RTO=SRTT+4*RTTVAR
            RTTVAR=β*RTTVAR+(1-β)*|SRTT-Sample|
            Karn算法
              不更新任何重传段的估算值
          持续计时器
            防0窗口死锁
          保活计时器
            防半开连接
          TIMED WAIT状态计时器
            两倍数据包最大生存期
        拥塞控制
          Van Jacobson's解决方案
            拥塞窗口CWND
            流量控制窗口RWND
            分组丢失说明网络拥塞（超时）
            需要一个良好的重传定时器检测丢包信号
            发送窗口是其中较小的一个
          ACK时钟
            数据包确认时间反应数据包穿越慢速链路到达接收方的时间
            TCP以ACK返回速度向网络注入包，避免不必要的排队
          TCP拥塞控制策略
            慢启动
              TCP连接建立时，拥塞窗口=1MSS
              收到一个ACK，CWND+1
              指数增长
            加法增
              收到ACK，CWND+=1/CWND
              线性增长
            快速重传
              将3个重复的ACK视为超时，进入快速恢复阶段
            快速恢复
              threshold=0.5*window
              CWND=threshold
              进入加法增阶段
            检测到分组丢失，CWND=1，threshold=0.5*window. 进入慢启动阶段
  应用层
    客户端-服务器模式（C/S）
      域名系统DNS
        UDP数据报
        层次名字空间
          根节点
          顶级域名
          通用域名
          国家或地区域名
        资源记录
          Domian-name：记录适用的域
          TTL：有效生存时间
          Type：类型
          Class：指定协议类别
          value：值
        名字服务器
          DNS客户端：本地名字服务器
          域名服务器：区域对应于负责该层次结构部分的授权管理机构
            权威域名服务器：包含负责区域的主机的记录（总是正确的）
            DNS缓存：记录可能过期
        域名解析
          递归解析
          迭代解析
      电子邮件
        用户代理UA
          终端用户邮件程序
            foxmail
        电子邮件服务器
          既可做客户端又可做服务器
        电子邮件协议
          简单邮件传输协议 ：SMTP
            监听端口：25，TCP连接
            用于UA至邮件服务器，邮件服务器至邮件服务器间传输
          邮件交付协议：POP3
            监听端口：110，TCP连接
            用于邮件从邮件服务器至UA
          IMAP
            监听端口：143
            支持移动端
          Webmail:HTTP
            以网页格式发送邮件
            用户使用浏览器和HTTP协议于邮件服务器通信，负责收发邮件
        电子邮件📧
          地址
            唯一的，因为域名地址唯一
          格式
            信封
            邮件头
            一个空行
            邮件体
          多用途Internet邮件拓展：MIME
            多媒体转换为ASCII格式
      万维网WWW
        web客户端：浏览器
        web服务器
          TCP连接
          web文档（HTML）
            静态web页面
            动态web页面
            主动web页面
        统一资源定位符URL
          协议-主机域名-路径名
          HTTP：超文本传输协议
            TCP连接，80端口
            HTTP/1.1性能优化
              持续连接
                同一用户与该web服务器只需一次TCP连接建立
                  非持续连接，每个对象引用导致2个RTT延迟
                    TCP连接（1RTT），请求接受对象（1RTT）
              流水线
                连续发送对多个对象的请求，一共只需一个RTT延迟
                  非流水线的每次引用导致1个RTT延迟
                连续发送web页面对象，减少暂停等待时间
      文件传输协议FTP
        TCP连接
        控制连接
          21端口
          传输控制信息
          7位ASCII格式
          在整个会话期间保持打开状态
        数据连接
          20端口
          主动模式PORT
            客户端连接服务器21端口登录成功后，客户端随机开放一个端口
            服务器通过20端口和客户端开放端口连接，发送数据
          被动模式PASV
            服务器随机开放一个端口，并告知客户端
            客户端连接到开放端口进行数据传输
    P2P模式