1 / 79

第 3 讲 因特网工程基础

第 3 讲 因特网工程基础. 《 网络应用基础 》. 传输层与网络层的关系. 因特网中的传输层充当 “ 收发室 ” 的角色 因特网中的网络层充当 “ 邮递业务 ” 的角色 两个层次之间的任务可以互换,但是在实现成本上可能存在巨大差别. 提供运行在不同主机中 进程间 的 逻辑通信 传输协议仅运行在端系统中 传输 vs. 网络层服务 : 网络层 : 在端系统间进行通信 传输层 : 在进程间进行通信 依赖并加强了网络层的服务. application transport network data link physical. application

mei
Download Presentation

第 3 讲 因特网工程基础

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第3讲 因特网工程基础 《网络应用基础》

  2. 传输层与网络层的关系 • 因特网中的传输层充当“收发室”的角色 • 因特网中的网络层充当“邮递业务”的角色 • 两个层次之间的任务可以互换,但是在实现成本上可能存在巨大差别

  3. 提供运行在不同主机中进程间的逻辑通信 传输协议仅运行在端系统中 传输 vs. 网络层服务 : 网络层:在端系统间进行通信 传输层:在进程间进行通信 依赖并加强了网络层的服务 application transport network data link physical application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical logical end-end transport 传输服务和协议

  4. Internet 传输服务: 可靠, 按序点对点递交 (TCP) 拥塞控制 流量控制 连接建立 不可靠的 (“尽力而为”), 无序的点对点或广播递交: UDP 不能提供的服务: 实时性 带宽承诺 可靠的广播通信 application transport network data link physical application transport network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical logical end-end transport 传输层协议

  5. segment (段)- 传输层实体间交换数据的单位 TPDU: 传输层数据单元 M M M M application transport network application transport network application transport network H n 应用层对传输协议的复用/分用 分用:将接收到的段传递给正确的应用层进程 receiver P3 P4 application-layer data segment header P1 P2 segment H t M segment

  6. 复用/分用: 基于发送方, 接收方的端口号, IP 地址 源, 目的端口 #s 存在于每个段中 用于特定应用的常用端口号(well-known port number):0~1023 复用: 应用层对传输协议的复用/分用 32 bits 从多个应用进程获取数据, 用首部(便于随后的分用)封装数据 源端口# 宿端口# 其他首部字段 应用层数据 (报文) TCP/UDP 段格式

  7. Source IP: C Dest IP: B source port: x dest. port: 80 Source IP: C Dest IP: B source port: y dest. port: 80 Source IP: A Dest IP: B source port: x dest. port: 80 source port:23 dest. port: x source port: x dest. port: 23 复用/分用: 举例 Web客户端 主机 C 服务器 B 主机 A 端口的使用: 简单的 telnet 应用 Web 服务器 B Web客户端 主机 A 端口的使用: Web 服务器

  8. 路由器在因特网中的地位 • 局域网(LAN)和拨号用户需要通过路由器接入因特网 • 因特网的通信子网由各种路由器互连而成 • 路由器是上网的“必由之路”

  9. 路由器结构概述 路由器的两个关键功能: • 运行路由算法/协议 (RIP, OSPF, BGP) • 交换分组于输入链路到输出链路之间

  10. 输入端口功能 分散化的交换: • 按照给出的分组信宿,使用输入端口的内存中存储的路由选择表,查找输出端口 • 目标: 以“线路速度”完成输入端口的处理 • 排队: 假如分组到达的数度快于转发到交换网络的( switch fabric)速度时 物理层: 位流级的接收 数据链路层: e.g., Ethernet

  11. 输入端口上的排队 • 交换网络的处理速度低于所有输入端口之和 -> 导致分组在输入端口的队列中排队 • 排头(Head-of-the-Line (HOL))阻塞:在队列的排头上的分组挡住了其他分组的前移 • 由于输入缓存的溢出导致了排队延迟和数据丢失!

  12. 三类交换网络

  13. Memory Input Port Output Port System Bus 内存交换(Switching Via Memory) 第一代路由器: • 分组通过系统的(单个)CPU拷贝 • 速度受到内存带宽的限制 (每个分组需2次穿越系统总线) 现代路由器: 输入端口处理器执行查询路由表、和拷贝的功能 Cisco Catalyst 8500

  14. 总线交换(Switching Via Bus) • 分组通过一条共享的总线从输入端口的内存传递到输出端口的内存 • 总线竞争:交换速率受限于总线的带宽 • 1 Gb/s总线, Cisco 1900: 对访问接入和企业级的路由器已经足够 (但还不适应在区域或主干级线路上使用)

  15. 通过内联网络交换(Switching Via An Interconnection Network) • 克服了总线带宽的限制 • Banyan networks, 内联网络技术在发展初期是用来连接多处理器系统中的处理器 • 设计先进: 把分组分割成固定长度的单元, 再把这些单元送入交换网络 • Cisco 12000: 通过内联网络交换速度可达若干Gb/s

  16. 输出端口 • 缓存 当来自交换网络的分组到达速度高于传输速率时,需要进行缓存 • 调度原则 从队列中的分组中选择传输

  17. 输出端口的排队 • 当交换速度超过输出线路的速率时,需要进行缓存 • 输出端口的溢出会造成排队(延迟)和数据丢失!

  18. 在通信主机之间传输分组 网络层协议必须在每一台主机和路由器上实现 两项重要功能: 路径决策:为分组在收发双方之间确定路径, 路由选择算法 交换:在路由器的输入、输出端口传递分组 network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical application transport network data link physical 因特网网络层的功能

  19. 在网络层没有联接建立过程 路由器: 没有端对端的连接状态 在网络层不存在“连接”的概念 一般分组使用信宿主机的ID进行路由选择 同样收发双方的不同分组可能经由的路径可能不同 application transport network data link physical application transport network data link physical 因特网模型:数据报(Datagram )网络 1. Send data 2. Receive data

  20. 因特网 数据交换在计算机之间进行 “弹性”服务,没有严格的实时性要求 “聪明”的端系统 (计算机) 可进行自适应,执行控制, 出错恢复 网络内部比较简单, “边缘上”比较复杂 利用了许多链路类型 各具有不同的特性 统一服务标准十分困难 ATM 电话网络演化而来 人们的交流: 严格要求实时性, 和可靠 需要服务承诺 “傻瓜式”的端系统 电话机 复杂性在网络内部 数据报 vs. 虚电路网络

  21. 主机, 路由器的网络层功能: • ICMP protocol • error reporting • router “signaling” • IP protocol • addressing conventions • datagram format • packet handling conventions • Routing protocols • path selection • RIP, OSPF, BGP routing table 因特网网络层 Transport layer: TCP, UDP Network layer Link layer physical layer

  22. 路由选择算法抽象: 图中的结点是路由器 图中的线条为物理链路 链路成本: 延迟, ¥费用, 或拥塞的程度 5 3 5 2 2 1 3 1 2 1 A D E B F C 路由选择协议 路由选择 目标:在收发双方的通信过程中为分组(所经由的一系列路由器中)确定一条“好” 的路径 • “好” 路: • 一般为费用最低的路径 • 也可以另行定义

  23. 全局或分散的信息? 全局: 所有路由器都有完整的拓扑逻辑,链路成本信息 “link state”算法 分散: 路由器只了解物理上邻接的路由器,了解到达这些路由器的链路成本 通过迭代计算处理,可与相邻路由器交换信息 “distance vector”算法 静态或动态的? 静态: 路由变化较少的情况 动态: 路由变化较快的情况 定期更新 为了响应链路成本的变化 路由算法分类

  24. IP 地址: 32-bit 用来定义主机,路由器的接口 接口:连接主机,路由器之间的物理链路 路由器一般有多个接口 主机也可能有多个网络接口 IP 地址只和接口有关, 而与主机,路由器却没有太多关联 223.1.1.2 223.1.2.1 223.1.3.27 223.1.3.1 223.1.3.2 223.1.2.2 IP 寻址 223.1.1.1 223.1.2.9 223.1.1.4 223.1.1.3 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1

  25. IP 地址: 网络部分 (高序位) 主机部分 (低序位) 网络是什么 ?(从 IP 地址的视角) IP地址中网络部分相同的设备接口 不经过路由器就可以物理上相互通达的设备 IP寻址 223.1.1.1 223.1.2.1 223.1.1.2 223.1.2.9 223.1.1.4 223.1.2.2 223.1.3.27 223.1.1.3 LAN 223.1.3.2 223.1.3.1 由3个 IP网络组成的网络 (对于以223开头的 IP地址,前24位为网络地址 )

  26. multicast address 1110 network host 110 network 10 host IP地址 “分类” 编址: 为讨论 “网络”的说法, 重新审视 IP地址: class 1.0.0.0 to 126.255.255.255 A network 0 host 128.0.0.0 to 191.255.255.255 B 192.0.0.0 to 223.255.255.255 C 224.0.0.0 to 239.255.255.255 D 32 bits

  27. 如何找到网络? 先断开路由器,主机间的接口连接 建立一个“被隔离的网络孤岛” 223.1.3.27 223.1.3.1 223.1.3.2 IP寻址 223.1.1.2 223.1.1.1 223.1.1.4 223.1.1.3 由6个网络组成的 互联系统 223.1.7.0 223.1.9.2 223.1.9.1 223.1.7.1 223.1.8.1 223.1.8.0 223.1.2.6 223.1.2.1 223.1.2.2

  28. host part network part 11001000 0001011100010000 00000000 200.23.16.0/23 IP编址: CIDR • 分类编址: • 地址空间的利用率低, 地址空间面临耗尽 • e.g., 一个B类网址可以容纳65K台主机, 但可能被一个只有2K 台主机的单位占据 • CIDR:Classless InterDomain Routing • 地址的网络部分长度任意 • 地址格式: a.b.c.d/x, 这里的 x表示地址中网络部分的位数 #

  29. IP地址: 如何获取? 主机地址 (主机部分): • 由系统管理员编制和分配 • DHCP:Dynamic Host Configuration Protocol: 动态获取: “plug-and-play” • 主机广播 “DHCP discover”报文 • DHCP服务器用 “DHCP offer”报文响应 • 主机请求IP地址: “DHCP request”报文 • DHCP服务器发送地址: “DHCP ack”报文

  30. 链路层: 工作环境

  31. M H H H H H H H H H t n l t t n l t n M M application transport network link physical M 链路层: 工作环境 • 两个 物理上连接的 设备: • 主机-路由器, 路由器-路由器, 主机-主机 • 协议数据单元: frame(帧) network link physical 数据链路协议 M frame 物理链路 接口卡

  32. 链路层的服务 • 成帧, 链路访问: • 将分组封装入帧, 加上帧头, 帧尾 • 如果是共享介质,则需实现信道的访问, • ‘物理地址’ 放在帧首用来确定信源、信宿 • 物理地址≠IP地址 • 在两台物理上连接的设备之间实现可靠传递: • 不太用在误码率低的场合 (光纤, 某些双绞线) • 无线链路: 误码率相当高 • Q: 为什么在链路层和端到端之间都要做可靠性的校验?

  33. 链路层的服务 (续) • 流量控制: • 保持收发双方的同步 • 错误检测: • 信号衰减和噪声会导致出错. • 接收端检测到错误时: • 给发送端信号要求重发或丢弃出错帧 • 错误校正: • 接受端检测多个位错并加以校正 而无需要求发送端重发

  34. M H H H H H H H H H t n l t t n l t n M M application transport network link physical M 链路层: 实现 • 通过 “adapter(网卡或适配器)” 实现 • e.g., PCMCIA 卡, 以太网卡 • 一般适配器都含有: RAM, DSP 芯片, 主机的总线接口, 和链路接口 network link physical data link protocol M frame phys. link adapter card

  35. 链路类型 有三种类型的 “链路”: • 点对点 ( e.g. PPP, SLIP) • 广播式(共享线路或介质; e.g, 以太网, 无线网, etc.) • 交换式 (e.g., 交换式以太网, ATM etc)

  36. 多点访问协议 • 一条共享的通信信道 • 两个或多个结点可同时发送信号: 相互干扰 • 在某一时刻只有一个结点可以成功地发送信号 • 多点访问协议: • 分布式的算法来决定如何共享信道, i.e., 决定工作站何时可以发送 • 注意:有关共享通道的通信(协商)也必须在该通道自身上解决!

  37. 多点访问协议 • 我们希望多点访问协议能够解决什么问题: • 同步还是异步 • 了解其他站点的信息 • 健壮性 (e.g.如何对待信道错误) • 性能

  38. 局域网与802协议组 • LLC 与 MAC • LLC (Logic Link Control)统一局域网对网络层的交互界面 • MAC(Media Access Control)对不同的物理链路采用不同的访问控制策略

  39. MAC 协议: 分类 目标:高效, 公平, 简单, 分散控制 • 通道分割 • 将信道分割成较小的 “片”(时隙, 频率) • 将小片分给各站点使用 • 随机访问 • 允许冲突 • 从冲突中“恢复” • “排队” • 严格协调访问来避免冲突

  40. 随机访问协议 • 当结点有数据要发送时: • 使用信道全部的传输速率 R. • 在诸多结点中不存在“预先”协商的机制 • 可能发生两个以上结点同时传输 -> “冲突” • 随机访问的 MAC协议定义了: • 如何检测冲突 • 如何从冲突中恢复 (e.g., 通过延迟重发) • 随机访问 MAC协议的实例: • ALOHA • CSMA and CSMA/CD

  41. CSMA: Carrier Sense Multiple Access CSMA:(载波检测多路访问)发送前侦听: • 如果信道闲置: 发送整个分组 • 如果信道忙, 推迟发送 • 坚持性 CSMA:当信道闲置时,以p的概率立即重试 (可能导致不稳定) • 非坚持性 CSMA:在某个随机间隔以后再试 • 为人处事的规则之一: 不要打断别人的发言!

  42. CSMA 的冲突 以太网结点间的时空图 冲突可能发生在: 由于传播延迟两个节点可能听不到对方的发送 冲突: 整个分组的传输时间被浪费 注意: 这里的冲突概率是由距离和 传播延迟来决定的

  43. CSMA/CD(Collision Detection,冲突检测) • 在冲突发生后,短时间内可探测到 • 立即中断传输, 减少信道的时间浪费 • 坚持性或非坚持性重传 • 冲突检测: • 在有线 LAN中简便易行: 检测信号强度, 比较收、发的信号 • 在无线 LAN比较困难: 传输时接收器是关闭的 • 人类社会的范例: 彬彬有礼的交谈者

  44. CSMA/CD 冲突检测

  45. LAN 技术 已经提到的数据链路层的内容有: • 服务, 错误检测/校正, 多点访问 下面: 讨论LAN 技术 • 编址 • 以太网(Ethernet) • 集线器、网桥、交换机 • 802.11无线LAN协议 • PPP(点对点协议)

  46. LAN 地址和 ARP 32位的IP地址: • 网络层 地址 • 用于从目的网络获取分组 (参见 IP 地址定义,p171) LAN (或MAC 或物理) 地址: • 用来(在同一网络中)物理上互相连接的接口之间获取分组(或帧) • 48 位MAC 地址 (绝大部分 LANs) 烧制在适配器的 ROM中

  47. LAN 地址和 ARP 每个 LAN上的网卡都有具唯一性的LAN 地址

  48. LAN 地址 (续) • MAC 分配由 IEEE管理 • 制造商购买部分MAC地址空间 (以保证唯一性) • 比方: (a) MAC地址: 美国人的社会保险号 (b) IP地址: 类似邮政地址 • MAC 平面地址 => 可以迁移 • 可以将 LAN卡从一个LAN换到另一个 • IP 层次性地址不可迁移 • 取决于某个站点接入的网络

  49. 223.1.1.1 223.1.2.1 E B A 223.1.1.2 223.1.2.9 223.1.1.4 223.1.2.2 223.1.3.27 223.1.1.3 223.1.3.2 223.1.3.1 有关路由选择的讨论 A站点给B站点发送IP分组: 查找 B站点的网络地址, 发现B站点与其在同一网络中 给B站点发送的分组是通过链路层的帧来传送的 分组的源、宿地址 帧的源、宿地址 A’s IP addr B’s IP addr B’s MAC addr A’s MAC addr IP payload 分组 帧

  50. Q:若已知B站点的IP地址,如何确定其MAC地址? ARP: 地址解析协议(Address Resolution Protocol) • 每个LAN 上的IP 结点 (主机, 路由器) 都有 ARP 模块,和表 • ARP 表: 是某些LAN 结点的IP/MAC 地址映射 < IP 地址; MAC 地址; TTL> < ………………………….. > • TTL (Time To Live): 超过TTL的地址映射会被删除 (一般为 20 分钟)

More Related