络号是192.0.1(或192.0.1.0))
三.问答和计算题: 1. 在地址解析中,网关(gateway,这里的网关是指工作在网络层的路由器 )
的作用是什么? 答:
一个子网中的与其他网络通过接口连接的边界设备称为网关。每当子网中的一个设备(或一个结点)需要发送消息到所在子网外的另一个设备(或一个结点)时,将消息发送给网关,然后网关将信息发往目的网络或目的路由器。
2. 现有一个公司需要创建内部网络,该公司包括工程技术部、市场部、财务
部和办公室4个部门,每个部门约有20~30台计算机。试问:
(1)若该公司申请到的是一个C类地址即为192.168.161.0 ,需要将几个部门从网络上进行分开,该如何划分网络?
(2)确定各部门的网络地址(含子网部分)和子网掩码,并写出分配给每个部门的IP地址范围。
答:
(1)可以采用三级IP地址将该C类网划分为若干子网。由于该公司包括4个部门,共需要划分为4个子网,可使用主机号的前3位作为子网号,这样可分配子网数是6(6>4,够用)。另一方面,主机号的比特数为5,可用的主机数是32-2=30(够用)。
(2)首先确定第1个部分的子网地址。如果主机号的前3位作为子网号,那么一共有6个子网,依次为:001 010 011 100 101 110,在这里可以取前面4个子网号。每个子网的子网掩码是一样的,即为255.255.255.224。
确定第1个子网号:第4个字节的二进制数是00100000,对应的十进制是32,所以第1个部门的网络地址(含子网部分)是:192.168.161.32。同理,可以得到其他3个部门的网络地址(含子网部分)分别是:192.168.161.64 和 192.168.161.96和192.168.161.128。
IP地址范围的具体算法是:以第1个子网为例,因为第4个字节范围是001 00001 --- 001 11110 (不包括主机号全0和全1)。而001 00001对应33,001 11110对应62.同理可计算出其他部门的IP地址范围。
因此,可确定各部门的网络地址、子网掩码和IP地址范围如下表: 部门 网络地址 子网掩码 IP地址范围 工程技术部 192.168.161.32 255.255.255.224 192.168.161.33至 192.168.161.62 市场部 192.168.161.64 255.255.255.224 192.168.161.65至 192.168.161.94 财务部 办公室 192.168.161.96 255.255.255.224 192.168.161.97至 192.168.161.126 192.168.161.128 255.255.255.224 192.168.161.129至 192.168.161.158 3. 假设在以太网上运行IP协议,源主机A要和IP地址为192.168.1.250
的主机B通信,请问A如何得到主机B的MAC地址?(说明采用的协议和查找过程) 答:
主机A采用地址解析协议ARP获得主机B的MAC地址。具体过程如下: (1)主机A首先根据主机B的IP地址192.168.1.250,在自己的ARP高速缓存表查找与之对应的MAC地址。如果可以找到就不用发送ARP请求分组;否则,则以广播方式发送一个ARP请求分组,该请求分组中包含主机A的IP地址、MAC地址以及主机B的IP地址。
(2)主机B在接收到ARP请求分组后将完成地址解析,并发送ARP应答分组,该分组和数据包含了主机B的MAC地址。
(3)主机A收到来自主机B的ARP应答分组后,即可得到主机B的MAC地址,并将主机B的IP地址和MAC地址都加入到ARP高速缓存表中
4. 设路由器A建立了如下的路由表,路由表中的三列分别是目的网络地址、
目的网络的子网掩码和路由信息(下一跳路由器或路由器A的某一接口) 路由器A的路由表
网络地址 目的网络子网掩码 路由信息 128.96.39.0 255.255.255.0 接口0 128.96.40.0 255.255.255.0 接口1 192.4.153.0 255.255.255.0 路由器1 默认路由 0.0.0.0 路由器2 现路由器A收到3个数据包,其目的IP地址分别是:
(1)192.4.153.17 (2)128.96.40.151 (3) 192.168.1.1 试指出路由器A根据其路由表,将会如何处理这些数据包。 答:
对于(1)192.4.153.17匹配第三条静态路由,所以A路由器会把数据转发给路由器1;对于(2)128.96.40.151匹配第二条静态路由,所以信息被转发到接口1;对于(3) 192.168.1.1没有一条是匹配的,因此将使用默认路由,即将把数据转发给路由器2。
5. 设互联网上某路由器R建立了如下路由表: (复杂一点,涉及子网问题)
目的网络 10.214.47.96 10.214.47.192 192.168.100.0 192.168.100.128 192.168.200.192 默认路由 子网掩码 255.255.255.240 255.255.255.240 255.255.255.192 255.255.255.192 255.255.255.224 0.0.0.0 下一跳路由器 R0 R1 R2 R3 R4 R5 现共收到5个分组,从数据报首部提取的目的主机IP地址分别为: (1)192.168.100.150 (2)192.168.200.125 (3)10.214.47.115 (4)10.214.47.200 (5)192.168.200.220
试分别计算出它们的下一跳路由器分别是什么。 答:
(1)比较后知道,地址为192.168.100.150的分组可能在192.168.100.0和192.168.100.128子网中,由于子网掩码最后一位192的二进制表示是11000000,因此子网号为前2个比特,而目的地址150的二进制是10010110,前2位10与子网192.168.100.128(10000000)吻合,即目的网在子网192.168.100.128中,所以下一条是R3。
(2)同理,可以知道目的地址192.168.200.125不在192.168.200.192中(因为3个比特作为子网号,125不在192的子网中),所以选择默认路由器即下一跳为R5。
(3)目的地址10.214.47.115既不在10.214.47.96子网中也不在10.214.47.192子网中,所以选择默认路由器即下一跳为R5。
(4)目的地址10.214.47.200在10.214.47.192子网中,所以下一跳为R1。
(5)目的地址192.168.200.220在192.168.200.192子网中,所以下一跳为R4。
综上所述,下一跳路由器依次是(1)R3 (2)R5 (3)R5 (4)R1 (5)R4
第5章 运输层(又称传输层)
一.填空题:
1. 从通信和信息处理的角度看,在TCP/IP模型中向其上面的应用层提供
通信服务的协议层称为 运输 层。
2. 传输层使用了 网络 层提供的服务,并通过执行 运输层协议 ,向 应
用层 提供了一个标准的完善的通信服务。
3. 传输层中的TCP协议可以为其用户提供 可靠 、面向连接的、全双工的
数据流传输服务。
4. 传输层中的UDP协议可以为其用户提供不可靠、 无连接 的数据传输服
务。
5. 人们把将待发送的完整的数据块称为报文,在运输层直接对应用层交下
来的报文进行封装的协议是 UDP协议 ,与TCP协议不同,既不拆分也不合并。
6. 由于UDP是面向报文的,即对应用层交下来的报文,在添加首部后就向
下交付给IP层,由于IP层对数据的长度有要求,如果数据太长,片分现象严重,影响传输速度,所以UDP支持的 应用层 报文大小要合适。 7. 在运输层,TCP协议传递给网络层IP协议的数据单元称为 报文段 。 8. TCP/IP的运输层有两个不同的协议,它们是TCP和UDP,其中文名分别
叫做传输控制协议和 用户数据报协议 。前者是面向连接的协议,而后者则属于无连接协议。使用UDP协议,系统资源开销小,UDP报文段的首
部只有 8 字节。而对于TCP来说,其报文段的首部至少有 20 字节,传输开销比较大,TCP开销大的另一个原因是占有CPU的处理时间。因此,在应用层开发中运输层使用哪个协议要视具体情况而定。诸如“万维网、电子邮件和文件传输”服务在运输层使用 TCP 协议封装,而“域名转换协议DNS和IP电话”服务在运输层使用 UDP 协议封装。
9. 熟知端口即系统端口号是IANA指派的。FTP服务使用的熟知端口号是
21 ,简单邮件传输协议SMTP使用的熟知端口号是 25 ,WWW服务(使用HTTP协议)使用的熟知端口号是 80 。
10. 在TCP/IP网络中,使用运输层的TCP协议进行通信,必须先建立TCP
连接,TCP连接的两个端点不只是端口号,也不是只是IP地址,而是叫做 socket ,它由4个数字确定的,包括双方的IP地址和双方的端口号,彼此之间用冒号隔开。例如,IP地址是192.3.4.5而端口号是80,可写为:192.3.4.5:80。
11. 主机A向主机B发送TCP报文段,首部中的源端口是m而目的端口是n
(源端口和目的端口分别占用2个字节)。当B向A发送回信(即确认信息)时,其TCP报文段的首部中的源端口和目的端口分别是 n和m 。 12. TCP报文段中SYS字段(称为同步为)只占1位,当SYS=1时,表示这个
报文段是一个连接请求报文,或者说是一个连接接收报文。TCP报文段中的ACK也只占1位,只要当ACK等于 1 时,报文段中的“确认号”字段才有效。
13. TCP协议传输的是报文段,报文段中的每一个字节都按顺序编号,其中
报文段的第一个字节的序号就记录在TCP报文段的首部 序号 字段中,根据报文段的数据长度也就可以知道报文段最后一个字节的序号。 14. TCP报文段中“确认号”字段的作用是“期望收到对方下一个报文段的
第一个数据字节的序号”。例如B正确收到了A发送过来的一个报文段,其序号字段值是501,而数据长度是200字节,这表明B正确的收到了A发送的序号从501到700为止的数据。因此,B期望收到A的下一个数据序号是701,于是B发送给A的确认报文段中把确认号置为 701 。 15. 为了防止过多的数据注入到网络中,以避免网络中的路由器或链路过
载,所采取的措施称为 拥塞控制 。
16. 利用TCP协议传输数据时必须建立通信双方的运输连接,运输连接有三
个阶段,这三个阶段分别是 连接建立 、 数据传送 、 连接释放 。 17. TCP是TCP/IP协议族中的(1) A.传输层 协议,使用(2) C.3 次握手协
议建立传输连接。当连接的主动方发出SYN连接(此时SYN=1)请求后,等待对方应答(3) A.SYN,ACK 。这种连接的方法可以防止(4) D.产生错误的连接 。TCP使用流量控制协议是(5) B.可变大小的滑动窗口协议 。 (1) A. 传输层 B. 网络层 C.会话层 D.应用层 (2) A. 1 B. 2 C.3 D.4 (3) A. SYN ,ACK B. FIN ,ACK C. PSH ,ACK D. RST ,ACK (4) A. 出现半连接 B. 无法连接
C. 假冒的连接 D. 产生错误的连接
(5) A. 固定大小的滑动窗口协议 B. 可变大小的滑动窗口协议
C. 后退N帧ARQ协议 D. 选择重发ARQ协议
二.问答和计算题:
1. 在TCP/IP模型中,运输层TCP和网络层IP协议的主要功能是什么?
答:
TCP协议:TCP是面向连接的,提供了一种可靠的数据交互服务,它把待发送的报文分割成数据段并编上序号发送出去。在传输中如果发生丢失、破坏、延迟和乱码等问题,TCP将负责重传这些有序分组,在接收端按正确的序号拼凑并递交给应用层还原为报文。它是一个端到端的协议,为上层的应用层提供服务,工作在传输层。
IP协议:为上层的运输层提供服务,规定了数据分组传送的格式,即在TCP数据段或UDP用户数据报的头部附加主机的源地址和目的地址从而构成IP数据报,它工作在网络层,在传输时IP协议为IP数据报解决传输路径问题。
总之,TCP为数据的传输提供了可靠性的保证,IP在网络中实现数据的传输,两者相辅相成,缺一不可。
2. 一个UDP用户数据报首部的十六进制表示是:06 32 00 45 00 1C E2 17。
试求源端口、目的端口、用户数据报总长度、数据部分长度分别为多少? 答:
UDP用户数据报的首部字段包括:源端口,目的端口、总长度和检验和。各字段长度都为2个字节,首部字段总长度为8个字节。因此:
源端口:0x0632 (0x指数据是十六进制的) ,等价于十进制的1586 目的端口:0x0045,等价于十进制的69
用户数据报总长度:0x001C字节,等价于十进制的28字节 数据部分长度:28 – 8 = 20字节
3. 主机A向主机B连续发送了两个TCP报文段,其序号分别是80和120.试
问:
(1)第一个报文段携带了多少字节的数据?
(2)如果B收到第二个报文段后发回的确认中的确认号是180,试问A发送的第二个报文段中的数据有多少字节?
(3)如果A发送的第一个报文段丢失了,但第二个报文段到达了B,B在第二个报文段到达后向A发送确认,请问这个确认号应该是多少?
答:
(1)第一个报文段的序号是80,表示第一个报文段数据的第一字节编号是80,紧接着发送第二个报文段,根据其中的序号是120,可以知道第一个报文段的最后一个字节的编号是119。因此,第一个报文段所携带的数据有119-(80-1)=40个字节。
(2)如果第二个报文段发出后得到的确认号是180,说明序号120至179的字节全收到,所以第二个报文段的数据有179-(120-1)=60字节
(3)这个确认号还是80。因为这种情况属于B方未按序收到信息,其中120至179个字节将暂存到B方接收缓存中,B方发的确认号仍然是第一个报文段的80,A方将在发送超时后重发第1个报文段。