本章学习要求:•掌握:TCP/IP协议簇层次结构及其主要协议间调用关系•掌握:互连网络层的主要协议及相关基本技术•掌握:传输层的基本概念、TCP和UDP协议•掌握:应用层的基本服务、DNS、e-mail、FTP的基本原理与技术,并了解Telnet•实践:子网划分、代理服务器、DNS服务器配置、DHCP服务器的基本配置、Web服务器的构建、FTP服务器的简单构建、TCP/IP测试命令使用第5章TCP/IP协议基础5.1TCP/IP协议概述OSITCP/IP7应用层7应用层6表示层65会话层54传输层4传输层3网络层3互连网络层2数据链路层2网络接口层1物理层1•IP、ICMP、ARP和IGMP互连网络层的主要功能是由IP协议提供的•互连网络层的主要服务是在不同的网络之间建立互连网络寻址路由5.2互连网络层•提供了无连接的不可靠数据报传输和互连网的路由服务IP转发IP地址地址映射5.2.1IP协议•IP地址有二进制格式和十进制格式两种表示。•IP地址的两级结构:网络号(网络地址)和主机号(主机地址)1.IP地址的格式与分类•IP地址分为5类•分类、主机号和网络号位数、地址范围与地址数IP地址分类(1)全0的网络号(2)全0的主机号(3)全1的主机号(4)全0的IP地址(5)网络号码为127.X.X.X.(6)全1地址255.255.255.255特殊IP地址(1)国际网络信息中心NIC(NetworkInformationCenter)(2)InterNIC、APNIC和ENIC(3)国家或地区网络的NIC•例如,CERNET的NIC设在清华大学,CERNET各地区的网管中心需向CERNETNIC申请分配C类地址。•内部网址分配IP地址的组织机构•IPv4协议的数据报格式•一个IP数据报由头部和数据两部分组成头部前一部分是固定头部,共20字节,是所有IP数据报必须具有的可选字段2.IP协议固定部分可变部分04816192431版本标志生存时间协议标识服务类型总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)比特首部长度01234567DTRC未用优先级数据部分比特数据部分首部传送IP数据报首部可变部分首部04816192431版本标志生存时间协议标识服务类型总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)比特首部长度01234567DTRC未用优先级数据部分比特数据部分首部传送IP数据报固定部分首部04816192431版本标志生存时间协议标识服务类型总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)比特首部长度01234567DTRC未用优先级数据部分比特数据部分首部传送IP数据报固定部分可变部分首部04816192431版本标志生存时间协议标识服务类型总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)比特首部长度01234567DTRC未用优先级数据部分比特固定部分可变部分版本——占4bit,指IP协议的版本目前的IP协议版本号为4(即IPv4)首部04816192431版本标志生存时间协议标识服务类型总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)比特首部长度01234567DTRC未用优先级数据部分比特固定部分可变部分首部长度——占4bit,可表示的最大数值是15个单位(一个单位为4字节)因此IP的首部长度的最大值是60字节。首部04816192431版本标志生存时间协议标识服务类型总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)比特首部长度01234567DTRC未用优先级数据部分比特固定部分可变部分服务类型(服务与使用规则)——占8bit,用来获得更好的服务首部04816192431版本标志生存时间协议标识服务类型总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)比特首部长度01234567DTRC未用优先级数据部分比特固定部分可变部分总长度——占16bit,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为65535字节。总长度必须不超过最大传送单元MTU。首部04816192431版本标志生存时间协议标识服务类型总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)比特首部长度01234567DTRC未用优先级数据部分比特固定部分可变部分标识(identification)占16bit,它是一个计数器,用来产生数据报的标识。首部04816192431版本标志生存时间协议标识服务类型总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)比特首部长度01234567DTRC未用优先级数据部分比特固定部分可变部分标志(identification)占3bit,目前只有前两个比特(DF位、MF位)有意义。首部04816192431版本标志生存时间协议标识服务类型总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)比特首部长度01234567DTRC未用优先级数据部分比特固定部分可变部分片偏移(12bit)指出:较长的分组在分片后某片在原分组中的相对位置。片偏移以8个字节为偏移单位。偏移=0/8=0偏移=0/8=0偏移=1400/8=175偏移=2800/8=350140028003799279913993799需分片的数据报数据报片1首部数据部分共3800字节首部1首部2首部3字节0数据报片2数据报片314002800字节0IP数据报分片的举例首部04816192431版本标志生存时间协议标识服务类型总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)比特首部长度01234567DTRC未用优先级数据部分比特固定部分可变部分生存时间(8bit)记为TTL(TimeToLive)数据报在网络中可通过的路由器数的最大值。首部04816192431版本标志生存时间协议标识服务类型总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)比特首部长度01234567DTRC未用优先级数据部分比特固定部分可变部分协议(8bit)字段指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据部分上交给哪个处理过程运输层网络层首部TCPUDPICMPIGMPOSPF数据部分IP数据报协议字段指出应将数据部分交给哪一个进程首部04816192431版本标志生存时间协议标识服务类型总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)比特首部长度01234567DTRC未用优先级数据部分比特固定部分可变部分首部检验和(16bit)字段只检验数据报的首部不包括数据部分。这里不采用CRC检验码而采用简单的计算方法。发送端接收端16bit字116bit字2置为全0检验和16bit字n16bit反码算术运算求和……取反码数据报首部IP数据报16bit检验和16bit字116bit字216bit检验和16bit字n16bit反码算术运算求和16bit结果……取反码数据部分若结果为0,则保留;否则,丢弃该数据报数据部分不参与检验和的计算首部04816192431版本标志生存时间协议标识服务类型总长度片偏移填充首部检验和源地址目的地址可选字段(长度可变)比特首部长度01234567DTRC未用优先级数据部分比特固定部分可变部分源地址和目的地址都各占4字节IP数据报首部的可变部分•选项字段用来支持排错、测量以及安全等措施,内容很丰富,实际上这些选项很少被使用长度可变增加IP数据报的功能增加了每一个路由器处理数据报的开销•填充字段IP协议的两个主要操作(1)数据报生存期(2)分段和重装配①对数据块的分段必须在64位的边界上划分②头设置③长度字段设置④偏置值设置⑤M标志设置项目长度偏置值M标志原来的数据部分47500第一个分段24001第二个分段2353005.2.2ARP协议•访问某个子网中的某个主机的寻址问题物理地址和逻辑地址的区别:网络互连的角度分层的角度•地址映射表•ARPIP地址以太网地址130.130.87.10800390029D4129.129.52.308005A211722192.192.30.508001099A144ARP分组的格式•在把IP分组向下传给本地数据链路实体之前可以用两种方法得到目的物理地址:(1)查本地内存的ARP地址映射表(2)如果地址映射表查不到,就广播一个ARP请求分组•路由器“假装”目的主机来回答ARP请求•实现子网之间的通信代理ARP(ProxyARP)1.子网•早期的两级IP地址的设计不够合理第一,IP地址空间的利用率有时很低第二,给每一个物理网络分配一个网络号会使路由表变得太大而导致网络性能变坏第三,两级IP地址不够灵活•划分子网子网号字段5.2.3子网划分•划分子网的方法是从网络的主机号借用若干个比特作为子网号(子网地址)•三级IP地址:网络地址、子网地址和主机地址•关键:如何确定从主机号借几位•子网掩码:由前面连续若干个1和后面连续若干个0组成的32位二进制序列•规定:用IP地址和子网掩码相“与”得到子网的网络地址•子网号的位数=从主机号的借位=子网掩码1的位数-原网络的网络号位数假如子网号的位数为n,则子网的个数=2n-2现在因特网的标准规定:所有的网络都必须有一个子网掩码,同时在路由器的路由表中也必须有子网掩码这一栏•默认子网掩码•子网分组交付2.子网掩码•子网划分的步骤:(1)确定划分子网的个数(2)确定子网号的位数:2n-2≥m(3)根据网络号和子网号确定子网掩码(4)为每个子网确定主机数:2n-2•例子:假如某公司拥有一个C类网络号220.10.248.0,现需要将它划分为4个子网,每个子网的主机数不超过30个,确定子网掩码并计算出每个子网的网络地址3.子网掩码划分实例•超网更加有效地分配IPv4的地址空间解决因特网主干网上的路由表中的项目数过多的问题•无分类域间路由选择CIDR(ClasslessInter-DomainRouting)5.2.4超网的基本概念(1)CIDR消除了传统的A类、B类和C类地址以及划分子网的概念网络前缀、斜线记法(2)CIDR将网络前缀都相同的连续的IP地址组成“CIDR地址块”路由聚合212.56.132.0/2411010110.00111000.10000100.00000000212.56.133.0/2411010110.00111000.10000101.00000000212.56.134.0/2411010110.00111000.10000110.00000000212.56.135.0/2411010110.00111000.10000111.00000000无分类域间路由选择CIDR最主要的特点5.2.5网络控制信息协议ICMPICMP报文种类类型的值ICMP报文的类型差错报告报文3终点不可达4源站抑制(Sourcequench)11时间超过12参数问题5改变路由(Redirect)询问报文8或0回送(Echo)请求或回答13或14时间戳(Timestamp)请求或回答17或18地址掩码(Addressmask)请求或回答10或9路由器询问(Routersolicitation)或通告•IP多播(multicast)•多播路由器(1)组地址(2)IP多播地址到局域网多播地址的转换(3)组成员的动态关系因特网组管理协议IGMP(InternetGroupManagementProtocol)两种操作两种报文5.2.6IP多播基础5.2.6IP多播基础多播地址含义224.0.0.0基地址(保留)224.0.0.1在本子网上的所有参加多播的主机和路由器224.0.0.2在本子网上的所有参加多播的路由器224.0.0.3未指派224.0.0.4DVMRP路由器224.0.0.19~224.0.0.255未指派239.0.0.0~239.255.255.255限制在一个组织的范围5.2.6IP多播基础1.虚拟专用网VPN•本地互连网一般也简称