1.07k likes | 1.32k Views
《 计算机网络管理 》 主讲教师:王继龙 清华大学信息网络工程研究中心 wjl@cernet.edu.cn. 李锁刚 lsg01@mails.tsinghua.edu.cn. 第二章 计算机网络技术基础. 体系结构(上节内容) 传输技术(上节内容) TCP/IP 技术(本节内容) 网络服务和中间件技术 网络应用技术 网络工程基础. 哈尔滨. 乌鲁木齐. 长春. 沈阳. 呼和浩特. 北京. 唐山. 天津. 银川. 石家庄. 大连. 济南. 兰州. 太原. 烟台. 西宁. 青岛. 郑州. 西安. 徐州. 汉中. 南京. 成都.
E N D
《计算机网络管理》 主讲教师:王继龙 清华大学信息网络工程研究中心 wjl@cernet.edu.cn
第二章 计算机网络技术基础 • 体系结构(上节内容) • 传输技术(上节内容) • TCP/IP技术(本节内容) • 网络服务和中间件技术 • 网络应用技术 • 网络工程基础
哈尔滨 乌鲁木齐 长春 沈阳 呼和浩特 北京 唐山 天津 银川 石家庄 大连 济南 兰州 太原 烟台 西宁 青岛 郑州 西安 徐州 汉中 南京 成都 无锡 上海 合肥 重庆 武汉 黄梅 宜昌 拉萨 杭州 九江 长沙 南昌 福州 贵阳 台北 桂林 主干网 昆明 柳州 广州 厦门 地区网 百色 汕头 惠州 深圳 GigaPop 南宁 深圳 湛江 珠海 Pop 徐闻 海口 三亚 IP Backbone
沈阳 哈尔滨 天津 北京 大连 济南 太原 石家庄 青岛 郑州 重庆 南京 上海 成都 武汉 合肥 南昌 杭州 长沙 桂林 南宁 厦门 福州 广州 昆明 national dark fiber 深圳 海口 Fiber Infrastructure
主要内容 • IP地址 • 节点标识 • 网络规划 • 分组转发和路由 • IP协议 • TCP/UDP
一、IP地址 • 32 bits(128bits for IPv6) • 具有分层的、携带位置信息的地址结构 • 接近43亿 • 分为A、B、C、D、E共5类 • 技术资料: RFC (791、1010、 815、 894、1112)
Internet 网络 网络 网络 子网 子网 主机 主机 主机 主机 主机 IP 地址的结构 网络号 主机号 IP 地址的概念结构 Internet的概念层次
IP地址格式 Class A HostID 0 NetID B 10 NetID HostID C HostID 110 NetID D 1110 Multicast Address E 1111 保留 8 bits 8 bits 8 bits 8 bits
类型 网络前缀 主机号 全 “1” 特殊的 IP 地址 • 直接广播地址(broadcast address) • 主机号全 1 ,向指定的网络进行广播 • 有限广播地址(limited broadcast address) • 32 位 IP 地址位全 1(即 255.255.255.255),在本网络中广播 • 0 地址 • IP 地址中网络号为全 0 表示本网络 • IP 地址中主机号为全0表示网络号 • IP 地址全 0 表示本主机(BSD Style Broadcast address)。 • 回送地址(loopback address) • 网络号为 127 的 A 类地址(如127.0.0.1)用于本地软件测试(测试应用层与网络软件之间的进程间通信)。无论什么程序,一旦使用回送地址,协议软件立即返回之,不进行任何的网络传输。
内部IP地址 • RFC-1918 • 10.0.0.0~10.255.255.255(10/8) • 172.16.0.0~172.31.255.255(172.16/12) • 192.168.0.0~192.168.255.255(192.168/16)
路由器和多穴主机的 IP 地址 • 一类特殊的结点:具有多个物理接口、连接到多个网络上。如:路由器、多穴主机(multi-homed host) • 该结点同时属于它所连接的多个网络 • 对应于结点所连接的每一个网络,给该结点分配一个 IP 地址 • 结点具有多少网络连接就拥有多少 IP 地址 • IP 地址实际上是对结点上网络连接的标识
网络规划 • 分类地址规划 • 子网规划 • 超网规划
网络 子网 主机号 子网规划 • 分类地址(classful addess)的缺陷:地址分配不够灵活,地址空间消耗速度快 • 子网划分技术:在常规网络地址上划分出更多的网络地址(减少主机数,浪费一些地址资源) • 子网划分地址包括三部分:网络号、子网号、主机号 • 子网划分地址中的主机部分与网络部分的边界由子网掩码来定义
子网掩码(subnet mask) • 子网掩码(32 位):定义IP地址中网络前缀所占的比特数。 • 对应于网络号的Bit为 1 • 对应于主机号的 Bit 为 0 。 • 例:B 类网络189.23.0.0 ,其掩码255.255.0.0 • 子网掩码表示:在网络地址后给出子网掩码中 1 的位数。 • 例:网络 189.23.0.0 ,如子网掩码为255.255.0.0,则表示为:189.23.0.0/16 • IP地址中网络前缀的计算: IP 地址 & 子网掩码
默认的子网掩码 A类 网络 主机 11111111 00000000 00000000 00000000 255 . 0 . 0 . 0 B类 网络 主机 11111111 11111111 00000000 00000000 255 . 255 . 0 . 0 C类 网络 主机 11111111 11111111 11111111 00000000 255 . 255 . 255 . 0
规定 • 任何子网部分全0的IP地址不能使用 • 任何子网部分全1的IP地址不能使用 • 主机地址中借用的位数:不能1位,也不能全部位。如,C类中:最多6位,最少2位
C类子网划分 子网位数 子网数量 子网掩码 主机位数 主机数量 2 4 192 6 62 3 8 224 5 30 4 16 240 4 14 5 32 248 3 6 6 64 252 2 2
实例:子网位数为3位 子网 子网号 主机地址范围 第1个子网 000 0~31 第2个子网 001 32~63 第3个子网 010 64~95 第4个子网 011 96~127 第5个子网 100 128~159 第6个子网 101 160~191 第7个子网 110 192~223 第8个子网 111 224~255
S Mask: 255.255.255.0 Addr:187.5.3.0 ~187.5.3.255 S Mask: 255.255.254.0 Addr:187.5.4.0 ~187.5.5.255 S Mask: 255.255.255.0 Addr:187.5.2.0 ~187.5.2.255 S Mask: 255.255.255.252 Addr:187.5.6.0~187.5.6.3 B类地址子网划分的例子 187.5.0.0/16 子网 A 187.5.2.0/24 子网 B 187.5.3.0/24 子网 C 187.5.4.0/23 子网 D 187.5.6.0/30 :
超网(Supernet) • 利用超网来进行网络汇聚 • 超网:将多个 C 类的网络聚合起来,构成一个单一的、具有共同地址前缀的网络 • 优点: • 可以减少路由表表项的数量,节省路由器中的资源 • 按照实际需要进行网络地址分配,提高地址空间的利用率 例如:规模在 254 结点以上(但远小于 64K)的网络,可分配一个由若干 C 类地址聚合成的超网地址空间块,而不必占用一个完整的 B 类地址空间。 • 超网的子网掩码: • 长度小于被聚合的 C 类网络的子网掩码的长度;也就是说,超网的子网掩码小于 24 位。
192.18.0.0/24 通告 192.18.0.0/20 192.18.1.0/24 路由器 192.18.0.0/20 : 192.18.15.0/24 超网举例 • 无类型域间选路(CIDR - Classless Inter-Domain Routing) • 基本思想:在路由表中,将若干个连续的 C 类网络地址的表项聚合成一个表项进行选路。 • 由连续 C 网络地址聚合成的地址空间成为 CIDR 块,也用 “网络前缀/掩码位数” 的形式来表示。
二、分组转发和路由 • 处理传入的IP分组 • 路由 • 地址解析 • 封装和分片 • TTL
处理传入的IP分组 • 当数据报到达路由器时,它被送给IP软件,如果目标地址和路由器地址匹配,就交给合适的高层软件处理。否则就用本机的路由表中的信息及标准算法为该数据报选择路由。
路由 • 在一个路由器中,IP 分组被转发到哪里决定于: • 分组的目的地址 • 该路由器的路由表的内容 • 路由器的基本组件:路由表、转发器、路由协议 路由更新 路由更新 路由协议 路由表 下一跳地址 目的地址 分组 分组 转发 入口 出口
中间结点 • 发现与目标地址不在同一网络 • 在路由表(routing table)查找符合的纪录——下一跳路由器地址 • 如果路由表中没有路由,则取默认路由器地址为下一跳路由器地址 • 输出分组:向相应的下一跳路由器的硬件地址发送封装后的帧
最后一跳网关 • 查找目标的硬件地址 • 把IP包封装在特定类型的传输协议帧里,然后向目标地址直接投递
取出分组的目的 IP 地址 DA 计算出目的网络地址 DN 直接转发分组 Yes DN 匹配直接转发路由? 按照特定主机路由转发分组 Yes No DA 匹配特定主机路由? No 按路由表中指定的下一跳地址转发分组 DN 匹配了路由表中 的某个表项? Yes No Yes 按照默认路由转发分组 路由表定义了默认路由? No 选路失败
地址解析 • IP地址与硬件地址没有直接关系。 • 查找已知IP地址的硬件地址的过程叫做地址解析(Address Resolution)。 • 静态地址解析/动态地址解析
动态地址解析——ARP • 地址解析协议(Adress Resolution Protocol)在已知目的IP地址,需要知道目的硬件地址时使用。RFC-826 • ARP是一个广播协议——网络上的每一台机器都能收到请求。 • 每一台机器都检查请求的IP和自己的地址,符合要求的主机回答请求。
2 2 1 1 2 6 4 6 4 硬件类型 协议类型 硬件地址长度 协议地址长度 操 作 源硬件地址 源 IP 地址 目的硬件地址 目的IP地址 1:ARP 请求 2:ARP 应答 3:RARP请求 4:RARP应答 ARP/RARP 的报文格式 • ARP/RARP 的报文分组格式是统一的
ARP HEY - Everyone please listen! Will 128.213.1.5 please send me his/her Ethernet address not me Hi Red! I’m 128.213.1.5, and my Ethernet address is 87:A2:15:35:02:C3
ARP Cache • ARP不要求每次发送IP数据报时都发送请求——主机会保存一个硬件地址的缓存。 • ARP协议要求接收请求的主机在回答请求的同时要保存发送请求主机的硬件地址。
Proxy ARP • 一个特殊结点,代替真正的网关相应ARP请求; • 同时保证正常的IP通信 • 目的:在不同的物理网络上使用相同IP地址
反向地址解析 • 由已知硬件地址查找IP地址的过程叫做反向地址解析( Reverse Address Resolution )。RFC-0903 • 无盘工作站启动时需要反向地址解析。
RARP HEY - Everyone please listen! My Ethernet address is22:BC:66:17:01:75. Does anyone know my IP address ? not me Hi Red ! Your IP address is 128.213.1.17.
IP 分组封装 • IP 分组需要通过物理网络的帧来进行传输 • 封装(Encapsulation)—— 将 IP 分组映射到物理帧中的方式 • 最大传输单元(MTU - maximum transfer unit)——各种物理网络技术都限制了一个物理帧的大小,这个限值被称为最大传输单元;不同物理网络技术的 MTU 不同
分组的分片(fragmentation) • 分片 ——在小 MTU 的网络上将较大分组分割后进行传输 • ID(Identification):该分组的唯一标识,以便进行分片的重组 • MF(More Fragment,Flags 字段的 Bit 0):MF=1 表示还有更多分片 • FO(Fragment Offset):本片起始位置在原始分组数据区中的偏移量
IP 头 数据区(1400 字节) ID = 100 片头 片头 数据 1(600) 数据 1(600) 片头 数据3 (200) ID = 100 MF = 0 FO = 1200 Len = 220 ID = 100 MF = 1 FO = 600 Len = 620 ID = 100 MF = 1 FO = 0 Len = 620
对分组进行分片的地点 • 分片操作出现在两个 MTU 不同的网络的交界处,也就是出现在路由器上; • 进入一个新网络时,若新网络的 MTU 小于原有网络的 MTU,则可能需要进行分片;若新 MTU 值不小于原有 MTU 就不必进行分片。
以太网 以太网 A B 不需分片 分片 MTU=1500 MTU=1500 MTU=620 R2 R1
片的重组 • 片重组(reassembly)是分片的逆过程 • 所有的片重组操作都在目的主机上进行 • 重组过程 • 当目的主机收到 MF=1 的分片时,首先将其进行缓存 • 当收到 MF=0 的分片时,计算原始 IP 分组的长度 • 原始分组长 = 本分片的偏移 + 本分片的数据长度 • 利用原始分组长度检查是否收到全部分片 • 若是,则按照各片的偏移值重新组装成 IP 分组,提交给高层软件; • 否则将等待,直到收到该分组的全部分片 • 为了防止无限等待,在接收端设置重组定时器 • 当接收到分组的第一片时启动该定时器,如果在指定的时间内未能完成分组重组,将放弃整个重组、释放资源
重组 分片 以太网 以太网 A B MTU=1500 MTU=1500 MTU=620 R2 R1
PPP IP (512) ETH IP (512) ETH IP (1400) FDDI IP (1400) PPP IP (512) ETH IP (512) PPP IP (376) ETH IP (376) Fragmentation and Reassembly Assume: ETH-ETH<1500B FDDI-FDDI<4500B PPP-PPP<532B H1 H6 TCP TCP R1 R2 R3 IP IP IP IP IP ETH ETH ETH FDDI FDDI PPP PPP ETH 1420B=20B(IP Header)+1400B(IP Data) With offset=0,512,1024