知识点
- 它将计算机网络体系结构的通信协议划分为七层,自下而上依次为:物理层(Physics Layer)、数据链路层(Data Link
Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session
Layer)、表示层(Presentation Layer)、应用层(Application Layer)。 - 该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。
- 数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层
- 网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等
- 使用TCP的协议:FTP(文件传输协议)、Telnet(远程登录协议)、SMTP(简单邮件传输协议)、POP3(和SMTP相对,用于接收邮件)、HTTP协议等。
- 使用UDP协议包括:TFTP(简单文件传输协议)、SNMP(简单网络管理协议)、DNS(域名解析协议)、NFS、BOOTP。
- TCP 与 UDP 的区别:TCP是面向连接的,可靠的字节流服务;UDP是面向无连接的,不可靠的数据报服务。
- DNS是域名系统(DomainNameSystem)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务,可以简单地理解为将URL转换为IP地址
- AT网络地址转换(Network Address
Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术
应用题
- 试在下列条件下比较电路交换和分组交换。要传送的报文共x(bit)。从源点到终点共经过k段链路,每段链路的传播时延为d(s),数据率为b(b/s)。在电路交换时电路的建立时间为s(s)。在分组交换时分组长度为p(bit),且各结点的排队等待时间可忽略不计。问在怎样的条件下,分组交换的时延比电路交换的要小?(提示:画一下草图观察k段链路共有几个结点。)
答:在电路交换中,电路的建立时延是s,报文的发送时延是x/b,报文的传播时延是:kd,故总时延为:x/b+kd+s;
在分组交换中,报文的发送时延是(x/p)(p/b); K段传输中,有(k-1)次的储存转发延迟,(p/b)(k-1);传播时延是kd;故总时延是:(x/p)(p/b)+ (p/b)(k-1)+kd=x/b+kd+(p/b)*(k-1);
当s>(k-1)*(p/b)时,电路交换的时延比分组交换的时延大,当x>>p,相反。
- 如果要将该IP地址所属的网络划分为30个子网,则需将主机号中的前5位(25=32)拿出来作为子网号。由于该IP地址为B类地址,所以其子网掩码为:11111111.11111111.11111000.00000000,则得出子网掩码为:255.255.248.0
- 若发送方的发送窗口尺寸为4,在发送了3号帧、并收到2号帧的确认后,发送方还可连续发送几个数据帧;可发送数据帧的序号是什么?
答案:
TCP使用累积确认:仅对所有按序接收到的数据的进行确认。根据滑动窗口协议,落入发送窗口的数据允许发送到网络上;
发送窗口大小为4,发送了3号帧,收到了2号帧的确认,说明1号帧、2号帧接收方已收到,发送窗口向前移动(向右)2个帧,由于发送窗口中仍要保留3号帧。因此,发送方可发送的帧数 = 4 -1 = 3 ,所以,发送方还可连续发3帧;
因为3号帧已发送过,所以,可发帧的序号为4,5,6。
- 一个UDP用户数据报的数据字段为8192
B,要使用以太网来传送。试问应当划分为几个IP数据报片?说明每一个IP数据报片的数据字段长度和片偏移字段的值。
答案:
已知,以太网的最大数据传输单元MTU为1500字节,也即一个数据帧中数据字段的最大长度为1500字节。
由于一个IP数据报为数据帧的数据字段,所以其总长度一定不能超过的MTU值,即IP 数据报的最大长度为1500字节 ,除去IP 数据报的固定长度首部20字节 ,IP 数据报中数据字段的最大长度只能为1480字节。
(2)UDP 用户数据报的数据字段为8192 B ,加上UDP 首部8 B ,UDP 用户数据报长度 = 8200 B ,把其作为IP 数据报的数据字段,显然是不行的,必须要分片。
(3)由于8200/1480=5.54>5,因此该IP 数据报应该分6片。前5片数据字段长度分别为1480B ,由于 8200-1480*5=800,第6片数据字段长度为800B 。
(4)片偏移为较长分组分片后,某片在原分组中的相对位置。即分片后数据离分片前数据的起点的距离。
六个分片的片偏移字节依次为 0字节、1480字节、2960字节、4440字节、5920字节、7400字节。片偏移以 8 个字节为偏移单位,而1480 / 8=185,因此各片的片偏移分别为:0,185,370,555,740,925。
10.已知一个IP数据报的总长度为4020字节(使用固定首部),需要分片为长度不超过1420字节的数据报片,试回答以下问题:
(1)请推算该IP数据报的分片过程,给出片数及各片的总长度、片偏移和MF标志位;
(2)假定被分片后的第三个数据报片经过某个网络时被再次分片,即划分为分片3-1(携带数据800字节)和分片3-2,请推算分片3-1和分片3-2的总长度,MF和片偏移?
1、解答:
分片前数据部分长度:4020-20=4000字节,分片后每片数据不能超过:1420-20=1400字节。由于4000/1400=2.8…>2,因此该IP 数据报应该分3片;
前2片数据字段长度为1400B ;由于4000-1400*2=1200,第3片数据字段长度为1200B;
分片后每片的总长度依次为:1420B ,1420B ,1220B
片偏移的值分别是:0(0/8),175(1400/8),350(2800/8)
MF标志位依次为:1,1,0
11.主机A向主机B连续发送了两个TCP报文段,其序号分别为70和100。试问:
第一个报文段携带了多少个字节的数据?主机B收到第一个报文段后发回的确认中的确认号应当是多少?
如果主机B收到第二个报文段后发回的确认中的确认号是180,试问A发送的第二个报文段中的数据有多少字节?
如果A发送的第一个报文段丢失了,但第二个报文段到达了B。B在第二个报文段到达后向A发送确认。试问这个确认号应为多少?
答案:
由于接收方的确认号 = 按序收到的最后一个字节的编号 + 1,确认号也是期望收到对方的下一个报文段数据的第一个字节的序号。
由于两个TCP报文段,其序号分别为70和100。因此第一个报文段的数据序号是70到99,共30字节的数据。
根据 接收方的确认号 = 正确收到的最后一个字节的编号 + 1与第第一个报文段的数据序号是70到99,所以,主机B收到第一个报文段后发回的确认中的确认号应当是100.
(3)由于主机B收到第二个报文段后发回的确认中的确认号是180,说明序号为179之前的字节都已收到,而第一个报文段的最后一个字节是序号为99,所以A发送的第二个报文段中的数据有:179-99 = 80字节。
(4)A发送的第一个报文段丢失,第二个报文段到达B。由于TCP使用累积确认, B在第二个报文段到达后向A发送确认仅对所有按序接收到的数据的进行确认, 所以确认号为70。
13.UDP 用户数据报的首部十六进制表示是:06 32 00 45 00 1C E2 17。试求源端口、目的端口、用户数据报的总长度、数据部分长度。这个用户数据报是从客户发送给服务器还是从服务器发送给客户?使用UDP 的这个服务器程序是什么?
答案:
UDP 用户数据首部由 :源端口、目的端口、长度、检验和 4 个字段组成,每个字段2个字节,共有 8 个字节。
UDP 用户数据报首部的十六进制表示是:06 32 00 45 00 1C E2 17,
因此源端口为0632H = 1586,
目的端口为0045H = 69,
用户数据报的总长度为 001C = 28,
数据部分长度为:28-首部长度 = 28 - 8 =20 。
由于目的端口号69<1023,是熟知端口,为服务器端使用的端口号。因此该UDP 用户数据报是从客户发给服务器的。使用UDP 的这个服务程序是TFTP(69) 。