选择题
用于本机进程间的通信或协议软件测试,首字节为127。
IP地址长度32位,四个字节
常用的只有A、B、C类网络,D类网络(224.0.0.0~239.255.255.255)常用作组播地址,E类网络(240.0.0.0~255.255.255.254)保留。
正确答案:C
在Intemet中,允许一台主机有两个或两个以上的IP地址。如果一台主机有两个或两个以上的IP地址,说明这台主机属于两个或两个以上的逻辑网络。值得注意的是,在同一时刻一个合法的IP地址只能分配给一台主机,否则就会引起IP地址的冲突。IP地址192.168.11.25属于c类IP地址,所以A、B、D同属于一个逻辑网络,只有C的网络号不同,表示在不同的逻辑网络。
IP地址=网络号+主机号;子网划分后:IP地址=网络号+ 子网号+主机号子网号占用了前面一部分主机号b类地址网络号16位,剩下16位为子网号+主机号因为子网号为全0和全1时不用所以需要76+2=78个子网,26需要7位,那么剩下16-7=9位主机号主机号中为全0和全1时不用,因此每个网络至少29-2=510台主机。
CSMA/CD:载波监听多点接入/冲突检测,先听先发、边发边听、冲突停发,随即延迟后重发
ICMP是IP的好CP
ping使用了ICMP的询问报文中的回送请求和回答报文。
A类地址中的私有地址和保留地址:
①10.0.0.0到10.255.255.255是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址)。
② 127.0.0.0到127.255.255.255是保留地址,用做循环测试用的。
B类地址的私有地址和保留地址
① 172.16.0.0到172.31.255.255是私有地址
②169.254.0.0到169.254.255.255是保留地址。
C类地址中的私有地址:
192.168.0.0到192.168.255.255是私有地址
课后习题
第一章——TCP/IP概述
1.网络协议的定义及其三要素
网络协议是计算机网络和分布式系统中各种通信对等实体或进程间相互交换信息时必须遵守的一组规则或者约定。
三要素:语法语义时序
2.计算机网络为什么要分层设计
因为网络通信的过程很复杂,为了降低网络设计的复杂性,将协议进行了分层设计。
3.分层设计的好处
复杂问题简单化、灵活性好、结构上可分割开、易于实现和维护、能促进标准化工作。
4.
第二章——点到点协议PPP
1. PPP由哪几部分组成?各部分所具有的功能是什么?
PPP由链路控制协议(LCP)和网络层控制协议(NCP)和PPP扩展协议族组成。
链路控制协议(LCP)用于建立拆除和监控PPP数据链路,进行链路层特性的协商如MRU验证方式等。
网络层控制协议(NCP)用于协商在该数据链路上所传输的数据包的格式与类型。
PPP扩展协议族用于提供对PPP功能的进一步支持。
2. PAP CHAP的验证过程分别是由哪方发起的?PAP和CHAP的最大不同点是什么?
PAP验证过程是由认证方发起,CHAP的验证过程由被认证方发起。
PAP和CHAP的认证过程不同,PAP是基于口令的认证,以明文方式在链路上传送,被认证方发送报文,认证通过认证方回复Authenticate-Ack报文,否则回复Authenticate-Nack 报文;CHAP是加密认证,认证方先发送一个challenge报文给被认证方,被认证方收到后,进行一次加密运算,然后把response报文发送给认证方,认证方在本地查找密码信息,进行加密运算,最后比较加密的结果是否相同,相同则认证成功。
其次,PAP和CHAP认证的安全性不同。PAP是简单的二次握手身份验证协议,可被暴力pojie,安全性低;CHAP是三次握手身份验证协议,加密传输,且随时验证对等端,安全性高。
3. 简述以太网CSMA/CD协议的工作过程。
当一个节点要发送数据时,首先监听信道如果信道空闲就发送数据,并继续监听;如果在数据发送过程中监听到了冲突,则立刻停止数据发送,等待一段随机的时间后,重新开始尝试发送数据。
4. 通过IEEE 802.3局域网传送ASCII码信息“Good morning!”,若封装成一个MAC帧,请问(1)该帧的数据字段有效字节为多少?(2)需要填充多少个字节?
(1)13B
(2)MAC帧最小数据长度为64B,MAC帧头占18B,所以数据长度为46B,如不够则进行填充,需要填充46-13B=33B。
第三章——Internet地址地址解析协议ARP
1. 关于ARP协议,描述正确的是(B ) 。
– A. 源主机广播一个包含MAC地址的报文,对应主机回送IP地址
– B. 源主机广播一个包含IP地址的报文,对应主机回送MAC地址
– C. 源主机发送一个包含MAC地址的报文,ARP服务器回送IP地址
– D. 源主机发送一个包含IP地址的报文,ARP服务器回送MAC地址
- 一个通过以太网发送的IP分组有60字节长(包括它的所有的头),如果不使用LLC,那么在这个以太网帧中需要填充吗 ?如果需要,用多少字节?
最小的以太网帧是64字节,包括以太网帧头的·地址,类型/长度域及检验和,共18字节。以太网帧首部及校验和占据18字节(帧头14B,帧尾4B),IP分组长60字节,帧的总长度为78字节,超过了64字节的最小帧长。因此,不需要填补字节。
3. C类地址195.14.22.0用27位子网掩码来划分,则
(1) 可以划分出多少个子网?这些子网的地址是什么?
(2) 每个子网可以有多少个IP地址?每个子网有多少个可以分配给主机的IP地址? (3) 给出每一个子网地址的覆盖范围。
C类地址,所以子网掩码是255.255.255.0,,用27位子网掩码来划分,所以子网掩码的二进制为11111111.11111111.11111111.11100000,子网数为8,这些子网的地址为192.14.22.0、192.14.22.32、192.14.22.64、192.14.22.96、192.14.22.128、192.14.22.160、192.14.22.192、192.14.22.224。
主机号长度为5,因此每一个子网可以有32个IP地址,除去全1和全0,每个子网有30个可以分配给主机的IP地址。
195.14.22.1~195.14.22.30
192.14.22.33~192.14.22.62
192.14.22.65~192.14.22.94
192.14.22.97~192.14.22.126
192.14.22.129~192.14.22.158
192.14.22.161~192.14.22.190
192.14.22.193~192.14.22.222
192.14.22.225~192.14.22.254
- IP网络192.168.130.0使用的子网掩码为255.255.255.224,则该网络包含几个子网?计算每个子网的 主机地址覆盖范围,并判断以下主机都属于哪个子网?
A. 192.168.130.10 B. 192.168.130.67
C. 192.168.130.222 D. 192.168.130.250
子网掩码255.255.255.224的第四字节用二进制表示是11100000,使用主机号部分3位划分子网,可能的子网数是2^3-2=6,每个子网内主机的最大数目是 2^5-2=30
子网的网络号 可能的主机地址范围
192.168.130.32 33~62
192.168.130.64 65~94
192.168.130.96 97~126
192.168.130.128 129~158
192.168.130.160 161~190
192.168.130.192 193~222
所以A D不能在该IP网络上使用,192.168.130.67属于192.168.130.64 ;192.168.130.222属于192.168.130.192 ;
5.
ARP协议的作用:从网络层使用的IP地址,解析出在数据链路层使用的MAC地址。
工作过程:
① PC1要发送数据给PC2,首先将数据封装好,PC1与PC2不在同一网段,PC1查询自己的ARP高速缓存,发现没有网关的MAC。
② 于是PC1以广播询问的形式发送ARP请求。
③ R1收到ARP请求,将PC1的IP与MAC地址写入自己的ARP高速缓存表中。
④ R1解封装提取目的IP发现是在询问自己的MAC,然后以单播回应的形式向PC1发送ARP响应。
⑤ PC1收到ARP响应,将R1接口1的MAC地址写入自己的ARP高速缓存表中。
⑥ PC1将数据封装好发送数据帧。
⑦ R1收到数据报,解封装取出目的IP地址,发现不是给自己的,要进行转发,查询ARP高速缓存表发现没有目的IP即IP2的IP对应的MAC,数据要从接口2转发出去,因此数据在R1的接口2处重新进行封装。
⑧ R1以广播形式发送ARP请求帧。
⑨ PC2收到ARP请求帧,将R1接口2的IP和MAC添加到自己的ARP高速缓存表中。
⑩ PC2提取目的IP发现是请求自己的MAC地址,于是以单播回应的方式向R1发送ARP响应。
⑪ R1收到响应,将PC2的MAC地址添加到自己的ARP缓存表,再刷新自己的ARP高速缓存表。
⑫ R1将缓存表中的数据重新封装然后发送数据帧。PC2收到数据报,从数据报首部提取目的IP,发现是给自己的,数据发送成功。
6.
A:192.155.12.01110000
B:192.155.12.01111000
C:192.155.12.10110000
D:192.155.12.11011110
A、B的网络号相同,能直接通信,C、D与A、B任意一个都不能直接通信,需要设置网关。
子网地址只需将IP地址与子网掩码相与即可,广播地址是主机号全为1。
A和B的子网地址:192.115.12.96
定向广播地址:192.115.12.127
C:192.115.12.160
广播地址:192.115.12.191
D:192.115.12.192
广播地址:192.115.12.223
(2)直接通信需要在同一网段中,网络号要相同,第四字节为11000000~11011110(直接广播地址不能用),
即范围为192.115.12.193~192.115.12.222
(3)(直接)定向广播地址为子网主机部分全为1,用作广播,不能分配给主机。有限广播地址为255.255.255.255(用于需要在本地网络上广播,又不知道自己所处网络的情形)
A的定向广播地址:192.155.12.01111111,即192.155.12.127;有限广播地址255.255.255.255,若使用有限广播地址发送信息,所有主机都能够收到。
(4)改变子网掩码,将子网掩码改为C类地址255.255.255.0。
7.简述ARP的工作原理
每台主机都会在自己的ARP缓冲区中建立一个 ARP缓存表,以表示IP地址和MAC地址的对应关系。 当源主机需要将一个数据包发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址。 如果有,就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。 此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。 如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中。 如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址。 源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。 如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
8.简述RARP的工作原理
(1)主机从网卡上读取MAC地址,然后在网络上发送一个RARP请求的广播数据包,请求RARP服务器回复该主机的IP地址。
(2)RARP服务器收到了RARP请求数据包,为其分配IP地址,并将RARP回应发送给主机。
(3)PC1收到RARP回应后,就使用得到的IP地址进行通讯。
第四章——IP分组的交付与转发
直接交付与间接交付的区别:直接交付需要判断分组目的IP与分组的发送接口是否在同一个网段;间接交付不在同一个IP网络。
交付与转发的区别:交付发生在两个不同设备中,解决的是如何从这一结点发送到下一结点的问题,转发发送在网络结点内部,即路由器内部。转发的判断依据:IP数据报的目的IP。
(1)128.96.39.10与255.255.255.128相与得128.96.39.0,下一跳地址为m0
(2)128.96.40.12与255.255.255.128相与得128.96.40.10,不符
,向下找,下一跳地址为R2。
(3)R4
第五章——IP v4
1.首部20字节,没有任何选项
2.是否被分片,需要看第7、8字节,M=0,说明后面没有分片,offset=0,说明没有被分片。
3.数据长度看第四字节,总长度=(54)16=84,数据长度=总长度-头部=64字节
4.协议字段在第10字节,协议字段为6,表示TCP。
5.看TTL,第9字段,为(20)16,可通过32个路由器。
6.标识号看第6字节,03
7.目的主机IP看最后4字节 B40E0F02
8.源主机IP看目的主机IP的前四个字节 7C4E0302
1)广播地址是网络地址中主机号全1的地址(主机号全0的地址代表网络本身)。在后8位中划分部门的子网,选择前1位作为部门子网的网络号。令销售部子网的网络号为0,技术部子网的网络号为1,则技术部子网的完整地址为192.168.1.128;令销售部子网的主机号全1,可以得到该部门的广播地址为192.168.1.127.技术部总共可以分配的计算机主机数为2^7-2= 126(减去全0和全1的主机号)。技术部已经分配了208-129+1=80台,此外还有1个IP地址(192.168.1.254)分配给了路由器的端口,因此还可以分配126-80-1=45台。
2)注意分片的数据长度必须是8B的整数倍。由题可知,在技术部子网内,MTU=800B,IP分组头部长20B,最大IP分片封装数据的字节数为⌊(800-20)/8⌋×8=776,至少需要的分片数为⌈(1500-20)/776⌉=2,第1个分片的偏移量为0;第2个分片的偏移量为776/8 =97
⌈(3000-20)/1460-20⌉=3
第一个分片:1440B,MF=1,offset=0;
第二个分片:1440B,MF=1,offset=1440/8=180
第三个分片:3000-1440-1440=120B,MF=0,offset=1440*2/8=360
1.首部长度20字节,没有选项
2.看第7、8字节,没有被分片
3.总长度(第4字节)=(54)16=84,数据长度=84-20=64
4.看TTL(第9字节)(10)16,能通过16个路由器
5.标识号(看第6字节)(19)16=25
6.看最后四个字节:C40A1108
源主机IP:2A300B0E
⌈(2000-20)/1500-20⌉=2,数据报在经过第一个网络时分为2个分片
分片1:1480
分片2:2000-1480=520
当分片1经过第二个网络时,还需要分片,⌈(1480-20)/596-20⌉=3
分片3:576
分片4:576
分片5:1480-576*2=328
第六章——ICMP协议
第七章——UDP协议
源端口(0632)16=1586,目的端口(0035)16=53,总长度(002C)=44,数据部分长度=44-8=36
此UDP用户数据报是从客户发给服务端(因为目的端口<1023,是熟知端口),
使用UDP的这个服务器程序是DNS。
1.UDP的特点:无连接、不可靠、面向报文、没有拥塞控制、效率高。
2.不行,重传的时候,IP数据报的标识字段会有另一个标识符,仅当标识符相同的IP数据片才能组装成一个IP数据报。
第八章——TCP协议(1)
简述四次挥手机制断开TCP连接的四个步骤。
①客户端向其TCP发出连接释放报文段,并停止再继续发送数据,主动关闭TCP连接,把连接释放报文首部的FIN置为1,选择初始序号为x,等待服务器的确认。
②服务器端收到释放连接请求,同意释放连接,向客户端发送确认报文,确认号为x+1,自己的序号seq=y,TCP服务器通知高层应用进程。
③服务器端没有要发送的数据,应用进程通知TCP释放连接,FIN=1,ack=x+1,seq=z。
④客户端收到服务器端的FIN报文段后,发送ACK报文段,ack=z+1,seq=x+1,表示已经收到服务器端的FIN报文,至此,数据停止传输。
为什么连接时使用三次握手,关闭时却用四次挥手?
因为当服务器端收到客户端的SYN连接请求报文段后,可以直接发送SYN+ACK报文。其中ACK报文段是用来应答的,SYN报文是用来同步的。
但是关闭连接时,当服务器端收到FIN报文时,很可能并不会立即关闭socket,所以只能先回复一个ACK报文,只有当服务器端所有的报文都发送完了,才能发送FIN报文,因此不能一起发送,所以需要四次握手。
为什么在TCP首部的开始便是源和目的的端口号?
在TCP协议中,数据是通过端口号进行传输的,端口是传输层与应用层的服务接口,传输层的复用和分用都通过端口才能实现,源端口号标识发送数据的应用程序,目的端口号标识接收数据的应用程序,TCP首部开始的源和目的的端口号便于数据在传输过程中正确地被发送和被接收。
• 为什么TCP首部有一个首部长度字段而 UDP首部中却没有?
TCP首部长度字段以4字节为计算单位,用来指定TCP首部的长度,以便接收方能够正确地解析数据报,TCP首部长度最大为60字节,最小为20字节。而UDP首部中没有这个字段,原因是UDP的首部长度是固定的,只有8个字节,不需要别的字段来指示。
• 在TCP连接中,客户端的初始序号是2007,客户打开连接,只发送一个携带2000字节数据的报文段,然后关闭连接,试问下面从客户端发送的各个报文段的序号分别是多少?
– 1)SYN报文段;2)数据报文段;3)FIN报文段
SYN=2007(客户端的初始序号,SYN不携带数据)
数据报文段2007
FIN报文段:2007+2000=4007
假设某条TCP连接要传送4000字节的文件,第一个字节的编号为10001,如果该数据用5个TCP报文段进行传送 ,且每个报文段携带800字节的数据,那么每个报文段的序号分别是什么?
第一个报文段:10001~10800
第二个报文段:10801~11600
第三个报文段:11601~12400
第四个报文段:12401~13200
第五个报文段:13201~14000
(1)序号问题、确认问题、窗口控制问题、连接建立与释放问题
(2)利用滑动窗口机制实现流量控制
(3)7*4=28
(4)目的端口(0015)16=21,所以这是一个使用FTP协议的TCP连接,因为只有SYN=1而ACK=0,因此该TCP连接是一个建立请求的报文段,即三次握手的第一个报文段。
第九章——TCP协议(2)三种控制策略
一个TCP连接总以1KB的最大段长发送TCP段,发送方有足够多的数据要发送,当拥塞窗口为16KB时发生了超时。如果接下来的4个RTT时间内的TCP段传输都是成功的,那么当第4个RTT时间内发送的所有TCP段得到肯定应答时,拥塞窗口的大小为( B)。
A. 8KB B. 9KB C. 12KB D. 16KB
采用慢开始算法,cwnd=1,ssthresh=cwnd/2=16/2=8KB
第一个RTT,cwnd=2;第二个RTT,cwnd=4;第三个RTT,cwnd=8;第四个RTT,cwnd=9KB
• 在一个TCP连接中,MSS为1KB,当拥塞窗口为36KB时收到了3个冗余ACK报文。如果在接下来的4个RTT内报文段传输都是成功的,那么当这些报文段均得到确认后,拥塞窗口的大小为(B )。
A. 18KB B. 22KB C. 23KB D. 25KB
题干中很明确地说明了收到了3个冗余ACK报文,说明接下来需要使用快恢复算法。
ssthresh=cwnd/2=36/2=18KB
后面4次成功传输将分别以18KB、19KB、20KB、21KB作为拥塞窗口的大小,当这些报文均得到确认后,拥塞窗口大小为22KB。
第十章——应用层的相关协议
TELNET 远程登陆基于TCP协议,使用23端口。
工作过程:1.建立连接 2.输入口令 3.认证并返回结果 4.撤销连接
SSH 基于TCP协议,使用端口22
允许用户登录到远程系统并执行命令
FTP(文件传输协议)
把一个文件从一个主机复制到另一台主机上
使用两个TCP连接,一个连接用于传送数据(端口20),另一个连接用于传送控制信息(命令和响应,端口21)
控制连接在整个FTP会话期间一直保持,数据连接在每一次文件传送时打开,文件传送结束后关闭。
FTP工作原理:两端的控制进程间建立控制连接,数据传送进程间建立数据连接。
工作过程:启动FTP 建立控制连接 建立数据连接、传输文件 关闭
TFTP 使用UDP协议,不能跨网段,只能在局域网内用,采用停-等协议,基于UDP,使用熟知端口69
如何区分域名级别:有几个点=几级
动态主机配置协议DHCP,使用UDP,客户端68,服务器端67
DHCP续租过程 DORA
HTTP 超文本传输协议,使用TCP,默认端口80
HTTPS HTTP+SSL/TSL
与HTTP最大的区别在于安全性
邮件传送协议SMTP:基于TCP,使用端口25
POP3 基于TCP,使用端口110
IMAP 基于TCP,使用端口143