《网络编程3-IP协议》由会员分享,可在线阅读,更多相关《网络编程3-IP协议(25页珍藏版)》请在金锄头文库上搜索。
1、网际网网际网协议协议 1网络层n将分组从发送方主机传将分组从发送方主机传送到接收方主机送到接收方主机 n发送方将数据段封装成发送方将数据段封装成分组分组n接收方将分组解封装后接收方将分组解封装后将数据段递交给传输层将数据段递交给传输层n网络层协议存在于每台网络层协议存在于每台主机和路由器上主机和路由器上n路由器检查所有经过它路由器检查所有经过它的的IP分组的分组头分组的分组头networkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata lin
2、kphysicalnetworkdata linkphysicalnetworkdata linkphysicalnetworkdata linkphysicalapplicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysical2网络层的重要功能n转发转发: 路由器将收到的路由器将收到的分组移动到适当的输出链路。分组移动到适当的输出链路。n选路选路: 决定分组从源端决定分组从源端到目的端所经过的路径。到目的端所经过的路径。p选路算法选路算法术语术语:routing: 决定分组从源端到目
3、决定分组从源端到目的端所经过路径的过程。的端所经过路径的过程。forwarding: 将分组从一个输将分组从一个输入链路接口转移到适当输出链入链路接口转移到适当输出链路接口的过程。路接口的过程。3网际层的网际层的 IP 协议及配套协议协议及配套协议各种应用层协议 网络接口层(HTTP, FTP, SMTP 等)物理硬件运输层TCP, UDP应用层ICMPIPRARPARP与各种网络接口网络层(网际层)IGMP44网络层有连接服务和无连接服务网络层有连接服务和无连接服务n数据报网络在网络层中提供无连接服务数据报网络在网络层中提供无连接服务n虚电路在网络层中提供有连接服务虚电路在网络层中提供有连接
4、服务n与传输层服务有相似之处,但也有很大不与传输层服务有相似之处,但也有很大不同:同:p服务服务: 主机到主机(传输层:端到端)主机到主机(传输层:端到端)p服务选择服务选择:在同一时间仅提供以上两种在同一时间仅提供以上两种服务中的一种服务中的一种 (传输层:提供(传输层:提供TCP和和UDP)p实现实现: 在端系统及网络核心实现(传输在端系统及网络核心实现(传输层:在端系层:在端系 统中实现)统中实现)5应用层运输层网络层数据链路层物理层应用层运输层网络层数据链路层物理层虚电路服务虚电路服务H1 H2虚电路H1 发送给 H2 的所有分组都沿着同一条虚电路传送66应用层运输层网络层数据链路层物
5、理层应用层运输层网络层数据链路层物理层数据报服务数据报服务H1 H2IP 数据报丢失H1 发送给 H2 的分组可能沿着不同路径传送77虚电路服务与数据报服务的对比对比的方面虚电路服务数据报服务思路可靠通信应当由网络来保证可靠通信应当由用户主机来保证连接的建立必须有不需要终点地址仅在连接建立阶段使用,每个分组使用短的虚电路号每个分组都有终点的完整地址分组的转发属于同一条虚电路的分组均按照同一路由进行转发每个分组独立选择路由进行转发当结点出故障时所有通过出故障的结点的虚电路均不能工作出故障的结点可能会丢失分组,一些路由可能会发生变化分组的顺序总是按发送顺序到达终点到达终点时不一定按发送顺序端到端的
6、差错处理和流量控制可以由网络负责,也可以由用户主机负责由用户主机负责88因特网采用的设计思路因特网采用的设计思路n网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。n网络在发送分组时不需要先建立连接。每一个分组(即 IP 数据报)独立发送,与其前后的分组无关(不进行编号)。n网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。 99尽最大努力交付的好处尽最大努力交付的好处n由于传输网络不提供端到端的可靠传输服务,这就使网络中的路由器可以做得比较简单,而且价格低廉(与电信网的交换机相比较)。n如果主机(即端系统)中的
7、进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责可靠(包括差错处理、流量控制等)。n网络更健壮,具有良好的扩展性。n因特网能够发展到今日的规模,充分证明了当初采用这种设计思路的正确性。 1010n中间设备又称为中间系统或中继(relay)系统。p物理层中继系统:转发器(repeater)。p数据链路层中继系统:网桥或桥接器(bridge)。p网络层中继系统:路由器(router)。p网桥和路由器的混合物:桥路器(brouter)。p网络层以上的中继系统:网关(gateway)。 网络互相连接起来网络互相连接起来要使用一些中间设备要使用一些中间设备 11115432154321主机H
8、1 主机 H2 R1 R4 R5 R2 R3 R1 R2 R3H1 R5 H2 R4间接交付间接交付间接交付间接交付间接交付直接交付32 21 132 21 132 21 132 21 132 21 1分组在互联网中的传送 1212分类分类 IP 地址地址 n每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。n两级的 IP 地址可以记为:IP 地址 := , (4-1)1313常用的三种类别的常用的三种类别的 IP 地址地址 IP 地址的使用范围 网络 最大 第一个
9、最后一个 每个网络类别 网络数 可用的 可用的 中最大的 网络号 网络号 主机数 A 126 (27 2) 1 126 16,777,214 B 16,383(214 1) 128.1 191.255 65,534 C 2,097,151 (221 1) 192.0.1 223.255.255 2541414IP地址的其他知识地址的其他知识nIP地址的分配方式pPPP协议,dhcp协议,静态配置nIP地址类别p全局IP: 做服务器需要固定的全局IPp保留IP:n10.0.0.0 到 10.255.255.255n172.16.0.0 到 172.31.255.255n192.168.0.0 到
10、 192.168.255.255nIP地址的地域性p和接入网关有关15IP 地址与硬件地址地址与硬件地址 TCP 报文IP 数据报MAC 帧应用层数据首部首部尾部首部链路层及以下使用硬件地址硬件地址网络层及以上 使用 IP 地址IP 地址1616地址解析协议地址解析协议 ARP 和和逆地址解析协议逆地址解析协议 RARP IP 地址物理地址ARP物理地址IP 地址RARP1717地址解析协议地址解析协议 ARPn不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。 n每一个主机都设有一个 ARP 高速缓存(ARP cache),里面有所在的局域网上的各主机和路
11、由器的 IP 地址到硬件地址的映射表。n当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。 1818ARP 响应AYXBZ主机 B 向 A 发送ARP 响应分组 主机 A 广播发送ARP 请求分组 ARP 请求ARP 请求ARP 请求ARP 请求209.0.0.5209.0.0.600-00-C0-15-AD-1808-00-2B-00-EE-0A我是 209.0.0.5,硬件地址是 00-00-C0-15-A
12、D-18我想知道主机 209.0.0.6 的硬件地址我是 209.0.0.6硬件地址是 08-00-2B-00-EE-0AAYXBZ209.0.0.5209.0.0.600-00-C0-15-AD-181919一个主机的报文是如何到达目的一个主机的报文是如何到达目的地的?地的?B: 122.162.1.2C: 122.166.1.3A: 122.162.1.1D: 122.163.1.4E: 122.163.1.1F: 122.164.1.1G: 122.164.1.2以以C主机为例子(字母表示主机为例子(字母表示MAC地址)地址)目的地为目的地为B:122.162.1.2,报文怎么送过去的?
13、,报文怎么送过去的?如果目的地为如果目的地为G:122.164.1.2,报文又是如何送过去的?,报文又是如何送过去的?20目的网络地址目的网络地址子网掩码子网掩码下一跳下一跳128.30.33.0255.255.255.128接口接口0128.30.33.128255.255.255.128接口接口1128.30.36.0255.255.255.0R2R1路路由由表表掩掩码码与与路路由由看看路由器是怎么工作的?看看路由器是怎么工作的?21IP 数据报格式verlength32 bitsdata (变长变长,典型地是一个典型地是一个 TCP 或者或者 UDP 数据段数据段)16-bit iden
14、tifierHeader Internet checksumtime tolive32 bit 源源IP 地址地址IP 协议版本号协议版本号首部长度首部长度 (4bytes)余留跳数的最大数量余留跳数的最大数量(在每个路由器上减一在每个路由器上减一)用于分片用于分片/重组重组总长度总长度 (bytes)传输负载的上层协议传输负载的上层协议head.lentype ofservice服务类型服务类型 flgsfragment offsetupper layer32 bit 目的目的 IP 地址地址选项选项 (如果需要的话如果需要的话)如时间戳如时间戳,规定路由器列表等规定路由器列表等22ICMP
15、: Internet Control Message Protocol 因特网控制报文协议n用于主机路由器之间彼此交流网络用于主机路由器之间彼此交流网络层信息层信息p差错报告差错报告: 不可到达的主机不可到达的主机, 网络网络,端口端口,协议协议p请求请求/应答应答 (用于用于ping,traceroute)n位于位于IP之上之上p因为因为ICMP消息是装载在消息是装载在IP分组里的分组里的nICMP 报文结构报文结构: 类型字段类型字段, 编码字编码字段段 以及引起该以及引起该ICMP报文的报文的IP分组分组的前的前8字节字节类型类型 代码代码 描述描述0 0 回应应答回应应答 (ping)
16、3 0 目的网络不可到达目的网络不可到达3 1 目的主机不可到达目的主机不可到达3 2 目的协议不可到达目的协议不可到达3 3 目的端口不可达到目的端口不可达到3 6 不知道的目的网络不知道的目的网络3 7 不知道的目的主机不知道的目的主机4 0 源端抑制源端抑制 (拥塞控制拥塞控制 不用不用)8 0 回应请求回应请求 (ping)9 0 路由器公告路由器公告10 0 路由器发现路由器发现11 0 TTL 过期过期12 0 IP首部损坏首部损坏23多播1 个1 个多播多播多播多播(组播)的含义(组播)的含义多播组成员共有 90 个R1R3R4R2视频服务器 M1 个1 个1 个1 个1 个发送 1 次多播复制CBTMOSPFPIM-SM IGMP24网络层的其他问题网络层的其他问题nNAT:网络地址转换nVPN:虚拟专用网nIPSEC:网络层安全nRIP:路由信息协议nOSPF:开放路径最短优先nIPv6:新版IP25