IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 中科大郑烇、杨坚《计算机网络》课程 第六章笔记 -> 正文阅读

[网络协议]中科大郑烇、杨坚《计算机网络》课程 第六章笔记

计算机网络第六章

第6章:链路层和局域网

导引:
?网络层解决了一个网络如何到达另外一个 网络的路由问题
?在一个网络内部如何由一个节点(主机或 者路由器)到达另外一个相邻节点
?链路层的点到点传输层功能

目标:

  • 理解数据链路层服务的原理:

    • 检错和纠错
    • 共享广播信道:多点接入(多路访问)
    • 链路层寻址
    • LAN:以太网、WLAN、VLANs
    • 可靠数据传输,流控制:解决!
  • 实例和各种链路层技术的实现

网络节点的连接方式

image-20211002174622379

数据链路层和局域网

WAN—— 广域网,LAN —— 局域网

  • WAN:网络形式采用点到点链路
    ? 带宽大、距离远(延迟大)

    带宽延迟积大
    ? 如果采用多点连接方式
    ? 竞争方式:一旦冲突代价 大
    ? 令牌等协调方式:在其中 协调节点的发送代价大

  • 点到点链路的链路层服务 实现非常简单,封装和解 封装

  • LAN一般采用多点连接方式
    ? 连接节点非常方便 ? 接到共享型介质上(或网络 交换机),就可以连接所有其他节点

  • 多点连接方式网络的链路层 功能实现相当复杂
    ? 多点接入:协调各节点对共 享性介质的访问和使用
    ? 竞争方式:冲突之后的协调 ;
    ? 令牌方式:令牌产生,占有 和释放等

6.1 引论和服务

链路层: 导论

一些术语:

  • 主机和路由器是节点(网桥和交换机也是): nodes
  • 沿着通信路径,连接个相邻节点通信信道的是链路:links
    • 有线链路
    • 无线链路
    • 局域网,共享性链路
  • 第二层协议数据单元帧frame,封装数据报

数据链路层负责从一个节点通过链路将(帧中的)数据报发送到相邻的物理节点(一个子网内部的2节点)

链路层: 上下文

  • 数据报(分组)在不同的链路上以不同的链路协议传送:
    ? 第一跳链路:以太网
    ? 中间链路:帧中继链路
    ? 最后一跳:802.11 (无线局域网通用的标准)

  • 不同的链路协议提供不同 的服务

    • e.g.,比如在链路层上提供( 或没有)可靠数据传送

传输类比

  • 从Princeton到Lausanne
    • 轿车: Princeton to JFK
    • 飞机: JFK to Geneva
    • 火车: Geneva to Lausanne
  • 旅行者=数据报datagram
  • 交通段=通信链路 communication link
  • 交通模式=链路层协议 : 数 据链路层和局域网 protocol
  • 票务代理=路由算法 routing algorithm

链路层服务

  • 成帧,链路接入
    • 将数据报封装在帧中,加上帧头、帧尾部
    • 如果采用的是共享性介质,信道接入获得信道访问权
    • 在帧头部使用“MAC”(物理)地址来标示源和目的
      ? 不同于IP地址
  • 在(一个网络内)相邻两个节点完成可靠数据传递
    • 已经学过了(第三章) —— 传输层
    • 在低出错率的链路上(光纤和双绞线电缆)很少使用
    • 在无线链路经常使用:出错率高

Q: 为什么在链路层和传输层都实现了可靠性?

一般化的链路层服务,不是所有的链路层都提供这些服务
一个特定的链路层只是提供其中一部分的服务

  • 在相邻节点间(一个子网内)进行可靠的转发

    • 我们已经学习过(见第三章)!
    • 在低差错链路上很少使用 (光纤,一些双绞线)
      • 出错率低,没有必要在每一个帧中做差错控制的工作,协议复杂
        • 发送端对每一帧进行差错控制编码,根据反馈做相应的动作
        • 接收端进行差错控制解码,反馈给发送端(ACK,NAK)
      • 在本层放弃可靠控制的工作,在网络层或者是传输层做可靠控制的工作,或者根本就不做可靠控制的工作
    • 在高差错链路上需要进行可靠的数据传送
      • 高差错链路:无线链路:
        • Q:为什么要在采用无线链路的网络上,链路层做可靠数据传输工作 ;还要在传输层做端到端的可靠性工作?
        • 原因:出错率高,如果在链路层不做差错控制工作,漏出去的错误比较高;到了上层如果需要可靠控制的数据传输代价会很大 —— 出错率较大的时候,传到上层再纠错代价大
          • 如不做local recovery 工作,总体代价大
  • 流量控制:

    • 使得相邻的发送和接收方节点的速度匹配
  • 错误检测:

    • 差错由信号衰减和噪声引起
    • 接收方检测出的错误:
      • 通知发送端进行重传或丢弃帧
  • 差错纠正:

    • 接收端检查和纠正bit错误,不通过重传来纠正错误
  • 半双工和全双工:

    • 半双工:链路可以双向传输,但一次只有一个方向

链路层在哪里实现?

  • 在每一个主机上
    • 也在每个路由器上
    • 交换机的每个端口上
  • 链路层功能在“适配器”上 实现 (aka network interface card NIC) 或 者在一个芯片组上
    • 以太网卡,802.11 网卡 ; 以太网芯片组
    • 实现链路层和相应的物 理层功能
  • 接到主机的系统总线上
  • 硬件、软件和固件的综合 体

image-20211002224550874

适配器通信

image-20211002224607535

  • 发送方:
    • 在帧中封装数据报
    • 加上差错控制编码,实现RDT和流量控制功能等
  • 接收方:
    • 检查有无出错,执行rdt和流量控制功能等
    • 解封装数据报,将至交 给上层

6.2 差错检测和纠正

错误检测

EDC=差错检测和纠正位(冗余位)

D =数据由差错检测保护,可以包含头部字段错误检测不是100%可靠的!

错误检测不是100%可靠的!

  • 协议会漏检一些错误,但是很少
  • 更长的EDC字段可以得到更好的检测和纠正效果

image-20211002224745844

奇偶校验

image-20211002224811357

Internet校验和

目标: 检测在传输报文段时的错误(如位翻转),(注:仅仅用在传输层)

  • 发送方:

    • 将报文段看成16-bit整 数
    • 报文段的校验和: 和 (1’ 的补码和)
    • 发送方将checksum的 值放在‘UDP校验和’ 字段
  • 接收方:

    • 计算接收到的报文段的校验和
    • 检查是否与携带校验和字 段值一致:
      • 不一致:检出错误
      • 一致:没有检出错误,但可能还是有错误

有更简单的检查方法 全部加起来看是不是全1

检验和:CRC(循环冗余校验)

1、模二运算 —— 异或运算

2、位串的两种表示

image-20211002225934163

3、生成多项式,r次方

G = X^3 + 1 r + 1位 例子:1001

4、发送方:根据r位 CRC 计算r位冗余位,使得

  • 正好被 G整除 (modulo 2)
  • 接收方知道 G, 将除以 G. 如果非0余数: 检查出错误!
  • 能检出所有少于r+1位的突发错误

D ——发送的数据 (左移r位)+ R —— 冗余位 (r位)

G —— 生成多项式(r - 1次方)

image-20211002230457145

  • 强大的差错检测码
  • 将数据比特 D, 看成是二进制的数据
  • 生成多项式G:双方协商r+1位模式(r次方)
    • 生成和检查所使用的位模式
  • 目标:选择r位 CRC附加位R,使得
    • 正好被 G整除 (modulo 2)
    • 接收方知道 G, 将 除以 G. 如果非0余数: 检查出错误!
    • 能检出所有少于r+1位的突发错误
  • 实际中广泛使用(以太网、802.11 WiFi、ATM)

image-20211002225357330

CRC 例子

  • 需要: D.2r XOR R = nG
  • 等价于: D.2r = nG XOR R
  • 等价于: 两边同除G 得到余数 R=… image-20211002230905492

remainder —— 余数 、当余数R不足r位,补0

image-20211002230858718

CRC性能分析

  • 突发错误和突发长度
  • CRC检错性能描述
    • image-20211002231306540

6.3 多点访问协议

多路访问链路和协议

两种类型的链路(一个子网内部链路连接形式):

  • 点对点
    • 拨号访问的PPP
    • 以太网交换机和主机之间的点对点链路
  • 广播 (共享线路或媒体)
    • 传统以太网
    • HFC上行链路
    • 802.11无线局域网

image-20211002231421347

多路访问协议

  • 单个共享的广播型链路
  • 2个或更多站点同时传送: 冲突(collision)
    • 多个节点在同一个时刻发送,则会收到2个或多个信号 叠加

多路访问协议(介质访问控制协议:MAC)

  • 分布式算法-决定节点如何使用共享信道,即:决定节点什么时候可以发送?
  • 关于共享控制的通信必须用借助信道本身传输!
    • 没有带外的信道,各节点使用其协调信道使用
    • 用于传输控制信息

理想的多路访问协议

  • 给定:Rbps带宽的广播信道

必要条件:

  1. 当一个节点要发送时,可以以R速率发送.

  2. 当M个节点要发送,每个可以以R/M的平均速率发送

  3. 完全分布的:

    1. 没有特殊节点协调发送
    2. 没有时钟和时隙的同步
  4. 简单

MAC(媒体访问控制)协议:分类

3大类

  • 信道划分
    o把信道划分成小片(时间、频率、编码)
    o分配片给每个节点专用
  • 随机访问
    o信道不划分,允许冲突
    ○冲突后恢复
  • 依次轮流
    o节点依次轮流
    ○但是有很多数据传输的节点可以获得较长的信道使用权

a.信道划分MAC协议:TDMA 时分复用

image-20211003010402398

a.信道划分MAC协议:FDMA 频分复用

image-20211003010449653

a.码分多路访问(CDMA)

image-20211003010510131

b.随机存取协议

检错冲突 与 冲突解决/冲突避免

image-20211003010538701

b.1 时隙ALOHA

image-20211003010613208

image-20211003010707726

时隙ALOHA的效率( Efficiency )

image-20211003010722429

b.2 纯ALOHA(非时隙)

image-20211003010738468

纯ALOHA的效率

image-20211003010753389

b.3 CSMA(载波侦听多路访问)

image-20211003010815762

CSMA冲突

image-20211003010833065

b.4 CSMA/CD(冲突检测)

image-20211003010844252

CSMA/CD(冲突检测)

image-20211003010859719

以太网CSMA/CD算法

image-20211003010933464

image-20211003010941312

CSMA/CD效率

image-20211003010953336

b.5 无线局域网 CSMA/CA

image-20211003011006144

无线局域网中的 MAC:CSMA/CA

image-20211003011019740

image-20211003011031282

冲突避免(续)

image-20211003011105533

冲突避免:RTS-CTS 交换

image-20211003011156385

b.5 线缆接入网络

image-20211003011225369

c.轮流(Taking Turns)MAC协议

image-20211003011240667

image-20211003011248967

image-20211003011256683

MAC 协议总结

多点接入问题:对于一个共享型介质,各个节点 如何协调对它的访问和使用?

  • 信道划分:按时间、频率或者编码
    • TDMA、FDMA、CDMA
  • 随机访问 (动态)
    • ALOHA, S-ALOHA, CSMA, CSMA/CD
    • 载波侦听: 在有些介质上很容易 (wire:有线介质), 但在有些 介质上比较困难 (wireless:无线)
    • CSMA/CD :802.3 Ethernet网中使用
    • CSMA/CA :802.11WLAN中使用
  • 依次轮流协议
    • 集中:由一个中心节点轮询;
      分布:通过令牌控制
    • 蓝牙、FDDI、令牌环

6.4 LANs

addressing, ARP

MAC 地址和ARP

  • 32bit IP地址:
    • 网络层地址
    • 前n-1跳:用于使数据报到达目的IP子网
    • 最后一跳:到达子网中的目标节点
  • LAN(MAC/物理/以太网)地址: —— (在一个物理网络的内部来标识每一个节点)
    • 用于使帧从一个网卡传递到与其物理连接的另一个网卡 (在同一个物理网络中)
    • 48bit MAC地址固化在适配器的ROM,有时也可以通过软件设定
    • 理论上全球任何2个网卡的MAC地址都不相同
    • e.g.: 1A-2F-BB-76-09-AD —— ( 16进制表示 (每一位代表4个bits) )

网络地址和mac地址分离

  • IP地址和MAC地址的作用不同
    a) IP地址是分层的 —— 二层

    • 一个子网所有站点网络号一致,路由聚集,减少路由表
      • 需要一个网络中的站点地址网络号一致,如果捆绑需要定制网卡非常麻烦
    • 希望网络层地址是配置的;IP地址完成网络到网络的交付

    b) mac地址是一个平面的

    • 卡在生产时不知道被用于哪个网络,因此给网卡一个 唯一的标示,用于区分一个网络内部不同的网卡即可
    • 可以完成一个物理网络内部的节点到节点的数据交付

从 IP 的角度,是从一个路由器到另一个路由器。
从 链路层的角度,是从一个网卡当另一个网卡。

  1. 分离好处
    a) 网卡坏了,ip不变,可以捆绑到另外一个网卡的 mac上
    b) 物理网络还可以除IP之外支持其他网络层协议, 链路协议为任意上层网络协议, 如IPX等

  2. 捆绑的问题
    a) 如果仅仅使用IP地址,不用mac地址,那么它仅支持IP协议
    b) 每次上电都要重新写入网卡 IP地址;
    c) 另外一个选择就是不使用任何地址;不用MAC地址,则每到来一个帧都要上传到IP层次,由它判断是不是需要接受,干扰一次

LAN 地址和ARP

局域网上每个适配器都有一个唯一的LAN地址

全 F 的MAX地址 是 广播地址

image-20211003091929111

  • MAC地址由IEEE管理和分配
  • 制造商购入MAC地址空间(保证唯一性)
  • 类比:
    (a)MAC地址:社会安全号
    (b)IP地址:通讯地址 ? MAC平面地址 ? 支持移动
  • 可以将网卡到接到其它网络 ? IP地址有层次-不能移动
    • 依赖于节点连接的IP子网,与子网的网络号相同( 有与其相连的子网相同的网络前缀)

ARP: Address Resolution Protocol

问题:已知B的IP地址,如何确定B的MAC地址?

  • 在LAN上的每个IP节点都有一个ARP表
  • ARP表:包括一些 LAN节点IP/MAC地 址的映射 < IP address; MAC address; TTL>
    • TTL时间是指地址映射失效的时间
    • 典型是20min

ARP协议:在同一个LAN (网络)

  • A要发送帧给B(B的IP地址 已知), 但B的MAC地址不 在A的ARP表中
  • A广播包含B的IP地址的 ARP查询包
    • Dest MAC address = FF-FF-FF-FF-FF-FF
    • LAN上的所有节点都会收到 该查询包
  • B接收到ARP包,回复A自 己的MAC地址
    • 帧发送给A
    • 用A的MAC地址(单播)
  • A在自己的ARP表中,缓存 IP-to-MAC地址映射关系 ,直到信息超时
    • 软状态: 靠定期刷新维持的系统状态
    • 定期刷新周期之间维护的状态信息可能和原有系统不一 致
  • ARP是即插即用的
    • 节点自己创建ARP的表项
    • 无需网络管理员的干预

路由到其他LAN

image-20211003092755106

编址:路由到其他LAN

  • A创建数据报,源IP地址:A;目标IP地址:B 封装一层

  • A创建一个链路层的帧,目标MAC地址是R,该帧包含A 到B的IP数据报

image-20211003092846728

image-20211003093159324

image-20211003093207363

以太网

  • 目前最主流的LAN技术:98%占有率
  • 廉价:30元RMB 100Mbps!
  • 最早广泛应用的LAN技术
  • 比令牌网和ATM网络简单、廉价
  • 带宽不断提升:10M, 100M, 1G, 10G

image-20211003093457375

以太网:物理拓扑

  • 总线:在上个世纪90年代中期很流行
    • 所有节点在一个碰撞域内,一次只允许一个节点发送
    • 可靠性差,如果介质破损,截面形成信号的反射,发送节点误认为 是冲突,总是冲突
  • 星型:目前最主流
    • 连接选择: hub(无法并行,一发全收) 或者 switch (并行)
    • 现在一般是交换机(switch)在中心
    • 每个节点以及相连的交换机端口使用(独立的)以太网协议(不会和其他节点的发送产生碰撞)

image-20211003093613325

以太帧结构

发送方适配器在以太网帧中封装IP数据报, 或其他网络层协议数据单元

image-20211003093826481

前导码:

  • 7B 10101010 + 1B 10101011

  • 用来同步接收方和发送方的时钟速率

    • 使得接收方将自己的时钟调到发送端的时钟
    • 从而可以按照发送端的时钟来接收所发送的帧
  • 地址:6字节源MAC地址,目标MAC地址

    • 如:帧目标地址=本站MAC地址,或是广播地址, 接收,递交帧中的数据到网络层
    • 否则,适配器忽略该帧
  • 类型:指出高层协(大多情况下是IP,但也支持其它网络层协议Novell IPX和AppleTalk)

  • CRC:在接收方校验

    • 如果没有通过校验,丢弃错误帧

以太网:无连接、不可靠的服务

  • 无连接:帧传输前,发送方和接收方之间没有握手
  • 不可靠:接收方适配器不发送ACKs或NAKs给发送方
    • 递交给网络层的数据报流可能有gap
    • 如上层使用像传输层TCP协议这样的rdt,gap会被补上( 源主机,TCP实体)
    • 否则,应用层就会看到gap
  • 以太网的MAC协议:采用二进制退避的CSMA/CD 介质访问控制形式

802.3 以太网标准:链路和物理层

image-20211003095719135

以太网使用CSMA/CD

image-20211003095730238

image-20211003095801368

image-20211003095826706

image-20211003095900060

10BaseT and 100BaseT

  • 100 Mbps 速率 也被称之为 “fast ethernet” Base 基带信号
  • T代表双绞线
  • 节点连接到HUB上: “star topology”物理上星型
    • 逻辑上总线型,盒中总线 一发全收,一次只能发一次
  • 节点和HUB间的最大距离是100 m

image-20211003095952932

Hubs

  • Hubs 本质上是物理层的中继器:
    • 从一个端口收,转发到所有其他端口
    • 速率一致 ? 没有帧的缓存
    • 在hub端口上没有CSMA/CD机制:适配器检测冲突
    • 提供网络管理功能

Manchester 编码 —— 物理层

image-20211003100140814

  • 在 10BaseT中使用
  • 每一个bit的位时中间有一个信号跳变
  • 允许在接收方和发送方节点之间进行时钟同步
    • 节点间不需要集中的和全局的时钟
  • 10Mbps,使用20M带宽,效率50%
  • Hey, this is physical-layer stuff!

100BaseT中的4b5b编码

image-20211003102620272

千兆以太网

? 采用标准的以太帧格式
? 允许点对点链路和共享广播信道
? 物理编码:8b10b编码
? 在共享模式,继续使用CSMA/CD MAC技术 ,节点间需要较短距离以提高利用率
? 交换模式:全双工千兆可用于点对点链路
? 站点使用专用信道,基本不会冲突,效率高
? 除非发往同一个目标站点
? 10 Gbps now !

802.11WLAN

image-20211003102721615

802.11 LAN 体系结构

image-20211003102741419

switches

Hub:集线器

image-20211003102803772

交换机 —— 路由层面(主机)是看不到交换机的,透明的

image-20211003102848810

交换机:多路同时传输

  • 主机有一个专用和直接到交换机的连接
  • 交换机缓存到来的帧
  • 对每个帧进入的链路使用以太网协议,没有碰撞;全双工
    • 每条链路都是一个独立的 碰撞域
    • MAC协议在其中的作用弱 化了
  • 交换:A-to-A’ 和 B-to-B’ 可 以同时传输,没有碰撞

交换机转发表

  • Q:交换机如何知道通过接口1到达A,通过接口5到达B’?

  • A:每个交换机都有一个交换表switch table,每个表项:

    (主机的MAC地址,到达该MAC经过的接口,时戳)
    比较像路由表!

  • Q: 每个表项是如何创建的?如何维护的?

    有点像路由协议?

交换机:自学习

  • 交换机通过学习得到哪些 主机(mac地址)可以通 过哪些端口到达

    • 当接收到帧,交换机 学习到发送站点所在 的端口(网段)
    • 记录发送方MAC地址/ 进入端口映射关系, 在交换表中

    image-20211003104905022

    image-20211003104914637

交换机:过滤/转发

image-20211003103245720

自学习,转发的例子 —— 不知道,泛洪

帧的目标: A’, 不知道 其位置在哪:泛洪 A’ A

  • 知道目标A对应的链路 : A’ 4 60 选择性发送到那个端 口

image-20211003105023894

image-20211003105040787

交换机级联

交换机可被级联到一起

image-20211003105117255

Q: A to G的发送 – 交换机S1 如何知道经过从 S4 和S3最终达到F?
? A: 自学习! (和在一个交换机联接所有站点一 样!)

多交换机自学习的例子

假设C向I发送帧,I给C应答

image-20211003105129108

? Q: 显示交换表和帧在S1 , S2 , S3 , S4的转发

image-20211003105230290

交换机 vs. 路由器

  • 都是存储转发设备,但层次不同
    • 交换机:链路层设备(检查 链路层头部)
    • 路由器:网络层设备(检查 网络层的头部)
  • 都有转发表:
    • 交换机:维护交换表,按照 MAC地址转发
      • 执行过滤、自学习和生成树算法
      • 即插即用;二层设备,速率高
      • 执行生成树算法,限制广播帧的 转发
      • ARP表项随着站点数量增多而增多
    • 路由器:续

image-20211003105503237

  • 路由器维护路由表,执行路由算法
    • 路由算法能够避免环路,无需执行生成树算法,可以以各种拓扑构建网络
    • 对广播分组做限制
    • 不是即插即用的,配置网络地址(子网前缀)
    • 三层设备,速率低

image-20211003105603439

VLANS 虚拟局域网

VLANs: 动机

考虑场景:

  • CS用户搬到EE大楼办公室 ,但是希望连接到CS的交 换机?
  • 接到多个交换机上
    • 麻烦和浪费:96端口 /10个有用
  • 如果都接到一个交换机上 ,在一个广播域
    • 所有的层2广播流量 (ARP, DHCP,不知道 MAC地址对应端口的帧 )都必须穿过整个LAN
    • 安全性/私密性的问题

image-20211003105820232

基于端口的VLAN —— 一些端口/mac地址 通过虚拟交换机连在一起

image-20211003105839184

6.5 链路虚拟化:MPLS

MPLS概述 —— 标签分发

image-20211003110011423

6.6 数据中心网络

image-20211003110123038

image-20211003110142423

image-20211003110203396

6.7 a day in the life of web request

回顾: 页面请求的历程

  • Top-down的协议栈旅程结束了!
    • 应用层、运输层、网络层和链路层
  • 以一个web页面请求的例子: 综述!
    • 目标: 标示、回顾和理解涉及到的协议(所有层次 ),以一个看似简单的场景: 请求www页面
    • 场景:学生在校园启动一台笔记本电脑:请求和接 受www.google.com

日常场景

image-20211003110344335

日常场景:… 连接到互联网

image-20211003111137748

  • 笔记本需要一个IP地址,第一跳路由器的IP地址,DNS的地址:采用DHCP

  • DHCP请求被封装在UDP中,封装在IP,封装在802.3以太网帧中

  • 以太网的帧在LAN上广播
    (dest: FFFFFFFFFFFF),被运行中的DHCP服务器接收到

  • 以太网帧中解封装IP分组,解封装UDP,解封装DHCP

  • DHCP服务器生成DHCPACK包括客户端IP地址,第一跳路由器P地址和DNS名字服务器地址

  • 在DHCP服务器封装,帧通过LAN转发(交换机学习)在客户端段解封装

  • 客户端接收DHCP ACK应答

客户端有了IP地址,知道了DNS域名服务器的名字和IP地址 第一跳路由器的IP地址

日常场景…… ARP (DNS之前, HTTP之前)

image-20211003111146617

  • 在发送HTTP request请求之前, 需要知道www.google.com的IP地 址: DNS
  • DNS查询被创建,封装在UDP段中 ,封装在IP数据报中,封装在以 太网的帧中. 将帧传递给路由器 ,但是需要知道路由器的接口: MAC地址:ARP
  • ARP查询广播,被路由器接收, 路由器用ARP应答,给出其IP地 址某个端口的MAC地址
  • 客户端现在知道第一跳路由器 MAC地址,所以可以发送DNS查 询帧了

日常场景:使用DNS

image-20211003111215380

  • 包含了DNS查询的IP数据报 通过LAN交换机转发,从客 户端到第一跳路由器
  • IP 数据报被转发,从校园到达 comcast网络,路由(路由表被 RIP,OSPF,IS-IS 和/或BGP协 议创建)到DNS服务器
  • 被DNS服务器解封装
  • DNS服务器回复给客户端: www.google.com的IP地址

日常场景: …TCP连接携带HTTP报文

image-20211003111254982

  • 为了发送HTTP请求,客户端打开到达web服务器的TCP socket
  • TCP SYN段(3次握手的第1次握手)域间路由到web服务器
  • web服务器用TCP SYNACK应答(3次握手的第2次握手)
  • TCP连接建立了!

日常场景: …… HTTP请求和应答

  • HTTP请求发送到TCPsocket中
  • IP数据报包含HTTP请求,最终路由到www.google.com
  • web服务器用HTTP应答回应(包括请求的页面)
  • IP数据报包含HTTP应答最后被路由到客户端

第6章:总结

  • 数据链路层服务背后的原理:

    • 检错、纠错
    • 共享广播式信道:多路访问
    • 链路编址
  • 各种链路层技术的实例和实现

    • Ethernet
    • 交换式LANS, VLANs
    • 虚拟成链路层的网络: MPLS
  • 综合:一个web页面请求的日常场景

  • 自上而下的协议栈的旅行结束了 (除了物理层)

  • 坚实地理解了网络的原理和实践

  • …… 可以在这里停一下 … … 但是仍然还有很多有趣的话题!

    • 无线网络
    • 多媒体
    • 网络安全
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-04 13:09:53  更:2021-10-04 13:10:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:43:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码