您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第3章数据通信协议第四讲
第3章数据通信协议第四讲TCP/IP协议模型TCP/IP模型TCP/IP起源于美国国防部高级研究规划署(DARPA)的一项研究计划——实现若干台主机的相互通信。现在TCP/IP已成为Internet上通信的标准。TCP/IP模型包括4个概念层次:应用层(application)传输层(transport)互联网层(internet)网络接入层(networkinterface)TCP/IP与OSI参考模型的对应关系应用层表示层会话层传输层物理层数据链路层网络层7654321OSI参考模型应用层传输层网络接入层互联网层TCP/IP概念层次Ethernet、802.3、802.5、FDDI等等。TCP/IP支持所有的、标准的物理和数据链路协议。TCP/IP与与应用层应用层协议支持了文件传输、电子邮件、远程登录、网络管理、Web浏览等应用。应用层传输层网络接入层互联网层文件传输●FTP、TFTP、NFS电子邮件●SMTP、POP3应用●HTTP远程登录●Telnet、rlogin网络管理●SNMP名字管理●DNSTCP/IP与传输层传输层的两项主要功能:流量控制:通过滑动窗口实现;可靠传输:由序号和确认来实现。传输层提供了TCP和UDP两种传输协议:TCP是面向连接的、可靠的传输协议。它把报文分解为多个段进行传输,在目的站再重新装配这些段,必要时重新发送没有收到的段。UDP是无连接的。由于对发送的段不进行校验和确认,因此它是“不可靠”的。应用层传输层网络接入层互联网层面向连接的●TCP无连接的●UDP传输层提供了两种传输协议。TCP段格式源端口034910代码位目的端口151631顺序号确认号窗口大小保留报头长度校验和紧急指针选项(可省略)数据源端口(SourcePort):呼叫端口的编号目的端口(DestinationPort):被叫端口的编号顺序号(SequenceNumber):数据的第一个字节的顺序号确认号(AcknowledgmentNumber):所期待的下一段的顺序号报头长度(HLEN):以32字节为单位的报头的长度保留域(Reserved):设置为0编码位(CodeBits):用于控制段的传输(如会话的建立和中止)包括:URG、ACK、PSH、RST、SYN、FIN六个位窗口大小(Window):接收方能够继续接收的字节数校验和(Checksum):包括TCP报头和数据在内的校验和紧急指针(UrgentPointer):当前顺序号到紧急数据位置的偏移量选项(Option):数据(Data):上层协议数据端口号TCP和UDP都用端口(socket)号把信息传到上层。端口号指示了正在使用的上层协议。FTPSMTPTFTPDNSTelnetSNMP2123255369161TCPUDP应用层传输层保留的端口号:<255,公共应用255-1023,公司>1023,未规定TCP连接的建立——三次握手例如:A、B两个主机要建立连接A→B方向消息含义A←BA←BA→BSYNSYNACKACK我的序号是X。序号用于跟踪通信顺序,确保多个包传输时无数据丢失。通信双方在建立连接时必须互相交换各自的初始序号。知道了,你的序号是X我的序号是Y知道了,你的序号是Y握手123合并1.2.3.4.AB发送SYN消息(SEQ=x)接收SYN消息(SEQ=x)发送SYN消息(SEQ=y,ACK=x+1)接收SYN消息(SEQ=y,ACK=x+1)发送确认(ACK=y+1)接收确认(ACK=y+1)TCP通过三次握手/建立连接序号来达到同步。UDP段格式UDP不用确认。可靠性由应用层协议保证。使用UDP的协议包括:TFTP、SNMP、NFS、DNS等。源端口目的端口长度校验和数据16b16b16b16bTCP/IP与网络层•网际层的主要协议——IP。本层提供无连接的传输服务(不保证送达,不保序)。本层的主要功能是寻找一条能够把数据报送到目的地的路径。•互联网层的PDU称为IP数据报。•ICMP(InternetControlMessageProtocol)提供控制和传递消息的功能;•ARP(AddressResolutionProtocol)为已知的IP地址确定相应的MAC地址;•RARP(ReverseAddressResolutionProtocol)根据MAC地址确定相应的IP地址。应用层传输层网络接入层互联网层●IP●ICMP●ARP●RARPTCP/IP网际层的四个主要协议TCPUDP617IP传输层互联网层IP数据报的协议域确定目的端的上层协议。IP数据报(IP分组、IP包)版本号报头长度服务类型数据报长度DFMF段偏移037151931标识生存时间TTL协议报头校验和源IP地址目的IP地址选项和填充(最大为40字节)数据区•IP地址IP网络中每台主机都必须有一个惟一的IP地址。IP地址是一个逻辑地址;(与MAC地址比较一下)因特网上的IP地址具有全球唯一性。32位,4个字节,常用点分的十进制标记法:如00001010000000100000000000000001记为10.2.0.1。IP地址划分为五类:A-E类,常用的为A、B、C类。A类地址:允许27个网络,每个网络224-2个主机。B类地址:允许214个网络,每个网络216-2个主机。C类地址:允许221个网络,每个网络28-2个主机。IP地址分类A类0.0.0.0~126.255.255.255B类128.0.0.0~191.255.255.255C类192.0.0.0~223.255.255.255地址范围私有地址10.0.0.0~10.255.255.255172.16.0.0~172.31.255.255192.168.0.0~192.168.255.255保留的IP地址00...000000...000011...111111...1111本网络本网中的主机局域网中的广播对指定网络的广播回路00...00主机号1111...1111网络号127任意值以下这些IP地址具有特殊的含义:一般来说,主机号部分为全“1”的IP地址保留用作广播地址;主机号部分为全“0”的IP地址保留用作网络地址。0000...0000网络号网络地址子网(Subnet)划分因特网规模的急剧增长,对IP地址的需求激增。带来的问题是:IP地址资源的严重匮乏路由表规模的急速增长解决办法:从主机号部分拿出几位作为子网号这种在原来IP地址结构的基础上增加一级结构的方法称为子网划分。前提:网络规模较小——IP地址空间没有全部利用。例如:三个LAN,主机数为20,25,48,均少于C类地址允许的主机数。为这三个LAN申请3个C类IP地址显然有点浪费。子网划分举例例如:C类网络192.10.1.0,主机号部分的前三位用于标识子网号,即:110000000000101000000001xxxyyyyy网络号+子网号新的主机号部分子网号为全“0”全“1”不能使用,于是划分出23-2=6个子网,子网地址分别为:11000000000010100000000100100000--192.10.1.3211000000000010100000000101000000--192.10.1.6411000000000010100000000101100000--192.10.1.9611000000000010100000000110000000--192.10.1.12811000000000010100000000110100000--192.10.1.16011000000000010100000000111000000--192.10.1.192子网掩码(SubnetMask)子网划分后,如何识别不同的子网?解决:采用子网掩码来分离网络号和主机号。子网掩码格式:32比特,网络号(包括子网号)部分全为“1”,主机号部分全为“0”。“网络号+子网号”部分“主机号”部分11……………………1100….00子网掩码计算前面的例子中:网络号24位,子网号3位,总共27位。所以子网掩码为:11111111111111111111111111100000即255.255.255.224缺省子网掩码:A类:255.0.0.0B类:255.255.0.0C类:255.255.255.0子网地址计算子网掩码&IP地址,结果就是该IP地址的网络号。例如:IP地址202.117.1.207,子网掩码255.255.255.22411001010011101010000000111001111&1111111111111111111111111110000011001010011101010000000111000000∴子网地址为:202.117.1.192主机号为:15主机之间要能够通信,它们必须在同一子网内,否则需要使用路由器(或网关)实现互联。子网规划举例网络分配了一个C类地址:201.222.5.0。假设需要20个子网,每个子网有5台主机。试确定各子网地址和子网掩码。1)对C类地址,要从最后8位中分出几位作为子网地址:∵24<20<25,∴选择5位作为子网地址,共可提供30个子网地址。2)检查剩余的位数能否满足每个子网中主机台数的要求:∵子网地址为5位,故还剩3位可以用作主机地址。而23>5+2,所以可以满足每子网5台主机的要求。3)子网掩码为255.255.255.248。(11111000B=248)4)子网地址可在8、16、24、32、……、240共30个地址中任意选择20个。网际控制报文协议(ICMP)ICMP消息被封装在IP数据报里,用来发送差错报告和控制信息。ICMP定义了如下消息类型:目的端无法到达(Destinationunreachable)数据报超时(Timeexceeded)数据报参数错(Parameterproblem)重定向(Redirect)回声请求(Echo)回声应答(Echoreply)信息请求(Informationrequest)信息应答(Informationreply)地址请求(Addressrequest)地址应答(Addressreply)……最常用的是“目的无法到达”和“回声”消息。AB数据网发数据给Z到Z的数据我不知道如何到达Z?用ICMP通知A目的端无法到达路由器用ICMP通知目的地不可达的示意图ABB可以到达吗?ICMP回声请求可以,我在这里。ICMP回声应答用PING命令产生的回声及其应答示意图地址解析协议(ARP,AddressResolutionProtocol)ARP用于将一个已知的IP地址映射到MAC地址。方法:1)检查ARP高速缓存表;2)若地址不包含在表中,就向网上发广播来寻找。具有该IP地址的目的站用其MAC地址作为响应。ARP只能用于具有广播能力的网络。AC我需要10.1.0.5的MAC地址IP=10.1.0.5MAC=???我就是。这是我的MAC地址IP=10.1.0.5MAC=0800.0020.2C0AB10.1.0.110.1.0.510.1.0.2反向地址解析协议(RARP,ReversedARP)RARP用于将一个已知的MAC地址映射到IP地址。RARP要依赖于RARP服务器,该服务器中有一张MAC地址与IP地址的映射表。需要查找自己IP地址的站点向网上发送包含有其MAC地址的RARP广播,RARP服务器收到后将该MAC地址翻译成IP地址予以响应。RARP同样只能用于具有广播能力的网络。AC我的IP地址是什么?MAC:0800.0020.2C0AIP=???我听到广播了。这是你的IP地址MAC=0800.0020.2C0AIP=10.1.0.5BRARPServer补充:1.以下IP地址各属于哪一类?(a)20.250.1.139(b)202.250.1.139(c)120.250.1.1392.已知子网掩码为255.255.255.192,下面各组IP地址是否属于同一子网?(a)200
本文标题:第3章数据通信协议第四讲
链接地址:https://www.777doc.com/doc-2193366 .html