第五章 TCPIP网络基础.docx
- 文档编号:12054768
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:47
- 大小:148.28KB
第五章 TCPIP网络基础.docx
《第五章 TCPIP网络基础.docx》由会员分享,可在线阅读,更多相关《第五章 TCPIP网络基础.docx(47页珍藏版)》请在冰豆网上搜索。
第五章TCPIP网络基础
第五章TCP/IP网络基础
【计划课时】10课时(要求预习教材第二章2.4~2.6节与第四章)
5.1Intranet的特点
【复习】通常可以包括以下网络类型:
1企业网(Intranet)
2园区网(Campusnetworks)
3城域网(MAN,MetropolitanAreaNetwork)
其基本特点——
·服务基于Internet技术:
通常提供WWW、E-mail、FTP、BBS、虚拟网(VLAN)等服务或功能,良好安全性
·组网基于LAN技术:
主机/服务器为中心,交换机为主要通信设备,独立的网络资源和管理系统,部分或全部使用专门敷设的线路
·使用代理服务器并通过路由器实现Internet接入(小系统可使用ISDN等其他接入方式)
·本身可由若干个LAN组成
·使用TCP/IP协议实现内部及与外部的网络互联
·高的网络通信带宽(10M/100M/1000M……)
·配置有各种网络数据库系统
Internet与Intranet相比,主要差别在于前者强调其开放性,因为其服务对象是所有Internet用户,整个网络在管理上不隶属于任何组织或个人,用户使用简单的设备(如MODEM)就可以自由接入;后者注重网络资源的安全性,因为其服务对象是某一单位或组织内部的所有或部分人员,所以要有独立的网络软硬系统、严格的管理制度和专门的管理技术人员,并且为了达到安全保密的目的,要采取加密、认证、防火墙等安全管理措施。
此外,Intranet组网投资高,需要进行认真规划和方案优化。
注:
与Intranet相对的通常还有Extranet(外部网),即连接到另一组织的内部网的内部网。
Extranet一般采用VPN(虚拟专用网络)技术。
所谓VPN,简言之,即使用Internet而不是使用专线来动态地而非永久性地进行网络连接,降低了线路使用费用,同时通过独特的鉴别、加密和遂道操作,使电子邮件、数据传输和远程通话安全性得到极大提高。
5.2TCP/IP协议族(TCP/IPprotocolsuite)P144
传输控制协议/网际协议(TransmissionControlProtocol/InternetProtocol,TCP/IP)是由许多协议组成的一套网络通信标准协议,其显著特点是它是可路由的,使得用户可以将多个相同或相异LAN连成一个大型互联网络,而且许多基于TCP/IP的应用软件(如FTP、Telnet)都是不依赖系统的,更重要的是TCP/IP是Internet的标准协议,所以实际上已成为网络通信的通用语言。
可以说,TCP/IP已成为几乎所有网络计算机必备的的协议。
【TCP/IP参考模型】TCP/IP本身为一种四层模型,其与OSI模型的对应关系见P145图5.14。
TCP/IP协议族
作为通信协议组,TCP/IP包括如下重要功能:
·命名与编址
管理网络上按特定格式命名的对象(主机、进程、端口、信箱等)
使用IP地址(网络上每台计算机特定的数字标识)和硬件地址(MAC地址)进行通信。
·信息分段
将信息分成小的数据包进行传送,提高网络传输效率,降低出错率,并使数据能多路径同时发送。
数据包到达目的地后,要重新组装成原始信息。
·流量控制和同步
流量控制对多用户共享的网络传输系统非常重要(防止阻塞,优化网络性能)
同步则用于管理两个传输能力(如收发缓冲区大小)或速率不同的网络设备间的信息流量。
·差错控制
·路由
通过网关(gateway)或具有路由功能的网络设备实现与远程网络上目标设备的互相通信。
从实用的角度看,TCP/IP提供了——
·网络应用程序:
smtp、ftp、telnet等(用户角度)
·两种网络通信服务:
无连接和面向连接(TCP/IP驱动程序,供程序员开发软件使用)
·网络传送技术方法:
寻址、路由选择、协议的具体实现(网络操作系统硬件设计指南)
【无连接和面向连接的通信服务】
在面向连接的通信中,发送数据包(packets)前,发送方的网络层协议应首先与接收方的网络层协议建立连接(握手)。
连接建立后,从同一个源地址到同一个源目标地址的数据包串即开始一个接一个地发送出去。
此时各数据包间存在某种关系:
它们沿同一条路径被逐个传送,前后之间相互关联。
连接建立后具有同样源地址和目标地址的数据包串的路由选择只在建立连接时进行一次。
路由器不必为每个数据包重复计算路由。
在无连接通信中,网络协议对每个数据包都单独处理,各数据包间不存在任何联系。
一个报文中的各个数据包可能通过不同的路径到达目标地址。
这两种服务的区别类似于电话系统和普通邮政系统所提供服务的区别。
凡使用面向连接的服务,首先要在用户之间建立连接,然后在该连接上进行数据传送,最后断开连接。
这个过程类似于电话通话,先要拨号等待对方摘机建立通路,然后才能相互交谈,最后还要通过挂机来断开电话通话。
连接本质上像一个管道,或者说一条专线,发送方在管道一端放入物体或者在专线一端送入信息,接受者就可在管道的另一端按同样的顺序取出物体或从专线的另一端依次接收到信息。
对于无连接服务来说,发送方发送的每一条信息或报文(message )必须带有完整的目标地址,并且每一个报文都独立于其他报文经由系统选定的路径传递到目的地。
这个过程类似于普通邮政系统,每一封信上都必须写上完整的收信方地址(打电话时只要一开始拨号电话接通,就不需要每讲一句话都重复拨一次对方的电话号码),并且每一封信都独立于其他信件经由邮政部门选定的路径传递到收信方。
当使用无连接服务的两个报文发向同一目标时,可能先发的报文在途中丢失或延误了,而后发的报文反而先收到,如同信件可能在途中遗失或先发的后收到一样。
换言之,无连接的服务不能保证报文不丢失和一定按序到达,而这在面向连接的服务中是绝对不可能发生的。
在OSI的传输层、网络层和TCP/IP的传输层中,都允许提供面向连接的服务或无连接的服务。
但在TCP/IP的网络层中只提供无连接的服务。
之所以如此,是考虑到网络互连的需要,因为它所互连的通信子网是五花八门的,只要由源到目标途中任何一个通信子网是无连接的,互连在一起就是无连接的。
《数据通信与计算机网络》P21-22
5.3网络接口层(Hosttonetwork,未定义)P145
相当于OSI的物理层(物理信号/编码)+数据链路层(帧传送)。
该层不是TCP/IP的一部分,但它允许各主机通过使用多种协议连接到网络,是各种通信网络和TCP/IP之间的接口,这些通信网包括多种WAN(如Internet、X.25公用数据网)和各种LAN(如Ethernet、IEEE各种标准局域网等)。
其功能:
①将网际层送来的IP数据报封装为网络帧,然后通过传输媒介发送到网络上;
②接收并校验传输媒介送来的网络帧,然后还原为IP数据报送到网际层
该部分的功能实际上是由各通信网络本身提供的。
5.4网际层(IP层,互连网层)P145
相当于OSI的网络层。
该层提供了数据分组和重组功能,并在互相独立的LAN上建立互连网络。
该层运行的协议有:
用于数据传送的IP协议,用于互联网络控制的ARP、RAPP、ICMP和IGMP协议、用于路由选择的RIP、OSPF等路由协议。
5.4.1IP协议(互连网络协议,InternetProtocol)
IP协议是网际层最重要的协议,负责在通信子网范围内实现跨越互连网络的主机间的相互通信(数据报的分类和交付)。
其功能:
①提供无连接数据报服务
②将传输层报文加上报头(源和目的站的IP地址等)形成IP数据报,然后送往下层(必要时“分片”后下传)
③接收并校验下层送来的IP数据报,去掉报头后送往传输层
【数据报,datagram】PacketsintheIPlayerarecalleddatagrams.(IP层中的数据包称为“数据报”)。
又:
“自带寻址信息的独立地从数据源行走到终点的数据包。
”《简明英汉词典》
IP协议提供了三个重要的定义:
1、定义了在TCP/IP网络上数据传送的基本单元,规定了传送的数据格式;
2、完成路由选择功能,选择数据传送的路径;
3、包含了一组不可靠的无连接分组传送规则,指明了分组处理、差错信息发生以及分组丢弃的规则。
IP协议是一种不可靠的无连接数据报协议——它提供一种“尽力传送”(best-effortdelivery)服务。
所谓“尽力”是指IP不提供差错校验或跟踪服务。
它只是“尽力”进行到目标地址的传送,但并不做任何保证。
如果确实要求可靠传输,IP必须和某个高可靠性的协议(如TCP)配套使用。
日常生活中提供“尽力传送”服务的实例是邮政局,它尽力传送邮件但并不能全部成功。
如果一封信由于这种“不可靠”的传递丢失了,只有让发送者或接收者来发现这种丢失,并解决问题。
邮政局并不跟踪每封信的传递,也无法通知发信人信件丢失了或损毁了。
5.4.2IP数据报P152
IP数据报由两部分组成:
报头和数据。
报头部分20(基本)~60(加上选项)字节,数据报总长20~65536字节。
IP数据报的格式如下:
P152图4.18
协议版本
报头长度
服务类型
数据报总长度
20字节
报头
数据报标识号
标志
分片偏移
生存时间
用户协议
报头检验和
源站点IP地址
目的站点IP地址
数据报选项
填充
40
数据
协议版本(4位):
目前流行版本号为4,即IPv4。
它向主机上运行的IP软件表明该数据报为IPv4格式。
所有字段均应按IP协议第四版的规定翻译,如果机器正在运行其他版本的IP,该数据报被丢弃。
报头长度(4位):
该字段以四个字节为单位规定了报头部分的长(默认为5,即5×4=20字节)。
服务类型(8位):
规定优先级(0~7,7最高)、可靠度和延迟参量等。
其中优先级IPv4不用。
优先级
低延迟D
高吞吐量T
高可靠性R
最小成本C
未用
01234567
DTRC四位称“TOS”(TypeofService)位,置“1”时表示启用该服务,但四者中一项较高其余三项必较差,四位都置“1”没有意义。
各应用程序可以请求特定的服务类型,某些应用程序默认的服务类型如下表所示:
协议
TOS位
说明
ICMP
0000
普通
BOOTP
0000
普通
NNTP
0001
最小成本
IGP
0010
最大可靠性
SNMP
0010
最大可靠性
TELNET
1000
最小延迟
FTP(数据)
0100
最大吞吐量(throughput)
FTP(控制)
1000
最小延迟
TFTP
1000
最小延迟
SMTP(命令)
1000
最小延迟
SMTP(数据)
0100
最大吞吐量
DNS(UDP查询)
1000
最小延迟
DNS(TCP查询)
0000
普通
DNS(区域,zone)
0100
最大吞吐量
数据报总长度(16位):
65535个字节(216-1)
标识(16位):
源主机赋予各数据报的唯一标识,当数据报分片通过子网传输时使用之。
标志(3位):
第1位不用,第2位为1表示不分片,第3位为1表示非最后的报片。
片偏移(13位):
本片数据在初始数据报区中的偏移量。
网络数据都是以帧的形式通过物理网络传输的,IP数据报也要封装成帧来传输。
但是不同的物理网络对帧的大小有不同限制(可以被封装在一个帧中的最大数据长度称最大传输单元MTU)。
数据报在一个物理网络即使能被完全封装在一个帧中,到另一个物理网络也未必如此。
不同网络的MTU大小见下表:
协议
MTU(字节)
Hyperchannel
65535
令牌环(16Mbps)
17914
令牌环(4Mbps)
4464
FDDI
4352
以太网
1500
X.25
576
PPP(点对点)
296
为了使IP协议独立于具体的物理网络,IP协议选择在源主机所在物理网络上进行最大限度封装(可达65535字节),同时提供分片(fragmentation)机制,在MTU(由硬件决定)较小的网络上将数据报分成较小的“片”进行传输,每个片都有自己的报头,而且各片的报头基本相同。
分片是在MTU不同的两个网络交界处(网关或路由器)进行,一个数据报在达到目标地址前可能会进行多次分片。
而片的重组则在目标主机进行。
一个数据报在传输中,不管分成多个片,各片均具有相同的标识号。
目标主机根据此标识号和源地址判断所收到的片属于哪个数据报。
片偏移则用于重组时确定其顺序。
标志第二位为0时,第三位将用来:
为1表示非最后报片,否则目标主机便知收到了最后一片,并将其片偏移加上本片总长即为原始数据报长。
通过将各已到片的长度之和和与原数据报长比较,便可知本数据报各片是否全部收到。
生存时间(TTL,timetolive,8位):
IP数据报在互联网中停留的最长时间(每通过一个路由器自动减1,为0时被丢弃)。
用户协议(8位):
规定最后送达目标使用IP层服务的高层协议,如TCP、UDP、ICMP和IGMP,高层协议的号码(值)由TCP/IP权威管理机构分配,如下:
值
协议
1
ICMP
2
IGMP
6
TCP
8
EGP
17
UDP
41
IPv6
89
OSPF
报头检验和(16位):
保证报头的正确性。
数据报选项:
用于网络控制、测试和调试。
填充:
通过填充一定数量的0来保证IP分组头是4个字节的整倍数。
5.4.3ICMP(互连网络控制报文协议,差错与控制报文协议,internetcontrolmessageprotocol)P157
使用不可靠的无连接的IP协议传送数据,优点是可以高效地利用网络资源,缺点则有两点:
·缺少出错报告和出错纠正功能——如果路由器找不到通往目标主机的路径或传送超时必须丢弃某个数据报时怎么办?
如果目标主机无法及时接收所有发来的数据报而必须丢弃某个数据报时怎么办?
(IP协议本身并不负责通知源主机)
·缺少主机和管理查询功能——主机有时需要确定一下某个路由器是否“alive”(在工作),网络管理员有时也需要了解其他主机或路由器的信息。
ICMP协议即是为了解决这两个问题而设计的。
它发送五种出错报告报文和四组查询报文来支持不可靠的无连接IP协议。
它本身是一个网际层协议,但其信息总是封装在IP数据报内再送到下层传送。
(IP数据报中“用户协议”字段的值为1时表示是一个ICMP报文)。
ICMP报文
IP报头
IP数据
帧头
帧数据
帧尾(如果有时)
ICMP报文可以分为两类:
出错报告报文和查询报文。
报文格式如下:
P158图4.24
类型(type,8位)
代码(code,8位)
检验和(checksum,16位)
报头其他部分
数据段
其中“类型”字段值如下:
P158表4.4
报文种类
类型
报文内容
出错报告报文
3
目标不可到达(Destinationunreachable)
4
源抑制(Sourcequench)
11
数据报超时(Timeexceeded)
12
数据报参数错(Parameterproblem)
5
重定向(Redirection)
查询报文
8或0
回应请求和应答(Echorequestorreply)
13或14
时戳请求和应答(Timestamprequestandreply)
17或18
地址掩码请求和应答(Addressmaskrequestandreply)
10或9
路由器请求和通告(Routersolicitationandadvertisement)
①出错报告报文
当路由器或主机处理某个IP数据报遇到问题时报告之,例如,当IP数据报不能到达目的地(网络、机器或端口)或网络出现阻塞,网络中某个监测到此错误的站点(中间网关)便向源主机发送封装有ICMP信息的IP数据报。
【注意】ICMP的出错报告报文仅用于向源主机报告出错信息,并不能纠正数据报中的任何出错。
此外,由于ICMP报文总是封装在无连接型的IP数据报中,ICMP本身也可能丢失。
可以报告的出错类型有五种:
目标不能到达,源抑制,数据报超时,数据报参数错,重定向。
·目标不能到达(Type:
3)
共有15种出错代码,分别表示——
Code0:
网络不可到达
Code1:
主机不可到达
Code2:
协议不可到达(目标主机未运行IP数据报所需的上层协议如TCP、UDP等时)
Code3:
端口不可到达(数据报发往的应用程序此刻未运行)
Code4:
要求分片但未分片(发送的数据报太大)
Code5:
源路由不能完成(源路由项中的一个或几个路由器无法访问)
Code6:
目标网络未知
Code7:
目标主机未知
Code8:
源主机处于隔离状态(isolated)
Code9:
与目标网络的通信被管理员禁止
Code10:
与目标主机的通信被管理员禁止
Code11:
网络不能到达,要求特定的服务(如果源主机请求某种服务,路由器才能处理数据报)
Code12:
主机不能到达,要求特定的服务(如果源主机请求某种服务,路由器才能处理数据报)
Code13:
主机不能到达,因为管理者对它设置了过滤
Code14:
主机不能到达,因为主机的优先权受到妨碍(所请求的优先权对目标主机不适用)
Code15:
主机不能到达,因为主机的优先权被剥夺
带有Code2和3的报文只能由目标主机产生,其余只能由路由器产生。
·源抑制(Type:
4;Code:
0)
当源主机传送数据的速率太高时,路由器或目标主机用此报文通知源主机:
因为缓冲来不及引起的阻塞(congested),数据报已被丢弃;请“抑制”(quench)!
·数据报超时(Type:
11)
Code0:
当路由器接收到一个数据报发现其TTL值为0时,它将丢弃该数据报并向源主机发送一个超时报文。
Code1:
当目标主机发现在规定时间内无法接收到某个数据报的所有分片时,它将丢弃所有的分片并向源主机发送一个超时报文。
·数据报参数错(Type:
12)
数据报头出现“语义含糊”(ambiguity)或错误时,路由器或目标主机将丢弃该数据报并向源主机发送报告“参数出了问题”的报文。
Code0用于报告报头中某个字段有问题,Code1用于报告其他部分数据丢失。
·重定向(Type:
5,Code:
0~4)
路由器和主机都必须使用路由表来引导数据报的发送和转发。
路由器的路由表是动态更新的,而主机的路由表通常是静态的(因为主机数量很多,动态更新可能会严重占用带宽),且其路由条数很有限。
重定向报文由路由器发给主机,帮助主机更新路由表。
如下图,主机A欲向主机B发送数据报,显然通过R2是最有效的路由选择,但主机A根据自己的路由表,却不知道应该这样做,而将数据报先发给路由器R1。
R1在查看了自己的路由表后,发现数据报应直接发给R2。
于是一边向R2发送数据报,一边向主机A发送一个重定向报文,让它更新自己的路由表。
Code0~4与路由的方式有关。
②查询报文
除了出错报告,ICMP还可诊断某些网络问题,具体是通过四对请求(源A)和应答(目标B)报文进行:
·回应请求和应答:
检测两个系统(主机或路由器)能否在IP层进行彼此通讯(PING命令)
·时戳请求和应答:
检测两个系统间信息往返时间或对两个系统的时钟进行同步
·地址掩码请求和应答:
主机向路由器(网关)发出请求,路由器的应答为该网络的子网掩码
·路由器请求和通告:
如果一台主机需要知道与其网络相连的各路由器地址及这些路由器是否在工作,可以广播一个“路由器请求”报文,收到该报文的所有路由器都将使用“路由器通告”报文广播其路由信息。
③PING命令的使用
用来测试网络通道连通性的PING命令就是一种使用ICMP回应请求和回应应答报文来确定网络上某台IP系统是否正常工作的连接验证命令。
它连续`向对方发送ICMP数据包,根据对方回应的数据报判断网络连通与否并统计数据传输时间等:
C>ping172.16.1.20
Pinging172.16.1.20with32bytesofdata:
(正常)Replyfrom172.16.1.20:
bytes=32time<10msTTL=127Replyfrom172.16.1.20:
bytes=32time<10msTTL=127Replyfrom172.16.1.20:
bytes=32time<10msTTL=127
Replyfrom172.16.1.20:
bytes=32time<10msTTL=127
Pingstatisticsfor172.16.1.20:
Packets:
Sent=4,Received=4,Lost=0(0%loss),Approximateroundtriptimesinmilli-seconds:
Minimum=0ms,Maximum=0ms,Average=0ms
Pinging172.16.1.21with32bytesofdata:
(有问题)Requesttimedout.Requesttimedout.Requesttimedout.Requesttimedout.
Pingstatisticsfor172.16.1.21:
Packets:
Sent=4,Received=0,Lost=4(100%loss),Approximateroundtriptimesinmilli-seconds:
Minimum=0ms,Maximum=0ms,Average=0ms
5.4.4ARP和RAPP协议P148-149
同一个物理网络(如LAN)中主机之间的通信是通过数据链路层中的所谓“物理地址”相互访问的。
该地址又称“MAC地址”,出厂时已固化在设备(如网卡)的ROM中,它在全球唯一。
由于一个物理网络中使用的硬件具有多样性,所以同一个物理网络中各个设备的物理地址一般是无规律可言的。
而通常说的“互连网络”(internet),是指由几个物理网络通过路由器和网关之类的网络互连设备组成的网络。
为了便于通信和管理,往往需要对组成互连网络的各物理网络、网络互连设备及主机等进行统一编号。
在TCP/IP网络中,此统一编号称为“IP地址”,它在整个互连网络中唯一。
该地址仅用于网络层(如IP层),物理网络不能识别它。
从用户间通信的角度看,往往知道的是通信双方的逻辑地址(软件识别)。
而从网络间通信的角度看,真正使用的只能是设备的物理地址(硬件识别)。
这就需要在通信时实现逻辑地址与物理地址的相互“映射”(mapping)。
所谓“映射”,有两种方法:
一是静态映射,即人工建立一个物理地址与逻辑地址的对照表(地址映射表),其缺点是网络发生变化时(如更换网卡或加入新站时),需对该对照表及时进行人工更新;二是动态映射,即由主机等通过地址解析协议,在高速缓存中建立一个物理地址与逻辑地址的地址映射表。
通信时,只要知道对方的一个地址,就可以获得另一个地址。
TCP/IP网络中,地址解析协议有两个:
ARP用于将逻辑地址“映射”(map)成物理地址(MAC地址),RARP则的作用则正好
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五章 TCPIP网络基础 第五 TCPIP 网络 基础