├── 1 ├── 1.1 │ └── README.md ├── 1.2 │ └── README.md ├── 1.4 │ └── README.md ├── answer │ └── README.md └── practice │ └── README.md ├── 2 ├── 2.1 │ └── README.md ├── 2.2 │ └── README.md ├── 2.3 │ └── README.md ├── 2.4 │ └── README.md ├── answer │ └── README.md ├── browser │ └── README.md ├── experiment │ └── README.md └── practice │ └── README.md ├── 3 ├── 3.1 │ └── README.md ├── 3.2 │ └── README.md ├── 3.3 │ └── README.md ├── 3.4 │ └── README.md └── experiment │ └── README.md ├── 4 ├── 4.1 │ └── README.md ├── 4.2 │ └── README.md └── 4.x │ └── README.md ├── 5 └── 5.1 │ └── README.md ├── 6 └── 6.1 │ └── README.md ├── 7 └── 7.1 │ └── README.md ├── 8 ├── 8.1 │ └── README.md ├── 8.3 │ └── README.md └── 8.x │ └── README.md ├── 9 └── 9.x │ └── README.md ├── 10 ├── 10.1 │ └── README.md ├── 10.2 │ └── README.md └── 10.4 │ └── README.md ├── 11 └── 11.1 │ └── README.md ├── .gitignore ├── README.md └── _p ├── 201510 ├── Practice.md └── README.md ├── 201704 ├── Practice.md └── README.md ├── 201710 ├── Parctice.md └── README.md ├── 201804 ├── Practice.md └── README.md └── 合集 ├── 填空选择题.md └── 简答题.md /.gitignore: -------------------------------------------------------------------------------- 1 | internal -------------------------------------------------------------------------------- /1/1.1/README.md: -------------------------------------------------------------------------------- 1 | # Internet 概览 2 | ## 网络 3 | + 局域网:局域网(local area network,LAN)通常是私有的,连接一个办公室、大楼或校园内的一些主机。 4 | + 广域网:广域网(wide area network,WAN)也是由具有通信能力的设备相互连接而形成的,具有更广的地理覆盖范围,可以覆盖一个城市、一个省、一个国家甚至整个世界。 5 | + 点到点广域网:点到点广域网通过传输介质(电缆或大气)连接两个同心设备。 6 | + 交换式广域网:交换式广域网具有多个断点,交换式广域网是交换机连接几个点到点的广域网而形成的。 7 | + 互联网络:当两个或多个网络连接起来,它们就形成了一个互联网络(inter network),或者互联网(internet)。 8 | 9 | ## 交换 10 | + 电路交换网络:在电路交换网络(circuit switched network)中,两个端系统之间总是存在一条专用的连接(成为电路),交换机只能使其变成活跃或非活跃状态。仅当占用全部容量时,电路交换网络才具有高效率;在多数实践中,由于工作仅仅占用部分容量,因此它的效率低下(交换机具有转发功能但是没有存储能力)。 11 | + 分组交换网络:在一个计算机网络中,两个端点之间使用被称为分组(packet)的数据块进行通信。两台计算机之间交换的是独立的数据分组,由于分组是一个能够被存储和以后发送的独立实体,因此这种机制允许我们实施存储转发的交换功能。分组交换网络与电路交换网络效率高,但是分组可能会遇到一些延迟。 12 | 13 | ## Internet 14 | + 主干:主干(backbone)处于最高层次,是一些通信公司拥有的大型网络,如 Sprint、Verizon(MCI)、AT&T、NTT。主干网络通过称为对等点(peering point)的复杂交换系统进行连接。主干常常称为国际ISP。 15 | + 提供者网络:一些小些的提供者网络(provider network)处于第二个层次,这些网络通过付费使用主干网络服务。提供者网络连接主干网络,有时提供者网络之间也相互连接。提供者网络常常称为国家或区域ISP。 16 | + 客户网络(customer network)是 Internet 边缘的网络,它们使用 Internet 提供的服务。为了接收服务,客户网络需要要提供者网络付费。 17 | 18 | ## 访问 Internet 19 | + 使用电话网络 20 | + 拨号服务:在电话线路中增加将数据转换为语音的调试解码器,安装在计算机中的软件拨打 ISP 的号码,形成一条电话连接。拨号服务非常慢,同时当线路用于 Internet 连接时,线路就不能进行电话(语音)连接。 21 | + DSL 服务:DSL 服务允许语音和数据通信同时进行。 22 | + 利用有线电视网络 23 | + 采用无线网络 24 | + 直接连接到 Internet:大机构或大公司自身可以变成一个本地 ISP 并连入 Internet。 25 | 26 | ## 硬件和软件 27 | + Internet 是由连接设备将大型和小型网络连接起来形成的,但是仅仅连接这些东西是不够的,为了使通信正常进行,我们既需要硬件也需要软件。 -------------------------------------------------------------------------------- /1/1.2/README.md: -------------------------------------------------------------------------------- 1 | # 协议分层 2 | ## 概念 3 | + 协议(protocol)定义了发送者、接收者和所有中间设备为了高效通信需要遵循的规则。当通信复杂时,我们可能需要把任务划分到不同层,每层需要一个协议,也就是说需要协议分层(protocol layering)。 4 | + 协议分层具有模块化的特点,模块化意味着独立的层次。一层(一个模块)可以定义为一个具有输入和输出的黑盒子,我们不必关心输入如何变成输出。如果给定相同的输入,两台机器提供相同的输出,那么它们可以相互替换。 5 | + 协议分层的优越性之一是它允许我们将服务从实现中分离出来。一层需要能够接受较低层的一系列服务,同时向较高层提供服务,而我们不关心这一层是如何实现的。 6 | + 协议分层的两个原则 7 | + 如果想要双向通信,那么我们需要每一层能够实现两个相反的任务,每一个方向上一个。 8 | + 两端每一层上的两个对象应该相同。 9 | 10 | ## TCP/IP 协议簇 11 | + TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网协议)是目前 Internet 使用的一个协议簇(按不同层次组织的协议集)。它是由相互交互的模块组成的一个层次结构协议,每一个模块提供特定的功能。层次意味着较上层次的协议需要得到一个或多个较下层次协议提供的服务支持。目前 TCP/IP 通常是一个 5 层模型(应用层、传输层、网络层、数据链路层、物理层)。 12 | + 应用层、传输层和网络层的任务是端到端的(end-to-end);数据链路层和物理层的任务是点到点的(hop-to-hop),其中一个跳步是一个主机或路由器。也就是说,高三层的任务范围是互联网,低两层的任务范围是链路。 13 | + 对等体 14 | + 应用层对等体:消息(message); 15 | + 传输层对等体:段或用户数据报(segment/user datagram); 16 | + 网络层对等体:数据报(datagram); 17 | + 数据链路层对等体:帧(frame); 18 | + 物理层对等体:位(bit); 19 | + 五个层次 20 | + 应用层的通信处于两个进程(该层正在运行的两个程序)之间。为了进行通信,一个进程向另一个进程发送请求,并且接受另一个进程的响应。 21 | + 传输层的逻辑连接也是端到端的。源主机的传输层从应用层得到消息,封装成传输层的分组(称为段或用户数据报,不同协议叫法不同),然后进行发送。通过逻辑(想象的)连接,分组到达目的主机的传输层。 22 | + 网络层负责在源计算机和目的计算机之间创建一个连接。网络层的通信是主机到主机的。可是,由于从源主机到目的主机可能存在多个路由器,因此路径上的路由器负责为每个分组选择最好的路径。我们可以说网络层负责主机到主机的通信,并且只会分组通过合适的路由器。 23 | + 数据链路层没有任何特定的协议,它支持所有标准的和私有的协议。能够接管数据报并携带它通过链路的任何协议都能满足网络层的要求。数据链路层接管一个数据报并将它封装在一个称为帧(frame)的分组中。互联网是多个链路(LAN 和 WAN)通过路由器连接而构成的,从主机传输数据到目的地可能存在多个交叠的连路基。路由器负责选择最好的链路进行传输。可是,当路由器定好需要传输的下一条链路后,数据链路层接管这个数据报并使它穿过这条链路。这条链路可以是一个具有链路层交换机的有线局域网、一个无线局域网、一个有限广域网或者一个无线广域网。数据链路层需要负责通过链路传输分组。 24 | + 物理层负责携带一个帧中单独的比特穿过链路。尽管物理层位于 TCP/IP 协议簇的最底层。但是由于在物理层之下存在另外一个隐藏的传输介质层,因此两个设备物理层之间的通信仍然是逻辑通信。两个设备物理层之间的逻辑单元是一个比特(bit)。 25 | + Internet 的应用层协议 26 | + 超级文本传输协议(Hypertext Transfer Protocol, HTTP)是访问万维网(World Wide Web,WWW)的载体。 27 | + 简单邮件传输协议(Simple Mail Transfer Protocol, SMTP)是电子邮件(e-mail)服务的主要协议。 28 | + 文件传输协议(File Transfer Protocol, FTP)用于将文件从一台主机传输到另一台主机。 29 | + 远程登录(Terminal Network, TELNET)和安全外壳(Secure Shell, SSH)用于访问远端的站点。 30 | + 管理员使用简单网络协议(Simple Network Management Protocol, SNMP)对 Internet 全局或局部进行管理。 31 | + 域名系统(Domain Name System, DNS)使其他的协议能够查询一台计算机的网络层协议。 32 | + 因特网管理协议(Internet Group Management Protocol, IGMP)用于管理一个组的成员资格。 33 | + Internet 的传输层协议 34 | + 传输控制协议(Transmission Control Protocol, TCP)是一个面向连接的协议,它在传输数据之前,首先在两台主机的传输层之间建立一条逻辑连接。TCP 协议在两个 TCP 层之间创建一个管道,以便传输字节流。 35 | + 用户数据报协议(User Datagram Protocol, UDP)是一种无连接协议,它传输用户数据报之前不需要创建逻辑连接。在 UDP 中,每个用户数据报是一个独立的实体,它和前一个和后一个用户数据报没有关系(无连接就是这个意思)。 36 | + 流控制传输协议(Stream Control Transmission Protocol, SCTP)是一种新协议,它是为多媒体出现的新应用设计的。 37 | + Internet 的网络层协议 38 | + 因特网协议(Internet Protocol, IP)定义了在网络层称为数据报的分组格式。IP 同时定义了在这一层使用的地址格式和结构。与此同时,IP 负责把源主机把一个分组路由到目的主机。IP 是一个无连接的协议,不提供流量控制、差错控制和拥塞控制服务。这意味着如果一个应用需要这些服务,那么应用需要依赖于传输层协议。 39 | + 因特网控制报文协议(Internet Control Message Protocol, ICMP)帮助 IP 报告遇到的问题。 40 | + 因特网组管理协议(Internet Group Management Protocol, IGMP)协助 IP 进行多任务处理。 41 | + 动态主机配置协议(Dynamic Host Configuration Protocol, DHCP)帮助 IP 获取一台主机的网络层地址。 42 | + 在网络层地址已知时,地址解析协议(Address Resolution Protocol, ARP)帮助 IP 寻找一台主机或一台路由器的链路层地址。 43 | 44 | ## 封装与解封装 45 | 在 Internet 协议分层中,一个重要的概念是封装/解封装。 46 | + 源主机的封装 47 | + 在应用层,交换的数据称为消息(message)。消息通常不包含任何头部和尾部,但是即使包含了这些,我们也将其整体称为消息。消息会被传递到传输层。 48 | + 传输层把这个消息作为有效载荷,该载荷是传输层应该关注的负载。传输层在有效载荷基础上增加传输层头部,其中包括了希望进行通信的源和目的应用程序的标识符和一些投递该消息需要的更多信息,其结果为一个传输层分组,该分组在 TCP 中成为段(segment),在 UDP 中称为用户数据报(user datagram),然后传输层传递该分组到网络层。 49 | + 网络层把传输层分组作为数据或有效载荷,并且在该有效载荷上添加自己的头部。头部包含源和目的主机的地址,以及用于头部差错检查、分片的信息等其他一些信息。其结果为一个称为数据报(datagram)的网络层分组。然后,网络层传递这个分组到数据链路层。 50 | + 数据链路层把网络层分组作为数据或有效载荷,并且添加上自己的头部。该头部包括主机或下一条不(路由器)的链路层地址。其结果为一个成为帧(frame)的链路层分组。该帧被传递到物理层进行传输。 51 | + 路由器的解封装与封装 52 | + 在比特集被投递到数据链路层后,这一层从帧中解封装出数据报并将它投递到网络层。 53 | + 网络层只检查数据报头部的源地址和目的地址,查阅它的转发表以寻找该数据报将被投递到的下一跳步。然后,数据报被传递到下一链路的数据链路层。 54 | + 下一链路的数据链路层将数据报封装成一个帧,将其传递到物理层进行传输。 55 | + 目的主机的解封装 56 | + 在目的主机端,每层都只解封装接收到的分组,移出有效载荷,并将有效载荷传递至较高一层,直到消息到达应用层。(主机中的解封装包含差错检查) 57 | 58 | ## 地址 59 | TCP/IP 协议分层模型中一堆层次之间存在逻辑通信,包含双方的任何通信都需要两个地址:源地址和目的地址。(物理层的数据交换单元是一个比特,它绝对没有地址) 60 | + 在应用层,我们通常使用一个像 someorg.com 的名字定义提供服务的站点,或者使用像 somebody@coldmail.com 一样的电子邮件地址。 61 | + 在传输层,地址称为端口号,这些端口号指定源和目的地的应用层程序。端口号是本地地址,用于区分同一时间运行的几个程序。 62 | + 网络层地址是全局的,其范围涵盖了整个 Internet。 63 | + 链路层地址有时叫做 MAC 地址(MAC address),是本地定义的地址。每个链路层地址用于在网络(LAN 或 WAN)中定义一个特定的主机或路由器。 64 | 65 | ## 多路复用与多路分解 66 | + 由于 TCP/IP 协议簇在一些层次使用多个协议,因此我们在源端需要进行多路复用(multiplexing),在目的端需要进行多路分解(demultiplexing)。在这种情况下,多路复用的意思是一个协议能够封装来自多个上层协议的分组(一次一个);多路分解的意思是一个协议能够解封装,并且将分组投递到多个上层协议(一次一个)。 67 | + 在传输层,无论 UDP 还是 TCP 多可以接受多个应用层协议的消息。在网络层,IP 可以接收来自 TCP 的段也可以接收来自 UDP 的用户数据报。 -------------------------------------------------------------------------------- /1/1.4/README.md: -------------------------------------------------------------------------------- 1 | # 标准与管理 2 | ## Internet 标准 3 | Internet 标准是一个彻底通过测试的规范,是一个必须遵循的正是的规则。RFC(请求评论,Request for Comment, RFC)历经多个成熟阶段并按照他们要求的级别分类到不同的类别。 4 | + 成熟阶段 5 | + 建议标准:建议标准是一个稳定的、得到很好理解的、Internet 社会对其有足够兴趣的规范。在这个阶段,该规范通常被多个不同的工作组进行测试和实现。 6 | + 草案标准:在至少两个独立的和协作的实现之后,建议标准升级到草案标准。除非遇到困难,一个草案标准在遇到特定的问题进行修改之后,通常会变成 Internet 标准。 7 | + Internet 标准:在成功的实现证实之后,一个草案标准就达成了 Internet 标准。 8 | + 历史的:从历史的观点来看,历史的 RFC 非常重要。它们或者被后来的规范所取代,或者从未通过必要的成熟阶段而变成 Internet 标准。 9 | + 实验性的:归类为实验性的 RFC 描述了与一种实验环境相关的工作,该实验环境不影响 Internet 的运行。这样一个 RFC 不应该在任何实用的 Internet 服务中实现。 10 | + 信息性的:归类为信息类的 RFC 包含了与 Internet 相关的通用的、历史的或指导性的信息。这类文章通常由非 Internet 组织的人员编写(如厂商)。 11 | + 要求的级别 12 | + 要求的:如果一个 RFC 必须被所有 Internet 系统实现,以获得最小的一致性,那么该 RFC 被表示为“要求的”。(IP、ICMP) 13 | + 推荐的:表示为“推荐的” RFC 不是为了获得最小一致性而必须要求的;推荐它是因为它有用。(FTP、TELNET) 14 | + 可选的:标识为“可选的” RFC 既不要求必须实现也不是推荐的。但是为了自身的利益,系统可以使用它。 15 | + 限制使用的:标识为“限制使用的” RFC 仅仅应该在限制的环境下使用。多数实验性的 RFC 归类为这个级别。 16 | + 不推荐的:表示为“不推荐的” RFC 对通常的应用是不合适的。通常历史性的(遭到反对的) RFC 可能归类到这个级别。 -------------------------------------------------------------------------------- /1/answer/README.md: -------------------------------------------------------------------------------- 1 | * Q1-1 局域网中利用一条公共电缆进行传输(如图 1-1a 所示)是不是一种广播(一对多的)传输?请解释。 2 | - 答:是一对多传输,因为一台主机发往另一台主机的数据包可以被所有的主机接收到。 3 | 4 | * Q1-2 在一个具有链路层交换机的局域网中(如图 1-1b 所示),主机 1 希望向主机 3 发送消息。由于通信需要通过链路层交换机,这个交换机需要拥有一个地址吗?请解释。 5 | - 答:需要,因为 主机1 想要访问 主机3 的话,需要先连接到交换机,再由交换机识别数据包的目的地址并引导该数据包到达它的目的地,连接需要交换机需要一个地址进行管理。 6 | 7 | * Q1-3 如果每个局域网都要能够与其他局域网直接通信,那么连接 n 个局域网需要多少个点到点的广域网? 8 | - 答:连接 n 个局域网需要 N!/[(N-2)!2!] 个点到点的广域网。 9 | 10 | * Q1-4 当我们使用本地电话与朋友通话时,我们使用的是电路交换网还是分组交换网? 11 | - 答:电路交换网,因为当一端的所有电话机想要与另一端所有电话机连接时,我们不希望通信失败。所以我们需要一条专用的连接(称为电路),交换机只能使其变成活跃或非活跃状态。 12 | 13 | * Q1-5 当一个家庭用户利用拨号或 DLS 服务连接 Internet 时,电话公司承担什么角色? 14 | - 答:电话公司承担主干的角色,通过称为对等点的复杂交换系统进行连接。 15 | 16 | * Q1-6 为了进行双向通信,我们在这一章讨论的协议分层需要遵循的第一个原则是什么? 17 | - 答:协议分层需要遵循的第一个原则是每一层能够实现两个相反的任务,每个方向上一个。(例如应用层能够输入和输出,传输层能够接收与传输) 18 | 19 | * Q1-7 链路层交换机包含 TCP/IP 协议簇的哪些层? 20 | - 答:链路层交换机包含 TCP/IP 协议簇的 数据链路层和物理层。 21 | 22 | * Q1-8 一个路由器连接 3 条链路(网络)。这个路由器包含以下列出的哪些层? 23 | a.物理层 b.数据链路层 c.网络层 24 | - 答:abc 25 | 26 | * Q1-9 在 TCP/IP 协议簇中,当我们思考应用层的逻辑连接时,发送方和接收方的对等体是什么? 27 | - 答:发送方和接收方的对等体是消息。 28 | 29 | * Q1-10 一台主机利用 TCP/IP 协议簇与另一台主机通信。在下面列出的层次中发送和接收的数据单元分别是什么? 30 | a.应用层 b.网络层 c.数据链路层 31 | - 答:应用层发送和接收的数据单元是消息;网络层发送和接收的数据单元是数据报;数据链路层发送和接收的数据单元是帧。 32 | 33 | * Q1-11 下列哪些数据单元被封装在帧中? 34 | a.用户数据报 b.数据报 c.段 35 | - 答:b 36 | 37 | * Q1-12 下列哪些数据单元是从用户数据报中解封装出来的? 38 | a.数据报 b.段 c.消息 39 | - 答:c 40 | 41 | * Q1-13 下列哪些数据单元具有应用层的消息和第 4 层的头部? 42 | a.帧 b.用户数据报 c.比特 43 | - 答:b 44 | 45 | * Q1-14 列出本章提到的一些应用层协议。 46 | - 答: 47 | + 1.超文本传输协议(Hypertext Transfer Protocol, HTTP)是访问万维网的载体。 48 | + 2.简单邮件传输协议(Simple Mail Transfer Protocol, SMTP)是电子邮件服务的主要协议。 49 | + 3.文本传输协议(File Transfer Protocol, FTP)用于将文件从一台主机传输到另一台主机。 50 | + 4.远程登录(Terminal Network, TELNET)和安全外壳(Secure Shell, SSH)用于访问远端的站点。 51 | + 5.域名系统(Domain Name System, DNS)使其他的协议能够查询一台计算机的网络层协议。 52 | 53 | * Q1-15 如果一个端口号为 16 位(2 个字节),那么 TCP/IP 协议簇中传输层的最小头部大小是多少? 54 | - 答: 55 | 56 | * Q1-16 下面列出的层次使用的地址(标识符)类型分别是什么? 57 | a.应用层 b.网络层 c.数据链路层 58 | - 答:应用层使用的是定义好的提供服务的站点(域名);网络层使用的是覆盖整个 internet 的 全局ip地址;数据链路层使用的地址类型是 MAC(物理) 地址,是本地定义的地址。 59 | 60 | * Q1-17 当我们说传输层多路复用和多路分解应用层消息时,我们的意思是不是说传输层能够把应用层的多个消息合并到一个数据分组中?请解释。 61 | - 答:不是,多路复用是一个协议能够封装多个来自上层协议的分组,多路分解是一个协议能够解封装并将分组投递到多个上层协议,但是一次只会封装或解封装一个,然后分多次传递。 62 | 63 | * Q1-18 你能解释我们为什么没有提到应用层的多路复用/多路分解吗? 64 | + 答:因为应用层属于最顶层,多路复用和多路分解在封装和解封装后需要传递给上层,而应用层没有上层。 65 | 66 | * Q1-19 假设我们要把两台相互隔离的主机连接在一起,以使它们能够相互通信。在两台主机之间需要链路层交换机吗? 67 | + 答:需要。因为两者通信需要通过 TCP/IP 协议簇,其中需要用到交换机。 68 | 69 | * Q1-20 如果源主机和目的主机之间有一条单独的通道,在两台主机之间需要路由器吗? 70 | + 答:不需要,属于一对一通信。 71 | 72 | * Q1-21 解释 Internet 草案和建议标准的不同。 73 | + 答:建议标准是一个稳定的、得到很好理解的、Internet 社会对其有足够兴趣的规范。在这个阶段,该规范通常被多个不同的工作组进行测试和实现。草案标准是在至少两个独立的和协作的实现之后,建议标准升级到草案标准。除非遇到困难,一个草案标准在遇到特定的问题进行修改之后,通常会变成 Internet 标准。 74 | 75 | * Q1-22 解释要求的 RFC 和推荐的 RFC 之间的不同。 76 | + 答:要求的 RFC 是一个必须被所有 Internet 系统实现,以获得最小的一致性。推荐的RFC不是为了获得最小一致性而必须要求的,推荐它是因为它有用。 77 | 78 | * Q1-23 解释 IETF 和 IRTF 承担的任务有什么不同。 79 | + 答:IETF 是 Internet 工程任务组(Internet Engineering Task Force)的简写。始于1986年的 IETF 是推动 Internet 标准规范制定的最主要的组织。IRTF(Internet Research Task Force)是一个由互联网架构委员会(IAB)授权对一些长期的互联网问题进行理论研究的组织。 80 | 81 | 思考题 82 | * P1-1 在图 1-10 中,当 Maria 向 Ann 发送信息时,回答下列问题: 83 | a.在 Maria 一端,第 1 层向第 2 层提供的服务是什么? 84 | + 答:接收第2层加密的密文并进行邮件发送。 85 | b.在 Ann 一端,第 1 层向第 2 层提供的服务是什么? 86 | + 答:接收到密文邮件,并将邮件内容传递给第2层。 87 | 88 | * P1-2 在图 1-10 中,当 Maria 向 Ann 发送信息时,回答下列问题: 89 | a.在 Maria 一端,第 2 层向第 3 层提供的服务是什么? 90 | + 答:接收到第3层的明文(消息)并对明文进行加密,得到密文。 91 | b.在 Ann 一端,第 2 层向第 3 层提供的服务是什么? 92 | + 答:接收到第1层的密文,并将密文解密成明文后传递给第3层。 93 | 94 | * P1-3 假设 2010 年连接 Internet 的主机数为 5 亿台,如果主机数按照每年 20%的速率增长,那么 2020 年的主机数是多少? 95 | + 答: 20亿。 96 | 97 | * P1-4 假设一个系统采用 5 个协议层次,如果应用程序构建了一个 100 字节的消息,每一个层次(包括第 5层和第 1 层)向数据单元增加 10 字节的头部,那么这个系统的效率(应用层字节数与传输字节数的比值)是多少? 98 | + 答:这个系统的效率是 1:1.5 99 | 100 | * P1-5 假设我们构建了一个分组交换互联网。我们需要利用 TCP/IP 协议簇传输一个巨大的文件。发送大分组的优势和劣势各是什么? 101 | + 答:优势在于不需要处理分组逻辑,减少传输次数;劣势在于,传输主体大,传输效率低。 102 | 103 | * P1-6 将下列语句匹配到 TCP/IP 协议簇的一层或多层: 104 | a.路由判定 105 | b.连接到传输介质 106 | c.为最终用户提供服务 107 | + 答:a 是网络层;b是物理层;c是应用层; 108 | 109 | * P1-7 将下列语句匹配到 TCP/IP 协议簇的一层或多层: 110 | a.构建用户数据报 111 | b.负责处理相邻结点间的帧 112 | c.把比特变换为电磁信号 113 | + 答:a 是传输层;b 是数据链路层;c 是物理层。 114 | 115 | * P1-8 在图 1-18 中,当 IP 协议解封传输层分组时,它怎么知道这个分组应该投递到哪个上层协议(UDP 或TCP)? 116 | + 答:解封后,段传递给上层的 TCP 协议,用户数据报传递到上层的 UDP 协议。 117 | 118 | * P1-9 假设一个私有互联网在数据链路层采用 3 个不同的协议(L1、L2 和 L3)。按照这种假设,重画图 1-18。是否可以这样说,在数据链路层我们在源结点进行多路分解,在目的结点进行多路复用? 119 | + 答:说反了,应该是在数据链路层我们在源结点进行多路复用,在目的节点进行多路分解。 120 | 121 | * P1-10 假设一个私有互联网要求加密/解密应用层消息,以保证其安全。如果我们需要增加一些关于加密/解密处理的信息(例如进行处理的算法),那么是不是意味着我们向 TCP/IP 协议簇添加了一层?如果你认为是这样,重画 TCP/IP 层次(图 1-12 的 b)。 122 | + 答:并没有在 TCP/IP 协议簇中添加一层,而是在应用层新增了加密/解密协议,进行对消息加密/解密的处理。 123 | 124 | * P1-11 协议分层可以在我们生活的很多地方找到。想象你到度假胜地进行一个双程旅行。起飞前,你需要在你本地的机场进行一些处理工作。当你到达度假胜地机场后,你也需要进行一些处理工作。使用行李托运/行李提取、登机/下机、起飞/着陆等层次,对双程旅行进行协议分层。 125 | + 答:源地址 - 候机室:行李托运 登机厅:登机 飞机:起飞 126 | + 目的地址 - 飞机:着陆 登机厅:下机 候机室:行李提取 127 | 128 | * P1-12 在图 1-4 中,从西海岸的一台主机到东海岸的一台主机仅有一条单一的通路。在这个互联网中,我们为什么需要两台路由器? 129 | + 答:因为西海岸和东海岸属于两个局域网,两个局域网需要先同时连接到一个广域网,再进行通信,而路由器就是完成这个连接的工具。 130 | 131 | * P1-13 在今天的 Internet 中,数据表示变得越来越重要。一些人主张 TCP/IP 协议簇应该增加一个新的层次以负责数据表示(参见附录 C)。如果将来增加这个新的层次,那么它应该处于协议簇的什么位置?重画图 1-12 以包含这个层次。 132 | + 答:数据显示应该位于应用层的上层,成为最顶层的协议。 133 | 134 | * P1-14 在一个互联网中,我们用新的局域网技术替换原有的局域网技术。在 TCP/IP 协议簇中,哪些层次需要改变? 135 | 136 | * P1-15 假设一个应用层协议利用 UDP 提供的服务进行编写,那么这个应用层协议不改变就可以使用 TCP 服务吗? 137 | + 答:不可以,因为 TCP 和 UDP 协议的数据格式不同,不修改的话无法进行多路复用。 138 | 139 | * P1-16 利用图 1-4 显示的互联网,描述当西海岸的一台主机与东海岸的一台主机交换信息时,TCP/IP 协议簇的层次和数据流。 -------------------------------------------------------------------------------- /1/practice/README.md: -------------------------------------------------------------------------------- 1 | * Q1-1 局域网中利用一条公共电缆进行传输(如图 1-1a 所示)是不是一种广播(一对多的)传输?请解释。 2 | 3 | * Q1-2 在一个具有链路层交换机的局域网中(如图 1-1b 所示),主机 1 希望向主机 3 发送消息。由于通信需要通过链路层交换机,这个交换机需要拥有一个地址吗?请解释。 4 | 5 | * Q1-3 如果每个局域网都要能够与其他局域网直接通信,那么连接 n 个局域网需要多少个点到点的广域网? 6 | 7 | * Q1-4 当我们使用本地电话与朋友通话时,我们使用的是电路交换网还是分组交换网? 8 | 9 | * Q1-5 当一个家庭用户利用拨号或 DLS 服务连接 Internet 时,电话公司承担什么角色? 10 | 11 | * Q1-6 为了进行双向通信,我们在这一章讨论的协议分层需要遵循的第一个原则是什么? 12 | 13 | * Q1-7 链路层交换机包含 TCP/IP 协议簇的哪些层? 14 | 15 | * Q1-8 一个路由器连接 3 条链路(网络)。这个路由器包含以下列出的哪些层? 16 | a.物理层 b.数据链路层 c.网络层 17 | 18 | * Q1-9 在 TCP/IP 协议簇中,当我们思考应用层的逻辑连接时,发送方和接收方的对等体是什么? 19 | 20 | * Q1-10 一台主机利用 TCP/IP 协议簇与另一台主机通信。在下面列出的层次中发送和接收的数据单元分别是什么? 21 | a.应用层 b.网络层 c.数据链路层 22 | 23 | * Q1-11 下列哪些数据单元被封装在帧中? 24 | a.用户数据报 b.数据报 c.段 25 | 26 | * Q1-12 下列哪些数据单元是从用户数据报中解封装出来的? 27 | a.数据报 b.段 c.消息 28 | 29 | * Q1-13 下列哪些数据单元具有应用层的消息和第 4 层的头部? 30 | a.帧 b.用户数据报 c.比特 31 | 32 | * Q1-14 列出本章提到的一些应用层协议。 33 | 34 | * Q1-15 如果一个端口号为 16 位(2 个字节),那么 TCP/IP 协议簇中传输层的最小头部大小是多少? 35 | 36 | * Q1-16 下面列出的层次使用的地址(标识符)类型分别是什么? 37 | a.应用层 b.网络层 c.数据链路层 38 | 39 | * Q1-17 当我们说传输层多路复用和多路分解应用层消息时,我们的意思是不是说传输层能够把应用层的多个消息合并到一个数据分组中?请解释。 40 | 41 | * Q1-18 你能解释我们为什么没有提到应用层的多路复用/多路分解吗? 42 | 43 | * Q1-19 假设我们要把两台相互隔离的主机连接在一起,以使它们能够相互通信。在两台主机之间需要链路层交换机吗? 44 | 45 | * Q1-20 如果源主机和目的主机之间有一条单独的通道,在两台主机之间需要路由器吗? 46 | 47 | * Q1-21 解释 Internet 草案和建议标准的不同。 48 | 49 | 22·第 1 章 概 论 50 | * Q1-22 解释要求的 RFC 和推荐的 RFC 之间的不同。 51 | 52 | * Q1-23 解释 IETF 和 IRTF 承担的任务有什么不同。 53 | 54 | 思考题 55 | * P1-1 在图 1-10 中,当 Maria 向 Ann 发送信息时,回答下列问题: 56 | a.在 Maria 一端,第 1 层向第 2 层提供的服务是什么? 57 | b.在 Ann 一端,第 1 层向第 2 层提供的服务是什么? 58 | 59 | * P1-2 在图 1-10 中,当 Maria 向 Ann 发送信息时,回答下列问题: 60 | a.在 Maria 一端,第 2 层向第 3 层提供的服务是什么? 61 | b.在 Ann 一端,第 2 层向第 3 层提供的服务是什么? 62 | 63 | * P1-3 假设 2010 年连接 Internet 的主机数为 5 亿台,如果主机数按照每年 20%的速率增长,那么 2020 年的主机数是多少? 64 | 65 | * P1-4 假设一个系统采用 5 个协议层次,如果应用程序构建了一个 100 字节的消息,每一个层次(包括第 5层和第 1 层)向数据单元增加 10 字节的头部,那么这个系统的效率(应用层字节数与传输字节数的比值)是多少? 66 | 67 | * P1-5 假设我们构建了一个分组交换互联网。我们需要利用 TCP/IP 协议簇传输一个巨大的文件。发送大分组 68 | 的优势和劣势各是什么? 69 | 70 | * P1-6 将下列语句匹配到 TCP/IP 协议簇的一层或多层: 71 | a.路由判定 72 | b.连接到传输介质 73 | c.为最终用户提供服务 74 | 75 | * P1-7 将下列语句匹配到 TCP/IP 协议簇的一层或多层: 76 | a.构建用户数据报 77 | b.负责处理相邻结点间的帧 78 | c.把比特变换为电磁信号 79 | 80 | * P1-8 在图 1-18 中,当 IP 协议解封传输层分组时,它怎么知道这个分组应该投递到哪个上层协议(UDP 或TCP)? 81 | 82 | * P1-9 假设一个私有互联网在数据链路层采用 3 个不同的协议(L1、L2 和 L3)。按照这种假设,重画图 1-18。是否可以这样说,在数据链路层我们在源结点进行多路分解,在目的结点进行多路复用? 83 | 84 | * P1-10 假设一个私有互联网要求加密/解密应用层消息,以保证其安全。如果我们需要增加一些关于加密/解密处理的信息(例如进行处理的算法),那么是不是意味着我们向 TCP/IP 协议簇添加了一层?如果你认为是这样,重画 TCP/IP 层次(图 1-12 的 b)。 85 | 86 | * P1-11 协议分层可以在我们生活的很多地方找到。想象你到度假胜地进行一个双程旅行。起飞前,你需要在你本地的机场进行一些处理工作。当你到达度假胜地机场后,你也需要进行一些处理工作。使用行李托运/行李提取、登机/下机、起飞/着陆等层次,对双程旅行进行协议分层。 87 | 88 | * P1-12 在图 1-4 中,从西海岸的一台主机到东海岸的一台主机仅有一条单一的通路。在这个互联网中,我们为什么需要两台路由器? 89 | 90 | * P1-13 在今天的 Internet 中,数据表示变得越来越重要。一些人主张 TCP/IP 协议簇应该增加一个新的层次以负责数据表示(参见附录 C)。如果将来增加这个新的层次,那么它应该处于协议簇的什么位置?重画图 1-12 以包含这个层次。 91 | 92 | * P1-14 在一个互联网中,我们用新的局域网技术替换原有的局域网技术。在 TCP/IP 协议簇中,哪些层次需要改变? 93 | 94 | * P1-15 假设一个应用层协议利用 UDP 提供的服务进行编写,那么这个应用层协议不改变就可以使用 TCP 服务吗? 95 | 96 | * P1-16 利用图 1-4 显示的互联网,描述当西海岸的一台主机与东海岸的一台主机交换信息时,TCP/IP 协议簇的层次和数据流。 -------------------------------------------------------------------------------- /10/10.1/README.md: -------------------------------------------------------------------------------- 1 | # 介绍 2 | 3 | ## 安全目标 4 | - 机密性 5 | - 窥探:窥探指的是无授权的访问或数据窃听; 6 | - 流量分析:尽管数据加密可以将信息变成窃听者不可理解的东西,但是她可以通过监听在线流量获取一些其他的类型信息; 7 | - 完整性 8 | - 修改:在窃听或访问到信息后,攻击者可以按照有利于她自己利益的方式修改信息; 9 | - 假冒:当攻击者模仿其他人时,假冒和欺骗就发生了; 10 | - 重放:攻击者获取了一个用户发送消息的拷贝,稍后尝试重放它; 11 | - 拒绝; 12 | - 可用性 13 | - 拒绝服务(denial of service, DoS)是一种常见的攻击。它可以减缓或完全中断一个系统的服务。 14 | 15 | ## 服务和技术 16 | - 密码系统 17 | - 密码系统指的是利用密钥对消息进行加密(encryption)和解密(decryption),其中包含了三个清晰的机制:对称密钥密码学、非对称密钥密码学和散列学。 18 | - 信息隐藏 19 | - 密码系统的意思是指通过译成密码将消息的内容进行隐藏;信息隐藏的意思是指通过其他的东西将其覆盖,从而隐藏信息本身。 -------------------------------------------------------------------------------- /10/10.2/README.md: -------------------------------------------------------------------------------- 1 | # 机密性 2 | 3 | ## 对称密钥密码 4 | - 对称密钥密码(symmetric-key cipher)的加密和解密使用相同的密钥,并且密钥可以用于双向通信。 5 | - 对称密钥密码的加密和解密使用单一的密钥(密钥本身可以是一个数据集)。另外,加密和解密算法是互逆的。 6 | - 我们需要强调的是最好公开加密和解密算法而密码保存共享密钥。 7 | 8 | ### 传统对称密钥密码 9 | - 单字母密码 10 | - 在单字母密码中,明文中的一个字符(或符号)总是变换成密文中的同一个字符(或符号),而不考虑它在文本中的位置。 11 | - 加性密码在历史上也被叫做移位密码,这是因为加密算法可以解释为“向下移动密钥个字符”;在加密密码中,明文、密文和密钥都是模 26 的整数; 12 | - 加性密码对于使用穷尽密钥搜索的攻击(野蛮攻击)是脆弱的;一种较好的解决方案是在每个明文字符与相应的密文字符之间构建一个映射,使用商定好的字符映射表; 13 | - 多字母密码 14 | - 在多字母密码中,一个字符的每次出现可能使用不同的替代; 15 | - 换位密码不是用一个符号替代另一个符号,而是改变符号的位置; 16 | 17 | ### 现代对称密钥密码 18 | - 将数据变成比特流并且加密比特流,然后发送加密后的比特流是比较方便的。在比特级别看待文本时,每个字符被替换成 8 个(或 16 个)比特,这意味着数字符号变大了 8(或者 16)倍。混合大量的符号增加了安全性。 19 | - 对称密钥的现代化密码加密一个 n 比特的明文块或解密一个 n 比特的密文块。加密和解密算法使用一个 k 比特的密钥。解密算法必须与加密算法相反,并且加密和解密操作必须使用相同的秘密密钥。 20 | - P-盒 21 | - 在现代块密码中,我们使用 n 个异或操作将 n 比特的数据片与 n 比特的密钥进行混合。 22 | 23 | ## 非对称密钥密码 24 | - 对称密钥密码系统基于共享的秘密;非对称密钥密码系统基于私有的秘密。 25 | - 对称密钥密码系统对符号进行排列和替换;非对称密钥密码系统对数字进行运算。 26 | - 在非对称密钥密码中,明文和密文被当做整数对待。 27 | - 非对称密钥密码系统通常用于加密和解密小块的信息,非对称密钥密码系统通常用于辅助功能而不是消息加密; 28 | - 在非对称密钥密码系统中,加密和解密是应用于数字的数学函数。 29 | - RSA 30 | - 尽管 RSA 能够用来加密和解密实际的消息,但是如果消息较长,那么它显得非常慢。因此,RSA 对短消息是有用的。 31 | - RSA 用于数字签名和其他密码系统中,它们常常需要加密一个短消息而不希望访问对称密钥。 32 | 33 | ## 散列函数 34 | - 加密散列函数以任意长度的消息作为输入,创建一个固定长度的消息摘要。所有的加密散列函数都需要将可变长度的消息变成一个固定长度的摘要。 35 | - 加密散列函数包括 MD2、MD4、MD5,安全散列算法(Secure Hash Algorithm)被称作 SHA。 36 | - 利用散列函数和秘密密钥的组合,一个 MAC 能够提供消息的完整性和消息认证。 -------------------------------------------------------------------------------- /10/10.4/README.md: -------------------------------------------------------------------------------- 1 | # Internet 安全 2 | 3 | ## 传输层安全 4 | - 在传输层提供安全的协议主要有两个:安全套接层(Secure Sockets Layer,SSL)协议和传输层安全(Transport Layer Security,TLS)协议。后者实际上就是前者的 IETF 版本。 5 | - 这些协议的目标之一就是提供服务器与客户之间的认证、数据机密性和数据完整性。 6 | 7 | ### SSL 结构 8 | - SSL 被设计成为应用层产生的数据提供安全和压缩服务。SSL 可以接收任何应用层协议的数据,但是典型的是是 HTTP 协议。从应用层接收到的数据被 SSL 压缩(可选)、签名和加密。 9 | - SSL 为从应用层接收到的数据提供多种服务: 10 | - 分段:首先,SSL 把数据划分为等于或小于 2 的 14 次方个字节的块; 11 | - 压缩:客户和服务器之间协商一种无损压缩方法,同时利用该方法对数据的每个分段压缩。这种服务是可选的; 12 | - 消息完整性:为了保护数据的完整性,SSL 使用一种密钥散列算法构建一个 MAC; 13 | - 保密性:为了提供保密性,原始数据和 MAC 值利用对称密钥密码进行加密; 14 | - 成帧:给被加密的有效载荷增加一个头部,然后将它传递给一个可靠的传输层协议; 15 | - 密码参数生成: 16 | - 为了实现消息的完整性和保密性,SSL 需要 6 个密码秘密信息:4 个密钥和 2个 IV(初始化向量)。客户需要一个密钥进行消息认证(散列函数),一个密钥进行加密(对称加密)、一个 IV 在计算中作为初始块。服务器与客户端相同。SSL 要求一个方向上的密钥要不同于另一个方向上的密钥。如果在一个方向上存在一个攻击,另一个方向不会受到影响。 17 | - 客户端与服务器交换两个随机数;一个由客户端生成,另一个由服务端生成; 18 | - 客户与服务器利用一个预先定义的密钥交换算法交换一个预主密码; 19 | - 对预主密码应用两个散列函数(SHA-1 和 MD5)创建一个 48 字节的主密码; 20 | - 通过应用相同的散列函数集和增加不同的常数,主密码可用于构建可变长度的密料; 21 | - 从密料中提取出 6 个不同的秘密信息; 22 | - 在 SSL 中,客户与服务器需要在它们自己之间创建一个连接。两个实体交换两个随机数,利用主密码创建密钥及其参数。这些密钥和参数用于对交换的信息进行认证和隐私保护。 23 | 24 | ### SSL 中的四个协议 25 | - 握手协议 26 | - 握手协议(Handshake Protocol)利用消息来协商密码组,如果需要,它也实施客户机认证服务与服务器认证客户机。 27 | - 第一阶段:建立安全能力。在第一阶段,客户机和服务器通告它们的安全能力并选出两者都支持的安全方法。这个阶段建立会话 ID 并选择密码组,同时双方协商一个特定的压缩方法。最后,客户机与服务器各选择一个随机数,用于生成主密码。在阶段一之后,客户机与服务器知道了 SSL 的版本、安全算法、压缩算法和密钥生成的两个随机数。 28 | - 第二阶段:服务器认证和密钥交换。在第二阶段,如果需要,服务器则认证它主机。发送方可以发送它的证书、它的公钥,并从客户机请求证书。在第二阶段之后,客户机认证了服务器。如果需要,客户机能够知道服务器的公钥; 29 | - 第三阶段:客户机认证和密钥交换。在第三阶段被设计成认证客户机。在第三阶段之后,服务器认证了客户机,客户机和服务器两者都知道了预主密码; 30 | - 第四阶段:终止和结束。在第四阶段,客户和服务器发送消息,以改变密码规格并完成握手协议。 31 | - 改变密码规格协议 32 | - SSL 规定,直到发送和收到改变密码规格这个特殊的消息,双方才能使用这些参数或密码。改变密码规格这个消息在握手协议中进行交换,在改变密码规格协议中进行定义。 33 | - 警告协议 34 | - SSL 使用警告协议报告错误和非正常情况。 35 | - 记录协议 36 | - 记录协议承载来自上层(握手协议、改变密码规格协议、警告协议或应用层)的消息。该消息被分段和有选择地压缩,并将协商好的散列算法生成的 MAC 添加到压缩消息。之后,利用协商好的加密算法对压缩的分段和 MAC 进行加密。最后,将 SSL 头部添加到加密后的消息前。发送方与接收方的处理过程与此相反。 37 | 38 | ## 网络层安全 39 | - IP 层安全(IP Security,IPSec)是一个由 Internet 工程任务组(IETF)设计的一组协议,用于为网络层分组提供安全。 40 | - IPSec 中有两种模式 41 | - 传输模式:在传输模式中不保护 IP 头部,只保护被封装在网络层中的有效载荷; 42 | - 隧道模式:在隧道模式中,IPSec 保护整个 IP 分组; 43 | 44 | ## 小结 45 | - 安全攻击可能威胁安全的三个目标。人们使用两种机制保护信息免受攻击:加密系统和信息隐藏。 46 | - 在对称密钥密码中,加密和解密使用相同的密钥,同时该密钥用于双向通信。我们可以将传统的对称密钥密码分为两大类:替换密码和换位密码。 47 | - 非对称密钥密码系统中存在两个分离的密钥:一个私钥和一个公钥。非对称密钥密码系统意味着 Bob 和 Alice 不能使用相同的密钥集进行双向通信。 48 | - 安全的其他方面包括完整性、消息认证、实体认证和密钥管理。 49 | - 传输层安全协议为应用层提供端到端的安全服务,该应用层使用可靠的传输层服务(如 TCP)。目前,在传输层提供安全的协议主要有两个:安全套接层(SSL)协议和传输层安全(TLS)协议。 50 | - IP 层安全(IPSec)协议是由 IETF 设计的一个协议集,用于在网络层为分组提供安全。IPSec 操作模式包括传输模式和隧道模式。IPSec 定义了两种协议:认证报头(AH)协议和封装安全载荷(ESP)协议。 51 | - 防火墙是安装在组织机构内部网络与其他 Internet 网络之间的一种设备(通常是路由器或计算机)。它能够转发一些分组,过滤另一些分组。防火墙通常分为分组过滤防火墙和代理防火墙。 -------------------------------------------------------------------------------- /11/11.1/README.md: -------------------------------------------------------------------------------- 1 | # 介绍 2 | 3 | ## 客户-服务器模式 4 | + 在客户-服务器模式中的服务器可以设计为一个迭代服务器,也可以是一个并发服务器。迭代服务器一个接一个处理客户端。当服务器在服务一个客户端时,其他的客户端需要等待。并发服务器能够同时为计算机资源允许的多个客户端服务。 5 | + 使用诸如 TCP 的面向连接传输层服务的客户-服务器对,应该被设计为面向连接的程序。客户端需要在字节流中将它的请求交给传输层,当传输层接收以字节流形式的响应。服务器也需要遵循相同的过程。 6 | 7 | ## 小结 8 | - 网络编程肯定需要处理 IP 地址和端口号。在 Java 中,一个 IP 地址是 InetAddress 类的一个实例。Inet4Address 和 Inet6Address 这两个子类明确地用来代表 IPv4 和 IPv6 地址。一个端口用一个整数表示。在 Java 中,一个套接字地址是 IP 地址和端口号的联合表示,它通过 SocketAddress 类来表示,但是 SocketAddress 类的子类 InetSocketAddress 类通常在 Java 编程中使用。 9 | - 在客户-服务器模式中,通信发生在两个应用程序之间,一个客户端和一个服务器。客户端是一个有限的程序,它请求来自于服务器的服务。客户-服务器模式中的服务器可以被设计为一个迭代服务器,也可以被设计为一个并发服务器。迭代服务器一个接一个的处理客户端。并发服务器可以同时服务计算机资源允许的尽可能多的客户端。 10 | - 基于 UDP 的应用程序的 Java 实现使用了两个类:DatagramSocket 和 DatagramPacket。第一个是用来创建套接字对象的;第二个是用来创建交换数据报的。基于 TCP 的应用程序的 Java 实现使用了两个类:ServerSocket 和 Socket。第一个只在连接建立阶段使用;第二个在余下的通信阶段使用。Java 网络编程中的并行方法使用多个线程来允许服务器在一个单独线程中服务一个客户端。 -------------------------------------------------------------------------------- /2/2.1/README.md: -------------------------------------------------------------------------------- 1 | # 介绍 2 | 应用层为用户提供服务。通信是由逻辑连接提供的,这意味着两个应用层假设存在一个假想的直接连接。 3 | 4 | ## 提供服务 5 | + TCP/IP 协议簇的每一层原先由一个或多个协议组成,但是可以加入新的协议,因特网管理机构可以删除或替换某些协议。然而如果将一个协议增加到一层中,那么这个协议应当被设计成使用底层协议提供的服务。如果从一层中去除一个协议,那么应该注意去改写它的上一层协议,高层协议可能使用了它提供的服务。 6 | + 由于应用层是协议簇的最高层,它与其他层有些不同。这层中的协议不为其他任何其他协议提供服务,它们只接收来自传输层协议的服务。这意味着,可以从这层中轻易地去除协议。只要新的协议可以使用传输层协议提供的服务,那么就可以把它加入到这一层。 7 | 8 | ## 应用层模式 9 | + 客户-服务器模式 10 | + 在这种模式中,服务提供者是一个被称为服务进程的应用程序,它不断地运行着,等待另一个称为客户进程的的应用程序通过因特网建立连接并提供服务。服务进程必须一直运行,当需要接受服务时客户进程就被打开。 11 | + 很多传统服务仍然在使用这种模式,包括万维网(World Wide Web)以及它的传播媒介:超文本传输协议(HyperText Transfer Protocol, HTTP),文件传输协议(File Transfer Protocol, FTP),安全人机界面(Secure Shell, SSH)、电子邮件等。 12 | + 新模式:对等 13 | + 对等模式(P2P模式)不需要一个不断运行且等待客户进程连接的服务器进程。责任在对等节点(peer)之间分担。连接到因特网的计算机可以在这一次提供服务却在下一次接受服务。一台计算机甚至可以同时接受和提供服务。(例如 网络电话) 14 | + 混合模式 -------------------------------------------------------------------------------- /2/2.2/README.md: -------------------------------------------------------------------------------- 1 | # 客户-服务器模式 2 | + 客户是一个运行着的程序,它通过发送请求初始化通信;另一个应用程序是服务器,它等待来自客户的请求。服务器处理来自客户的请求,准备结果并将其发送给客户。 3 | + 如果我们需要一个进程与另一个进程通信,那么我们就需要一个新的指令集告知 TCP/IP 协议簇的低四层打开连接,发送数据,从另一个端接收数据,以及关闭连接。这样的指令集通常称为应用程序接口(Application Programing Interface,API)。(例如套接字接口、传输层接口(Transport Layer Interface,TLI)以及 STREAM) 4 | + 套接字接口提供应用层和操作系统间通信的指令集,是一个可以被某进程用来与另一个进程通信的指令集。 5 | + 客户-服务器模式的通信是在套接字之间的,我们需要一对套接字地址(socket address):一个本地套接字地址和一个远程套接字地址。套接字地址应该是一个 IP 地址(32位整数)和一个端口号(16位整数)的组合。 6 | + 服务器站点 7 | + 本地套接字地址:本地(服务器)套接字地址由操作系统提供。当服务器开始运行时,它就得知了本地套接字地址。 8 | + 远程套接字地址:对服务器来说,远程套接字地址是建立连接的客户套接字地址。服务器的本地套接字地址是固定的并且在生存期内一直使用,但是远程套接字地址在服务器与不同客户进行交互时都会改变(客户套接字地址包含在发送给服务器的请求报文中)。 9 | + 客户站点 10 | + 本地套接字地址:本地(客户)套接字地址也由操作系统提供。操作系统知道运行着客户进程的计算机的 IP 地址。然而端口号是每次客户进程需要开始通信时分配给客户进程的一个临时 16 位整数。 11 | + 远程套接字地址:有时,开启客户进程的用户知道运行着服务器进程的计算机的端口号和 IP 地址。有时候,用户知道一个唯一表示服务器进程的标识符(例 Uniform Resource Location, URL),客户进程需要通过域名系统(Domain Name System, DNS)获得 IP 地址,再通过熟知的端口号组装成远程套接字地址。 12 | + 传输层协议 13 | + UDP 协议:UDP 提供了无连接的、不可靠的数据报服务。无连接服务意味着两个交换报文的终端之间没有逻辑连接。每个报文都是独立的实体,它被封装在一个称为数据报(datagram)的分组中。UDP 看不到来自同一个源端并去往同一个目的地的数据报之间的关系(连接)。(类似于邮局的邮件,损坏和丢失是经常且没有办法的事情) 14 | + TCP 协议:TCP 提供面向连接的可靠的字节流传输。TCP 要求两个重点首先通过交换一些连接建立分组(connection-establishment packet)来建立一个逻辑连接。这个阶段有时称为握手,它设定了两个终端间的某些参数。这些参数包括要交换的数组分组大小、用于保存数据直到整个报文全部到达的缓冲区的大小等等。在握手过程后,两个终端可以向着彼此方向以报文段形式发送数据块。通过计算交换的字节数,可以检测字节的连续性。比如,某些字节丢失或损坏了,接收端可以请求重发这些字节,这使得 TCP 成为一个可靠协议。(类似于打电话,听不清可以让对方重说) 15 | + SCTP:SCTP 提供了前面两个协议组合的功能。就像 TCP 一样,SCTP 提供了面向连接的可靠的服务,但是它不是面向字节流。它是像 UDP 一样面向报文的。除此之外,SCTP 可以通过提供多媒体网络层连接提供多媒体流服务。 -------------------------------------------------------------------------------- /2/2.3/README.md: -------------------------------------------------------------------------------- 1 | # 标准客户-服务器应用 2 | + HTTP和万维网 3 | + 文件传输和电子邮件应用 4 | + TELNET 和 SSH 协议(远程登录) 5 | + DNS 6 | 7 | ## 万维网 8 | + 万维网(WWW/Web)是分布式的(distributed)和链接的(linked) 9 | + 分布式:分布式允许 Web 增长。世界上每个 Web 服务器都可以增加一个新的网页到这个宝库中并向所有因特网用户宣告,而这不会使一些服务器超载。 10 | + 链接:链接使得一个网页与另一个存储在世界某个地方的主机上的网页相互引用。 11 | + 如今 WWW 是一个分布式客户-服务器服务。使得浏览器的用户可以访问一个正在服务器上运行的服务。然而服务是分布在很多称为站点(site)的地点上。每一个站点有一个或多个文档,它们称为网页。但是,每个网页(web page)可以包含一些到其他网页的链接,那些被链接的网页可以在同一个站点也可以在其他站点。 12 | + 网络客户(浏览器)通常包含三部分:控制程序、客户协议和解释程序。 13 | + 控制程序接收来自键盘和鼠标的输入并使用客户端程序来访问文档; 14 | + 客户协议可以是HTTP 或 FTP; 15 | + 在文档被访问后,控制程序使用解释程序来在屏幕上显示文档;(HTML、Java 或 Javascript) 16 | + 网络资源定位符(URL)包含了四个标识符:协议、主机、端口、路径。 17 | + 网上文档 18 | + 静态文档(Static Document):静态文档是在服务器中创建和存储的固定内容的文档。文件的内容在创建时决定,而不是使用时决定。(Hypertext Markup Language, HTML、Extensible Markup Language, XML、Extensible Style Language, XSL); 19 | + 动态文档(Dynamic Document):当浏览器请求文档时动态文档就被网页服务器创建。由于对每个请求都要创建一个全新的文档,因此动态文档的内容随着请求的不同而不同。(CGI、JSP、ASP) 20 | + 活动文档(Active Document):对很多应用来说,我们需要在客户站点运行一个程序或脚本,这些称为活动文档。(Javascript) 21 | 22 | ## 超文本传输协议(HTTP) 23 | + HTTP 是一种用来定义客户服务器程序如何编写和如何从万维网获取网页的协议。一个 HTTP 客户发送一个请求;HTTP 服务器返回响应。服务器使用80端口号;客户使用一个临时端口号。HTTP 使用 TCP 服务。 24 | + 非持续连接 25 | + 客户开启一个 TCP 连接并发送请求; 26 | + 服务器发送响应并关闭连接; 27 | + 客户读取数据直到它遇到了文件结束标记,然后关闭连接; 28 | + 非持续策略给服务器带来了高额开销,因为每次连接被开启时服务器都需要 N+1 个不同的缓冲区。 29 | + HTTP1.1 版默认指定了持续连接。在持续连接中服务器在发送一个相应后,为响应更多的请求而将连接置为打开状态。服务器可以在客户的请求下或者在超时情况下将连接关闭。发送方通常在每次响应中发送数据长度。 30 | + 请求报文 31 | + 请求的第一行被称为请求行,这一行有三部分由空格隔开并且被两个字符(回车和换行)终止。这些字段称为方法、URL 和版本。 32 | + 请求方法 33 | + GET:向服务器请求文档; 34 | + HEAD:请求关于文档的信息,而不是文档本身; 35 | + PUT:从客户端向服务器发送文档; 36 | + POST:从客户端向服务器发送一些信息; 37 | + TRACE:回送输入的请求; 38 | + DELETE:删除网页; 39 | + CONNECT:预留; 40 | + OPTIONS:询问有关可用的选项; 41 | + 请求头部 42 | + User-agent:表示客户端程序; 43 | + Accept:给出客户端能够接受的媒体格式; 44 | + Accept-charset:给出客户端可以处理的字符集; 45 | + Accept-encoding:给出客户端可以处理的编码方案; 46 | + Accept-language:给出客户端可以接受的语言; 47 | + Authorization:给出客户端有哪些许可; 48 | + Host:给出主机及客户端的端口号; 49 | + Date:给出当前日期; 50 | + Upgrade:确定首选的通信协议; 51 | + Cookie:返回 cookie 给服务器 52 | + If-Modified-Since:如果文档在指定的日期之后被更新,则发送文档; 53 | + 响应报文 54 | + 响应报文包含状态行、头部行并且有时包含主体。 55 | + 状态码字段 56 | + 100~199:代表一个报告; 57 | + 200~299:表示这是一个成功的请求; 58 | + 300~399:表示把客户端重定向到另一个 URL; 59 | + 400~499:表示在客户端发生错误; 60 | + 500~599:表示在服务端发生错误; 61 | + 响应头部行 62 | + Date:给出当前日期; 63 | + Upgrade:确定首选的通信协议; 64 | + Server:给出服务器信息; 65 | + Set-Cookie:服务器要求客户存储 cookie; 66 | + Content-Encoding:指定编码方案; 67 | + Content-Language:指定语言; 68 | + Content-Length:给出文档长度; 69 | + Content-Type:指定媒体类型; 70 | + Location:指明新建或移动后文档的位置; 71 | + Accept-Ranges:服务器将会接收的被请求的字节范围; 72 | + Last-modified:给出上次改变的日期和时间; 73 | 74 | ## Cookie 75 | + 创建和存储 Cookie 76 | + 当服务器从客户端接收到请求后,它将客户端的信息存储在文件或字符串中。这些信息可能包括客户端的域名、cookie 内容(服务器收集到的关于客户端的信息,如主机名、注册号等)、时间戳,以及与实现相关的其他信息; 77 | + 服务器在响应中包含了它发送给客户端的 cookie; 78 | + 当客户端接收到响应后,浏览器在 cookie 目录中存储 cookie,并根据服务器域名进行分类; 79 | + 使用 cookie 80 | + 当客户向服务器发送请求时,浏览器在 cookie 目录中查询是否有从那个服务器发送过来的 cookie,如果有,则在请求中包含这个 cookie。 81 | 82 | ## 万维网高速缓存:代理服务器 83 | HTTP 支持代理服务器(proxy server)。代理服务器是一台计算机,能够保存最近请求的响应的副本。HTTP 客户端向代理服务器发送请求。代理服务器检查本地高速缓存。如果高速缓存中不存在响应报文,代理服务器就向响应的服务器发送请求。返回的响应会发送到代理服务器中,并且进行存储,以用于其他客户端将来的请求。(如七牛 cdn 加速) 84 | 85 | ## HTTP 安全 86 | HTTP 本质上并不提供安全。然而,HTTP 可以在安全套接层(SSL)上运行。在这种情况下,HTTP 称为 HTTPS。HTTPS 提供保密性、客户和服务器鉴别,以及数据完整性。 87 | 88 | ## FTP 89 | + 文件传输协议(File Transfer Protocol, FTP)是 TCP/IP 提供的标准机制,用于将文件从一个主机复制到另一个主机。 90 | + FTP 基本模型中。客户有三个组件:用户接口、客户控制进程、数据传输进程。服务器有两个组件:服务器控制进程和服务器数据传输进程。控制连接是在控制进程之间进行的,而数据连接是在数据传输进程之间进行的。 91 | + 在整个交互的 FTP 会话期间,控制连接始终处理连接状态。数据连接则在每次传输文件时开启然后关闭。FTP 使用两种熟知接口,端口 21 用于控制连接,端口 20 用于数据连接。 92 | + 控制连接 93 | + 对于控制通信,FTP 使用与 TELNET 相同的方法。它与 TELNET 一样使用 NVT ASCII 字符集。通信是通过命令和响应来完成的。 94 | + 常见的 FTP 命令 95 | | 命 令 | 参 数 | 说 明 | 96 | | ----- | :----------: | ----------------------------------------------: | 97 | | ABOR | | 放弃之前的命令 | 98 | | CDUP | | 改变到上级父目录 | 99 | | CWD | 目录名 | 改变到另一个目录 | 100 | | DELE | 文件名 | 删除文件 | 101 | | LIST | 目录名 | 列出子目录或文件 | 102 | | MKD | 目录名 | 创建新目录 | 103 | | PASS | 用户密码 | 密码 | 104 | | PASV | | 服务器选择一个端口 | 105 | | PORT | 端口标识符 | 客户选择一个端口 | 106 | | PWD | | 显示当前目录名 | 107 | | QUIT | | 退出登录 | 108 | | RETR | 文件名 | 获取文件;文件从服务器发送到客户 | 109 | | RMD | 目录名 | 删除目录 | 110 | | RNFR | 文件名 | 表示一个将被重命名的文件 | 111 | | RNTO | 文件名(新) | 重命名文件 | 112 | | STOR | 文件名 | 存储文件;文件从客户发送到服务器 | 113 | | STRU | F、R 或 P | 定义数据组织(F:文件, R:记录,或者 P:页面) | 114 | | TYPE | A、E、I | 定义文件类型(A:ASCII,E:EBCDID,I:图像 | 115 | | USER | 用户 ID | 用户信息 | 116 | | MODE | S、B、C | 定义传输方式(S:流,B:块,C:压缩) | 117 | + 常见的响应编码 118 | + 125:数据连接打开; 119 | + 150:文件状态良好; 120 | + 200:命令成功; 121 | + 220:服务就绪; 122 | + 221:服务关闭; 123 | + 225:数据连接打开; 124 | + 226:关闭数据连接; 125 | + 230:用户登录成功; 126 | + 250:请求文件动作成功; 127 | + 331:用户名成功;需要密码; 128 | + 425:无法打开数据连接; 129 | + 450:文件动作未被采取;文件不可用; 130 | + 452:动作被放弃;磁盘空间不足; 131 | + 500:语法错;无法识别的命令; 132 | + 501:参数或变量语法错; 133 | + 530:用户未登录; 134 | + 数据连接 135 | + 数据连接的步骤 136 | + 客户使用临时端口发起一个被动打开。这必须由客户完成,因为正是客户发出命令要求传输文件的; 137 | + 客户使用 PORT 命令发送这个端口号到服务器; 138 | + 服务器接收到端口号,使用熟知端口 20 发出主动打开并且接收临时端口号; 139 | + 数据连接的目的和实现与控制连接是不同的。在通过数据连接发送文件之前,我们必须通过控制连接定义传输文件的类型、数据结构以及传输方式。 140 | + FTP 安全:尽管 FTP 要求密码,但是密码还是用明文(未加密)发送,这意味着它可能被截获并被使用者攻击。数据传输连接也用明文传输数据,这是不安全的。为了安全起见,可以将安全套接层加入到 FTP 应用层和 TCP 层之间。这种情况下,FTP 称为 SSL-FTP。 141 | 142 | ## 电子邮件 143 | + 一个子邮件系统需要两个 UA(User Agent),一对 MTA(Mail Transfer Agent)(客户与服务器)以及一对 MAA(Mail Access Agent)(客户与服务器) 144 | + 传输一个邮件共有三个阶段:连接建立、邮件传输和连接终止。 145 | + 连接建立:在客户创建了到端口 25 的 TCP 连接后,SMTP(Simple Mail Transfer Protocol) 服务器开始连接阶段。 146 | + 邮件传输:在 SMTP 客户和服务器的连接建立后,单个报文可以在一个发信人和多个收信人之间交换。 147 | + 连接终止:在报文成功传送后,客户终止连接。 148 | + 报文访问代理:邮件传递的第一阶段和第二阶段使用 SMTP。但是,因为 SMTP 是一个推(push)协议,第三阶段不使用 SMTP。第三阶段可以使用 POP、IMAP、HTTP 协议。 149 | 150 | ## TELNET 151 | TELNET(TErminaL NETwork)是远程登录协议之一。 152 | + 本地登录与远程登录 153 | + 本地登录:当一个用户登录到本地系统,这称为本地登录(local login)。用户在终端上键入时或在工作站运行终端仿真程序时,她的击键就被终端驱动程序所接受。终端驱动程序将字符传递给操作系统,操作系统解释字符的组合,并调用所需的应用程序或实用工具。 154 | + 远程登录:用户将击键发送给终端驱动程序,同时本地操作系统接收这些字符,但不解释它们。这些字符被发送到 TELNET 客户机,它将这些字段转换为网络虚拟终端(Network Virtual Terminal,NVT)字符的通用字符集,然后将其传送给本地 TCP/IP 协议堆栈。采用网络虚拟终端(NVT)形式的命令或文本通过因特网传送到远程机器的 TCP/IP 堆栈,在那里字符传递给操作系统,然后传送给 TELNET 服务器,TELNET 服务器将这些字符转换为远程计算机可以理解的字符,再通过终端驱动程序(pseudo terminal driver)的软件块伪装成终端命令,最后传递给操作系统,操作系统解释字符的组合,并调用所需的应用程序或实用工具。 155 | 156 | ## 安全 Shell 157 | + SSH 应用层协议(SSH-TRANS):由于 TCP 不是安全传输层协议,SSH 首先使用在 TCP 顶部创建安全链路的协议。这个新层是一个独立协议,称为 SSH-TRANS。当执行这个协议的程序被调用时,客户和服务器首先使用 TCP 协议建立一个不安全的连接。然后,它们交换几个安全参数在 TCP 顶部建立安全信道。 158 | + SSH 认证协议(SSH-AUTH):在客户与服务器之间的安全信道建立以及客户端认证服务器之后,SSH 可以调用另一个流程,它为服务器对客户进行认证。 159 | + SSH 连接协议(SSH-CONN) 160 | + SSH 是一个提供客户和服务器之间安全连接的通用协议,可以用于远程登录,也可以用于文件传输(SFTP)。 161 | + SSH 协议提供的端口转发(port forward)机制可以创建一个安全隧道,属于其他协议的报文可以穿过这个隧道。 162 | 163 | ## 域名系统 164 | 域名系统(Domain Name System)是一种能够将名字映射到地址的目录系统。 165 | + 主机名映射到 IP 地址的步骤 166 | + 用户将主机名传递给文件传输客户端; 167 | + 文件传输客户端将主机名传递到 DNS 客户端; 168 | + 在启动后,每一台电脑都知道 DNS 服务器的地址。DNS 客户端使用已知 DNS 服务器 IP 地址向 DNS 服务器发送附有查询的报文,查询报文使用已知的 DNS 服务器 IP 地址给出文件服务器名; 169 | + DNS 服务器进行响应,发回客户想要获得的文件传输服务器的 IP 地址; 170 | + DNS 客户端将 IP 地址传递到文件传输服务器; 171 | + 现在,文件传输客户端使用接收到的 IP 地址来访问文件传输服务器; 172 | + 域名空间 173 | + 为了获得层次名字空间,设计了域名空间(domain name space)。在这种设计方式中,所有的名字由根在顶部的倒置树结构定义。 174 | + 标签:树上的每一个节点有一个标签。DNS 要求每一个节点的子节点(从同一节点分支出来的节点)都有不同的标签,这样就确保域名的唯一性。 175 | + 域名:树上的每一个节点都有一个域名。一个完整的域名(domain name)是用点(.)分割的标签序列。 176 | + 域(Domain)是域命名空间的子树。域的名称是子树顶端节点的名称。 177 | + DNS 定义了两种类型的服务器:主服务器和辅助服务器; 178 | + 主服务器(primary server)是指存储了授权区域有关文件的服务器。它负责创建、维护和更新区域文件,并将区域文件存储在本地磁盘中。 179 | + 辅助服务器(secondary sever)负责从另一个服务器(主服务器或辅助服务器)传输一个区域的全部信息,并将文件存储在它的本地磁盘中。 180 | + 主服务器能从磁盘文件中装载所有信息,辅助服务器从主服务器中装载信息。 181 | + 通用域(generic domain)按照已经注册主机的一般行为对主机进行定义。 182 | + aero:航空航天公司 183 | + biz:商业或公司 184 | + com:商业机构 185 | + coop:协作商业组织 186 | + edu:教育机构 187 | + gov:政府机构 188 | + info:信息服务提供商 189 | + int:国际机构 190 | + mil:军事机构 191 | + museum:博物馆 192 | + name:私人名字(个人的) 193 | + net:网络支持中心 194 | + org:非盈利机构 195 | + pro:专业组织 196 | + 国家域(country domain)部分使用双字母的国家缩写(例如,us 代表美国)。 197 | + 将名字映射为地址或将地址映射为名字的过程,成为名字-地址解析(name-address resolution)。 198 | + 递归解析 199 | + 源主机上的应用程序调用 DNS 解析程序(客户端)(如 hosts 文件)来找到目的服务器的 IP 地址。 200 | + (解析程序不知道这个地址)将请求发送到本地 DNS 服务器(例如局域网 DNS) 201 | + (假设本地 DNS 不知道这个地址)本地 DNS 服务器发送一个请求到 DNS 根服务器,本地 DNS 服务器应该知道根服务器的 DNS 地址。 202 | + 根服务器通常不保存名字到 IP 地址的映射,但是根服务器至少至少每个顶级域中的一台主机(例如.com、.cn)。根服务器将查询发送到这台顶级域服务器。 203 | + (假设顶级域服务器不知道特定目的名字-地址映射)顶级域服务器查询到该特定名字域名所在的 DNS 服务器 IP 地址,查询被发送到这台服务器。 204 | + 特定名字 DNS 服务器将 IP 地址返回到顶层 DNS 服务器,然后返回到根服务器,然后返回到本地 DNS 服务器,它可能缓存这个地址以待将来的查询,并且最终返回给源主机。 205 | + 迭代解析 206 | + 在迭代解析中,每个不知道映射的服务器将下一台服务器的 IP 地址发回到请求查询的主机上。 207 | + 通常迭代解析发生在两台本地服务器之间;原始解析程序从本地服务器得到最终答案。 208 | + 高速缓存 209 | + 每当服务器接收到查询一个不属于自己域的名字时,它需要搜索自己的数据库以查找一台服务器的 IP 地址。(效率较慢) 210 | + DNS 服务器使用一种称为高速缓存(cache)的机制处理这一问题。当一个服务器向另一个服务器请求映射并得到回应时,在将该回应发送给客户端之前,先将这一信息存储在高速缓存中。如果同一客户端或者另一个客户端请求同一映射时,它会检查其告诉缓存并解决这一问题。 211 | + 高速缓存会定期检查,并清除掉 TTL 已经过期的那些映射。 212 | + DNS 报文 213 | + DNS使用查询报文(query)和响应报文(response) 214 | + 封装 215 | + DNS 可以只用 UDP 和 TCP 协议。(熟知端口:53) 216 | + 当响应报文的长度小于 512 字节时,就使用 UDP。反之,则必须使用 TCP 连接。 217 | + 注册机构 218 | + 新的域名通过注册机构(registrar)来完成,一个熟知的商业实体是 ICANN(因特网名称和编号分配组织)。 219 | + 为了能够注册,组织机构需要给出域名服务器的主机名和 IP 地址。 220 | + 动态域名系统(Dynamic Domain Name System,DDNS)中,当主机名和 IP 地址之间的绑定被确定时,这些信息通常是由 DHCP 发送给主 DNS 服务器。主服务器更新这一区域,同时通知到辅助服务器。 221 | + DNS 安全 222 | + 攻击者可能读取 DNS 服务器的响应,从而发现用户最常访问的站点的名称。 223 | + 攻击者可能截获 DNS 服务器的响应并加以改变,或创建一个全新的伪造响应来将用户导向攻击者想要用户访问的站点或域。 224 | + 攻击者可能泛洪攻击淹没 DNS 服务器,最终使之瘫痪。 -------------------------------------------------------------------------------- /2/2.4/README.md: -------------------------------------------------------------------------------- 1 | # 对等模式 2 | 3 | ## P2P 网络 4 | 准备共享资源的因特网用户成为对等节点并且组成一个网络。当网络中的一个对等节点有文件(例如,一个音频或视频文件)要共享,那么它使其余对等节点都能获得这个文件。一个感兴趣的对等节点可以连接到存储这个文件的计算机并下载它。 5 | 6 | ## 集中式网络 7 | + 在集中式 P2P 网络中,目录系统——列出对等节点及它们所提供的内容——使用客户-服务器模式,但是文件存储和下载使用对等模式完成。 8 | + 缺点:访问目录可能产生巨大的流量并减慢系统。中心服务器易受供给并且如果中心服务器全都失效,那么整个系统就会瘫痪。 9 | 10 | ## 分散式网络 11 | + 分散式 P2P 网络并不依赖中心化目录系统。在这个模式中,对等结点将自身置于覆盖网(overlay network)中。覆盖网是一个逻辑网,在物理网的顶层创建。 12 | + 非结构化网络:在非结构化 P2P 网络中,结点随机连接。在非结构化 P2P 中搜索效率不高,因为对一个文件的查询必须通过网络进行泛洪,这造成了极大的通信量,况且查询可能仍未解决。 13 | + 结构化网络:结构化网络采用一组预先确定的规则来连接节点,有效并高效地解决查询。最常用的技术是分布式散列表(Distributed Hash Table,DHT)。DHT 应用于很多应用,包括分布式数据结构(Distributed Data Structure,DDS)、内容分发系统(Content Distributed Systems,CDS)、域名系统(Domain Name System,DNS)以及 P2P 文件共享。 14 | 15 | ## 分布式散列表 16 | + 一个分布式散列表根据预先定义的规则将数据(或引用数据)分发到一组结点上。对于基于 DHT 的网络,每一个对等节点负责一系列数据项。 -------------------------------------------------------------------------------- /2/answer/README.md: -------------------------------------------------------------------------------- 1 | # Practice 2 | 3 | ## 练习题 4 | - Q2-1 假设我们加入一个新的协议到应用层上。我们需要对其他层做什么改动? 5 | - 答:不需要做任何改动。因为应用层是最顶层协议,没有其他层依赖于应用层,所以新增一个新的协议到应用层,只需要使协议能够被传输层的协议读取即可。 6 | 7 | - Q2-2 请解释在客户-服务器模式中哪个实体提供服务,哪个实体接收服务? 8 | - 答:服务器负责提供服务,客户(代理)负责接收服务。 9 | 10 | - Q2-3 在客户-服务器模式中,请解释为什么服务器应该一直运行而客户可以在需要时运行。 11 | - 答:因为客户只需要在(某个)客户使用时,打开与服务器的连接,向服务器请求服务;而服务器需要随时接收来自多个客户的请求,所以必须一直运行。 12 | 13 | - Q2-4 可否在一个只安装了 TCP 作为传输层协议的计算机上编写一个使用 UDP 服务的程序?请解释。 14 | - 答:不可以;因为 TCP/IP 协议簇是自顶向下,当程序从应用层到达传输层时,会因为找不到 UDP 协议的支持而导致传输失败。顶层协议依赖于底层协议。 15 | 16 | - Q2-5 在周末,Alice 经常要从她家的笔记本电脑访问存储在办公室桌面的文件。上个星期,她在办公室桌面上安装了 FTP 服务器进程并在家里的笔记本上安装了 FTP 客户进程。当她周末无法访问文件时,感到很失望。哪里错了吗? 17 | - 答:因为 Alice 办公室和家里的网络并不是同一个局域网,无法直接通过局域网访问另一个局域网。如果需要访问的话,应该使用路由器和交换机将两个局域网连接在一起,或者将办公室的公网进行公开(任何人可以通过公网 ip 访问)。 18 | 19 | - Q2-6 安装在个人计算机上的绝大多数操作系统有很多客户进程,但通常没有服务进程。请解释原因。 20 | - 答:个人计算机一般来说不需要提供服务,只需要接收服务,所以不需要服务进程。 21 | 22 | - Q2-7 要设计一个使用客户-服务器模式的新应用。如果在客户和服务器之间只需要交换小报文而不用担心报文丢失或出错,你推荐使用什么传输层协议? 23 | - 答:UDP 协议。因为 UDP 协议没有额外的机制,只负责传输,而不保证报文的完整性和正确性,从而提升传输效率。 24 | 25 | - Q2-8 以下哪项可以是数据源? 26 | + a.键盘 b.显示器 c.套接字 27 | + 答:a 28 | 29 | - Q2-9 源套接字地址是 IP 地址和端口号的组合。请解释每部分定义的内容。 30 | - 答:IP 地址就是目标服务器唯一 IP 地址;端口就是目标服务器所运行的应用的进程所在的端口号。 31 | 32 | - Q2-10 请解释客户进程如何得到要插入远程套接字地址中的 IP 地址和端口号。 33 | - 答: 34 | - 有时,开启客户进程的用户知道运行着服务器进程的计算机的端口号和 IP 地址; 35 | - 有时,用户只知道一个域名,通过应用层的 DNS 协议后,域名将会被转换为 IP 地址。而应用层协议一般都有熟知的端口号,例如 HTTP 的熟知端口号为 80,在没有提供显式端口号的情况下,会使用熟知端口号作为目标服务器的端口号。 36 | 37 | - Q2-11 如果一个 HTTP 请求需要在服务器端运行一个程序并且将结果下载到客户服务器,这个程序是以下的 38 | - a.静态文档 b.动态文档 c.活动文档 39 | - 答:b 40 | 41 | - Q2-12 假设我们设计了一个新的客户-服务器应用程序,它需要持续连接。我们能使用 UDP 作为传输层协议吗? 42 | - 答:不能。因为 UDP 没有连接状态,属于无连接协议;我们应该使用 TCP 作为传输层协议,它具有持续连接的特性。 43 | 44 | - Q2-13 Alice 有一个视频片段,Bob 想得到它;Bob 有另一个视频片段,Alice 想得到它。Bob 创建了一个网页并在 HTTP 服务器上运行。Alice 如何得到 Bob 的视频片段?Bob 能够得到 Alice 的吗? 45 | - 答:Alice 通过发送一个 GET 请求,可以在响应中获得 Bob 的视频片段;Bob 如果想要获得 Alice 的视频片段,只能让 Alice 通过一个 PUT HTTP 请求将视频片段传输到 Bob 的服务端。 46 | 47 | - Q2-14 当 HTTP 服务器接收到来自 HTTP 客户的请求报文时,服务器如何知道所有头部以及跟随其后的报文主体何时到达? 48 | - 答:报文包含了结束标记,如果读取到结束标记,则表示所有头部及报文主体发送完毕; 49 | 50 | - Q2-15 在非持续 HTTP 连接中,HTTP 如何通知 TCP 协议报文已到达结尾? 51 | - 答:在响应报文结尾添加文件结束标记,在客户端检测到响应结束时,客户端通知 TCP 协议报文关闭连接。 52 | 53 | - Q2-16 在日常生活通信中,你能找到与 FTP 的控制和数据连接相似的两个分离的连接吗? 54 | - 答: 55 | 56 | - Q2-17 FTP 使用两个不同的熟知端口号用于控制和数据传输。这是否意味着为了交换控制信息和数据而创建了两个分离的 TCP 连接? 57 | - 答:是的,交换控制信息和传输数据创建了两个分离的 TCP 连接。 58 | 59 | - Q2-18 FTP 使用 TCP 服务交换控制信息并进行数据传输。FTP 能够为这两种连接使用 UDP 服务吗?请解释。 60 | - 答:不能,首先 UDP 是无连接协议,没有稳定的连接状态;并且 UDP 存在传输字节大小限制,而且 UDP 无法保证传输的正确性和完整性,不适合用于数据传输。 61 | 62 | - Q2-19 在 FTP 中,哪个实体(客户或服务器)开启(主动开启)控制连接?哪个实体开启(主动开启)数据传输连接? 63 | - 答:客户主动开启控制连接;服务器主动开启数据传输连接; 64 | 65 | - Q2-20 如果控制连接在 FTP 会话结束前被中断,你认为会发生什么?它会影响数据连接吗? 66 | - 答:不会影响当前正在进行的数据连接,因为数据连接和控制连接是两个分离的 TCP 连接,会话结束前并没有发送终止传输指令的话,并不会影响数据连接。 67 | 68 | - Q2-21 在 FTP 中,如果客户需要从服务器站点获取一个文件并且存储一个文件到服务器站点上,这需要多少个控制连接和数据传输连接? 69 | - 答:只需要一个控制连接和一个数据传输连接即可;因为传输是支持双向的。 70 | 71 | - Q2-22 在 FTP 中,服务器可以从客户端获取文件吗? 72 | - 答:客户端可以发送文件给服务器,服务器不能主动从客户端获取文件。 73 | 74 | - Q2-23 在 FTP 中,服务器能够从客户端得到文件列表或目录吗? 75 | - 答:不可以,客户端可以从服务器得到文件列表或目录。 76 | 77 | - Q2-24 FTP 可以在两个使用不同操作系统的主机之间传输文件。这是什么原因? 78 | - 答:因为在传输的过程中,文件类型和文件属性都已经被定义好,只要遵循 FTP 协议就能进行传输。(各自系统平台针对 FTP 协议可能有不同的实现) 79 | 80 | - Q2-25 在控制连接期间,FTP 有用于交换命令和响应的报文格式吗? 81 | - 答:有。 82 | 83 | - Q2-26 在文件传输期间,FTP 有用于交换文件或目录/文件列表的报文格式吗? 84 | - 答:没有。 85 | 86 | - Q2-27 在 FTP 中能够只有控制连接而没有数据连接吗?请解释。 87 | - 答:不能。因为控制连接只定义了传输的相关信息,实际的数据传输过程需要数据连接来完成,如果没有数据连接,那么只是两台可以交换一些信息的客户与服务器,并不能完成文件传输。 88 | 89 | - Q2-28 在 FTP 中能够只有数据连接而没有控制连接吗?请解释。 90 | - 答:不能。因为控制连接定义了文件传输的属性、方法等一系列命令,如果只有数据连接的话,那传输双方并不知道传输的相关信息,无法进行数据传输,甚至无法建立传输连接。 91 | 92 | - Q2-29 假设我们需要使用 FTP 下载一个音频。我们可以在命令中指定什么文件类型? 93 | - 答:指定文件类型为 A(ASCII)。 94 | 95 | - Q2-30 HTTP 和 FTP 都可以从服务器获取文件。当我们下载文件时使用什么协议? 96 | - 答:当我们下载文件时,可以使用 HTTP 或 FTP 协议,目前 HTTP 协议越来越完善,FTP 协议在浏览器得到的支持越来越少,所以我们建议在浏览器使用 HTTP 协议进行下载,在其他 FTP 协议得到更好支持的客户端可以使用 FTP 协议进行下载。 97 | 98 | - Q2-31 HELO 和 MAIL FROM 命令在 SMTP 中都是必要的吗?为什么? 99 | - 是必要的。因为首先需要 HELO 来指定发送方的主机名,再使用 MAIL FROM 来指定发信人的身份,在 SMTP 协议中,这两个信息都是必要的。 100 | 101 | - Q2-32 在图 2-20 的文字中,信封中的 MAIL FROM 与头部的 FROM 有什么区别? 102 | - 答:MAIL FROM 是一个可以接收电子邮件的有效地址,FROM 是一个发信人的描述信息。 103 | 104 | - Q2-33 Alice 在长途旅行中,没有查看她的电子邮件。之后她发现丢失了一些朋友们声称已经发给她的电子邮件或附件。这其中的问题可能是什么? 105 | - 答:电子邮件被存在 MTA 服务器中,太久时间没有被查看被服务器清理了吗? 106 | 107 | - Q2-34 假设一个 TELNET 客户使用 ASCII 表示字符,但是 TELNET 服务器使用 EBCDIC 代表字符。当两者字符表示不同,客户如何登录到服务器上? 108 | - 答:TELNET 定义了一个通用的接口,称为网络虚拟终端(Network Virtual Terminal,NVT)字集。通过这个接口,客户 TELNET 将来自本地终端的字符(数据或命令)转换为 NVT 格式,然后传递给网络。而服务器 TELNET 则将 NVT 形式的数据或命令转换为远程计算机可接受的形式。 109 | 110 | - Q2-35 TELNET 应用程序中没有像 FTP 或 HTTP 中允许用户传输文件或访问页面的命令。这种应用程序在哪个方面有用? 111 | - 答:希望在服务器执行一些没有被其他协议提供的命令(功能),比如运行在服务器运行某个特定的程序,执行某项特定的任务时。 112 | 113 | - Q2-36 一台主机能够使用一个 TELNET 客户获得 FTP 或 HTTP 等其他客户-服务器应用所提供的服务吗? 114 | - 答:可以,但是需要自己去单独封装这些协议的功能。 115 | 116 | - Q2-37 在 DNS 中,以下哪一项是 FQDN(full qualified domain name,全称域名),哪一项是 PQDN(partially qualified domain name,部分域名)? 117 | + a.xxx b.xxx.yyy.net c.zzz.yyy.xxx.edu. 118 | + 答:b 和 c 是全称域名,a 是部分域名。 119 | 120 | - Q2-38 在基于 DHT 的网络中,假设 m = 4。如果一个结点标识符的散列值为 18,这个结点在 DHT 空间中的位置在哪里? 121 | - 答: 122 | 123 | - Q2-39 在基于 DHT 的网络中,假设结点 4 有一个文件的关键字为 18。最接近关键字 18 的结点是 20。这个文件存储在哪里? 124 | + a.按照直接方法 b.按照间接方法 125 | 126 | - Q2-40 在 Chord 网络中,我们有结点 N5 和关键字 k5。N5 是 k5 的前向结点还是后向结点? 127 | 128 | - Q2-41 在 Kademlia 网络中,标识符空间的大小为 1024。二叉树的高度(树根到叶结点的距离)是多少?每个结点的子树数量是多少?每个路由表有多少行? 129 | 130 | - Q2-42 在 Kademlia 中,假设 m = 4 并且活动结点是 N4、N7 和 N12。k3 存储在系统的哪个位置? 131 | 132 | ## 思考题 133 | - P2-1 假设一个服务器的域名是 www.common.com。 134 | + a.给出一个想要获取文件/usr/users/doc 的 HTTP 请求。客户接收 MIME 1 版、GIF 或 JPEG 图片,但是文档的存在时间不应该超过 4 天。 135 | + b.给出与 a 成功请求对应的 HTTP 响应。 136 | + 答a: 137 | ```bash 138 | GET http://www.common.com/usr/users/doc HTTP/1.1 139 | 140 | Accept: image/gif,image/jpeg 141 | ``` 142 | + 答b: 143 | ```bash 144 | HTTP/1.1 200 ok 145 | 146 | Content-Type: image/gif 147 | 148 | *GIF ... 149 | ``` 150 | 151 | - P2-2 在 HTTP 中,画一幅图来给出 cookie 的应用,cookie 的应用场景是服务器只允许注册用户访问服务器。 152 | - 答:用户第一次访问 -> 请求服务器 -> 服务器返回没有 cookie -> 客户端跳转到登录界面 -> 登录成功后拿到登录信息 -> 服务器将登录信息存储 -> 服务器返回一个包含了 cookie 的响应 -> 客户端将 cookie 按照不同域名存储后,今后的请求都带有 cookie -> 服务器校验 cookie 的有效性(是否过期、无效) 153 | 154 | - P2-3 在 HTTP 中,画一幅图来给出网络门户中 cookie 的应用,请使用两个站点来表示。 155 | - 答:A 站点用于校验用户登录信息,B 站点用于收集用户操作。 156 | 157 | - P2-4 在 HTTP 中,画一幅图来给出 cookie 的应用,cookie 的应用场景是服务器使用 cookie 来做广告,请只用三个站点。 158 | 159 | - P2-5 请画图给出代理服务器的使用,代理服务器是客户网络的一部分: 160 | + a.给出当响应存储在代理服务器时,客户、代理服务器以及目标服务器之间的事务。 161 | + b.给出当响应不存储在代理服务器时,客户、代理服务器以及目标服务器之间的事务。 162 | 163 | - P2-6 在第 1 章,我们提到 TCP/IP 协议簇与 OSI 模型不同,它没有表示层。但是如果需要,应用层协议可以包含某些表示层定义的特征。HTTP 有表示层特征吗? 164 | 答:HTTP 有表示层的特征。 165 | 166 | - P2-7 HTTP 1.1 版将持续连接定义为默认连接。使用 RFC2616 找出客户或服务器如何将这个默认设置改为非持续连接? 167 | - 答:HTTP 1.1 头部有个 Connection 字段,默认值是 Keep-Alive,如果需要关闭持续连接,将 Connection 的值改为 close 即可。 168 | 169 | - P2-8 在第 1 章,我们提到 TCP/IP 协议簇与 OSI 模型不同,它没有会话层。但是如果需要,应用层协议可以包含某些会话层定义的特征。HTTP 有会话层特征吗? 170 | - 答:应用层可以包含会话层的所有特征。HTTP 有会话层特征,其中持续连接就是会话层的特征。 171 | 172 | - P2-9 在 SMTP 中,一个发送者发送未格式化文本,请给出 MIME 头部。 173 | - 答: 174 | 175 | - P2-10 在 SMTP 中: 176 | + a.一个非 ASCII 码 1000 字节的报文使用 base64 编码。编码报文中有多少字节?有多少冗余字节?冗余字节与整个报文的比是多少? 177 | + b.一个非 ASCII 码 1000 字节的报文使用引用可打印编码。报文包含 90%ASCII 字符和 10%非 ASCII字符。编码报文中有多少字节?有多少冗余字节?冗余字节与整个报文的比是多少? 178 | + c.比较前两个情况的结果。如果报文是 ASCII 和非 ASCII 字符报文的组合,效率提高多少? 179 | 180 | - P2-11 请用 base64 编码如下报文: 181 | + 01010111 00001111 11110000 182 | 183 | - P2-12 请用引用可打印编码如下报文: 184 | + 01001111 10101111 01110001 185 | 186 | - P2-13 根据 RFC1939,POP3 会话是以下四种状态之一:关闭、认证、事务或更新。画图给出这四种状态以及 POP3 如何在这些状态之间移动。 187 | 188 | - P2-14 POP3 协议有一些基本命令(每个客户-服务器需要实现)。使用 RFC1939 中的信息,找出以下基本命令的含义和用法: 189 | + a.STAT b.LIST c.DELE 4 190 | 191 | - P2-15 POP3 协议有一些可选命令(每个客户-服务器需要实现)。使用 RFC1939 中的信息,找出以下可选命令的含义和用法: 192 | + a.UIDL b.TOP 1 15 c.USER d.PASS 193 | 194 | - P2-16 使用 RFC1939,假设 POP3 客户处于下载保持状态。如果服务器只从服务器下载两个 192 字节和 300字节报文,请给出客户和服务器之间的事务。 195 | 196 | - P2-17 使用 RFC1939,假设 POP3 客户处于下载保持状态。如果服务器只从服务器下载两个 230 字节和 400字节报文,请给出客户和服务器之间的事务。 197 | 198 | - P2-18 在第 1 章,我们提到 TCP/IP 协议簇与 OSI 模型不同,它没有表示层。但是如果需要,应用层协议可以包含某些表示层定义的特征。SMTP 有表示层特征吗? 199 | 200 | - P2-19 在第 1 章,我们提到 TCP/IP 协议簇与 OSI 模型不同,它没有会话层。但是如果需要,应用层协议可以包含某些会话层定义的特征。SMTP 或 POP3 有会话层特征吗? 201 | 202 | - P2-20 在 FTP 中,假设用户名为 John 的客户需要在服务器的目录/top/videos/general 上存储一个名为 video2的视频片段。如果选择临时端口号 56002,给出服务器和客户之间的交换的命令和响应。 203 | 204 | - P2-21 在 FTP 中,一个用户(Jane)想要使用临时端口 61017 从/usr/users/report 目录下获取一个名为 huge的 EBCDIC 文件。文件很大,以至于用户想要在传输前压缩它。给出所有命令和响应。 205 | 206 | - P2-22 在 FTP 中,一个用户(Jan)想要在目录/usr/usrs/letters 下创建一个名为 Jan 的新目录。给出所有命令和响应。 207 | 208 | - P2-23 在 FTP 中,一个用户(Maria)想要将一个名为 file1 的文件从/usr/users/report 目录移动至/usr/top/letters目录下。注意,这里有文件被重命名的情况。我们首先需要给出旧文件名然后定义新名称。给出所有命令和响应。 209 | 210 | - P2-24 在第 1 章,我们提到 TCP/IP 协议簇与 OSI 模型不同,它没有表示层。但是如果需要,应用层协议可以包含某些表示层定义的特征。FTP 有表示层特征吗? 211 | 212 | - P2-25 在第 1 章,我们提到 TCP/IP 协议簇与 OSI 模型不同,它没有会话层。但是如果需要,应用层协议可以包含某些会话层定义的特征。FTP 有会话层特征吗? 213 | 214 | - P2-26 在 Chord 中,假设标识符空间大小为 16。活动结点是 N3、N6、N8 以及 N12。给出 N6 的指针表(只给出目标关键字和后向结点列)。 215 | 216 | - P2-27 在 Chord 中,假设 N12 的后向结点是 N17。N12 是以下哪个关键字的前向结点。 217 | + a.k12 b.k15 c.k17 d.k22 218 | 219 | - P2-28 在使用 DHT 的 Chord 网络中,m = 4,请画出标识符空间,其中放置 4 个对等结点,它们的 ID 是 N3、N8、N11 以及 N13,以及三个关键字 k5、k9 以及 k14。请判断哪个结点负责哪个关键字。为每个结点创建一个指针表。 220 | 221 | - P2-29 在 Chord 网络中,m = 4,结点 N2 指针表的值如下:N4、N7、N10 以及 N12。对于以下每个关键字,首先查找 N2 是否是关键的前向结点。如果不是,应该联系哪个结点(最接近前向结点)来帮助 N2找到前向结点。 222 | + a.k1 b.k6 c.k9 d.k13 223 | 224 | - P2-30 重复文中的例 2.16,但是假设结点 N12 需要找到负责关键字 k7 的结点。提示:请记住在模 32 运算中需要进行区间检测。 225 | 226 | - P2-31 重复文中的例 2.16,但是假设结点 N5 需要找到负责关键字 k16 的结点。提示:请记住在模 32 运算中需要进行区间检测。 227 | 228 | - P2-32 在 Pastry 中,假设地址空间是 16 并且 b = 2。地址空间中有多少位?列出一些标识符。 229 | 230 | - P2-33 在 Pastry 中 m = 32 并且 b = 4,路由表以及叶子结点集的大小是多少? 231 | 232 | - P2-34 Pastry 的地址空间是 16 并且 b = 2,给出路由表的大纲。给出结点 N21 路由表中每个单元格的可能表项。 233 | 234 | - P2-35 在使用 DHT 的 Pastry 网络中,m = 4 且 b = 2,请画出游 4 个结点 3 个关键字的标识符空间,4 个结点是 N02、N11、N20 以及 N23,3 个关键字是 k00、k12 以及 k24。请判断哪个结点负责哪个关键字。也请给出每个结点的叶子结点集和路由表。尽管它不是真实的,但是假设每两个结点间的接近度是基于数值接近程度度量的。 235 | 236 | - P2-36 在之前的问题中,请回答如下问题: 237 | + a.给出结点 N02 如何回应一个寻找负责 k24 结点的请求。 238 | + b.给出结点 N20 如何回应一个寻找负责 k12 结点的请求。 239 | 240 | - P2-37 使用文中图 2-55 的二叉树,给出结点 N11 的子树。 241 | 242 | - P2-38 使用文中图 2-56 中的路由表,如果结点 N0 接收到一个查询报文,它寻找负责 k12 的结点,请解释并给出路由。 243 | 244 | - P2-39 在 Kademlia 网络中 m = 4,我们有 5 个活动结点:N2、N3、N7、N10 以及 N12。找出每个活动结点的路由表(只有一列)。 245 | 246 | - P2-40 如文中图 2-60 所示,服务器如何知道一个客户已经请求了服务? 247 | 248 | - P2-41 如文中图 2-62 所示,服务器端如何为数据传输创建一个套接字? 249 | 250 | - P2-42 假设我们想要使表 2-25 中的 TCP 客户程序更具通用性,从而能够发送字符串并处理从服务器接收到的响应,如何做到这一点? 251 | 252 | ## 2.8 模拟实验 253 | Applets 254 | 我们构建了一些 Java 小程序用于展示本章讨论的一些主要概念。强烈推荐学生激活本书网站中的这些小程序,仔细观察这些实际的协议。 255 | 256 | ### 实验作业 257 | - 在第 1 章,我们下载并安装了 Wireshark,学习它的基本特性。在本章,我们使用 Wireshark 来捕获并研究一些应用层协议。这里使用 Wireshark 来模拟六种协议:HTTP、FTP、TELNET、SMTP、POP3 以及 DNS。 258 | 259 | - Lab2-1 在第 1 个实验中,我们使用 HTTP 获取网页。我们使用 Wireshark 来捕获分组进行分析。我们学习最普通的 HTTP 报文。我们也捕获响应报文并分析它们。在实验期间,我们也研究分析一些 HTTP 头部。 260 | 261 | - Lab2-2 在第 2 个实验中,我们使用 FTP 传输一些文件。我们使用 Wireshark 捕获分组。我们展示出 FTP 使用两个分离的连接:一个控制连接和一个数据传输连接。每次文件传输活动中数据连接都会被打开然后关闭。我们也展示出 FTP 是一个不安全的文件传输协议,因为每项事务都是用明文完成的。 262 | 263 | - Lab2-3 在第 3 个实验中,我们使用 Wireshark 捕获 TELNET 协议交换的分组。如 FTP 中一样,我们能够在被捕获的分组里观察到会话中的命令和响应。正如 FTP、TELNET 易受攻击,因为它用明文发送包括口令在内的所有数据。 264 | 265 | - Lab2-4 在第 4 个实验中,我们研究运行中的 SMTP 协议。我们发送一个电子邮件,使用 Wireshark 研究客户和服务器之间交换的 SMTP 分组的内容和格式。我们检验文中讨论的 SMTP 会话中的三个阶段。 266 | 267 | - Lab2-5 在第 5 个实验中,我们研究 POP3 协议的状态和行为。我们获取存储在 POP3 服务器邮箱中的邮件,通过分析那些经过 Wireshark 的报文来观察并分析 POP3 的状态以及交换报文的类型和内容。 268 | 269 | - Lab2-6 在第 6 个实验中,我们分析 DNS 协议的行为。除了 Wireshark,许多网络实用工具可用于查找 DNS 服务器中存储的信息。在这个实验中,我们使用 dig 命令(被 nslookup 所代替)。我们也使用 ipconfig 来管理主机中缓存的 DNS 记录。当我们使用这些工具时,我们用 Wireshark 来捕获这些工具发送的分组。 270 | 271 | ## 2.9 编程作业 272 | 利用你选择的编程语言,编写源代码,编译并测试如下程序: 273 | - Prg2-1 编写程序,使表 2-22 中的 UDP 服务器程序更通用:接收请求、处理请求并发回响应。 274 | 275 | - Prg2-2 编写程序,使表 2-23 中的 UDP 客户程序更通用:能够发送客户程序创建的任何请求。 276 | 277 | - Prg2-3 编写程序,使表 2-24 中的 TCP 服务器程序更通用:接收请求、处理请求并发回响应。 -------------------------------------------------------------------------------- /2/browser/README.md: -------------------------------------------------------------------------------- 1 | # 打开浏览器输入网址后发生的事情 2 | 3 | - 浏览器获取用户输入,等待 url 输入完毕,触发 enter 事件; 4 | - 解析 URL,分析协议头,再分析主机名是域名还是 IP 地址; 5 | - 如果主机名是域名的话,则发送一个 DNS 请求到 DNS 服务器,获取主机 IP 地址; 6 | - 使用 DNS 获取到主机 IP 地址后,向目的地址发送一个(http/https/protocol)请求,根据协议填充熟知端口号(http 为 80,https 为 443); 7 | - 等待服务器响应结果; 8 | - 将响应结果经浏览器引擎渲染后显示在显示器中,用户此时可以看到页面被渲染;(渲染过程中可能会继续获取其他资源) -------------------------------------------------------------------------------- /2/experiment/README.md: -------------------------------------------------------------------------------- 1 | # 抓包实践 2 | 3 | ## HTTP 请求 4 | 5 | ### Request headers 6 | - GET / HTTP/1.1 7 | - 使用 GET 方法 8 | - 获取 / 路径上的文件,这里应该是有个 HTTP 查找规则的,默认是寻找路径下的 index.html 9 | - 使用 HTTP 协议,版本是 1.1 10 | - Host 11 | - 主机名(可能是域名也可能是 ip) 12 | - RFC 协议规定所有的 HTTP 请求必须携带 Host 头,即使 Host 没有值,也必须带上这个 Host 头附加一个空串,如果不满足,应用服务器应该抛出 400 Bad Request。协议虽然这样规定,不过大部分网关或者服务器都比较仁慈,既然没有指定 Host 字段,那就给你默认加上一个。网关代理可以根据不同的 Host 值转发到不同的 upstream 服务节点,它常用于虚拟主机服务业务。 13 | - Pragma no-cache 14 | - 禁止缓存; 15 | - 在前端开发模式下经常会加上这个头部,当网关收到一个带有这样请求的头部时,即使内部存在该请求资源的缓存并且有效也不可以直接发送给客户端,而必须转发给后面的 upstream 进行处理。不过如果真的所有的网关都遵循这个协议的话,攻击是很容易伪造的,所以它一般仅用于开发模式,防止静态资源修改后前端得不到即时更新。 16 | - Cache-Control no-cache 17 | - 通知服务器,不使用缓存资源; 18 | - 这个头既可以用于请求,也可以用于响应,在请求和响应的取值不一样,分别代表了不同的意思。 19 | - no-cache:如果 no-cache 没有指定值,那就表示不允许缓存。对于请求来说,服务器不得使用缓存内容直接返回。对于响应来说,客户端不得缓存响应的资源内容。如果 no-cache 指定了值,那就表示对应的头信息不得使用缓存,其他的信息还是可以缓存的。 20 | - no-store:告知对方不要持久化请求/响应数据到其他地方,这种信息是敏感的,要保持它的易失性。告知对方存在内存(memory)可以,但是不能写在磁盘(disk)中。 21 | - no-transform:告知对方不要转换数据。比如客户端上传了 raw 图像数据,服务器一般都会选择性压缩图像数据进行存储。no-transform 告知对方保留原始数据信息,不要进行任何转换。 22 | - only-if-cached:用于请求头,告知服务器只要那些已经缓存的内容,如果没有缓存内容就返回 504 Gateway Timeout 错误。(只要缓存,不要新数据) 23 | - max-age:用于请求头。限制缓存内容的年龄,如果超过 max-age 年龄的,需要服务器去 reload 内容资源。 24 | - max-state:用于请求头。客户端允许服务器返回缓存已过期的资源内容,但是限定了最大过期时间。 25 | - min-fresh:用于请求头。客户端限制服务器不要那些即将过期的资源内容。 26 | - public:用于响应头。表示允许客户端缓存响应信息,并可以给别人使用。比如代理服务器缓存静态资源供素有代理用户使用。 27 | - private:用于响应头。表示仅允许客户端缓存响应信息给自己使用,不得分享给别人。这样是为了禁止代理服务器进行缓存,而允许客户端自己缓存资源内容。 28 | - WWW-Authenticate 29 | - WWW-Authenticate 是 401 Unauthorized 错误码返回时必须携带的头,该头会携带一个问题 Challenge 给客户端,告知客户端需要携带这个问题的答案来请求服务器才可以继续访问目标资源。这种问题 Challenge 可以自定义,比较常见的是 Basic 认证。 30 | - WWW-Authenticate: Basic realm=xxx 31 | - Basic 指代 base64 加密算法(不安全),realm 指代认证范围 /场合 /情景名称。 32 | - Authorization: Basic YWRtaW46YWRtaW4xMjM= 33 | - value = base64(user_name:password) 34 | - 对于某些需要特殊权限才能访问的资源需要客户端在请求里提供用户名密码的认证信息。它是对 WWW-Authenticate 的应答。 35 | - Upgrade-Insecure-Requests:1 36 | - Upgrade-Insecure-Requests 是一个请求首部,用来向服务器端发送信号,表示客户端优先选择加密及带有身份验证的响应,并且它可以成功处理 upgrade-insecure-requests CSP 指令。 37 | - User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36 38 | - 携带当前的用户代理信息,一般包括浏览器、浏览器内核和操作系统的版本型号信息。它是 Server 头是对应的,一个是表达服务器信息,一个是表达客户端信息。服务器可以根据用户代理信息统计出网页服务的浏览器、操作系统的使用占比情况,服务器也可以根据 UA 的信息来定制不一样的内容。 39 | - Accept text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3 40 | - 表示客户端期望服务器返回的媒体格式,客户端期望的资源类型服务器可能没有,所以客户端会期望多种类型,并且设置优先级,服务器根据优先级寻找响应的资源返回给客户端。 41 | - Accept-Encoding gzip, deflate 42 | - HTTP 请求头 Accept-Encoding 会将客户端能够理解的内容编码方式——通常是某种压缩算法——进行通知。通过内容协商的方式,服务端会选择一个客户端提议的方式,使用并在响应报文首部 Content-Encoding 中通知客户端该选择。 43 | - Accept-Language zh-CN,zh;q=0.9,en;q=0.8 44 | - Accept-Language 请求头允许客户端声明它可以理解的自然语言,以及优先选择的区域方言。借助内容协商机制,服务器可以从诸多备选项中选择一项进行应用,并使用 Content-Language 应答头通知客户端它的选择。浏览器会基于其用户界面语言来为这个请求头设置合适的值,即便是用户可以进行修改,但是这种情况极少发生。 45 | - Cookie 46 | - Cookie 是一个请求首部,其中含有先前服务器通过 Set-Cookie 首部投放并存储到客户端的 HTTP cookies; 47 | - Connection keep-alive 48 | - Connection 头决定当前的事务完成后,是否会关闭网络连接。如果该值是 “keep-alive”,网络连接就是持久的,不会关闭,使得对同一个服务器的请求可以继续在该连接上完成。 49 | - close:表明客户端或服务器想要关闭该网络连接,这是 HTTP/1.0 请求的默认值。 50 | - Referer 51 | - Referer 首部包含了当前请求页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进入的。服务端一般使用 Referer 头部识别访问来源,可能会以此进行统计分析、日志记录以及缓存优化等。 52 | 53 | ### Response Headers 54 | - HTTP/1.1 200 OK 55 | - HTTP 协议版本 1.1,状态码为 200,信息为 OK 56 | - Date Wed, 04 Sep 2019 23:00:19 GMT 57 | - Date 是一个通用首部,其中包含了报文创建的日期和时间。 58 | - Content-Type text/html; charset=utf-8 59 | - Content-Type 实体头部用于指示资源的 MIME 类型 media type; 60 | - 在响应中,Content-Type 标头告诉客户端实际返回的内容的内容类型,浏览器会在某些情况下进行 MIME 查询,并不一定遵循此标题的值;为了防止这种行为,可以将标题 X-Content-Type 设置为 nosniff; 61 | - 在请求中(如 POST 或 PUT),客户端告诉服务器实际发送的数据类型。 62 | - Transfer-Encoding chunked 63 | - Transfer-Encoding 消息首部指明了将 entity 安全传递给用户所采用的编码形式; 64 | - Transfer-Encoding 是一个逐跳传输消息首部,即仅用于两个节点之间的消息传递,而不是所请求的资源本身。一个多节点连接中的每一段都可以应用不同的 Transfer-Encoding 值。如果你想要把压缩后的数据应用于整个连接,那么奇怪使用端到端传输消息首部 Content-Encoding 65 | - chunked:数据以一系列分块的形式发送。Content-Length 在这种情况下不被发送。在每一个分块的开头需要添加当前分块的长度,以十六进制的形式表示,后面紧跟着'\r\n',之后是分块本身,后面也是'\r\n'。终止块是一个常规的分块,不同之处在于其长度为 0.终止块后面是一个挂载,由一系列(或者为空)的实体消息首部构成。 66 | - compress:压缩算法,因为专利问题已被弃用; 67 | - deflate:采用 zlib 结构,和 deflate 压缩算法。 68 | - gzip:表示采用 Lempel-Ziv coding(LZ77)压缩算法,以及 32 位 CRC 校验的编码方式。这个编码最初由 UNIX 平台式的 gzip 程序采用。 69 | - identity:用于指代自身(例如:未经过压缩和修改)。 70 | - Vary Accept-Encoding 71 | - Vary 是一个 HTTP 响应头信息,它决定了对于未来的一个请求头,应该用一个缓存的回复还是向源服务器请求一个新的回复。它被服务器用来表面在内容协商算法中选择一个资源代表的时候应该使用哪些头部信息。 72 | - ETag W/"141fb-8bBJz9vV9Eti0oCDTknCy6CH8/Y" 73 | - ETag HTTP 响应头是资源的特定版本的标识符。这可以让缓存更高效,并节省带宽,因为如果内容没有改变,Web 服务器不需要发送完整的响应。而如果内容发送了改变,使用 ETag 有助于防止资源的同时更新相互覆盖。 74 | - 如果给定 URL 中的资源更改,则一定要生成新的 ETag 值。因此 Etags 类似于指纹,也可能被某些服务器用于跟踪。比较 etags 能快速确定此资源是否变化,但也可能被跟踪服务器永久存留。 75 | - 客户端发送 If-None-Match 字段,值为服务器返回的 E-Tag,然后服务器将客户端的 Etag 与其当前版本的资源的 ETag 进行比较,如果两个值匹配(即资源未更改),服务器将返回不带任何内容的 304 修改状态,告诉客户端缓存版本可用。 76 | - Content-Encoding 77 | - Content-Encoding 是一个实体消息首部,用于对特定媒体类型的数据进行压缩。当这个首部出现的时候,它的值表示消息主体进行了何种方式的内容编码转换。这个消息首部用来告知客户端应该怎样解码才能获取在 Content-Type 中标示的媒体类型内容。 78 | - X-CDN-Edge 79 | - X-Cache 80 | - 这两个字段是 CDN 加速 81 | - Proxy-Connection 82 | - 与 Connection 类似,只不过这是代理服务器返回的响应头部字段。 -------------------------------------------------------------------------------- /2/practice/README.md: -------------------------------------------------------------------------------- 1 | # Practice 2 | 3 | ## 练习题 4 | - Q2-1 假设我们加入一个新的协议到应用层上。我们需要对其他层做什么改动? 5 | 6 | - Q2-2 请解释在客户-服务器模式中哪个实体提供服务,哪个实体接收服务? 7 | 8 | - Q2-3 在客户-服务器模式中,请解释为什么服务器应该一直运行而客户可以在需要时运行。 9 | 10 | - Q2-4 可否在一个只安装了 TCP 作为传输层协议的计算机上编写一个使用 UDP 服务的程序?请解释。 11 | 12 | - Q2-5 在周末,Alice 经常要从她家的笔记本电脑访问存储在办公室桌面的文件。上个星期,她在办公室桌面上安装了 FTP 服务器进程并在家里的笔记本上安装了 FTP 客户进程。当她周末无法访问文件时,感到很失望。哪里错了吗? 13 | 14 | - Q2-6 安装在个人计算机上的绝大多数操作系统有很多客户进程,但通常没有服务进程。请解释原因。 15 | 16 | - Q2-7 要设计一个使用客户-服务器模式的新应用。如果在客户和服务器之间只需要交换小报文而不用担心报文丢失或出错,你推荐使用什么传输层协议? 17 | 18 | - Q2-8 以下哪项可以是数据源? 19 | + a.键盘 b.显示器 c.套接字 20 | 21 | - Q2-9 源套接字地址是 IP 地址和端口号的组合。请解释每部分定义的内容。 22 | 23 | - Q2-10 请解释客户进程如何得到要插入远程套接字地址中的 IP 地址和端口号。 24 | 25 | - Q2-11 如果一个 HTTP 请求需要在服务器端运行一个程序并且将结果下载到客户服务器,这个程序是以下的 26 | + a.静态文档 b.动态文档 c.活动文档 27 | - Q2-12 假设我们设计了一个新的客户-服务器应用程序,它需要持续连接。我们能使用 UDP 作为传输层协议吗? 28 | 29 | - Q2-13 Alice 有一个视频片段,Bob 想得到它;Bob 有另一个视频片段,Alice 想得到它。Bob 创建了一个网页并在 HTTP 服务器上运行。Alice 如何得到 Bob 的视频片段?Bob 能够得到 Alice 的吗? 30 | 31 | - Q2-14 当 HTTP 服务器接收到来自 HTTP 客户的请求报文时,服务器如何知道所有头部以及跟随其后的报文主体何时到达? 32 | 33 | - Q2-15 在非持续 HTTP 连接中,HTTP 如何通知 TCP 协议报文已到达结尾? 34 | 35 | - Q2-16 在日常生活通信中,你能找到与 FTP 的控制和数据连接相似的两个分离的连接吗? 36 | 37 | - Q2-17 FTP 使用两个不同的熟知端口号用于控制和数据传输。这是否意味着为了交换控制信息和数据而创建了两个分离的 TCP 连接? 38 | 39 | - Q2-18 FTP 使用 TCP 服务交换控制信息并进行数据传输。FTP 能够为这两种连接使用 UDP 服务吗?请解释。 40 | 41 | - Q2-19 在 FTP 中,哪个实体(客户或服务器)开启(主动开启)控制连接?哪个实体开启(主动开启)数据传输连接? 42 | 43 | - Q2-20 如果控制连接在 FTP 会话结束前被中断,你认为会发生什么?它会影响数据连接吗? 44 | 45 | - Q2-21 在 FTP 中,如果客户需要从服务器站点获取一个文件并且存储一个文件到服务器站点上,这需要多少个控制连接和数据传输连接? 46 | 47 | - Q2-22 在 FTP 中,服务器可以从客户端获取文件吗? 48 | 49 | - Q2-23 在 FTP 中,服务器能够从客户端得到文件列表或目录吗? 50 | 51 | - Q2-24 FTP 可以在两个使用不同操作系统的主机之间传输文件。这是什么原因? 52 | 53 | - Q2-25 在控制连接期间,FTP 有用于交换命令和响应的报文格式吗? 54 | 55 | - Q2-26 在文件传输期间,FTP 有用于交换文件或目录/文件列表的报文格式吗? 56 | 57 | - Q2-27 在 FTP 中能够只有控制连接而没有数据连接吗?请解释。 58 | 59 | - Q2-28 在 FTP 中能够只有数据连接而没有控制连接吗?请解释。 60 | 61 | - Q2-29 假设我们需要使用 FTP 下载一个音频。我们可以在命令中指定什么文件类型? 62 | 63 | - Q2-30 HTTP 和 FTP 都可以从服务器获取文件。当我们下载文件时使用什么协议? 64 | 65 | - Q2-31 HELO 和 MAIL FROM 命令在 SMTP 中都是必要的吗?为什么? 66 | 67 | - Q2-32 在图 2-20 的文字中,信封中的 MAIL FROM 与头部的 FROM 有什么区别? 68 | 69 | - Q2-33 Alice 在长途旅行中,没有查看她的电子邮件。之后她发现丢失了一些朋友们声称已经发给她的电子邮件或附件。这其中的问题可能是什么? 70 | 71 | - Q2-34 假设一个 TELNET 客户使用 ASCII 表示字符,但是 TELNET 服务器使用 EBCDIC 代表字符。当两者字符表示不同,客户如何登录到服务器上? 72 | 73 | - Q2-35 TELNET 应用程序中没有像 FTP 或 HTTP 中允许用户传输文件或访问页面的命令。这种应用程序在哪个方面有用? 74 | 75 | - Q2-36 一台主机能够使用一个 TELNET 客户获得 FTP 或 HTTP 等其他客户-服务器应用所提供的服务吗? 76 | 77 | - Q2-37 在 DNS 中,以下哪一项是 FQDN,哪一项是 PQDN? 78 | + a.xxx b.xxx.yyy.net c.zzz.yyy.xxx.edu. 79 | 80 | - Q2-38 在基于 DHT 的网络中,假设 m = 4。如果一个结点标识符的散列值为 18,这个结点在 DHT 空间中的位置在哪里? 81 | 82 | - Q2-39 在基于 DHT 的网络中,假设结点 4 有一个文件的关键字为 18。最接近关键字 18 的结点是 20。这个文件存储在哪里? 83 | + a.按照直接方法 b.按照间接方法 84 | - Q2-40 在 Chord 网络中,我们有结点 N5 和关键字 k5。N5 是 k5 的前向结点还是后向结点? 85 | 86 | - Q2-41 在 Kademlia 网络中,标识符空间的大小为 1024。二叉树的高度(树根到叶结点的距离)是多少?每个结点的子树数量是多少?每个路由表有多少行? 87 | 88 | - Q2-42 在 Kademlia 中,假设 m = 4 并且活动结点是 N4、N7 和 N12。k3 存储在系统的哪个位置? 89 | ## 思考题 90 | - P2-1 假设一个服务器的域名是 www.common.com。 91 | + a.给出一个想要获取文件/usr/users/doc 的 HTTP 请求。客户接收 MIME 1 版、GIF 或 JPEG 图片,但是文档的存在时间不应该超过 4 天。 92 | + b.给出与 a 成功请求对应的 HTTP 响应。 93 | 94 | - P2-2 在 HTTP 中,画一幅图来给出 cookie 的应用,cookie 的应用场景是服务器只允许注册用户访问服务器。 95 | 96 | - P2-3 在 HTTP 中,画一幅图来给出网络门户中 cookie 的应用,请使用两个站点来表示。 97 | 98 | - P2-4 在 HTTP 中,画一幅图来给出 cookie 的应用,cookie 的应用场景是服务器使用 cookie 来做广告,请只用三个站点。 99 | 100 | - P2-5 请画图给出代理服务器的使用,代理服务器是客户网络的一部分: 101 | + a.给出当响应存储在代理服务器时,客户、代理服务器以及目标服务器之间的事务。 102 | + b.给出当响应不存储在代理服务器时,客户、代理服务器以及目标服务器之间的事务。 103 | 104 | - P2-6 在第 1 章,我们提到 TCP/IP 协议簇与 OSI 模型不同,它没有表示层。但是如果需要,应用层协议可以包含某些表示层定义的特征。HTTP 有表示层特征吗? 105 | 106 | - P2-7 HTTP 1.1 版将持续连接定义为默认连接。使用 RFC2616 找出客户或服务器如何将这个默认设置改为非持续连接? 107 | 108 | - P2-8 在第 1 章,我们提到 TCP/IP 协议簇与 OSI 模型不同,它没有会话层。但是如果需要,应用层协议可以包含某些会话层定义的特征。HTTP 有会话层特征吗? 109 | 110 | - P2-9 在 SMTP 中,一个发送者发送未格式化文本,请给出 MIME 头部。 111 | 112 | - P2-10 在 SMTP 中: 113 | + a.一个非 ASCII 码 1000 字节的报文使用 base64 编码。编码报文中有多少字节?有多少冗余字节?冗余字节与整个报文的比是多少? 114 | + b.一个非 ASCII 码 1000 字节的报文使用引用可打印编码。报文包含 90%ASCII 字符和 10%非 ASCII字符。编码报文中有多少字节?有多少冗余字节?冗余字节与整个报文的比是多少? 115 | + c.比较前两个情况的结果。如果报文是 ASCII 和非 ASCII 字符报文的组合,效率提高多少? 116 | 117 | - P2-11 请用 base64 编码如下报文: 118 | + 01010111 00001111 11110000 119 | 120 | - P2-12 请用引用可打印编码如下报文: 121 | + 01001111 10101111 01110001 122 | 123 | - P2-13 根据 RFC1939,POP3 会话是以下四种状态之一:关闭、认证、事务或更新。画图给出这四种状态以及 POP3 如何在这些状态之间移动。 124 | 125 | - P2-14 POP3 协议有一些基本命令(每个客户-服务器需要实现)。使用 RFC1939 中的信息,找出以下基本命令的含义和用法: 126 | + a.STAT b.LIST c.DELE 4 127 | 128 | - P2-15 POP3 协议有一些可选命令(每个客户-服务器需要实现)。使用 RFC1939 中的信息,找出以下可选命令的含义和用法: 129 | + a.UIDL b.TOP 1 15 c.USER d.PASS 130 | 131 | - P2-16 使用 RFC1939,假设 POP3 客户处于下载保持状态。如果服务器只从服务器下载两个 192 字节和 300字节报文,请给出客户和服务器之间的事务。 132 | 133 | - P2-17 使用 RFC1939,假设 POP3 客户处于下载保持状态。如果服务器只从服务器下载两个 230 字节和 400字节报文,请给出客户和服务器之间的事务。 134 | 135 | - P2-18 在第 1 章,我们提到 TCP/IP 协议簇与 OSI 模型不同,它没有表示层。但是如果需要,应用层协议可以包含某些表示层定义的特征。SMTP 有表示层特征吗? 136 | 137 | - P2-19 在第 1 章,我们提到 TCP/IP 协议簇与 OSI 模型不同,它没有会话层。但是如果需要,应用层协议可以包含某些会话层定义的特征。SMTP 或 POP3 有会话层特征吗? 138 | 139 | - P2-20 在 FTP 中,假设用户名为 John 的客户需要在服务器的目录/top/videos/general 上存储一个名为 video2的视频片段。如果选择临时端口号 56002,给出服务器和客户之间的交换的命令和响应。 140 | 141 | - P2-21 在 FTP 中,一个用户(Jane)想要使用临时端口 61017 从/usr/users/report 目录下获取一个名为 huge的 EBCDIC 文件。文件很大,以至于用户想要在传输前压缩它。给出所有命令和响应。 142 | 143 | - P2-22 在 FTP 中,一个用户(Jan)想要在目录/usr/usrs/letters 下创建一个名为 Jan 的新目录。给出所有命令和响应。 144 | 145 | - P2-23 在 FTP 中,一个用户(Maria)想要将一个名为 file1 的文件从/usr/users/report 目录移动至/usr/top/letters目录下。注意,这里有文件被重命名的情况。我们首先需要给出旧文件名然后定义新名称。给出所有命令和响应。 146 | 147 | - P2-24 在第 1 章,我们提到 TCP/IP 协议簇与 OSI 模型不同,它没有表示层。但是如果需要,应用层协议可以包含某些表示层定义的特征。FTP 有表示层特征吗? 148 | 149 | - P2-25 在第 1 章,我们提到 TCP/IP 协议簇与 OSI 模型不同,它没有会话层。但是如果需要,应用层协议可以包含某些会话层定义的特征。FTP 有会话层特征吗? 150 | 151 | - P2-26 在 Chord 中,假设标识符空间大小为 16。活动结点是 N3、N6、N8 以及 N12。给出 N6 的指针表(只给出目标关键字和后向结点列)。 152 | 153 | - P2-27 在 Chord 中,假设 N12 的后向结点是 N17。N12 是以下哪个关键字的前向结点。 154 | + a.k12 b.k15 c.k17 d.k22 155 | 156 | - P2-28 在使用 DHT 的 Chord 网络中,m = 4,请画出标识符空间,其中放置 4 个对等结点,它们的 ID 是 N3、N8、N11 以及 N13,以及三个关键字 k5、k9 以及 k14。请判断哪个结点负责哪个关键字。为每个结点创建一个指针表。 157 | 158 | - P2-29 在 Chord 网络中,m = 4,结点 N2 指针表的值如下:N4、N7、N10 以及 N12。对于以下每个关键字,首先查找 N2 是否是关键的前向结点。如果不是,应该联系哪个结点(最接近前向结点)来帮助 N2找到前向结点。 159 | + a.k1 b.k6 c.k9 d.k13 160 | 161 | - P2-30 重复文中的例 2.16,但是假设结点 N12 需要找到负责关键字 k7 的结点。提示:请记住在模 32 运算中需要进行区间检测。 162 | 163 | - P2-31 重复文中的例 2.16,但是假设结点 N5 需要找到负责关键字 k16 的结点。提示:请记住在模 32 运算中需要进行区间检测。 164 | 165 | - P2-32 在 Pastry 中,假设地址空间是 16 并且 b = 2。地址空间中有多少位?列出一些标识符。 166 | 167 | - P2-33 在 Pastry 中 m = 32 并且 b = 4,路由表以及叶子结点集的大小是多少? 168 | 169 | - P2-34 Pastry 的地址空间是 16 并且 b = 2,给出路由表的大纲。给出结点 N21 路由表中每个单元格的可能表项。 170 | 171 | - P2-35 在使用 DHT 的 Pastry 网络中,m = 4 且 b = 2,请画出游 4 个结点 3 个关键字的标识符空间,4 个结点是 N02、N11、N20 以及 N23,3 个关键字是 k00、k12 以及 k24。请判断哪个结点负责哪个关键字。也请给出每个结点的叶子结点集和路由表。尽管它不是真实的,但是假设每两个结点间的接近度是基于数值接近程度度量的。 172 | 173 | - P2-36 在之前的问题中,请回答如下问题: 174 | + a.给出结点 N02 如何回应一个寻找负责 k24 结点的请求。 175 | + b.给出结点 N20 如何回应一个寻找负责 k12 结点的请求。 176 | 177 | - P2-37 使用文中图 2-55 的二叉树,给出结点 N11 的子树。 178 | 179 | - P2-38 使用文中图 2-56 中的路由表,如果结点 N0 接收到一个查询报文,它寻找负责 k12 的结点,请解释并给出路由。 180 | 181 | - P2-39 在 Kademlia 网络中 m = 4,我们有 5 个活动结点:N2、N3、N7、N10 以及 N12。找出每个活动结点的路由表(只有一列)。 182 | 183 | - P2-40 如文中图 2-60 所示,服务器如何知道一个客户已经请求了服务? 184 | 185 | - P2-41 如文中图 2-62 所示,服务器端如何为数据传输创建一个套接字? 186 | 187 | - P2-42 假设我们想要使表 2-25 中的 TCP 客户程序更具通用性,从而能够发送字符串并处理从服务器接收到的响应,如何做到这一点? 188 | 189 | ## 2.8 模拟实验 190 | Applets 191 | 我们构建了一些 Java 小程序用于展示本章讨论的一些主要概念。强烈推荐学生激活本书网站中的这些小程序,仔细观察这些实际的协议。 192 | 193 | ### 实验作业 194 | - 在第 1 章,我们下载并安装了 Wireshark,学习它的基本特性。在本章,我们使用 Wireshark 来捕获并研究一些应用层协议。这里使用 Wireshark 来模拟六种协议:HTTP、FTP、TELNET、SMTP、POP3 以及 DNS。 195 | 196 | - Lab2-1 在第 1 个实验中,我们使用 HTTP 获取网页。我们使用 Wireshark 来捕获分组进行分析。我们学习最普通的 HTTP 报文。我们也捕获响应报文并分析它们。在实验期间,我们也研究分析一些 HTTP 头部。 197 | 198 | - Lab2-2 在第 2 个实验中,我们使用 FTP 传输一些文件。我们使用 Wireshark 捕获分组。我们展示出 FTP 使用两个分离的连接:一个控制连接和一个数据传输连接。每次文件传输活动中数据连接都会被打开然后关闭。我们也展示出 FTP 是一个不安全的文件传输协议,因为每项事务都是用明文完成的。 199 | 200 | - Lab2-3 在第 3 个实验中,我们使用 Wireshark 捕获 TELNET 协议交换的分组。如 FTP 中一样,我们能够在被捕获的分组里观察到会话中的命令和响应。正如 FTP、TELNET 易受攻击,因为它用明文发送包括口令在内的所有数据。 201 | 202 | - Lab2-4 在第 4 个实验中,我们研究运行中的 SMTP 协议。我们发送一个电子邮件,使用 Wireshark 研究客户和服务器之间交换的 SMTP 分组的内容和格式。我们检验文中讨论的 SMTP 会话中的三个阶段。 203 | 204 | - Lab2-5 在第 5 个实验中,我们研究 POP3 协议的状态和行为。我们获取存储在 POP3 服务器邮箱中的邮件,通过分析那些经过 Wireshark 的报文来观察并分析 POP3 的状态以及交换报文的类型和内容。 205 | 206 | - Lab2-6 在第 6 个实验中,我们分析 DNS 协议的行为。除了 Wireshark,许多网络实用工具可用于查找 DNS 服务器中存储的信息。在这个实验中,我们使用 dig 命令(被 nslookup 所代替)。我们也使用 ipconfig 来管理主机中缓存的 DNS 记录。当我们使用这些工具时,我们用 Wireshark 来捕获这些工具发送的分组。 207 | 208 | ## 2.9 编程作业 209 | 利用你选择的编程语言,编写源代码,编译并测试如下程序: 210 | - Prg2-1 编写程序,使表 2-22 中的 UDP 服务器程序更通用:接收请求、处理请求并发回响应。 211 | 212 | - Prg2-2 编写程序,使表 2-23 中的 UDP 客户程序更通用:能够发送客户程序创建的任何请求。 213 | 214 | - Prg2-3 编写程序,使表 2-24 中的 TCP 服务器程序更通用:接收请求、处理请求并发回响应。 -------------------------------------------------------------------------------- /3/3.1/README.md: -------------------------------------------------------------------------------- 1 | # 介绍 2 | TCP/IP 协议簇中的传输层位于应用层和网络层之间。它为应用层提供服务,并接收来自网络层的服务。传输层是客户程序和服务器程序之间的联络人,是一个进程到进程的连接。传输层是 TCP/IP 协议簇的核心;它是因特网上从一个点到另一个点传输数据的端到端逻辑传输媒介。 3 | 4 | ## 传输层服务 5 | + 传输层协议的首要任务是提供进程到进程通信(process-to-process communication)。进程是使用传输层服务的应用层实体(运行着的程序)。 6 | + 网络层负责计算机层次的通信(主机到主机通信);传输层协议负责将报文传输到正确的进程(进程到进程通信)。 7 | 8 | ## 寻址:端口号 9 | + 对通信来说,我们必须定义本地主机、本地进程、远程主机和远程进程。我们使用 IP 地址来定义本地主机和远程主机。我们使用端口号来定义本地进程和远程进程,端口号是 0 到 65535 之间的 16 位整数。 10 | + 客户程序用端口号定义它主机,这称为临时端口号,因为客户的生命周期通常很短。 11 | + 目的 IP 地址在世界范围的不同主机中确定一个主机。但主机被选定后,端口号定义了在该特定主机上的多个进程中的一个进程。 12 | + ICANN 范围 13 | + 熟知端口:端口号的范围是 0~1023,由 ICANN 分配和控制。(例如 http:80 ftp:21 ssh:22 telnet:23) 14 | + 注册端口:端口号的范围是 1024~49151,ICANN 不分配也不控制。它们可在 ICANN 注册以防重复。 15 | + 动态端口:端口号的范围是 49151~65535,这一范围内的端口号既不受控制又不需要注册,可以由任何进程使用。它们是临时或私有端口号。 16 | + 套接字地址:在 TCP 协议簇的传输层协议需要 IP 地址和端口号,它们各在一段建立一条连接。一个 IP 地址和一个端口号结合起来成为套接字地址(socket address)。 17 | + 封装与解封装:为了将报文从一个进程发送到另一进程,传输层协议负责封装和解封装报文。 18 | + 多路复用与多路分解:每当一个实体从一个以上的源接收数据时,成为多路复用(多对一);每当一个实体将数据项传递到一个以上的源时,成为多路分解(一对多); 19 | + 流量控制: 20 | + 推或拉:每当发送方生产数据项时,它无须事前获得消费者的请求就会发送它们——这种传递称为推。如果生产者在消费者请求这些数据项之后进行发送,这种传递称为拉。 21 | + 传输层流量控制:在传输层通信中,我们需要处理四个实体:发送方进程、发送方传输层、接收方传输层、接收方进程。我们最少需要两种流量控制:从发送方传输层到发送方应用层的流量控制、从接收方传输层到发送方传输层的流量控制。 22 | + 缓冲区:流量控制通常使用两个缓冲区来进行控制:一个位于发送方传输层、另一个位于接收方传输层。缓冲区是一组内存单元,它可以在发送端和接收端存储分组。消费者向发送者发送信号从而进行流量控制通信。 23 | 24 | ## 差错控制 25 | + 传输层的差错控制负责以下几个方面: 26 | + 发现并丢弃被破坏的分组; 27 | + 记录丢失和丢弃的分组并重传它们; 28 | + 识别重复分组并放弃它们; 29 | + 缓冲失序分组直到丢失的分组到达; 30 | + 序号:差错控制需要发送方传输层直到哪个分组要被重传并且接收方传输层需要知道哪个分组是重复的、哪个分组是失序的。我们可以在传输层分组中加入一个字段来保存分组的序号。 当分组被破坏或丢失,接收方传输层可按某种方式通知发送方传输层去利用序号重传分组。 31 | + 对于差错控制,序号是模 2 的 m 次方,m 是序号字段的大小,单位是比特。 32 | + 接收方可以为每一组正确到达的分组发送一个确认(ACK)。接收方可以简单地丢弃被破坏的分组。发送方如果使用计时器,它就可以发现丢失分组。当一个分组被发送,发送方就开启一个计时器。如果 ACK 在计时器超时之前没有到达,那么发送方重发这个分组。重复的分组可以被接收方默默丢弃。 33 | + 如果我们使用两个带序号的缓冲区:一个位于发送端,一个位于接收端,那么流量控制和差错控制就可以组合在一起。 34 | 35 | ## 拥塞控制 36 | + 如果网络中的负载(load,即发送到网络的分组数)大于网络的容量(网络可以处理的分组数),那么网络就可能发生拥塞。拥塞控制(congestion control)指的是一种机制和技术,它控制拥塞并将负载保持在容量以内。 37 | 38 | ## 无连接服务和面向连接服务 39 | + 无连接服务 40 | + 在无连接服务中,源进程(应用程序)需要将报文分成传输层可接受大小的数据块,并将它们一个一个地传递到传输层。传输层将每一个数据块看做彼此没有关系的单元。 41 | + 由于双方传输层没有互相协调,所以流量控制、差错控制和拥塞控制都不能在无连接服务中有效实现。 42 | + 面向连接服务 43 | + 在面向连接的服务中,首先需要建立客户与服务器之间的逻辑连接,只有连接建立之后才能进行数据交换。在数据交换之后,连接需要拆除。 -------------------------------------------------------------------------------- /3/3.2/README.md: -------------------------------------------------------------------------------- 1 | # 传输层协议 2 | 3 | ## 简单协议 4 | + 发送方的传输层从发送方的应用层接收到报文,从中建立一个分组并发送它。接收方的传输层从网络层接收到这个分组,从分组中提取报文并传递到应用层。发送方和接收方的传输层都为应用层提供传输服务。 5 | + 有限状态机 6 | + 直到应用层有报文待发送,发送端才发送分组。直到一个分组到达,接收端才将报文传递到它的应用层。 7 | + 我们可以使用两个有限状态机来表示这些要求,每个有限状态机只有一种状态,即准备状态(ready state)。 8 | + 发送方状态机保持准备状态,直到一个来自应用层进程的请求到来。当这个事件发生时,发送方状态机将报文封装在分组内,并将其发送到接收方状态机。 9 | + 接收方状态机保持准备状态,直到一个来自发送方状态机的分组到来。当这个事件发生时,接收方状态机从分组内解封装出报文,并将其发送到应用层进程。 10 | + UDP 协议是这个协议的轻微改动版本。 11 | 12 | ## 停止等待协议(发送方和接收方都使用大小为 1 的滑动窗口) 13 | + 概念 14 | + 停止-等待协议(Stop-and-Wait-protocol),它使用流量和差错控制; 15 | + 发送方和接收方都使用大小为 1 的滑动窗口。发送方在某一时刻发送一个分组,并且在发送下一个分组之前等待确认; 16 | + 为了发送被破坏分组,我们需要在每个数组分组中加入校验和。当一个分组到达接收端时,它就被检测。如果校验和不正确,分组就是被破坏的并被悄悄地丢弃。 17 | + 接收方的沉默对发送方来说是一种信号,即那个分组不是被破坏就是丢失了。 18 | + 每当发送方发送一个分组时,它都开启一个计时器。如果在计时器超时之前接收到确认,那么计时器就被关闭并且发送下一个分组(如果它有待发送分组)。 19 | + 如果计时器超时,发送方就认为分组丢失或被破坏,于是重发之前的分组。这意味着在确认到来之前,发送方都需要存储分组的备份。 20 | + 序号 21 | + 协议使用序号和确认号来防止重复分组。一个字段被假如分组头部来保存那个分组的序号。 22 | + 由于想使分组大小最小化,所以我们寻找能提供无歧义通信的最小的序号范围。 23 | + 假设我们使用 x 作为序号,我们只需要在之后使用 x + 1,不需要 x + 2。 24 | + 案例(假设发送端已经发送了带有序号 x 的分组) 25 | + 1.分组安全完整地到达接收端;接收方发送一个确认。确认到达发送端,使发送端发送下一个序号为 x + 1 的分组; 26 | + 2.分组被破坏或未到达接收端;发送方在超时后重新发送分组(序号 x)。接收方返回一个确认; 27 | + 3.分组安全完整到达接收端;接收方发送一个确认,但是确认被破坏或丢失了。发送在超时后重传分组(序号 x)。注意,这里分组是重复的。接收方可以认出这个事实,因为它等待分组 x + 1,但是收到了分组 x; 28 | + 分析:我们可以看到,由于接收方需要区分情况 1 和 3,因此需要序号 x 和 x + 1.但是不需要一个编号为 x + 2 的分组。在情况 1 中,分组可以再次被编号 x,由于 x 和 x + 1 被确认,两端都不会产生歧义。在情况 2 和 3 中,新的分组是 x + 1 而不是 x + 2。如果仅仅需要 x 和 x + 1,我们可以令 x = 0 且 x + 1 = 1。这意味着序号是 0、1、0、1、0,等额定,这称为模 2 运算。 29 | + 确认号 30 | + 在停止-等待协议中,确认号总是以模 2 运算的方式声明预期接收的下一个分组序号。 31 | + 效率 32 | + 如果我们的信道又粗(thick)又长(long),那么停止-等待协议将非常低效。对于粗信道,我们的意思是信道有很大的带宽(高数据速率);对于长信道,我们的意思是往返时间很长。这两者的乘积成为带宽延迟乘积(bandwidth-delay product)。 33 | + 停止-等待协议实际上是一种回退 N 帧协议,这种回退 N 帧协议只有两个序号且发送窗口大小为 1。 34 | 35 | ## 回退 N 帧协议(GBN,Go Back N Protocol) 36 | 37 | ## 选择性重复协议(SR,Select Repeat Protocol) 38 | + 窗口 39 | + 选择性重复发送窗口要比回退 N 帧协议要小。 40 | + 选择性重复接收窗口与回退 N 帧中的接收窗口完全不同。接收窗口的大小和发送窗口等大。选择性重复协议允许和接收窗口一样多的分组失序到来并被存储,直到有一组连续分组被传递到应用层。 41 | + 确认 42 | + 在选择性重复协议中,确认号定义了已被接收的无错分组的序号。 43 | + 在选择性重复中,发送方和接收方窗口的大小最多为 2 的 m 次方的一半。 44 | 45 | ## 双向协议:捎带 46 | + 在现实生活中,数据分组通常是双向流动的:从客户到服务器以及从服务器到客户。这意味着确认也需要沿着两个方向流动。一种称为捎带的技术被用来提高双向协议的效率。 47 | + 当一个分组携带数据从 A 到 B 时,它也携带了确认反馈,这些信息确认了来自 B 的分组已到达;当一个分组携带数据从 B 到 A 时,它也携带了确认反馈,这些信息确认了来组 A 的分组已到达。 -------------------------------------------------------------------------------- /3/3.3/README.md: -------------------------------------------------------------------------------- 1 | # 用户数据报协议 2 | + 用户数据协议(User Datagram Protocol, UDP)是无连接不可靠传输层协议。它不提供主机到主机通信,它除了提供进程到进程之间的通信之外,就没有给 IP 服务增加任何东西。 3 | 4 | ## 用户数据报 5 | + UDP 分组被称为用户数据报(user datagram),有 8 字节的固定头部,这个头部由 4 个字段组成,每个字段 2 字节(16位)。 6 | + 头两个字段定义了源和目的的端口号,第三个字段定义了用户数据报的总长,即头部加数据的长度,最后一个字段是可以携带可选校验和。 7 | 8 | ## UDP 服务 9 | + 进程到进程的通信 10 | + UDP 使用套接字地址提供进程到进程通信,这是 IP 地址和端口号的组合。 11 | + 无连接服务 12 | + UDP 发送出去的每一个用户数据报都是一个独立的数据报。 13 | + 流量控制 14 | + UDP 没有流量控制,如果需要的话,使用 UDP 的进程应该提供这个服务。 15 | + 差错控制 16 | + UDP 没有差错控制,如果需要的话,使用 UDP 的进程应该提供这个服务。 17 | + 校验和 18 | + 可以通过在接收端计算校验和发现被破坏分组并丢弃(并不会通知发送端)。 19 | + 拥塞控制 20 | + UDP 是无连接协议,它不提供拥塞控制。 UDP 假设被发送的分组很小且零星,不会在网络中造成阻塞。 21 | + UDP 和通用简单协议比较 22 | + UDP 是我们之前讨论的无连接简单协议的一个例子,区别在于它为差错检测加入了可选校验和。 23 | 24 | ## UDP 协议的应用 25 | + UDP 适合于这样的进程:它需要简单的请求-响应通信,而较少考虑流量控制和差错控制。对于需要传送成块数据的进程(如FTP)则通常不使用 UDP。 26 | + UDP 适用于具有内部流量控制和差错控制机制的进程。例如,简单文件传输协议(TFTP)的进程就包含流量控制和差错控制。它可很容易地使用 UDP。 27 | + 对多播来说,UDP 是一个合适的传输协议。多播能力已嵌入到 UDP 软件中,但没有嵌入到 TCP 软件中。 28 | + UDP 可用于管理进程,如 SNMP。 29 | + UDP 可用于某些路由选择更新协议,如路由选择信息协议(RIP)。 30 | + UDP 通常用于交互实时应用,这些应用不能忍受接收报文之间的不一致延迟。 -------------------------------------------------------------------------------- /3/3.4/README.md: -------------------------------------------------------------------------------- 1 | # 传输控制协议 2 | 传输控制协议(Transfer Control Protocol,TCP)是一个面向连接可靠的协议。TCP 显式定义了连接建立、数据传输以及连接拆除阶段来提供面向连接服务。TCP 使用 GBN 和 SR 协议的组合来提供可靠性。为了实现这个目的,TCP 使用校验和(为差错发现)、丢失或被破坏分组重传、累积和选择确认以及计时器。 3 | 4 | ## 流传递服务 5 | + TCP 允许发送进程以字节流形式传递数据,并且接收进程也以字节流形式接收数据。TCP 建立一种环境,在这种环境中,两个进程好像由一个假想的”管道“连接,这个管道通过因特网传送这些进程的数据。 6 | + 发送和接收缓冲区 7 | + 因为发送和接收进程可能以不同的速度写入和读出数据,所以 TCP 需要用于存储的缓冲区。 8 | + 每个方向都存在一个缓冲区:发送缓冲区和接收缓冲区。 9 | + 这些缓冲区也用于 TCP 流量和差错控制机制。 10 | + 发送缓冲区:灰色存储单元的字节被确认后,这些存储单元可以回收并且对发送进程可用。 11 | + 回收缓冲区:当某个字节被接收进程独处以后,这个存储单元可被回收,并加入到空存储单元池中。 12 | + IP 层作为 TCP 服务的提供者,需要以分组的方式而不是字节流的方式发送数据。在传输层,TCP 将多个字节组合在一起成为一个分组,这个分组称为段(segment)。 13 | + TCP 提供全双工服务,即数据可以在同一时间双向流动。每一方向 TCP 都有发送和接收缓冲区,它们能在双向发送和接收段。 14 | + 逻辑连接 15 | + 在两个 TCP 之间建立一个连接; 16 | + 在两个方向交换数据; 17 | + 连接终止; 18 | + TCP 是一种可靠的传输协议。它使用确认机制来检查数据是否安全和完整的到达。 19 | 20 | ## TCP 的特点 21 | + TCP 在段的头部采用称为序号(sequence number)和确认号(acknowledgment number)的两个字段。这两个字段指的是字节序号,而不是段序号 22 | + 字节序号 23 | + TCP 为在一个连接中传输的所有数据字节(八位字节)编号。在每个方向上序号都是独立的。 24 | + 当 TCP 接收来自进程(应用层)的一些数据字节时,TCP 将它们存储在发送缓冲区中并给它们编号。 25 | + TCP 在 0 到 2 的 32 次方 - 1 之间生成一个随机数作为第一个字节的序号。(例如,如果随机数是 1057,而且发送的全部字节个数是 6000,那么这些字节序号是 1057~7056。 26 | + 在每个连接中传送的字节都由 TCP 编号,序号开始于一个随机产生的数。 27 | + (段)序号 28 | + 第一段的序号是初始序号(initial sequence number,ISN),这是一个随机数。 29 | + 其他段的序号是之前段的序号加之前段携带的字节数(实际上的或想象的)。之后,我们将给出一些控制端,它们被认为携带了一个想象字节。 30 | + 一个段的序号字段的值定义了该段包含的第一个字节的序号。 31 | + 确认号 32 | + 确认号定义了该方预期接收的下一个字节的序号。 33 | + 术语“累积”指的是,如果一方使用 5643 作为确认号,则表示它已经接收了所有从开始到序号为 5642 的字节。 34 | + 段中确认字段的值定义了通信一方预期接收的下一个字节的编号。确认号是累积的。 35 | + 段 36 | + 段包含 20 字节到 60 字节的头部,接下来是应用程序的数据。 37 | + 源端口地址; 38 | + 目的端口地址; 39 | + 序号:这个 32 位的字段定义了一个数,它分配给段中数据的第一个字节; 40 | + 确认号:这个 32 位的字段定义了段的接收方期望从对方接收的字节号; 41 | + 头部长度; 42 | + 控制:这个字段定义了 6 种不同的控制位或标记; 43 | + URG:紧急指针有效; 44 | + ACK:确认有效; 45 | + PSH:请求推送; 46 | + SYN:同步序号; 47 | + FIN:终止连接; 48 | + 窗口大小:这个字段定义对方必须维持的窗口的大小。这个值通常称为接收窗口(rwnd),它由接收方确定。此时,发送必须服从接收端的支配。 49 | + 校验和:与 UDP 协议一样,用于校验,但是 TCP 协议中,该值为必填项。 50 | + 紧急指示符:这个 16 位的字段只有当仅仅标置位时才有效,这个段包含了紧急数据。 51 | + 选项; 52 | 53 | ## TCP 连接 54 | + TCP 是一个面向连接的协议。面向连接的传输协议在源端和目的端之间建立一条虚路径。然后,属于一个报文的所有段都沿着这条虚路径发送。 55 | + 在 TCP 中,面向连接的传输需要三个过程:连接建立、数据传输和连接终止。 56 | 57 | ### TCP - 连接建立 58 | + 当客户(应用程序)想与服务器(应用程序)使用 TCP 作为传输层协议建立连接时。 59 | + 服务器程序告诉它的 TCP,它已准备好接收一个连接。这称为被动打开(passive open)。 60 | + 客户程序发出请求进行主动打开(active open)。想要与服务器进行连接的客户告诉它的 TCP,它需要连接到指定的服务器。 61 | + 三次握手 62 | + 客户发送的第一个段是 SYN 段。这个段仅有 SYN 标志被置位,它用于序号同步。它占用一个序号。SYN 段是一个控制段且不携带数据。然而,它消耗一个序号,因为它需要被确认。 63 | + 服务器发送第二个段,两个标志位 SYN 和 ACK 置位的段,即 SYN + ACK 段。这个段有两个目的。首先,它是另一方向通信的 SYN 段。服务器用这个段来初始化序号,这个序号用来给从服务器发给客户的字节编号。服务器也通过给 ACK 置位并展示下一个序号来确认接收来自客户的 SYN 段,这里的下一序号是服务器预期从客户接收的序号。因为它包含确认,它也需要定义接收窗口,即 rwnd(客户使用)。因为这个段起到了 SYN 段的作用,它需要被确认。SYN + ACK 段不携带数据,但它占用一个序号。 64 | + 客户发送第三个段。这个段仅仅是一个 ACK 段。它使用 ACK 标志和确认序号字段来确认收到了第二个段。注意,如果不携带数据,ACK 段没有占用任何序号,但是一些实现允许第三个段在连接阶段从客户端携带第一块数据。 65 | + SYN 泛洪攻击 66 | + 一个恶意的攻击者将大量的 SYN 段发送到一个服务器,在数据报中通过伪装源 IP 地址假装这些 SYN 段是来自不同的客户端,此时就是 SYN 泛洪攻击。 67 | + 假定客户机发出主动打开,服务器分配必要的资源,如生成转换控制块(TCB)和设置计时器等。然后服务器发送 SYN+ACK 段给这些假客户,但这些段都丢失了。 68 | + 。然而,当服务器等待第三段握手过程时,许多资源被占用但没有被使用。 69 | + 如果在短时间内,SYN 段的数量很大,服务器最终会耗尽资源而崩溃。 70 | + 这种 SYN 泛洪攻击属于一种称为拒绝服务攻击(denial of service attack)的安全攻击类型,其中,一个攻击者独占系统如此多的服务请求使得系统崩溃,拒绝对每个请求提供服务。 71 | 72 | ### TCP - 数据传输 73 | + 连接建立后,可进行双向数据传输,客户端与服务器双方都可发送数据和确认。 74 | + 客户端发送的数据段有 PSH(推送)标志,所以服务器 TCP 知道在接收到数据时立刻传递给服务器进程。(来自服务器的端没有设置推送标志) 75 | + 发送方的 TCP 使用缓冲区来存储来自发送方应用程序的数据流,接收方的 TCP 在数据到达时也将数据进行缓存,并当应用程序准备就绪时或当接收端 TCP 认为方便时将这些数据传递给应用程序。这种灵活性增加了 TCP 的效率。(这个特性可选择用或不用) 76 | + 在某些情况下,应用程序需要发送紧急(urgent)字节,某些字节需要另一端的应用以特殊方式对待。解决方法是发送一个 URG 标志置位的段。发送应用程序告诉发送端的 TCP,这块数据是紧急的。发送端 TCP 创建段,并将紧急数据放在段的开始。 77 | 78 | ### TCP - 连接终止 79 | + 当前大多数对连接终止的实现有两个方法:三次握手和带有半关闭选项的四次挥手。 80 | + 三次握手 81 | + 在正常情况下,在客户进程接收到一个关闭命令后,客户的 TCP 发送第一个段:FIN 段,即其中的 FIN 标志置位。FIN 段可包含客户机要发送的最后数据块,如果 FIN 端不携带数据,则该段占用一个序号。 82 | + 服务器 TCP 接收到 FIN 段后,通知它的进程,并发送第二个段:FIN + ACK 段,证实它接收到来自客户端的 FIN 段,同时通知另一端连接关闭。这个段还可以包含来自服务器的最后数据块。如果它不携带数据,则这个段仅占用一个序号。 83 | + 客户端的 TCP 发送最后一段,即 ACK 段,来证实它接收到来自服务器的 FIN 段。这个段包含确认号,它是来自服务器的 FIN 端序号加 1。这个段不携带数据也不占用序号。 84 | + 四次挥手 85 | + 在 TCP 中,一端可以停止发送数据后,还可以持续接收数据,这就是所谓的半关闭。 86 | + 在三次握手的第二步中,仅发送 ACK 段,在服务器向客户端数据传输完毕后,再由服务器向客户端发送 FIN 段,将第二步拆解成两两步,就是四次挥手。 87 | 88 | ### TCP - 连接重置 89 | + 在一端的 TCP 可能拒绝连接请求,可能终止已存在的连接,也可能结束空闲连接。所有这些都通过 RST(重置)标志完成。 90 | 91 | ## TCP 中的窗口 92 | + TCP 在每个方向的数据传输上使用两个窗口(发送窗口和接收窗口),这意味着双向通信有四个窗口。 93 | + TCP 的发送窗口与选择性重复协议中的发送接口的不同之处 94 | + 窗口相关的实体本质不同;在 SR 中窗口的大小是分组的数量,但是 TCP 中的窗口大小是字节的数量。尽管 TCP 中实际传输是一段接一段发生的,但是控制窗口的变量是以字节(Byte)为单位的。 95 | + 在某些实现中,TCP 可以存储来自进程的数据并且在之后发送它们,但是我们假设发送 TCP 一旦从进程中接收到数据就能够发送数据段。 96 | + 选择性重复协议可能为每个被发送的分组使用多个计时器,而 TCP 只使用一个计时器。 97 | + TCP 中的接收窗口与 SR 中的接收窗口的不同: 98 | + TCP 允许接收进程以自己的速率拉数据。这意味着接收方被分配缓冲区可以被已接收且确认的字节占据,但是它们正在等待被接收进程拉过去。接收窗口大小总是小于或等于缓冲区大小。接收窗口大小决定了接收窗口在被淹没(流量控制)之前可以从发送方接收的字节数量。换言之,接收窗口通常称为 rwnd, rwnd = 缓冲区大小 - 等待被拉字节数量。 99 | + TCP 的新版本使用了累积确认和选择性确认。 100 | 101 | ### 流量控制 102 | + 流量控制反馈是从接收方 TCP 传输到发送方 TCP 并且从发送方 TCP 上升到发送方进程。接收方 TCP 控制发送方 TCP,发送方 TCP 控制发送方进程。当窗口已满,接收方拒绝发送方 TCP 的数据。 103 | + 打开以及关闭窗口 104 | + 为了实现流量控制,TCP 迫使发送方和接收方调整它们的窗口大小,尽管当连接建立时两方的缓冲区大小是固定的。当更多的数据从发送方到来时,接收方窗口关闭(向右移动左沿);当更多的数据被进程拉进来时,它打开窗口(向右移动右沿); 105 | + 窗口收缩 106 | + 接收窗口不能收缩,发送方可以收缩(部分实现不能收缩)。 107 | + 接收方需要通过下面的公式来防止发送窗口收缩: 108 | + 新 ackNo + 新 rwnd >= 上一个 ackNo + 上一个 rwnd 109 | + 窗口关闭:接收方可以通过发 rwnd 为 0 来临时关闭窗口,这只会在某些原因下发生,即接收方在一段时间内不想接收来自发送方的任何数据。 110 | 111 | ### 差错控制 112 | + TCP 是一个可靠的传输层协议。这意味着将数据流传递给 TCP 的应用程序依靠 TCP 将整个数据流传递给另一端的应用程序,并且是按序的、无差错的、没有任何一部分丢失或重复的。 113 | + 校验和:每个段都包括校验和字段,用来检查损坏的段,如果段被损坏,它将被目的端 TCP 丢弃,并被认为是丢失了。 114 | + 确认:TCP 使用确认方法来证实收到了数据段。不携带数据但占用序号的一些控制端也要确认,但是 ACK 段是不确认的,也不占用序号。 115 | + 确认类型: 116 | + 累积确认(ACK):最初的 TCP 被设计成累积确认接收段。接收方通告下一个预期接收的字段,忽略所有失序段。 117 | + 选择性确认(SACK):SACK 并不替代 ACK,但它向发送方报告额外的信息,SACK 报告失序字节块,也报告重复字节块即接收了一次以上的字节块。 118 | + 接收端产生确认的规则: 119 | + 当终端 A 向终端 B 发送一个数据段时,它必须包含(捎带)一个确认,这个确认给出下一个期待接收的序号。这个规则降低了所需段的数量,因此减少了通信量。 120 | + 当接收方没有数据要发送并接收到一个有序段(带有预期序号),并且之前的段已经被确认,那么接收方延迟发送 ACK 段直到另一个段到达,或者过一段时间之后(通常 500 ms)。换言之,如果只有一个未完成的有序段,那么接收方需要延迟发送 ACK 段。这个规则减少了 ACK 段。 121 | + 当一个带有接收方预期序号的段到达,且之前一个有序段未被确认,接收方立即发送一个 ACK 段。换言之,任何时候不能多于两个有序的未确认段存在。这防止了不必要的重传,它可能引起网络阻塞。 122 | + 当一个失序段到达,且它的序号大于预期,那么接收方立即发送一个 ACK 段,声明下一个预期段的序号。这导致了丢失段的快速重传。 123 | + 当一个丢失段到达,接收方发送一个 ACK 段,声明下一个预期序号。这通知接收方被报告丢失的段已经到达。 124 | + 如果重复段到达,接收方丢弃段,但是立即发送一个确认指出下一个预期的 有序段。这个方法解决了当 ACK 丢失时的一些问题。 125 | + 失序段 126 | + 数据可以失序到达,并被接收的 TCP 临时存储。但是 TCP 确保传递给进程的段是非失序的;接收方 TCP 仅将有序的数据传递给进程。 127 | 128 | ### TCP 拥塞控制 129 | + 拥塞窗口 130 | + rwnd 能保证接收窗口不会被接收字节溢出,但是不能保证中间缓冲区、路由器中的缓冲区不会变的拥塞。路由器中的拥塞是在 IP 域中,但是 IP 是一个没有拥塞控制的简单协议,TCP 自身需要为这个问题负责。 131 | + TCP 不能忽略网络中的拥塞问题,它不能过分激进地向网络中发送段;也不能过于保守,这样的话不能有效的利用好网络可用带宽。 132 | + TCP 使用称为拥塞窗口(congestion window,cwnd)的变量来控制段的发送数量,这个变量的值由网络中的拥塞情况所控制。 133 | + 拥塞检测 134 | + TCP 发送使用两个事件作为网络中拥塞的标志:超时和接收到三次重复 ACK。 135 | + 接收到三次重复 ACK(四个带有相同确认号的 ACK)。当 TCP 接收方发送一个重复 ACK,这是段已经被延迟的信号,但是发送三次重复 ACK 是丢失段的标志,这可能是由于网络拥塞造成的。 136 | + TCP 发送方只使用一种反馈来从另一端检测拥塞:即 ACK。没有周期性地、及时地接收到 ACK,这导致超时,是严重拥塞的标志;接到三次重复 ACK 是网络中轻微拥塞的标志。 137 | + 拥塞策略:TCP 处理拥塞的一般策略基于三个算法 138 | + 慢启动:指数增加; 139 | + 拥塞避免:加性增加; 140 | + 快速恢复:加性增加; 141 | + 三种 TCP 版本 142 | + Taho TCP:慢启动和拥塞避免; 143 | + Reno TCP:慢启动、拥塞避免和快速回复; 144 | + NewReno TCP:优化; 145 | 146 | ### TCP 计时器 147 | + 为了更平稳地执行操作,绝大多数 TCP 实现使用至少四种计时器:重传、坚持、保活和时间等待计时器。 148 | + 重传计时器:为了重传丢失的段,TCP 使用一种重传计时器(在整个连接期间)处理重传超时(RTO),即对一个端的确认等待时间。 149 | + 坚持计数器:为了处理 0 窗口大小通告引起的死锁问题,TCP 为每个连接使用坚持计时器。当发送方 TCP 接收一个窗口大小为 0 的确认时,开启坚持计时器。当坚持计时器到时,发送方 TCP 发送一个特殊的段,称为探测(probe)。这个段只包含一字节的新数据。它有一个序号,但是序号从不被确认;在为剩余的数据计算序号时它甚至被忽略。探测报文引发接收方 TCP 重发确认。 150 | + 保活计时器:保活计时器(keep-alive timer)通常在某些实现中使用,来防止两个 TCP 之间的长期空闲连接。 151 | + 时间等待计时器:时间等待(TIME-WAIT)计时器在连接终止期间使用。 -------------------------------------------------------------------------------- /3/experiment/README.md: -------------------------------------------------------------------------------- 1 | # TCP(Transfer Control Protocol) 抓包笔记 2 | 3 | ## 头部字段 4 | - Source Port: 16bits 5 | - 源主机端口号,源主机端口号一般由客户端随机在一个范围内挑选一个空闲的端口号,不是固定的。 6 | - 这是一个 16 位的字段,它定义了在主机中发送该段的应用程序的端口号。 7 | - Destination Port: 16bits 8 | - 目的主机端口号,这个端口号一般是在连接之前需要为客户端指定的一个固定端口号,这个端口号一般是固定的(服务器进程的端口号)。 9 | - 这是一个 16 位的字段,它定义了在主机中接收该段的应用程序的端口号。 10 | - Sequence Number: 32bits 11 | - 序号(发送),表示的是这个段中的第一个字节的序号。如果 SYN 字段已经存在的话,则序号就是 SYN 的初始值加一; 12 | - 用来表示从 TCP 发送端和向 TCP 接收端发送的数据字节流,它表示在这个报文段中的第一个数据字节在数据流中的序号;主要用来解决网络报乱序的问题; 13 | - Acknowledgment Number: 32bits 14 | - 序号(确认),如果设置了 ACK 标志位,这个字段所包含的值表示下一次期望收到的字节流序号,建立连接后该字段将会始终被发送; 15 | - 32 位确认序列号包含发送确认的一段所期望收到的下一个序号,因此,确认序号应当是上次已成功收到的数据字节序号加 1。不过,之后当标志位中的 ACK 表示为 1 时,该确认序列号的字段才有效,主要用来解决不丢包的问题。 16 | - Data Offset: 4bits 17 | - 数据偏移字段,表示首部字段偏移多少个字节才是内容,4 bits 可以表示 15 个数字,每个数字表示 4 个字节,总共可以表示 4 * 15 = 60 byte,因此 TCP 最多有 60 字节的首部。 18 | - TCP Flags:6 bits 19 | - TCP 首部中有 6 个标志比特,它们中的多个可同时被设置为 1,主要是用于操控 TCP 的状态机的 20 | - URG:此标志表示 TCP 包的紧急指针域有效,用来保证 TCP 连接不被终端,并且督促中间层要尽快处理这些数据; 21 | - ACK:此标志表示应答域(Acknowledgment Number)有效,告知发送端数据接收成功并将 Acknowledgment Number 的值设置为下一次期望收到的字节流序号; 22 | - PSH:这个标志位表示 Push 操作。所谓 Push 操作就是指在数据包到达接收端以后,立即传送给应用程序,而不是在缓冲区中排队; 23 | - RST:这个标志位表示连接复位请求。用来复位那些产生错误的链接,也被用来拒绝错误和非法的数据报; 24 | - SYN:表示同步序号,用来建立连接;也用于差错控制; 25 | - FIN:表示发送端已经到达数据末尾,也就是说双方的数据传送完成,没有数据可以传送了,发送 FIN 标志位的 TCP 数据包后,连接将被断开。 26 | - Window: 16 bits 27 | - 窗口大小:在 TCP 报文段首部中,”窗口大小“字段通常用于告知对方自己的能够接受的数据量大小。窗口本质就是一个缓冲区 Buffer,该字段的值用于告知对方自己剩余的可用缓冲区大小。在每一个 TCP 报文段中都会通过”窗口“字段告知对方自己的所能接受数据的大小。窗口大小通常用滑动窗口流量控制。 28 | - MSS:MSS 是报文中 TCP 段中数据部分的最大长度,如果上层交付下来的数据超过 MSS 就要对交付下来的数据进行分段。在 TCP 连接的第一次、第二次握手中会分别告知对方 MSS,从而起到通信双方协商 MSS 的结果。 -------------------------------------------------------------------------------- /4/4.1/README.md: -------------------------------------------------------------------------------- 1 | # 网络层介绍 2 | + TCP/IP 协议簇中的网络层负责主机到主机之间的报文传递。 3 | + 因特网是互联网,是多个 LAN 和 WAN 的组合。 4 | 5 | ## 网络层服务 6 | + 分组:网络层负责在源端将负载(从上层接收到的数据)封装进网络层分组并且在目的端从网络层分组中解封负载。换言之,网络层的一个责任是从源端向目的端携带数据而不改变或使用它。 7 | + 路由:网络层负责将分组从源端路由到目的端路由,网络层负责寻找最佳路由。(通过某些路由协议) 8 | + 转发:当路由器从它连接的网络接收到一个分组时,它需要将分组转发到另一个所连接的网络上(在单播路由中)或者转发到多个自己所连接到的网络上(在多播路由中)。 9 | + 差错控制:一般由上层协议提供,也可通过 ICMP 辅助协议提供。 10 | + 流量控制:一般由上层协议提供,尽量使网络层简单; 11 | + 拥塞控制:一般由上层协议提供,尽量使网络层简单; 12 | + 服务质量:绝大多数在上层实现; 13 | + 安全:IPSec; 14 | 15 | ## 分组交换 16 | + 路由器是一个创建了输入端口和输出端口(或一组输出端口)连接的交换机,就像将输入连接到输出电流流动的开关。 17 | + 数据通信交换技术被分为两大类:电路交换与分组交换。网络层只使用分组交换,因为这一层的数据单位是分组。 18 | + 在网络层,来自上层的报文被分割成可管理的分组,每个分组从网络中发送。 19 | 20 | ### 数据报方法:无连接服务 21 | + 当网络层提供无连接服务时,因特网中每个正在传送的分组都是一个独立的实体;属于同一个报文的多个分组之间没有联系。这种网络中的交换机称为路由器。 22 | + 每个分组都是基于其头部信息进行路由的:源地址和目的地址。目的地址定义了它应该去哪里,源地址定义了它从哪里来。 23 | + 在数据报方法中,转发决策基于分组的目的地址。 24 | 25 | ### 虚电路方法:面向连接服务 26 | + 在面向连接服务(也称作虚电路方法)中,属于同一报文中的所有分组存在联系。在报文中的所有数据报被发送之前,应该建立虚连接从而定义数据报的路径。在连接建立以后,数据报可以沿着相同的路径发送。在这种类型服务中,分组不仅必须包含源和目的地址,也必须包含流标号,这是一个虚电路标识符,它定义了分组应该经过的路径。 27 | + 为了创建面向连接服务,使用一个三阶段过程:建立、数据交换和拆除;在虚电路方法中,转发策略基于分组的标签; 28 | + 建立阶段: 29 | + 在建立阶段,路由器为虚电路创建了一个表格项;两个辅助分组需要在发送方和接收方之间交换:请求分组与确认分组。 30 | + 请求分组:一个请求分组从源端发送到目的端。这个辅助分组携带源和目的地址。 31 | + 确认分组:一种特殊的分组,称为确认分组,它完成了交换表中的表格项。 32 | + 数据传输阶段: 33 | + 在所有路由器为特定虚电路创建好它们的转发表之后,属于同一报文的网络层分组可以被一个接一个地发送。 34 | + 报文中所有的分组都是按照相同的标签序列,并且分组是有序到达目的端的。 35 | + 拆除阶段: 36 | + 在拆除阶段,在所有分组发送到 B 之后,源 A 发送一个成为拆除分组的特殊分组。目的 B 以确认分组回复。所有路由器从它们的表格中删除相应的项。 37 | 38 | ## 网络层性能 39 | 从源到目的地分组会遭遇延迟,网络中的延迟可以分为四类:发送延迟、传播延迟、处理延迟以及排队延迟。 40 | 41 | ### 延迟 42 | + 发送延迟 43 | + 一台源主机或路由器不能立即发送分组。发送方需要将分组中的位一个接一个地发到线上。 44 | + Delay(tr) = (分组长度)/(发送速度) 45 | + 传播延迟 46 | + 传播延迟是在传播介质中一个位从 A 点到 B 点所消耗的时间。 47 | + Delay(pg) = (距离)/(传输速度) 48 | + 处理延迟 49 | + 处理延迟是路由器或目的主机从它的输入端接收分组、去除头部、执行差错检测程序并将分组传递到输出端口(在路由器情况下)或将分组传递到上层协议(在目的主机情况下)所需要的时间。 50 | + Delay(pr) = 在路由器或目的主机中处理分组所需的时间 51 | + 排队延迟 52 | + 排队延迟通常在路由器中发生。 53 | + Delay(qu) = 在路由器中输入和输出队列中分组的等待时间 54 | + 总延迟 = (n + 1)(Delay-tr + Delay-pg + Delay-pr) + (n)(Delay-qu) 55 | 56 | ### 吞吐量 57 | + 网络中任意点的吞吐量被定义为一秒内通过这个点的位的数量,事实上是那一点的数据发送速率(TR)。 58 | + 吞吐量 = 最小值{TR1, TR2, ···TR-n} 59 | 60 | ### 分组丢失 61 | + 另一个严重影响通信性能的问题是发送期间丢失的分组数量(可使用 ACK 机制来防止丢失)。 62 | 63 | ## 网络层拥塞 64 | 我们将拥塞控制机制分为两大类:开环拥塞控制(预防)和闭环拥塞控制(消除)。 65 | + 开环拥塞控制 66 | + 重传策略; 67 | + 窗口策略; 68 | + 确认策略; 69 | + 丢弃策略; 70 | + 许可策略; 71 | + 闭环拥塞控制:在拥塞发送之后,采用闭环拥塞控制可以缓解拥塞情况。 72 | + 背压:背压技术是一种控制机制。在这种技术中,一个拥塞点停止接收来自直接上行结点或一些近邻结点的数据。背压技术仅用于虚电路网络。 73 | + 抑制分组:它是一个分组,该分组由结点发送给源端,通知它发送拥塞的情况。警告报文直接发送给源站点,中间的路由器不进行任何处理。 74 | + 隐含信令:在隐含信令中,拥塞结点与源端之间或结点与源端之间没有通信。源端能从其他有关征兆中察觉出在网络某处有拥塞(如 ACK 未收到或重复收到)。 75 | + 显式指令:发生拥塞的结点能发送一种显式信令通知源端或目的端发送了拥塞。在抑制分组方法中,有一个单独的分组用于实现此目的;而在显式信令方法中,信号包含在携带数据的分组中。 76 | 77 | ## 路由器的结构 78 | 我们可以说路由器有四个元件:输入端口、输出端口、路由处理器以及交换结构。 -------------------------------------------------------------------------------- /4/4.2/README.md: -------------------------------------------------------------------------------- 1 | # 网络层协议 2 | 3 | 网络层可以看做是一个主要协议以及三个辅助协议。主要协议即因特网协议第四版(IPv4)负责网络层的分组、转发以及传递。因特网控制报文协议第四版(Internet Control Message Protocol version 4, ICMPv4)帮助 IPv4 处理一些网络层传递中可能发生的错误。因特网组管理协议(Internet Group Management Protocol,IGMP)用于帮助 IPv4 多播。地址解析协议(ARP)用来将网络和数据链路层连接起来。 4 | 5 | ## IPv4 数据报格式 6 | IP 使用的分组称为数据报(datagram)。包含以下字段: 7 | - 版本号:这 4 位版本号(VER)字段定义 IPv4 协议的版本,值为 4; 8 | - 头部长度:这 4 位头部长度(HLEN)字段以 4 字节定义数据报头部的总长度; 9 | - 服务类型:它定义了数据报如何被处理; 10 | - 总长:这个 16 位字段定义了以字节计算的 IP 数据报总长度(头部加上数据)。 11 | - 标识、标记以及分段偏移:当数据报大于底层网络可以携带的大小时,这三个字段和 IP 数据报的分段有关; 12 | - 生存时间:生存时间(TTL)字段用于控制数据报访问的最大跳数(路由器); 13 | - 协议:在 TCP/IP 中,分组的数据段称为负载,它从另一个协议中携带整个分组;当源端 IP 当负载被封装到数据报中时,相应协议号被插入到这个字段;当数据报到达目的端,这个字段的值帮助定义负载应该被传递到哪个协议; 14 | - 校验和:IP 使用校验和字段来检查头部,但是不检查负载; 15 | - 源和目的地址:这个 32 位源和目的地址字段分别定义了源端和目的端的 IP 地址; 16 | - 选项:选项可以用来进行网络测试和调试; 17 | - 负载:负载或数据是创建数据报的主要原因,负载是来自使用 IP 服务的其他协议的分组; 18 | 19 | ### 分段 20 | 一个数据报可以通过几个不同的网络进行传输。每一个路由器将它所接收到的帧拆封成 IP 数据报,对它进行处理,然后再将它封装成另外一个帧。 21 | 22 | - 最大传输单元(maximum transfer unit, MTU) 23 | - IP 数据报的最大长度为 65535 字节; 24 | - 一个数据报可能在到达最终目的端之前被多次分段; 25 | - 与分段相关的字段 26 | - 标识(identification):16 位标识字段用于识别一个从源主机发出的数据报; 27 | - 标记(flag):最左侧的位是保留位(不使用)。第二位(D位)成为不分段位,用于控制是否进行数据分段; 28 | - 分段偏移字段(fragmentation offset):13 位是分段便宜字段标识这个分段在整个数据报中的相对位置。 29 | 30 | ### IPv4 数据安全 31 | 三个安全问题: 32 | - 分组嗅探; 33 | - 分组修改; 34 | - IP 欺骗; 35 | 36 | ## IPv4 地址 37 | - 本机主机地址:0.0.0.0/32 称为本机主机地址; 38 | - 有限广播地址:255.255.255.255/32 称为有限广播地址。当路由器或主机需要向网络中所有设备发送一个数据报时会使用到这个地址。 39 | - 回送地址:127.0.0.0/8 称为回送地址,这个块中的地址用于测试机器中的一个软件; 40 | - 私有地址:10.0.0.0/8、172.16.0.0/12、192.168.0.0/16、169.254.0.0/16 属于私有地址; 41 | - 多播地址:224.0.0.0/4; 42 | 43 | ### 动态主机配置协议(DHCP) 44 | - DHCP 在因特网中有广泛的应用,它经常被称为即插即用协议。网络管理员可以配置 DHCP 来将永久 IP 地址分配到主机和路由器上。DHCP 也可以被配置来按需为主机提供临时 IP 地址。第二个功能是为旅行者提供临时 IP 地址。 45 | - DHCP 是一个客户-服务器协议,在发送请求时,源地址为 0.0.0.0(本机),目的地址为255.255.255.255(广播地址),DHCP 协议使用两个熟知端口号 67 和 68 来避免广播响应带来的问题,也会通过事务 ID 来区分不同的响应。 46 | - 差错控制:DHCP 要求 UDP 使用校验和。为了防止几个主机需要重传请求时(例如,在停电之后)造成的拥塞,DHCP 迫使客户使用随机数来设置它的计时器。 47 | 48 | ### NAT 49 | - 私有网络使用私有地址。将这个网络与全局地址连接在一起的路由器使用一个私有地址和一个全局地址。 50 | - 在最简单的情况下,一个转换表只有两列:私有地址和外部地址(分组的目的地址)。当路由器转换外发分组的源地址时,它也记录其目的地址——分组去往的地方。当响应从目的端返回时,路由器使用分组的源地址(作为外部地址)来找出分组的私有地址。 -------------------------------------------------------------------------------- /4/4.x/README.md: -------------------------------------------------------------------------------- 1 | # 对重要知识点的补充 2 | 3 | ## 多播 4 | - 单播:在单播中,只有一个源端和一个目的端网络。源端和目的端网络的关系是一对一的。 5 | - 多播:在多播中,存在一个源端和一组目的端,其关系是一对多的。 6 | - 当今多播有很多应用,如何访问分布式数据库、信息发布、电话会议和远程学习。 7 | 8 | ## IPv6 9 | - 由于 IPv4 地址耗尽以及这个协议的其他缺点在 20 世纪 90 年代促生了 IP 协议新版本(IPv6) 10 | - IPv6 的主要变化: 11 | - 更大的地址空间:IPv6 地址是 128 位长。与 32 位长的 IPv4 地址相比,其地址空间增加了很多。 12 | - 更好的头部格式; 13 | - 新的选项; 14 | - 允许扩展; 15 | - 支持资源分配; 16 | - 支持更多的安全性; 17 | - 为了更好的从 IPv4 过渡到 IPv6,主机可以使用双协议栈,同时运行 IPv4 和 IPv6。 18 | 19 | ## 总结 20 | - 因特网由很多网络(或链路)组成,它通过连接设备相互连接,每个连接设备都起到路由器或交换机的作用。传统式在网络中使用两种交换:电路交换和分组交换。网络层被设计成分组交换网络。 21 | - 网络层通过底层物理网络监管分组的处理。分组的传递可以是直接的也可以是间接的。这里定义了两类转发:基于 IP 数据报目的地址的转发以及基于 IP 数据报附加标签的转发。 22 | - IPv4 是一个不可靠无连接协议,它负责源端到目的端传递。IP 层中的分组称为数据报。TCP/IP 协议簇的 IP 层所使用的标识符称为 IP 地址。一个 IPv4 地址 32 位长,分为两部分:前缀和后缀。块中所有地址都有相同的前缀,每个地址有一个不同的后缀。 23 | - 因特网控制报文协议(ICMP)支持不可靠无连接因特网协议(IP)。 24 | - 为了能够路由分组,路由器需要转发表。路由选择协议是特定的应用程序,它负责更新转发表。 25 | - 多播是将相同的报文同时发送给一个以上接收者。收集本地成员关系组信息设计了因特网管理协议(IGMP)。 26 | - IPv6,因特网协议的最新版本,有 128 位地址空间。IPv6 使用十六进制冒号表示法,可以使用缩短形式。 -------------------------------------------------------------------------------- /5/5.1/README.md: -------------------------------------------------------------------------------- 1 | # 介绍 2 | 3 | + 数据链路层分为两个子层:数据链路控制(DLC)和介质访问控制(MAC)。 4 | + 在数据链路层中,通过添加发送方和接收方的地址,成帧将从源端到目的端的报文分离开来。目的地址定义了分组的去向;发送地址帮助接收方确认接收。 5 | 6 | ## 寻址 7 | + 在无连接的互联网络中我们需要另一种寻址机制:两个节点的链路层地址。链路层地址有时称为链路地址,有时称为物理层地址,有时称为 MAC 地址。 8 | + ARP 协议(地址解析协议)接收来自于 IP 协议的 IP 地址,将该地址映射为对应的链路层地址,并将其传递给数据链路层。 9 | 10 | ## 有线局域网:以太网协议 11 | - 数据链路层和物理层实际上属于本地网络和广域网络的范围; 12 | - 本地局域网(LAN)是一个计算机网络,该网络是为有限地理区域而设计的,如一座建筑或者一所学校; 13 | - 为了资源共享的目的,局域网可以用作一个孤立的网络来连接组织中的计算机。 14 | - 大部分局域网也可以连接到一个广域网(WAN)或者因特网。 15 | - IEEE 将数据链路层细分为两个子层:逻辑链路控制(logical link control,LLC)和介质访问控制(media access control,MAC)。IEEE 也为不同的局域网协议创建了一些物理层标准。 16 | 17 | ## 连接设备 18 | - 主机和网络通常不是孤立的运行。我们使用连接设备将主机连接起来组成网络或者将网络连接起来组成互联网络。 19 | - 我们讨论三种设备:中继器(或集线器)、链路层交换机(或两层交换机)和路由器(或三层交换机)。 20 | - 中继器和集线器运行在因特网模型的第一层。链路层交换机和两层交换机运行在前两层。路由器和三层交换机运行在前三层。 21 | 22 | ### 中继器或集线器 23 | 集线器或者中继器是物理层设备。他们没有链路层地址,不检查接收到的帧链路层地址。它们只是重新生成被破坏的位,并且从每个端口将它们发送出去。 24 | 25 | ### 链路层交换机 26 | - 链路层交换机运行在物理层和数据链路层。作为物理层设备,它重新生成它接收的信号。作为链路层设备,链路层交换机能够检查包含在帧中的 MAC 地址(源地址和目的地址)。 27 | - 链路层交换机有过滤能力。它可以检查帧的目的地址,决定帧该从哪个端口发送。 28 | 29 | ### 路由器 30 | - 路由器是三层设备;它工作在物理层。数据链路层和网络层。作为物理层设备,它重新生成它接收到的信号。作为数据链路层设备,路由器检查包含在分组中的物理地址(源地址和目的地址)。作为网络层设备,路由器检查网络层地址。 31 | - 在路由器和中继器或是交换机之间有三个主要的不同点: 32 | - 路由器每个端口都有一个物理地址和一个逻辑地址(IP); 33 | - 路由器只对分组中链路层目的地址与分组到达的接口地址相匹配的那些分组起作用; 34 | - 当路由器转发分组时,它改变分组的链路层地址(源地址和目的地址); 35 | - 路由器能够连接网络。换言之,路由器是网络互连设备;它将独立的网络连接以形成互联网络。根据该定义,由路由器连接的两个网络变为一个互联网络或是一个互联网。 36 | 37 | ## 总结 38 | - 我们可以将数据链路层看成两个子层。上面子层负责数据链路控制,下面子层负责解决共享介质的访问。数据链路控制(DLC)处理两个临近结点之间通信的设计和处理:结点到结点通信。该子层负责成帧和差错控制。差错控制处理传输中的数据损坏。我们在本章中讨论了两种链路层协议:HDLC 和 PPP。高级数据链路控制(HDLC)是点对点和多点链路通信中使用的面向位的协议。但是,点对点访问中最通用的协议是点对点协议(PPP),它是面向字节的协议。 39 | - 很多正式的协议用来处理访问共享链路。我们将它们分为 3 类:随机访问协议、受控访问协议和通道化协议。在随机访问或是竞争方法中,没有站点优于其他站点,没有站点受另一个站点控制。在受控访问中,站点相互查询以发现哪个站点有权发送帧。通道化是一种多路访问方法,其不同站点之间链路的可用带宽通过时间、频率或编码来分享。 40 | - 在数据链路层,我们使用链路层来寻址。系统通常使用地址解析协议(ARP)来获取下一个结点的链路层地址。 41 | - 以太网是使用范围最广的本地局域网协议。以太网的数据链路层由 LLC 子层和 MAC 子层构成。MAC 子层负责 CSMA/CD 访问方法的操作以及成帧。以太网上的每一个站点有一个唯一的 48 位的地址,改地址刻印在站点的网络接口卡上(NIC)。虚拟局域网(VLAN)是由软件配置的而非物理线路配置的。 42 | - 中继器是工作在因特网模型中物理层的互联设备。交换机是工作在因特网模型中物理层和数据链路层的设备。传输层交换机可以转发和过滤帧,并且自动地形成自己的转发表。路由器是工作在 TCP/IP 协议簇中前三层的互连设备。 -------------------------------------------------------------------------------- /6/6.1/README.md: -------------------------------------------------------------------------------- 1 | # 介绍 2 | 3 | 在有线局域网中,我们使用电缆来连接主机。在一个无线局域网中,介质是空气,信号通常是广播的。 4 | 5 | ## 蜂窝电话 6 | 蜂窝电话(cellular telephony)用来为两个称为移动站点(Mobile Station,MS)的移动单元之间提供通信,或是在一个移动单元和一个静止单元(通常称为地面单元,land unit)之间提供通信。服务提供商必须能够定位并追踪主叫方,为呼叫分配一个通道,并且当主叫方移动到范围之外时,将通道从一个基站切换到另一个基站。 7 | - 传输 8 | - 为了放置来自移动站点的呼叫,主叫方输入 7 位或 10 位数字的编码(电话号码),然后按发送按钮。移动站点然后扫描频带,寻找一个信号强的设置通道,然后使用该通道向最近的站点发送数据(电话号码)。基站向 MSC 转发数据。MSC 接着向电话中心局发送数据。如果被叫方空闲,连接建立并且将结果返回给 MSC。这时候,MSC 就为此呼叫指定一个未使用的声音通道,连接建立。移动站点根据通道自动调整频率,通信就可以开始了。 9 | - 接收 10 | - 当移动手机被呼叫时,电话中心局便将此号码发送到 MSC。MSC 通过向每个信元发送查询信号来搜索移动站点的位置,此过程成为寻呼(paging)。一旦找到移动站点,MSC 就发送一个铃声信号,当移动站点应答时,就为此呼叫指定一个声音通道,允许语音通信开始。 11 | - 漫游 12 | - 蜂窝网络的一个特性称为漫游(roaming)。漫游意味着原则上一个用户只要在覆盖范围内,用户就能发出通信或是被呼叫。服务商通常提供有限的范围。邻近的服务提供商能够通过漫游合约提供扩展的覆盖范围。 13 | 14 | ## 总结 15 | - 无限局域网随着 IEEE 802.11 标准变得正式化,该标准定义了两种服务:基本服务集(BSS)和扩展服务集(ESS)。分布式协调供(DCF)MAC 子层中使用的访问方法是 CSMA/CA。点调功能(PCF)MAC 子层中使用的访问方法是轮询。蓝牙是一种无线局域网技术,它将小范围内的设备(称为小设备)连接起来。蓝牙网络称为微微网络。WiMax 是一个无线访问网络,将来可能代替 DSL 和电缆。 16 | - 蜂窝电话提供两个设备之间的通信。一个或两个可能是移动的。蜂窝服务区域划分为信元。高级移动电话系统(AMPS)是第一代蜂窝电话系统,设计使用模拟信号来进行语音通信。全球移动通信系统(GSM)是在欧洲使用的第二代蜂窝电话系统,主要用于数字语音通信。第三代蜂窝电话系统提供普遍的个人通信,提供数字数据和语音通信技术的结合。第四代是新一代的蜂窝电话,正在变得流行。 17 | - 卫星网络使用卫星来提供地球上任意点间的通信。地球同步卫星(GEO)在赤道平面上并与地球同步旋转。全球定位系统(GPS)是中地卫星(MEO),为车辆和轮船提供时间和位置信息。近地卫星(LEO)为手持终端设备提供直接普遍的语音和数据通信。Teledesic 卫星是近地卫星,能够提供通用的宽带因特网接入服务。 18 | - 移动 IP 为移动通信而设计,是 IP 协议的增强版本。移动主机在它的归属网络中有一个归属地址,在它的外地网络中有一个转交地址。当移动主机在外地网络时,归属代理中继信息(为移动主机)至外地代理。外地代理向移动主机发送中继的消息。 -------------------------------------------------------------------------------- /7/7.1/README.md: -------------------------------------------------------------------------------- 1 | # 介绍 2 | 3 | ## 小结 4 | - 数据必须转换为电磁信号进行传输。模拟信号是持续状态,取连续的值;数字信号具有离散状态,取离散的值。模拟信号可以在一个范围内有无穷个值;而数字信号只有有限个值。在数据通信中,我们通常使用周期模拟信号和非周期数字信号。 5 | - 数字到数字转换有三种技术:线路编码、快编码和扰动。线路编码是将数据转换为数字信号的处理过程。快编码提供冗余以保证同步和内部差错检测。将模拟信号转换成数字数据(数字化)最常用的技术是脉冲码调制(PCM)。 6 | - 数字到模拟转换是根据数字数据中信息而改变模拟信号的某种特性的过程。 7 | - 带宽的利用就是使用有用的宽带达到特殊的目的。多路复用可达到特高效率的目的;扩频可达到保密和抗干扰的目的。 8 | - 传输介质位于物理层以下。有向介质在设备之间提供一条物理通道。双绞线、同轴电缆和光前是最常用的有向介质。无向介质(通常指空气)不能使用物理导体传输电磁波。 -------------------------------------------------------------------------------- /8/8.1/README.md: -------------------------------------------------------------------------------- 1 | # 压缩 2 | 3 | ## 无损压缩 4 | - 无损压缩(lossless compression)可以保存完整的数据,因为压缩算法和解压缩算法相互间是完全相反的:在压缩或解压缩的过程中没有数据丢失。 5 | - 行程长度编码 6 | - 行程长度编码(run-length coding)技术把重复的数据单元替换成两种字符体:字符重复出现的次数和字符本身。 7 | - 词典编码 8 | - 有一组压缩技术是基于创建词典用来转换文本中的字符串。这个概念是对共同的字符串序列进行编码,而不是对每个字符分别进行编码。 9 | 10 | ## 有损压缩 11 | - 无损压缩有压缩量的限制。在某些情况下,我们可以牺牲一些准确性,以提高压缩率。由于人类视觉无法察觉由于图像有损压缩导致的一些小扭曲,所以可以接受在压缩图像、视频和音频时丢失部分信息。 12 | - 视频压缩 13 | - 单独压缩每一帧/去掉冗余帧。 14 | - 音频压缩 15 | - 为了能够提供压缩,音频模拟信号通过模拟到数字转换被数字化。虽然有损算法损失了一点点质量,但是在实质上减少了空间和带宽需求。 -------------------------------------------------------------------------------- /8/8.3/README.md: -------------------------------------------------------------------------------- 1 | # 因特网中的多媒体 2 | 3 | ## 流式存储音频/视频 4 | - 使用 Web 服务器 5 | - 客户端(浏览器)使用 HTTP 服务,发送 GET 报文下载文件。 6 | - 使用带有元文件的 Web 服务器 7 | - 使用 GET 报文获取包含了音频/视频文件信息的元文件; 8 | - 媒体播放器使用元文件中指定的 URL 来访问音频/视频文件; 9 | - 使用媒体服务器 10 | - 媒体播放器使用元文件中的 URL 访问媒体服务器以下载文件。通过任何使用 UDP 的协议都可以下载。 11 | - 使用媒体服务器和 RTSP 12 | - 实时流协议(Real-Time Streaming Protocol,RTSP)是一种控制协议,用来为流的处理增加更多的功能。 13 | 14 | ## RTP 协议 15 | 实时传输协议(Real-Time Transfer Protocol,RTP)是用来处理因特网上实时通信的协议。RTP 没有分发机制(多播、端口号等),它必须与 UDP 一起使用。RTP 位于 UDP 和应用程序之间。文献和标准中将 RTP 视为传输协议(不是传输层协议),可以看做其位于应用层。 -------------------------------------------------------------------------------- /8/8.x/README.md: -------------------------------------------------------------------------------- 1 | # 小结 2 | 3 | - 我们将压缩分为两大类:无损压缩和有损压缩。在无损压缩中保存了数据的完整性,因为压缩和解压缩算法之间是完全相反的,在这个过程中没有数据丢失。有损压缩不能保证数据的精确度,但是优点是我们可以进一步减少压缩后数据的大小。 4 | - 音频/视频文件可以下载下来为以后使用(流式存储音频/视频),也可以通过因特网向客户广播(流式实况音频/视频)。因特网可以用于实时音频/视频交互。音频和视频通过因特网发送之前需要数字化。我们可以用一个 Web 服务器,或一个 Web 服务器的元文件,或一个媒体服务器,或一个媒体服务器和 RTSP 下载流式音频/视频文件。 5 | - 分组交换网络中实时数据需要保存会话中分组间的时间关系。接收端连续分组之间的缝隙引起的现象称为抖动。抖动可以通过使用时间戳和选择正确的回放时间控制。 6 | - 网络电话是一个实时互动式的音频/视频应用。会话初始化协议(Session Initiation Protocol, SIP)是一种建立、管理和终止多媒体会话的应用层协议。 7 | - 实施多媒体负载不仅需要 UDP,而且也需要实时传输控制协议(Real-Time Transfer Protocol,RTP)。RTP 处理时间戳、排序和混合。实时传输控制协议(Real-Time Transport Control Protocol,RTCP)提供流控制、数据质量控制和向源端回馈。新的传输层协议 SCTP 设计用来处理多媒体应用,如网络电话。 8 | - 调度、流量整形、资源预留和准入控制这几种技术用来提高服务质量。调度的三种技术是 FIFO 队列、优先级队列和加权公平队列。流量整形的两种技术是漏桶算法和令牌桶算法。综合服务是为 IP 设计的基于流的 Qos 模型。资源预留协议是帮助 IP 创建流并且发起资源预留的一个独立的协议。区分服务是为 IP 设计的基于分类的 Qos 模型。 -------------------------------------------------------------------------------- /9/9.x/README.md: -------------------------------------------------------------------------------- 1 | # 小结 2 | 3 | 组成网络管理的 5 个部分是配置管理、故障管理、性能管理、计费管理和安全管理。配置管理设计网络实体的物理与逻辑的改变。故障管理设计每个网络部件的正常操作。性能管理设计监视和控制网络,确保网络尽可能有效地运行。安全管理设计控制对网络的访问。计费管理涉及通过付费控制用户对网络资源的访问。 4 | 简单网络管理(SNMP)是使用 TCP/IP 协议簇对互联网中的设备进行管理。管理器通常是主机,它控制和监视一组代理,而代理通常是路由器。SNMP 使用 SMI 和 MIB 服务。SMI 给对象命名,定义可在对象中存储的数据类型,以及对数据进行编码。MIB 是能够被 SNMP 管理的对象组的集合。MIB 使用字典排序来管理其变量。 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 计算机网络:自顶向下方法(第6版) 2 | 3 | ## 概论 4 | + [Internet 概览](https://github.com/a1029563229/Computer-Networking/tree/master/1/1.1) 5 | + [协议分层](https://github.com/a1029563229/Computer-Networking/tree/master/1/1.2) 6 | + [标准与管理](https://github.com/a1029563229/Computer-Networking/tree/master/1/1.4) 7 | + [练习题](https://github.com/a1029563229/Computer-Networking/tree/master/1/practice) 8 | + [练习题(附参考答案)](https://github.com/a1029563229/Computer-Networking/tree/master/1/answer) 9 | 10 | ## 应用层 11 | + [介绍](https://github.com/a1029563229/Computer-Networking/tree/master/2/2.1) 12 | + [客户服务器模式](https://github.com/a1029563229/Computer-Networking/tree/master/2/2.2) 13 | + [标准客户-服务器应用](https://github.com/a1029563229/Computer-Networking/tree/master/2/2.3) 14 | + [对等模式](https://github.com/a1029563229/Computer-Networking/tree/master/2/2.4) 15 | + [练习题](https://github.com/a1029563229/Computer-Networking/tree/master/2/practice) 16 | + [练习题(附参考答案)](https://github.com/a1029563229/Computer-Networking/tree/master/2/answer) 17 | + [HTTP 协议抓包](https://github.com/a1029563229/Computer-Networking/tree/master/2/experiment) 18 | + [打开浏览器](https://github.com/a1029563229/Computer-Networking/tree/master/2/browser) 19 | 20 | ## 传输层 21 | + [介绍](https://github.com/a1029563229/Computer-Networking/tree/master/3/3.1) 22 | + [传输层协议](https://github.com/a1029563229/Computer-Networking/tree/master/3/3.2) 23 | + [用户数据报协议(UDP)](https://github.com/a1029563229/Computer-Networking/tree/master/3/3.3) 24 | + [传输控制协议(TCP)](https://github.com/a1029563229/Computer-Networking/tree/master/3/3.4) 25 | + [TCP 协议抓包](https://github.com/a1029563229/Computer-Networking/tree/master/3/experiment) 26 | 27 | ## 网络层 28 | + [介绍](https://github.com/a1029563229/Computer-Networking/tree/master/4/4.1) 29 | + [网络层协议](https://github.com/a1029563229/Computer-Networking/tree/master/4/4.2) 30 | + [补充](https://github.com/a1029563229/Computer-Networking/tree/master/4/4.x) 31 | 32 | ## 数据链路层:有线网络 33 | + [介绍](https://github.com/a1029563229/Computer-Networking/tree/master/5/5.1) 34 | 35 | ## 无线网络和移动 IP 36 | + [无线局域网](https://github.com/a1029563229/Computer-Networking/tree/master/6/6.1) 37 | 38 | ## 物理层与传输介质 39 | + [介绍](https://github.com/a1029563229/Computer-Networking/tree/master/7/7.1) 40 | 41 | ## 多媒体与服务质量 42 | + [压缩](https://github.com/a1029563229/Computer-Networking/tree/master/8/8.1) 43 | + [因特网中的多媒体](https://github.com/a1029563229/Computer-Networking/tree/master/8/8.3) 44 | + [小结](https://github.com/a1029563229/Computer-Networking/tree/master/8/8.x) 45 | 46 | ## 网络管理 47 | + [小结](https://github.com/a1029563229/Computer-Networking/tree/master/9/9.x) 48 | 49 | ## 网络安全 50 | + [介绍](https://github.com/a1029563229/Computer-Networking/tree/master/10/10.1) 51 | + [机密性](https://github.com/a1029563229/Computer-Networking/tree/master/10/10.2) 52 | + [Internet 安全](https://github.com/a1029563229/Computer-Networking/tree/master/10/10.4) 53 | 54 | ## Java Socket 编程 55 | + [介绍](https://github.com/a1029563229/Computer-Networking/tree/master/11/11.1) -------------------------------------------------------------------------------- /_p/201510/Practice.md: -------------------------------------------------------------------------------- 1 | ## 选择题 2 | - 1.局域网 LAN 一般采用的传输方式是(); 3 | - 2.首次使用分组交换方式的网络是(); 4 | - 3.采用广播信道通信子网的基本拓扑中不包括(); 5 | - 4.星形拓扑的特点是(); 6 | - 5.因特网的标准都具有的一个编号是(); 7 | - 6.OSI 参考模型包括的三级抽象是(); 8 | - 7.将协议数据单元称为“分组”的是(); 9 | - 8.下列属于无连接通信服务特点的是(); 10 | - 9.TCP/IP 是一组协议的代名词,一般来说 IP 提供(); 11 | - 10.若采用HDLC规程发送的数据为10111110101111100,则接收的实际数据应为(); 12 | - 11.局域网 IEEE802 标准中采用的帧同步方法是(); 13 | - 12.在物理信道传输数据产生差错的主要原因是(); 14 | - 13.文件传输协议 FTP 使用的默认端口号是(); 15 | - 14.在 CRC 编码中,代码 10110011 对应的多项式是(); 16 | - 15.若用 HDLC 帧传输 10 个汉字,则该帧的总长度为(); 17 | - 16.下列网络互连设备中,可在不同或相同的局域网之间存储和转发帧的是(); 18 | - 17.对于四种相移的正交相移键控 QPSK 调制方法,2400 波特线路的数据传输率为(); 19 | - 18.下列域名中不属于通用顶级域名的是(); 20 | - 19.域名系统 DNS 中(); 21 | - 20.超文本传输协议HTTP标识被操作资源的方法是采用(); 22 | - 21.IEEE802参考模型的LLC子层提供的虚电路服务属于(); 23 | - 22.EE802.3MAC帧的起始定界符SFD字段的比特模式为(); 24 | - 23.下列关于异步传输模式 ATM 的表述正确的是() 25 | - 24.基于 TCP/IP 协议簇的网络管理协议是(); 26 | 27 | ## 填空题 28 | - 25.计算机网络由通信子网和资源子网构成,其中资源子网负责(); 29 | - 26.因特网体系结构局 IAB 中最著名的“因特网工程特别任务组”的英文缩写是(); 30 | - 27.我国将二级域名划分为类别域名和()域名两大类; 31 | - 28.因特网上的域名服务器有(); 32 | - 29.数字签名时报文的发送方从报文中生成的 128 位散列值称为(); 33 | - 30.虚拟专用网一般指的是构建在Internet上能够()的专用网络; 34 | - 31.Fast IP 技术的基本思想是设法在数据交换过程中避开(); 35 | - 33.X.25 分组层的主要功能是向主机提供多信道的()服务; 36 | - 34.无限应用协议 WAP 采用的通信协议是()协议; 37 | - 35.千兆以太网为确保最小帧为 64 字节并维持 200 米的网络直径,采用了()和数据报分组技术; 38 | - 36.OSI 七层模型的传输层为应用进程提供()的通信服务; 39 | - 37.数据链路控制协议分为异步和同步协议,其中同步协议以()为传输单位; 40 | - 38.对于流量控制功能,在传输层使用的是()之间对端的流量; 41 | - 39.采用分组存储转发和()机制是点对点网络和广播式网络的最大区别; 42 | 43 | ## 简答题 44 | - 40.简述无连接服务的特点。 45 | - 41.简述透明网桥的操作过程。(以透明网桥在端口X上接收一帧为例进行表述) 46 | - 若网桥在端口X上接受到一个MAC帧时,操作过程如下: 47 | - 42.简述TCP在慢启动阶段确定拥塞窗口大小的方法。 48 | 43.简述物理信道的突发噪声导致帧被“淹没”时所采取的措施。 49 | 50 | ## 计算题 51 | - 44.已知在某信道上连续传送600KByte的数据所需时间为256秒,该信道码元速率为2400Baud,计算每个码元所需的调制电平数。(要求写出计算过程) 52 | - 45.某网络上传输模拟信号时采用PCM编码,若在该网络信道上传送8000Hz以下频率的声音信号,每个样本采用256级量化,计算该信道的最小数据传输率。(要求写出计算过程) 53 | - 46.已知网络中通信的两个主机之间采用CRC校验方法,若发送的二进制数据为11011011、生成多项式为x4+x+1,试计算CRC码的二进制数字序列,该方法最多可检测出多少比特的突发错误?(要求写出计算过程) 54 | - 47.以太网中的A、B主机通过1000m长的链路直接相连,若网络最小帧长度为1500Byte、信号传播速率为2×108m/s,在不考虑处理延迟情况下计算该网络的数据传输速率。 55 | (要求写出计算过程) 56 | ## 应用题 57 | - 48.某通信子网如图所示,使用距离矢量路由算法。假设到达路由器c的路由器B、D、G的矢量分别为(7,0,8,10,5,6,3)、(12,9,5,0,7,4,8)和(11,3,9,11,2,6,0);C到B、D、G的延迟分别为5、2、3,试在题48表所示的C的新路由表中注明使用的输出线路及从C出发到达各路由器的延迟。请将题48表、图绘制在答题卡上作答。 58 | 59 | - 49.试写出顺序接收管道协议的实现过程。 60 | - 50.已知UDP的段结构如题50图所示,试写出其中各字段的长度及其含义并给出协议DNS、SNMP、QICQ和TFTP所使用的UDP端口号。 61 | - 1)各字段的含义: 62 | - 2)各协议端口号: -------------------------------------------------------------------------------- /_p/201510/README.md: -------------------------------------------------------------------------------- 1 | ## 选择题 2 | - 1.局域网 LAN 一般采用的传输方式是(“广播”方式); 3 | - 2.首次使用分组交换方式的网络是(APPANET); 4 | - 3.采用广播信道通信子网的基本拓扑中不包括(网状形); 5 | - 4.星形拓扑的特点是(故障诊断和隔离容易、控制简单且方便服务、中央节点负担较重,形成瓶颈); 6 | - 5.因特网的标准都具有的一个编号是(RFC 编号); 7 | - 6.OSI 参考模型包括的三级抽象是(体系结构、服务定义、协议规范); 8 | - 7.将协议数据单元称为“分组”的是(网络层); 9 | - 8.下列属于无连接通信服务特点的是(分组要携带目的节点地址、数组分组可能丢失、传输过程中不需建立连接、收发数据顺序可能发生改变); 10 | - 9.TCP/IP 是一组协议的代名词,一般来说 IP 提供(网络层服务); 11 | - 10.若采用HDLC规程发送的数据为10111110101111100,则接收的实际数据应为(101111110111110); 12 | - 11.局域网 IEEE802 标准中采用的帧同步方法是(违法编码法); 13 | - 12.在物理信道传输数据产生差错的主要原因是(冲击噪声); 14 | - 13.文件传输协议 FTP 使用的默认端口号是(21); 15 | - 14.在 CRC 编码中,代码 10110011 对应的多项式是(X^7 + X^5 + X^4 + X + 1 16 | - 15.若用 HDLC 帧传输 10 个汉字,则该帧的总长度为(26字节); 17 | - 16.下列网络互连设备中,可在不同或相同的局域网之间存储和转发帧的是(网桥); 18 | - 17.对于四种相移的正交相移键控 QPSK 调制方法,2400 波特线路的数据传输率为(4800bps); 19 | - 18.下列域名中不属于通用顶级域名的是(int); 20 | - 19.域名系统 DNS 中(域名的各分量之间用小数点分隔、Internet 域名由 DNS 统一管理、域名中的英文字母不区分大小写); 21 | - 20.超文本传输协议HTTP标识被操作资源的方法是采用(URL); 22 | - 21.IEEE802参考模型的LLC子层提供的虚电路服务属于(有确认面向连接服务); 23 | - 22.EE802.3MAC帧的起始定界符SFD字段的比特模式为(10101011); 24 | - 23.下列关于异步传输模式 ATM 的表述正确的是(ATM 网络在信元交换前需建立虚拟连接、ATM 网络不参与任何数据链路层的功能、ATM 物理链路逻辑上分虚路径和虚通道) 25 | - 24.基于 TCP/IP 协议簇的网络管理协议是(SNMP); 26 | 27 | ## 填空题 28 | - 25.计算机网络由通信子网和资源子网构成,其中资源子网负责(信息处理); 29 | - 26.因特网体系结构局 IAB 中最著名的“因特网工程特别任务组”的英文缩写是(IETF); 30 | - 27.我国将二级域名划分为类别域名和(行政区)域名两大类; 31 | - 28.因特网上的域名服务器有授权域名服务器、根域名服务器和本地域名服务器; 32 | - 29.数字签名时报文的发送方从报文中生成的 128 位散列值称为(报文摘要); 33 | - 30.虚拟专用网一般指的是构建在Internet上能够(自我管理)的专用网络; 34 | - 31.Fast IP 技术的基本思想是设法在数据交换过程中避开(第三层路由器); 35 | - 33.X.25 分组层的主要功能是向主机提供多信道的(虚电路)服务; 36 | - 34.无限应用协议 WAP 采用的通信协议是(WDP(无线数据报)协议; 37 | - 35.千兆以太网为确保最小帧为 64 字节并维持 200 米的网络直径,采用了(载波扩展)和数据报分组技术; 38 | - 36.OSI 七层模型的传输层为应用进程提供(端到端)的通信服务; 39 | - 37.数据链路控制协议分为异步和同步协议,其中同步协议以(帧)为传输单位; 40 | - 38.对于流量控制功能,在传输层使用的是(从源到最终目的地)之间对端的流量; 41 | - 39.采用分组存储转发和(路由选择)机制是点对点网络和广播式网络的最大区别; 42 | 43 | ## 简答题 44 | - 40.简述无连接服务的特点。 45 | - 1)每个分组都要携带完整的目的节点的地址,各个分组在通信子网中是独立传送的。 46 | - 2)无连接服务在的数据是传输过程不需要经过建立连接、维护连接和释放连接三个过程。 47 | - 3)无连接服务中的目的节点接收到的数据分组可能出现乱序,重复与丢失现象。 48 | - 4)其可靠性不是很好,但通信协议相对简单,效率较高。 49 | - 41.简述透明网桥的操作过程。(以透明网桥在端口X上接收一帧为例进行表述) 50 | - 若网桥在端口X上接受到一个MAC帧时,操作过程如下: 51 | - 1)过滤数据库,确定该目的MAC地址是否在除端口X以外的其他端口中; 52 | - 2)如果目的MAC地址没有列到X以外的其他端口中,则将该帧送往X端口以外的所有端口进行扩散; 53 | - 3)如果目的NAC地址在过滤数据库的某个端口Y(Y≠X),若端口Y是非阻塞的,就把该帧通过端口Y转发到它所连接的LAN中。 54 | - 42.简述TCP在慢启动阶段确定拥塞窗口大小的方法。 55 | - 1)刚建立连接时,将拥塞窗口的大小初始化为该连接所需要的最大数据段的长度,并发送一个最大长度的数据段。 56 | - 2)如果在定时器超时前得到确认,将拥塞窗口的大小增加到一个数据段的字节数,并发送两个数据段。 57 | - 3)如果每个数据段在定时器超时前都得到确认,就再在原基础上增加一倍,如此反复,每次都在前一次的基础上加倍。 58 | - 4)当定时器超时或达到发送窗口设定值时,停止拥塞窗口尺寸的增加。 59 | 43.简述物理信道的突发噪声导致帧被“淹没”时所采取的措施。 60 | - 物理信道的突发噪声可能完全“淹没”一帧,即使得整个数据帧或反馈信息丢失,这将导致发送方永远收不到接收方发来的反馈信息,从而使传输过程停滞。为了避免出现这种情况,通常引入计时器来限定时间间隔内未能收到接收方的反馈信息,即计时器超时,则可认为传出的帧已出错或丢失,就要重新发送。 61 | 62 | ## 计算题 63 | - 44.已知在某信道上连续传送600KByte的数据所需时间为256秒,该信道码元速率为2400Baud,计算每个码元所需的调制电平数。(要求写出计算过程) 64 | - 该信道传输速率:(600x1024x8)/256=19200ps 65 | - 设码元的调制电平数为N,则有:Log2N=19200/2400,由此得N=256 66 | - 45.某网络上传输模拟信号时采用PCM编码,若在该网络信道上传送8000Hz以下频率的声音信号,每个样本采用256级量化,计算该信道的最小数据传输率。(要求写出计算过程) 67 | - 信号最高频率为8000Hz,每秒采样1600次; 68 | - 256级量化需要8bit二进制数表达; 69 | - 最小数据传输了:16000x8=128000bps。 70 | - 46.已知网络中通信的两个主机之间采用CRC校验方法,若发送的二进制数据为11011011、生成多项式为x4+x+1,试计算CRC码的二进制数字序列,该方法最多可检测出多少比特的突发错误?(要求写出计算过程) 71 | - 47.以太网中的A、B主机通过1000m长的链路直接相连,若网络最小帧长度为1500Byte、 72 | 信号传播速率为2×108m/s,在不考虑处理延迟情况下计算该网络的数据传输速率。 73 | (要求写出计算过程) 74 | ## 应用题 75 | - 48.某通信子网如图所示,使用距离矢量路由算法。假设到达路由器c的路由器B、D、G的矢量分别为(7,0,8,10,5,6,3)、(12,9,5,0,7,4,8)和(11,3,9,11,2,6,0);C到B、D、G的延迟分别为5、2、3,试在题48表所示的C的新路由表中注明使用的输出线路及从C出发到达各路由器的延迟。请将题48表、图绘制在答题卡上作答。 76 | 77 | - 49.试写出顺序接收管道协议的实现过程。 78 | - 1)发送方连接发送信息帧而不必等待确认帧的返回; 79 | - 2)发送方在重发表中保存多发送的每个帧的备份; 80 | - 3)重发表按先进先出对列规则操作; 81 | - 4)接收方对每一个正确收到的信息帧返回一个确认帧; 82 | - 5)每一个确认帧包含一个唯一的序号,随相应的确认帧返回; 83 | - 6)接收方保存一个接收次序表,他包含最后正确收到的信息帧序号; 84 | - 7)当发送方收到相应信息帧的确认帧后,从重发表中删除该信息帧的备份; 85 | - 8)接收方因某一帧出错,则对后面再发送来的帧均不接收而丢弃。 86 | - 50.已知UDP的段结构如题50图所示,试写出其中各字段的长度及其含义并给出协议DNS、SNMP、QICQ和TFTP所使用的UDP端口号。 87 | - 1)各字段的含义: 88 | - 源端口:16比特,标明发送端地址 89 | - 目的端口:16比特,标明接收端地址 90 | - 长度:16比特,指明包括UDP的头部在内的数据段的总长度 91 | - 校验和:16比特,可选项,当不用时置为全0 92 | - 数据:可变长度 93 | - 2)各协议端口号: 94 | - DNS:53 95 | - SNMP:161 96 | - QICQ:8000 97 | - TFTP:69 -------------------------------------------------------------------------------- /_p/201704/Practice.md: -------------------------------------------------------------------------------- 1 | ## 选择题 2 | - 1.电信业一般认为,宽带骨干网的传输速率至少应达到 3 | - 2.电子银行的核心功能是 4 | - 3.下列关于环形拓扑优点的表述中错误的是 5 | - 4.OSI 参考模型中处理端到端的差错控制和流量控制的是 6 | - 5.下列协议中不属于 TCP/IP 参考模型互联层协议的是 7 | - 6.下列关于交换技术的说法中错误的是 8 | - 7.对于正交相移键控 QPSK 调制,若传输速率达到 9600 bps,则码元速率为 9 | - 8.计算机网络中使用最广泛的交换技术是 10 | - 9.下列数据链路层的功能中属于链路管理功能的是 11 | - 10.可用于数据链路层流量控制的方案是 12 | - 11.在 HDLC 的帧类别中,用于提供对链路的建立、拆除及多种控制功能的是 13 | - 12.HDLC 中常用的操作方式不包括 14 | - 13.下列关于虚电路子网的说法中错误的是 15 | - 14.下列路由算法中,属于动态路由选择算法的是 16 | - 15.下列关于因特网互联层功能的表述中错误的是 17 | - 16.IP 对输入数据报的处理分为主机对数据报的处理和 18 | - 17.简单网络管理协议 SNMP 所使用的的端口号是 19 | - 18.网路标识域为 14 位的 IP 地址类型为 20 | - 19.实现局域网高层功能的是 21 | - 20.能够使 WAP 使用 TCP/IP 访问因特网的协议是 22 | - 21.帧中继节点参与的数据链路层功能中不包括 23 | - 22.以增强广域网核心路由器的路由/转发能力为基本思想的 L3 交换技术是 24 | - 23.划分虚拟局域网的方法中不包括 25 | - 24.防止数据不受主动攻击(数据的伪造和变动)的保护措施称为 26 | 27 | ## 填空题 28 | - 25.根据通信子网中信道类型可将网络拓扑分为广播信道通信子网的拓扑和()通信子网的拓扑; 29 | - 26.计算机网络中,为进行数据交换而建立的规则、标准或约定的集合称为(); 30 | - 27.差错控制编码分为检错码和纠错码,FEC 方式使用(); 31 | - 28.网络层要实现的基本功能是()和分组转发。 32 | - 29.对于离开了原始站点(Home)还想继续连接网络的主机称为(); 33 | - 30.当网络中的“拥塞”严重时可能会导致通信业务陷入停顿的现象称为(); 34 | - 31.提供传输层及其以上各层协议转换的网间连接器称为(); 35 | - 32.IPv6 将 IP 地址的长度增加到了()比特; 36 | - 33.网络数据传输可靠性一般通过确认和()机制保证; 37 | - 34.IEEE802.3 MAC 帧的起始帧定界符字段的比特模式为(); 38 | - 35.ATM 采用的是异步()方式工作; 39 | - 36.移动的 AdHoc 网络中的每个节点都兼有路由器和()两种功能; 40 | - 37.应用广泛的数字签名包括 RSA 签名,()和 Hash 签名; 41 | - 38.IEEE802.3 MAC 子层的功能主要有数据封装和()两个方面; 42 | - 39.超文本传输协议 HTTP 通过()标识被操作的资源; 43 | 44 | ## 简答题 45 | - 40.简述网络各层次设计中可采用的服务类型; 46 | - 41.简述传输介质的带宽、波特率、码元和位传输率的概念; 47 | - 42.简述源路由选择网桥获取路由算法的基本思想; 48 | - 43.简述传输控制协议 TCP 提供的服务所具有的主要特征; 49 | 50 | ## 计算题 51 | - 44.采用 4 种相位和 4 种振幅的 QAM 调制方法,试计算在信号传输速率为 1200Baud 的无噪声信道上能达到的数据传输速率。(要求写出计算过程) 52 | - 45.当使用 HDLC 帧传输 12 个汉字时,帧中的信息段占多少字节?帧的总长度为多少字节? 53 | - 46.Bell 系统的 T1 载波使用 PCM 和 TDM 技术复用 24 条话路。如果每秒 8000 次对 24 条路话音通道依次采样,产生 7 个数据位和 1 个控制位。计算 T1 载波的数据传输率; 54 | - 47.某 CSMA/CD 基带总线网长度为 100m,信号传播速度为 200m/us,若位于总线两端的站点在发送数据帧时产生冲突,试问: 55 | - 该两站信号传播延迟时间是多少? 56 | - 最多经过多长时间才能检测到冲突? 57 | 58 | ## 应用题 59 | - 48.试说明 IP 地址 61.149.143.20 的类型及该类地址标识的有效网络数和主机数。若该地址的子网掩码为255.192.0.0,求出该 IP 所属网络的网络地址; 60 | - 49.设网络中路由器使用 RIP 协议,路由器 B 的当前路由表如表 1 所示,B 收到从路由器 C 发来的路由信息表如表 2 所示,试给出路由器 B 更新后的路由表。 61 | - 50.主机 A 向主机 B 连续发送了两个 TCP 报文段,其字节序号分别为 50 和 80。假设此前发送的数据报已正确接收,请回答下列问题: 62 | - 第一个报文段携带了多少个字节的数据? 63 | - 主机 B 收到第一个报文段后发回的确认号是多少? 64 | - 如果主机 B 收到第二个报文段后返回的确认号是 160,试问 A 发送的第二个报文段中的数据有多少字节? 65 | - 如果 A 发送的第一个报文段丢失,但第二个报文段到达了 B。B 在第二个报文段到达后向 A 发送确认。试问这个确认号应为多少? -------------------------------------------------------------------------------- /_p/201704/README.md: -------------------------------------------------------------------------------- 1 | ## 选择题 2 | - 1.电信业一般认为,宽带骨干网的传输速率至少应达到 3 | - A 2Gbps 4 | - 2.电子银行的核心功能是 5 | - B 金融交易卡服务 6 | - 3.下列关于环形拓扑优点的表述中错误的是 7 | - D 故障检测容易 8 | - 4.OSI 参考模型中处理端到端的差错控制和流量控制的是 9 | - C 传输层 10 | - 5.下列协议中不属于 TCP/IP 参考模型互联层协议的是 11 | - B UDP 协议 12 | - 6.下列关于交换技术的说法中错误的是 13 | - A 电路交换技术适用于猝发式通信 14 | - 7.对于正交相移键控 QPSK 调制,若传输速率达到 9600 bps,则码元速率为 15 | - D 4800Baud 16 | - 8.计算机网络中使用最广泛的交换技术是 17 | - C 分组交换 18 | - 9.下列数据链路层的功能中属于链路管理功能的是 19 | - A 建立连接 20 | - 10.可用于数据链路层流量控制的方案是 21 | - B 滑动窗口机制 22 | - 11.在 HDLC 的帧类别中,用于提供对链路的建立、拆除及多种控制功能的是 23 | - D 无编号帧 24 | - 12.HDLC 中常用的操作方式不包括 25 | - C 正常平衡方式 26 | - 13.下列关于虚电路子网的说法中错误的是 27 | - C 每个分组被独立的路由 28 | - 14.下列路由算法中,属于动态路由选择算法的是 29 | - B 链路状态路由算法 30 | - 15.下列关于因特网互联层功能的表述中错误的是 31 | - D 保证服务的可靠性 32 | - 16.IP 对输入数据报的处理分为主机对数据报的处理和 33 | - C 网关对数据报的处理 34 | - 17.简单网络管理协议 SNMP 所使用的的端口号是 35 | - D 161 36 | - 18.网路标识域为 14 位的 IP 地址类型为 37 | - B B类 38 | - 19.实现局域网高层功能的是 39 | - A 局域网操作系统 40 | - 20.能够使 WAP 使用 TCP/IP 访问因特网的协议是 41 | - C WDP 协议 42 | - 21.帧中继节点参与的数据链路层功能中不包括 43 | - D 流量控制 44 | - 22.以增强广域网核心路由器的路由/转发能力为基本思想的 L3 交换技术是 45 | - A Tag Switching 46 | - 23.划分虚拟局域网的方法中不包括 47 | - A 按安全需求划分 48 | - 24.防止数据不受主动攻击(数据的伪造和变动)的保护措施称为 49 | - D 报文认证 50 | 51 | ## 填空题 52 | - 25.根据通信子网中信道类型可将网络拓扑分为广播信道通信子网的拓扑和(点对点线路)通信子网的拓扑; 53 | - 26.计算机网络中,为进行数据交换而建立的规则、标准或约定的集合称为(网络协议); 54 | - 27.差错控制编码分为检错码和纠错码,FEC 方式使用(纠错码); 55 | - 28.网络层要实现的基本功能是(路由选择)和分组转发。 56 | - 29.对于离开了原始站点(Home)还想继续连接网络的主机称为(移动主机); 57 | - 30.当网络中的“拥塞”严重时可能会导致通信业务陷入停顿的现象称为(死锁); 58 | - 31.提供传输层及其以上各层协议转换的网间连接器称为(网关(协议转换器)); 59 | - 32.IPv6 将 IP 地址的长度增加到了(128)比特; 60 | - 33.网络数据传输可靠性一般通过确认和(重传)机制保证; 61 | - 34.IEEE802.3 MAC 帧的起始帧定界符字段的比特模式为(10101011); 62 | - 35.ATM 采用的是异步(时分复用)方式工作; 63 | - 36.移动的 AdHoc 网络中的每个节点都兼有路由器和(主机)两种功能; 64 | - 37.应用广泛的数字签名包括 RSA 签名,(DSS)和 Hash 签名; 65 | - 38.IEEE802.3 MAC 子层的功能主要有数据封装和(介质访问管理)两个方面; 66 | - 39.超文本传输协议 HTTP 通过(URL)标识被操作的资源; 67 | 68 | ## 简答题 69 | - 40.简述网络各层次设计中可采用的服务类型; 70 | - 面向连接和确认服务; 71 | - 面向连接和不确认服务; 72 | - 无连接和确认服务; 73 | - 无连接和不确认服务; 74 | - 41.简述传输介质的带宽、波特率、码元和位传输率的概念; 75 | - 传输介质的带宽是指在最小衰减的情况下能够通过这种介质的频率范围,它是介质的一种物理特性,度量单位为 Hz; 76 | - 波特率是指每秒钟的采样次数,每个采样发送一份信息,该信息被称为码元,因此波特率和码元率是相同的; 77 | - 位传输率是指一条信道上发送的信息的数量,它等于每秒钟采样数乘以每个采样的位数; 78 | - 42.简述源路由选择网桥获取路由算法的基本思想; 79 | - 答:获取源路由算法的基本思想:如果不知道目的地地址的位置,源机器就发一广播帧,询问它在哪里。每个网桥都会转发此帧,这样查找帧就可以到达互连网中的每一个 LAN。当应答回来时,途径的网桥将它们自己的标识记录在应答帧中,于是广播帧的发送者就可以得到确切的路由,并从中选取最佳者。 80 | - 43.简述传输控制协议 TCP 提供的服务所具有的主要特征; 81 | - 面向连接的传输; 82 | - 端到端通信; 83 | - 高可靠性; 84 | - 全双工方式传输; 85 | - 采用字节流方式传输; 86 | - 提供紧急数据传送功能; 87 | 88 | ## 计算题 89 | - 44.采用 4 种相位和 4 种振幅的 QAM 调制方法,试计算在信号传输速率为 1200Baud 的无噪声信道上能达到的数据传输速率。(要求写出计算过程) 90 | - 45.当使用 HDLC 帧传输 12 个汉字时,帧中的信息段占多少字节?帧的总长度为多少字节? 91 | - 信息字段 = 2 * 12 = 24字节; 92 | - 帧的总长度 = HDLC首部字节(6) + 信息段字节(24)= 30字节; 93 | - 46.Bell 系统的 T1 载波使用 PCM 和 TDM 技术复用 24 条话路。如果每秒 8000 次对 24 条路话音通道依次采样,产生 7 个数据位和 1 个控制位。计算 T1 载波的数据传输率; 94 | - 47.某 CSMA/CD 基带总线网长度为 100m,信号传播速度为 200m/us,若位于总线两端的站点在发送数据帧时产生冲突,试问: 95 | - 该两站信号传播延迟时间是多少? 96 | - 最多经过多长时间才能检测到冲突? 97 | 98 | ## 应用题 99 | - 48.试说明 IP 地址 61.149.143.20 的类型及该类地址标识的有效网络数和主机数。若该地址的子网掩码为255.192.0.0,求出该 IP 所属网络的网络地址; 100 | - 答:该地址为 A 类 IP 地址;有效网络数为 2^7 - 2 = 126,有效主机数为 2^24 - 2 = 16777214 个;该 IP 所属网络地址为网络地址为 61.128.0.0; 101 | - 49.设网络中路由器使用 RIP 协议,路由器 B 的当前路由表如表 1 所示,B 收到从路由器 C 发来的路由信息表如表 2 所示,试给出路由器 B 更新后的路由表。 102 | - 50.主机 A 向主机 B 连续发送了两个 TCP 报文段,其字节序号分别为 50 和 80。假设此前发送的数据报已正确接收,请回答下列问题: 103 | - 第一个报文段携带了多少个字节的数据? 104 | - 30 个字节; 105 | - 主机 B 收到第一个报文段后发回的确认号是多少? 106 | - 80; 107 | - 如果主机 B 收到第二个报文段后返回的确认号是 160,试问 A 发送的第二个报文段中的数据有多少字节? 108 | - 80 个字节; 109 | - 如果 A 发送的第一个报文段丢失,但第二个报文段到达了 B。B 在第二个报文段到达后向 A 发送确认。试问这个确认号应为多少? 110 | - 50; -------------------------------------------------------------------------------- /_p/201710/Parctice.md: -------------------------------------------------------------------------------- 1 | ## 选择题 12 2 | - 1.未来宽带、大容量通信网络的优选方案是 3 | - 2.对于点到点线路的通信子网,其采用的基本拓扑结构可以是 4 | - 3.下列关于环形拓扑结构的优点表述错误的是 5 | - 4.涉及速度匹配和排序等的网络协议要素是 6 | - 5.在 OSI 参考模型中所定义的内容中可以实现的是 7 | - 6.TCP/IP 参考模型中与 OSI 参考模型数据链路层及物理层对应的是 8 | - 7.下列关于光纤传输介质说法错误的是 9 | - 8.若传输 5000 字节的二进制数时出错的位数为 2 比特,则本次传输的误码率为 10 | - 9.下列有关传输控制协议 TCP 所提供服务的特征表达错误的是 11 | - 10.下列编码方法中不能用于数字数据的数字信号编码是 12 | - 11.若在 1200 波特的通信线路上采用 QAM.16 调制方案,则可达到的传输率为 13 | - 12.采用转义控制符(DLE)作为填充符以实现数据透明传输的帧同步方法是 14 | - 13.下列有关数据传输中的“差错”概念说法错误的是 15 | - 14.从滑动窗口的观点来看“Go-Back-N”协议,其窗口大小为 16 | - 15.若 HDLC 帧的控制字段中的内容为“01101011”,则表示该帧的类型为 17 | - 16.设计路由算法时首先要考虑的技术要素是 18 | - 17.下列网络互联设备(网间连接器)中只起到扩展网段距离作用的是 19 | - 18.对只有自己的物理地址而没有 IP 地址的站点,为获得 IP 地址需要使用的协议是 20 | - 19.下列与传输层相关的概念表述错误的是 21 | - 20.TCP 段结构中的“端口”用于表示 22 | - 21.TCP/IP 参考模型中提供无连接数据报服务的传输协议是 23 | - 22.下列网络协议中使用 110 端口的是 24 | - 23.下列 IP 地址中正确的 c 类 IP 地址是 25 | - 24.下列选项中用于表示 Internet 信息资源地址的是 26 | 27 | ## 填空题 2 28 | - 25.计算机网络由负责信息处理的资源子网和负责信息传递的()组成; 29 | - 26.计算机网络的功能主要表现在硬件、软件资源的共享以及用户间()三个方面; 30 | - 27.按照网络采用的传输技术可将计算机网络分为广播式网络和()网络; 31 | - 28.网络体系结构是计算机网络各层次结构模型及其()的集合; 32 | - 29.双绞线分为屏蔽和无屏蔽的,其中无屏蔽双绞线的英文缩写是(); 33 | - 30.IEEE802.3 MAC 帧的目的地址字段最高位为“0”,表示该地址为(); 34 | - 31.当网络负荷增加到某一值后,网络吞吐量反而下降,表征网络出现了()现象; 35 | - 32.因特网上的域名服务器分为本地域名服务器、()域名服务器和授权域名服务器; 36 | - 33.在 ALOHA 系统中发送一个标准长度的帧所需要的时间称为(); 37 | - 34.在采用 IEEE802 参考模型的系统中,上下层利用()定义接口; 38 | - 35.IEEE802.3 MAC 地址帧的前导码每个字节的比特模式为(); 39 | - 36.FDDI 采用()编码,利用 125M baud 的信号传输速率使数据传输速率达到 100M bps; 40 | - 37.无线网络传输协议 WDP 的作用是使()能使用 TCP/IP 访问因特网; 41 | - 38.Tag Switching 技术的基本思想是增强广域网核心路由器的()能力; 42 | - 39.以保密性作为攻击目标的网络安全攻击形式是(); 43 | 44 | ## 简答题 6 45 | - 40.简述移动 Adhoc 网络的特点; 46 | - 41.简述 OSI 参数模型物理层的主要功能及该层协议规定的四个特性; 47 | - 42.简述 CSMA/CD 中的二进制指数退避算法的规则 48 | - 43.简述网络安全攻击中被动攻击的目的和特点; 49 | 50 | ## 计算题 1 51 | - 44.在采用 CRC 方式进行差错控制的数据传输过程中,若接收方收到发送方送来的信息为 10110011010,生成多项式为 G(X) = X^4 + X^3 + 1,接收方收到的数据是否正确?(要求写出计算过程) 52 | - 45.采用每种相位各有两种幅度的 PAM 调制方法,在带宽为 8kHz 的无噪信道上传输数字信号,若要达到 64kbps 的数据速率,至少需要多少种不同的相位(要求写出计算过程) 53 | - 46.设应用层数据加上固定长度的TCP首部和IP首部,再加上数据帧首部和尾部的18个字节后经以太网传送。试分别计算数据长度为100字节和1000字节时的传输效率,并根据计算结果说明数据长度对传输效率的影响。(数据的传输效率=应用层数据长度÷数据帧总长度;要求写出计算过程;结果保留3位有效数字) 54 | - 47.设Modem的数据传输率为2400bps,现有数据1272字节,若以异步方式传送(不加校验位,一位停止位),则最少需要多少时间才能传输完毕?(要求写出计算过程,传播延迟时间忽略不计) 55 | 56 | ## 应用题 7 57 | - 48.要说明曼彻斯特和差分曼彻斯特编码规则。并分别画出对应于比特串“01101001”的曼彻斯特和差分曼彻斯特编码波形图。 58 | - 49.画出HDLC协议的帧格式并回答下列问题: 59 | (1)若利用HDLC传输10个汉字(双字节)时,帧的总长度应为多少字节? 60 | (2)若HDLC帧的数据段中出现比特串“010000011111101011111110”,试给出比特填充后的结果。 61 | 62 | - 50.某用户的计算机通过以太网连入互联网,该用户在浏览器的地址栏中输入了某网站的地址,并按下回车键,随后看到了该网站的主页。请依据TCP/IP参考模型列出该通信过程所涉及的网络协议,并写出各个协议的作用。 -------------------------------------------------------------------------------- /_p/201710/README.md: -------------------------------------------------------------------------------- 1 | ## 选择题 12 2 | - 1.未来宽带、大容量通信网络的优选方案是 3 | - B 全光网络 4 | - 2.对于点到点线路的通信子网,其采用的基本拓扑结构可以是 5 | - A 星形 6 | - 3.下列关于环形拓扑结构的优点表述错误的是 7 | - D 故障检测容易 8 | - 4.涉及速度匹配和排序等的网络协议要素是 9 | - C 定时 10 | - 5.在 OSI 参考模型中所定义的内容中可以实现的是 11 | - B 各种协议 12 | - 6.TCP/IP 参考模型中与 OSI 参考模型数据链路层及物理层对应的是 13 | - D 主机——网络层 14 | - 7.下列关于光纤传输介质说法错误的是 15 | - A 多模光纤传输效率高于单模光纤 16 | - 8.若传输 5000 字节的二进制数时出错的位数为 2 比特,则本次传输的误码率为 17 | - C 5 x 10 - 5 18 | - 9.下列有关传输控制协议 TCP 所提供服务的特征表达错误的是 19 | - B 端到端通信且支持广播通信; 20 | - 10.下列编码方法中不能用于数字数据的数字信号编码是 21 | - D 脉冲调制 22 | - 11.若在 1200 波特的通信线路上采用 QAM.16 调制方案,则可达到的传输率为 23 | - C 4800bps 24 | - 12.采用转义控制符(DLE)作为填充符以实现数据透明传输的帧同步方法是 25 | - A 首尾定界符法; 26 | - 13.下列有关数据传输中的“差错”概念说法错误的是 27 | - C.热噪声引起的差错被称为突发错(随机错误) 28 | - 14.从滑动窗口的观点来看“Go-Back-N”协议,其窗口大小为 29 | - B.发送窗口大于 1,接收窗口等于 1 30 | - 当发送窗口和接收窗口的大小都等于 1 时,就是停止等待协议; 31 | - 当发送窗口大于 1 时,接收窗口等于 1 时,就是回退 N 步协议; 32 | - 当发送窗口和和接收窗口的大小均大于 1 时,就是选择重发协议; 33 | - 15.若 HDLC 帧的控制字段中的内容为“01101011”,则表示该帧的类型为 34 | - B 信息帧 35 | - 16.设计路由算法时首先要考虑的技术要素是 36 | - A 选择最短路由还是最佳路由 37 | - 17.下列网络互联设备(网间连接器)中只起到扩展网段距离作用的是 38 | - C 转发器 39 | - 18.对只有自己的物理地址而没有 IP 地址的站点,为获得 IP 地址需要使用的协议是 40 | - D RARP 协议 41 | - 19.下列与传输层相关的概念表述错误的是 42 | - D.传输层地址是由IP地址和端口号组成 43 | - 20.TCP 段结构中的“端口”用于表示 44 | - A 地址 45 | - 21.TCP/IP 参考模型中提供无连接数据报服务的传输协议是 46 | - B UDP 协议 47 | - 22.下列网络协议中使用 110 端口的是 48 | - C POP3 协议 49 | - 23.下列 IP 地址中正确的 c 类 IP 地址是 50 | - D 202.211.10.55 51 | - 24.下列选项中用于表示 Internet 信息资源地址的是 52 | - A URL 53 | 54 | ## 填空题 2 55 | - 25.计算机网络由负责信息处理的资源子网和负责信息传递的(通信子网)组成; 56 | - 26.计算机网络的功能主要表现在硬件、软件资源的共享以及用户间(信息交换)三个方面; 57 | - 27.按照网络采用的传输技术可将计算机网络分为广播式网络和(点对点式)网络; 58 | - 28.网络体系结构是计算机网络各层次结构模型及其(协议)的集合; 59 | - 29.双绞线分为屏蔽和无屏蔽的,其中无屏蔽双绞线的英文缩写是(UTP); 60 | - 30.IEEE802.3 MAC 帧的目的地址字段最高位为“0”,表示该地址为(单个地址); 61 | - 31.当网络负荷增加到某一值后,网络吞吐量反而下降,表征网络出现了(拥塞)现象; 62 | - 32.因特网上的域名服务器分为本地域名服务器、(根)域名服务器和授权域名服务器; 63 | - 33.在 ALOHA 系统中发送一个标准长度的帧所需要的时间称为(帧时); 64 | - 34.在采用 IEEE802 参考模型的系统中,上下层利用(服务访问点(SAP))定义接口; 65 | - 35.IEEE802.3 MAC 地址帧的前导码每个字节的比特模式为(10101010); 66 | - 36.FDDI 采用(4B/5B)编码,利用 125M baud 的信号传输速率使数据传输速率达到 100M bps; 67 | - 37.无线网络传输协议 WDP 的作用是使(WAP(无线应用协议))能使用 TCP/IP 访问因特网; 68 | - 38.Tag Switching 技术的基本思想是增强广域网核心路由器的(路由/转发)能力; 69 | - 39.以保密性作为攻击目标的网络安全攻击形式是(截获); 70 | 71 | ## 简答题 6 72 | - 40.简述移动 Adhoc 网络的特点; 73 | - 答: 74 | - 具有一定的独立性; 75 | - 动态变化的网络拓扑结构; 76 | - 有限的无线通信带宽和主机能源; 77 | - 网络的分布特性且生存周期短; 78 | - 有限的物理安全; 79 | - 41.简述 OSI 参数模型物理层的主要功能及该层协议规定的四个特性; 80 | - 答: 81 | - 物理层的主要功能是实现比特流的透明传输,为数据链路层提供数据传输服务; 82 | - 物理层协议规定的特性包括机械特性、电气特性、功能特性和规程特性; 83 | - 42.简述 CSMA/CD 中的二进制指数退避算法的规则 84 | - 答: 85 | - 对每个数据帧,当第一次发生冲突时,设置一个参量 L = 2; 86 | - 退避间隔取 1 到 L 个时间片中的一个随机数,1 个时间片等于两站点之间的最大传播时延的两倍; 87 | - 当数据帧再次发生冲突,则将参量 L 加倍; 88 | - 设置一个最大重传次数,超过该次数,则不再重传,并报告出错。 89 | - 43.简述网络安全攻击中被动攻击的目的和特点; 90 | - 答: 91 | - 被动攻击的主要目的是窃听和监视信息的传输并存储,攻击者只是想获得被传送的信息; 92 | - 被动攻击通常很难被检测出来,因为它不改变数据,但预防这种攻击的发生是可能的; 93 | - 因此,对被动攻击通常是采取预防手段而不是检测恢复手段; 94 | 95 | ## 计算题 1 96 | - 44.在采用 CRC 方式进行差错控制的数据传输过程中,若接收方收到发送方送来的信息为 10110011010,生成多项式为 G(X) = X^4 + X^3 + 1,接收方收到的数据是否正确?(要求写出计算过程) 97 | - 答:生成多项式 G(X)对应的位串应该是 11001,10110011010 % 11001 == 0,接收方接收到的数据正确。 98 | - 45.采用每种相位各有两种幅度的 PAM 调制方法,在带宽为 8kHz 的无噪信道上传输数字信号,若要达到 64kbps 的数据速率,至少需要多少种不同的相位(要求写出计算过程) 99 | - 答:? 100 | - 46.设应用层数据加上固定长度的TCP首部和IP首部,再加上数据帧首部和尾部的18个字节后经以太网传送。试分别计算数据长度为100字节和1000字节时的传输效率,并根据计算结果说明数据长度对传输效率的影响。(数据的传输效率=应用层数据长度÷数据帧总长度;要求写出计算过程;结果保留3位有效数字) 101 | - 100字节时:100 / (100 + 20 + 20 + 32) = 63.3% 102 | - 1000字节时:1000 / (1000 + 20 + 20 + 32) = 94.5% 103 | - 计算结果表明:应用层数据(有效载荷)的长度越长,传输效率越高; 104 | - 47.设Modem的数据传输率为2400bps,现有数据1272字节,若以异步方式传送‘(不加校验位,一位停止位),则最少需要多少时间才能传输完毕?(要求写出计算过程,传播延迟时间忽略不计) 105 | - 以异步方式传输一个字节的数据,实际需传输 8 + 1 + 1 = 10bit; 106 | - 传输所需要的时间为 1272 * 10 / 2400bps = 5.3s; 107 | 108 | ## 应用题 7 109 | - 48.要说明曼彻斯特和差分曼彻斯特编码规则。并分别画出对应于比特串“01101001”的曼彻斯特和差分曼彻斯特编码波形图。 110 | - 答: 111 | - 曼彻斯特编码:每一位的中间有跳变,从高到低跳变表示 1,从低到高跳变表示 0; 112 | - 差分曼彻斯特编码:用每位开始有跳变表示 0,无跳变表示 1; 113 | 114 | - 49.画出HDLC协议的帧格式并回答下列问题: 115 | (1)若利用HDLC传输10个汉字(双字节)时,帧的总长度应为多少字节? 116 | - 帧的总长度为 20 字节; 117 | (2)若HDLC帧的数据段中出现比特串“010000011111101011111110”,试给出比特填充后的结果。 118 | - ? 了解一下 HDLC; 119 | 120 | - 50.某用户的计算机通过以太网连入互联网,该用户在浏览器的地址栏中输入了某网站的地址,并按下回车键,随后看到了该网站的主页。请依据TCP/IP参考模型列出该通信过程所涉及的网络协议,并写出各个协议的作用。 121 | - 应用层 122 | - HTTP:客户端浏览器和 Web 服务器之间的应用层通信协议; 123 | - DNS:域名解析服务,提供将主机名解析成 IP 地址服务; 124 | - 传输层 125 | - TCP:用于在不可靠的因特网上建立可靠的、端对端的字节流通信的协议; 126 | - 网络层 127 | - IP:提供了不可靠的、无连接的数据报传输机制; 128 | - ICMP:提供差错报告和请求应答服务; 129 | - ARP:提供将 IP 地址解析成以太网 48bit 地址; 130 | - 网络接口层 131 | - IEEE802.3:是一种局域网标准协议,使用 CSMA/CD 为以太网提供介质访问方法。 -------------------------------------------------------------------------------- /_p/201804/Practice.md: -------------------------------------------------------------------------------- 1 | ## 单项选择题 14 2 | 01100011 3 | 01011010 4 | 5 | - 1.网络协议中定义实体之间交换信息格式与结构的协议的要素是 6 | 7 | - 2.当某个分组在输出链路发送时,从发送第一位开始到发送完最后一位为止所用的时间称为 8 | 9 | - 3.设信号传输速度 V=2500km/s,链路长度 D=500m, 链路带宽 R=10Mbit/s,则该段链路的时延带宽积为 10 | 11 | - 4.在 OSI 参考模型中,数据链路层的协议数据单元(PDU)称为 12 | 13 | - 5.TCP/IP 参考模型的核心层是 14 | 15 | - 6.分别用 a-m 共 13 个英文字母命名的域名服务器是 16 | 17 | - 7.HTTP 报文中最常见的请求方法是 18 | 19 | - 8.下列关于 Cookie 的说法错误的是 20 | 21 | - 9.电子邮件应用中将非 ASCII 码文本转换为 ASCII 码文本内容的协议是 22 | 23 | - 10.在 Socket 编程过程中绑定套接字的本地端点地址是的 SocketAPI 函数是 24 | 25 | - 11.从滑动窗口协议的角度,选择重传(SR)协议的发送窗口 W,与接收窗口 W,满足 26 | 27 | - 12.虚电路网络是一种 28 | 29 | - 13.在网络层实现网络互连的设备是 30 | 31 | - 14.总长度为 38008 的 IP 数据报通过 MTU 为 15008 的链路传输,则该数据报需分成的片数和 MF 标志为: 32 | 33 | - 15.设子网中主机的 IP 地址为 192.168.0.135,子网掩码为 255.255.255.192,该子网地址和子网所包含的 IP 地址总数分别为 34 | 35 | - 16.可以作为 IPv6 数据报源地址和目的地址的地址类型是 36 | 37 | - 17.对于二进制数据 0111011 采用奇校验和偶检验编码后的码字分别为 38 | 39 | - 18.下列以太网的 MAC 地址表示中错误的是 40 | 41 | - 19.划分虚拟局域网的方法中不包括 42 | 43 | - 20.利用带宽为 4000Hz 的无噪声信道传输二进制基带信号,其最大的传输速率可达到 44 | 45 | - 21.若利用电平的变化与否表示信息,且相邻脉冲用电平有跳变表示 1,无跳变表示 0,则该编码类型属于 46 | 47 | - 22.指明利用接口传输比特流的全过程以及各项用于传输事件发送的合法顺序的物理层接口特性是 48 | 49 | - 23.最高具有 11Mbit/s 速率且工作在无需许可的 2.4GHz 的无线频谱上的无线局域网标准是 50 | 51 | - 24.IEEE802.11 帧的类型中不包括 52 | 53 | - 25.下列加密算法中属于公开密钥算法的是 54 | 55 | ## 填空题 3 56 | - 26.在目前的互联网环境下,软件共享的典型形式是(?); 57 | - 27.对于报文和分组交换方式来说,更为公平的交换方式是(?); 58 | - 28.每个 URL 地址主要包括存放对象的服务器主机域名(或IP 地址)和(?); 59 | - 29.从传输层的角度来看,端到端的通信是(?)之间的通信; 60 | - 30.路由选择算法可分为全局式路由选择算法和(?)路由选择算法; 61 | - 31.冲击噪声引起的第一位错误与最后一位错误之间的长度称为(?); 62 | - 32.广泛应用于光纤通信中的多路复用技术是(?)技术; 63 | - 33.令牌环网上最严重的两种错误是令牌丢失和(?); 64 | - 34.HDLC 的三种帧类型是信息帧、管理帧和(?); 65 | - 35.无状态分组过滤器是典型的部署在内部网和(?)上的防火墙; 66 | 67 | ## 简答题 6 68 | - 36.简述米勒码的编码规则; 69 | - 答: 70 | 71 | - 37.简述路由器输入端口接收和处理数据的过程; 72 | - 答: 73 | 74 | - 38.简述非坚持 CSMA 的基本原理; 75 | - 答: 76 | 77 | - 39.简述地址解析协议 ARP 的作用及其基本思想 78 | - 答: 79 | 80 | - 40.简述差错控制的概念及差错控制的基本方式; 81 | - 答: 82 | 83 | - 41.简述 IEEE802.11 中四个主要协议具有的共同特征; 84 | - 答: 85 | 86 | ## 综合题 22 87 | - 42.(10分)设Bob给Alice发送了frgh和cuerippnori$ottknlmrwpce两段密文。其中第一段密文为密钥k=3(字符集为26个小写英文字母)的恺撒密码,第二段密文是采用了第一段密文的明文作为加密密钥的列置换密码(填充字符为$)。试求: 88 | - (1)第一段密文的明文: 89 | - 答: 90 | - (2)第二段密文的明文(写出解密过程)。 91 | - 答: 92 | 93 | - 43.(13分)题43图是某个TCP连接(协议为TCP—Reno)的拥塞窗口随RTT的变化过程。请回答如下问题: 94 | - (1)第1个RTT时的拥塞窗口阈值是多少? 95 | - 答: 96 | - (2)说明该过程中哪些时间段为慢启动阶段? 97 | - 答: 98 | - (3)说明该过程中哪些时间段为拥塞避免阶段? 99 | - 答: 100 | - (4)第10个RTT时,发生了什么事件?拥塞窗口及其阈值大小如何变化? 101 | - 答: 102 | - (5)第16个RTT时,发生了什么事件?拥塞窗口及其阈值大小如何变化? 103 | - 答: 104 | 105 | - 44.(12分)设网络拓扑如题44图所示。请利用Dijkstra最短路径算法计算节点X到网络中所有节点的最短路径,正确填写题44表中序号(1)一(12)的内容在答题卡上。 106 | 注:如果某个节点在选择下一跳节点时,有多个节点的最短路径相同,则选择节点编号小的节点作为下一跳节点。例如,如果节点X到节点Y和节点Z的路径代价相同,而且都是X到所有下一跳节点中的最短路径,则选择Y为X的下一跳节点。 107 | - w -------------------------------------------------------------------------------- /_p/201804/README.md: -------------------------------------------------------------------------------- 1 | ## 单项选择题 14 2 | 3 | - 1.网络协议中定义实体之间交换信息格式与结构的协议的要素是 4 | - A 语法 5 | 6 | - 2.当某个分组在输出链路发送时,从发送第一位开始到发送完最后一位为止所用的时间称为 7 | - C 传输时延 8 | 9 | - 3.设信号传输速度 V=2500km/s,链路长度 D=500m, 链路带宽 R=10Mbit/s,则该段链路的时延带宽积为 10 | - B 2000 bit 11 | 12 | - 4.在 OSI 参考模型中,数据链路层的协议数据单元(PDU)称为 13 | - C 帧 14 | 15 | - 5.TCP/IP 参考模型的核心层是 16 | - B 网络互联层 17 | 18 | - 6.分别用 a-m 共 13 个英文字母命名的域名服务器是 19 | - A 根域名服务器 20 | 21 | - 7.HTTP 报文中最常见的请求方法是 22 | - C GET 23 | 24 | - 8.下列关于 Cookie 的说法错误的是 25 | - B Cookie 由客户端生成 26 | 27 | - 9.电子邮件应用中将非 ASCII 码文本转换为 ASCII 码文本内容的协议是 28 | - A MIME 协议 29 | 30 | - 10.在 Socket 编程过程中绑定套接字的本地端点地址是的 SocketAPI 函数是 31 | - B bind 32 | 33 | - 11.从滑动窗口协议的角度,选择重传(SR)协议的发送窗口 W,与接收窗口 W,满足 34 | - B Ws > 1,Wr > 1 35 | 36 | - 12.虚电路网络是一种 37 | - B 分组交换网络 38 | 39 | - 13.在网络层实现网络互连的设备是 40 | - A 路由器 41 | 42 | - 14.总长度为 38008 的 IP 数据报通过 MTU 为 15008 的链路传输,则该数据报需分成的片数和 MF 标志为: 43 | - A 3 和 1,1,0 44 | 45 | - 15.设子网中主机的 IP 地址为 192.168.0.135,子网掩码为 255.255.255.192,该子网地址和子网所包含的 IP 地址总数分别为 46 | - C 192.168.0.128/26 和 64 47 | 48 | - 16.可以作为 IPv6 数据报源地址和目的地址的地址类型是 49 | - B 单播地址 50 | 51 | - 17.对于二进制数据 0111011 采用奇校验和偶检验编码后的码字分别为 52 | - C 01110110 和 01110111 53 | 54 | - 18.下列以太网的 MAC 地址表示中错误的是 55 | - D.43:25:AB:E5:2L:44 56 | 57 | - 19.划分虚拟局域网的方法中不包括 58 | - C 基于安全需求划分 59 | 60 | - 20.利用带宽为 4000Hz 的无噪声信道传输二进制基带信号,其最大的传输速率可达到 61 | - D 8000bps 62 | 63 | - 21.若利用电平的变化与否表示信息,且相邻脉冲用电平有跳变表示 1,无跳变表示 0,则该编码类型属于 64 | - B 差分码 65 | 66 | - 22.指明利用接口传输比特流的全过程以及各项用于传输事件发送的合法顺序的物理层接口特性是 67 | - D 规程特性 68 | 69 | - 23.最高具有 11Mbit/s 速率且工作在无需许可的 2.4GHz 的无线频谱上的无线局域网标准是 70 | - B IEEE802.11b 71 | 72 | - 24.IEEE802.11 帧的类型中不包括 73 | - D 无编号帧 74 | 75 | - 25.下列加密算法中属于公开密钥算法的是 76 | - C RSA 77 | 78 | ## 填空题 3 79 | - 26.在目前的互联网环境下,软件共享的典型形式是(SaaS(软件即服务)); 80 | - 27.对于报文和分组交换方式来说,更为公平的交换方式是(分组交换); 81 | - 28.每个 URL 地址主要包括存放对象的服务器主机域名(或IP 地址)和(对象的路径名); 82 | - 29.从传输层的角度来看,端到端的通信是(应用进程)之间的通信; 83 | - 30.路由选择算法可分为全局式路由选择算法和(分布式)路由选择算法; 84 | - 31.冲击噪声引起的第一位错误与最后一位错误之间的长度称为(突发长度); 85 | - 32.广泛应用于光纤通信中的多路复用技术是(波分多路复用)技术; 86 | - 33.令牌环网上最严重的两种错误是令牌丢失和(数据帧无法撤销); 87 | - 34.HDLC 的三种帧类型是信息帧、管理帧和(无序号帧(U帧)); 88 | - 35.无状态分组过滤器是典型的部署在内部网和(网络边缘路由器)上的防火墙; 89 | 90 | ## 简答题 6 91 | - 36.简述米勒码的编码规则; 92 | - 答: 93 | - 信息码中的 1 编码为双极非归零码的 01 或者 10; 94 | - 信息码连 1 时,后面的 1 要交替编码; 95 | - 信息码中的 0 编码为双极非归零码 00 或者 11,即码元中间不跳变; 96 | - 信息码单个 0 时,其前沿、中间时刻、后沿均不跳变; 97 | - 信息码连 0 时,两个 0 码元的间隔跳变; 98 | 99 | - 37.简述路由器输入端口接收和处理数据的过程; 100 | - 答:输入端口负责从物理接口接收信号,还原数据链层帧,提取 IP 数据报,根据 IP 数据报的目的 IP 地址检索路由表,决策需要将该数据报交换到哪个输出端口。 101 | 102 | - 38.简述非坚持 CSMA 的基本原理; 103 | - 答:若通信站有数据发送,先侦听信道,若发现信道空闲,则立即发送数据,若发现信道忙,则等待一个随机时间,然后重新开始侦听信道,尝试发送数据;如果发送数据时产生冲突,则等待一个随机时间,然后重新开始侦听信道,尝试发送数据。 104 | 105 | - 39.简述地址解析协议 ARP 的作用及其基本思想 106 | - 答:ARP 用于根据本网内目的主机和默认网关的 IP 地址获取其 MAC 地址;基本思想:在每一台主机中设置专用内存区域作为 ARP 高速缓存区域,存储该主机所在局域网中其他主机和路由器(即默认网关)的 IP 地址和 MAC 地址的对应关系,并且要经常更新这个地址表。ARP 通过广播 ARP 查询报文的方式来询问某目的站的 IP 地址对应的 MAC 地址。即知道本网内某主机的 IP 地址,可以查询得到其 MAC 地址。 107 | 108 | - 40.简述差错控制的概念及差错控制的基本方式; 109 | - 答:差错控制就是通过差错编码技术,实现对信息传输差错的检测,并基于某种机制进行差错纠正和处理。差错控制的基本方式主要包括:检错重发、前后纠错、反馈校验、检错丢弃。 110 | 111 | - 41.简述 IEEE802.11 中四个主要协议具有的共同特征; 112 | - 答: 113 | - 都使用相同的介质访问控制协议 CSMA/CA; 114 | - 链路层的帧使用相同的格式; 115 | - 都具有降低传输速率以增加传输距离的能力; 116 | - 都支持“基础设施模式”和“自组织模式”两种模式; 117 | 118 | ## 综合题 22 119 | - 42.(10分)设Bob给Alice发送了frgh和cuerippnori$ottknlmrwpce两段密文。其中第一段密文为密钥k=3(字符集为26个小写英文字母)的恺撒密码,第二段密文是采用了第一段密文的明文作为加密密钥的列置换密码(填充字符为$)。试求: 120 | - (1)第一段密文的明文: 121 | - 答:code; 122 | - (2)第二段密文的明文(写出解密过程)。 123 | - 答:computer network principle; 124 | 125 | - 43.(13分)题43图是某个TCP连接(协议为TCP—Reno)的拥塞窗口随RTT的变化过程。请回答如下问题: 126 | - (1)第1个RTT时的拥塞窗口阈值是多少? 127 | - 答:16 MSS; 128 | - (2)说明该过程中哪些时间段为慢启动阶段? 129 | - 答:0~4,17~20; 130 | - (3)说明该过程中哪些时间段为拥塞避免阶段? 131 | - 答:4~10、11~16、20~25; 132 | - (4)第10个RTT时,发生了什么事件?拥塞窗口及其阈值大小如何变化? 133 | - 答:发送端收到了 3 个重复的 ACK;拥塞窗口阈值设置为当前拥塞窗口的一半,即 11MSS,拥塞窗口大小由 22 MSS 变成 11MSS; 134 | - (5)第16个RTT时,发生了什么事件?拥塞窗口及其阈值大小如何变化? 135 | - 答:发送端计时器超时;拥塞窗口阈值设置为当前拥塞窗口的一半,即 8MSS;拥塞窗口大小设置为 1MSS; 136 | 137 | - 44.(12分)设网络拓扑如题44图所示。请利用Dijkstra最短路径算法计算节点X到网络中所有节点的最短路径,正确填写题44表中序号(1)一(12)的内容在答题卡上。 138 | 注:如果某个节点在选择下一跳节点时,有多个节点的最短路径相同,则选择节点编号小的节点作为下一跳节点。例如,如果节点X到节点Y和节点Z的路径代价相同,而且都是X到所有下一跳节点中的最短路径,则选择Y为X的下一跳节点。 139 | - w 140 | - 6 141 | - w 142 | - 5 143 | - w 144 | - 3 145 | - w 146 | - 2 147 | - w 148 | - 3 149 | - w 150 | - 7 -------------------------------------------------------------------------------- /_p/合集/填空选择题.md: -------------------------------------------------------------------------------- 1 | ## 第一章 计算机网络概述 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | - 计算机网络是计算机技术和通信技术相结合的产物。这种结合开始于 () 46 | - 20 世纪 50 年代 47 | - 计算机网络中 PSE(分组交换设备 )属于网络系统的 () 48 | - 通信子网 49 | - 通信子网主要由网络节点和通信链路组成。网络节点也成为转接接节点或中间节点,下面属于转接节点的是 () 50 | - 集中器 51 | - 中心节点是控制中心,任意两个节点间的通信最多只需两步,但这种网络系统,网络可靠性低,网络共享能力差,并且一旦中心节点出现故障则导致全网瘫痪。这种网络拓扑结构是 () 52 | - 星形结构 53 | - 现代计算机网络系统的基础是 () 54 | - 分组交换技术 55 | - 主机 HOST 属于计算机网络系统中的 () 56 | - 资源子网 57 | - 计算机网络是由通信子网和资源子网组成,下列设备中属于通信子网的是 () 58 | - 集中器 59 | - 现代计算机网络最为重要的功能是 () 60 | - 资源共享 61 | - 星形、总线形、环形和网形结构式按照 () 分类。 62 | - 网络拓扑结构 63 | - 下列网络拓扑结构中,通信子网不能采用点—点线路的是 () 64 | - 总线形 65 | - 下列对于星形拓扑结构的描述中,不正确的是 () 66 | - 不容易进行故障和诊断 67 | - 下列叙述中,哪一个不是总线型拓扑结构的优点 () 68 | - 故障诊断和隔离容易 69 | - 按覆盖的地理范围进行分类,计算机网络可以分为三类是 () 70 | - 局域网、广域网与城域网 71 | - 在网络节点中, FEP 是负责 () 72 | - 与终端 T 之间的通信控制的设备 73 | - 在计算机网络的四个发展阶段中,第一阶段的计算机网络是 () 的计算机。 74 | - 面向终端 75 | - 面向终端的计算机网络发展阶段,在终端较集中的地区是通过 () 线路将其连至集中器或多路复用器,然后通过 () 线路、调制解调器与远程中心计算机相连。 76 | - 低速、高速通信 77 | - 计算机网络的雏形是 () 78 | - 终端—通信线路—计算机系统 79 | - 当前,三大网络是指 () 。 80 | - 电信业务网 、广播电视网、及 计算机网 81 | - 电信业一般认为传输速率达到 () 的骨干网称坐宽带网。 82 | - 2Gbps 83 | - 接入网技术可根据使用的传输介质的不同分为 () 84 | - 光纤接入 、铜线接入、 光纤同轴电缆混合接入 和无线接入等 85 | - WAP 是指 () 。 86 | - 无线应用协议 87 | - 计算机网络的功能主要表现在三方面,它们是 () 。 88 | - 硬件资源共享 、软件资源共享和 用户间信息交换 89 | - 计算机网络按交换方式分为() 。 90 | - 电路交换网、报文交换和分组交换 91 | - 覆盖一个国家或几个洲的计算机网络称为 ();在同一建筑或覆盖几公里内范围的网络成为() ;而分布范围介于两者之间的是 () 。 92 | - 广域网 WAN、局域网 LAN、城域网 MAN 93 | - 点对点式网与广播式网络的重要区别是 () 94 | - 路由选择机制和 分组存储转发 95 | - 简述计算机网络发展的四个阶段及其特点。 96 | - 计算机网络发展的四个阶段是:面向终端的计算机网络、计算机—计算机网络、开放式标准化网络、因特网广泛应用与高速网络技术的发展。 97 | - 面向终端的计算机网络阶段: 以单个计算机为中心的远程联机系统。 中心计算机进行信息的集中处理,其余各终端设备都没有自主处理能力。 98 | - 计算机—计算机网络阶段:计算机与计算机之间的直接通信,并呈现出多处理中心的特点。 99 | - 开放式标准化网络阶段:不同体系结构的产品能容易互连。 100 | - 因特网的广泛应用与高速网络技术的发展阶段:用户可以利用 Internet 实现全球范围的电子邮件、WWW 信息查询与浏览、电子新闻、文件传输、语音与图像通信服务功能。随着 Internet 飞速发展与广泛应用的同时,高速网络技术发展表现在宽带综合业务数字网 B-ISDN 、异步传输模式 ATM 、高速局域网、交换局域网与虚拟网络。 101 | - 计算机网络的定义是什么? 102 | - 是利用通信设备和线路将地理位置不同的、功能独立的多个计算机系统互连起来,以功能完善的网络软件 (即网络通信协议、信息交换方式和网络操作系统等 )实现网络中资源共享和信息传递的系统。 103 | - 简述计算机网络的功能。 104 | - 计算机网络的功能主要表现在硬件资源共享、软件资源共享和用户间信息交换三个方面。 105 | - (1)硬件资源共享。可以在全网范围内提供对处理资源、存储资源、输入输出资源等昂贵设备的共享,使用户节省投资,也便于集中管理和均衡分担负荷。 106 | - (2)软件资源共享。允许互联网上的用户远程访问各类大型数据库,可以得到网络文件传送服务、远程管理服务和远程文件访问服务,从而避免软件研制上的重复劳动以及数据资源的重复存贮,也便于集中管理。 107 | - (3)用户间信息交换。计算机网络为分布在各地的用户提供了强有力的通信手段。用户可以通过计算机网络传送电子邮件、发布新闻消息和进行电子商务活动。 108 | - 简述总线形星形环形网络拓扑的优缺点。 109 | - 总线形拓扑结构具有以下优点: 110 | - (1)所需电缆数量较少。 111 | - (2)结构简单,无源工作有较高可靠性。 112 | - (3)易于扩充。 113 | - 总线拓扑结构的缺点: 114 | - (1)总线传输距离有限,通信范围受到限制。 115 | - (2)故障诊断和隔离比较困难。 116 | - (3)分布式协议不能保证信息的及时传送,不具实时功能,站点必须有介质访问控制功能,从而增加了站点的硬件和软件开销。 117 | - 星形拓扑结构的优点: 118 | - (1)控制简单。 119 | - (2)故障诊断和隔离容易。 120 | - (3)方便服务。 121 | - 星星拓扑结构的缺点是: 122 | - (1)需要耗费大量的电缆,安装、维护的工作量也骤增。 123 | - (2)中央节点负担重,形成“瓶颈” ,一旦发生故障,则全网受影响。 124 | - (3)各站点的分布处理能力较低。 125 | - 环形拓扑结构的优点: 126 | - (1)电缆长度短,只需要将各节点逐次相连。 127 | - (2)可使用光纤。光纤的传输速率很高,十分适合于环形拓扑的单方面传输。 128 | - (3)所有站点都能公平访问网络的其他部分,网络性能稳定。 129 | - 环形拓扑结构的缺点: 130 | - (1)节点故障会引起全网故障,是因为数据传输需要通过环上的每一个节点,如某一节点故障,则引起全网故障。 131 | - (2)节点的加入和撤出过程复杂。 132 | - (3)介质访问控制协议采用令牌传递的方式,在负载很轻时信道利用率相对较低。 133 | - 网络拓扑结构的优点是不受瓶颈问题和失效问题的影响,可靠性高。缺点是结构复杂、协议复杂,成本较高。 134 | - 远程联机系统中为什么需要调制解调器? 135 | - 因为在远程联机系统中的计算机与远程终端的通信当时只能利用公用电话系统,而利用电话线传输计算机与远程终端发出的信号,就必须要经过数据转换。 136 | - 由于计算机和远程终端发出的信号都是数字信号,而公用电话系统的传输系统只能传输模拟信号。利用调制解调器就是为实现两种信号的转换。 137 | - 调制解调器的作用是:在通信前,先把从计算机或远程终端发出的数字信号转换成可以在电话线上传送的模拟信号,通信后再将被转换的信号进行复原。 138 | 139 | ## 第2章 计算机网络体系结构 140 | - 在组成网络协议的三要素中,数据与控制信息的机构与格式是指 () 。 141 | - 语法 142 | - 在 OSI 参考模型中,实现数据格式转换功能应在 。 143 | - 表示层 144 | - OSI 模型的最底层是 () 。 145 | - 物理层 146 | - IP 协议位于 TCP/IP 模型的 () 。 147 | - 互连层 148 | - 网络协议三要素中的定时是 () 。 149 | - 速度匹配和排序 150 | - 下面关于网络分层体系结构描述正确的是 () 。 151 | - 不同层的实体之间可以通过相应的协议进行通信 152 | - 通信子网不包括 。 153 | - 传输层 154 | - 在 OSI 七层模型中,实现网络的安全和保密、数据压缩等功能的协议层是 () 。 155 | - 表示层 156 | - OSI 七层模型中,实现端到端的透明数据传输服务的系一层是 () 157 | - 传输层 158 | - 完成路由选择功能是在 OSI 参考模型的 () 。 159 | - 网络层 160 | - 两端用户传输文件,是由下列 OSI 参考模型中的哪一层处理 () 。 161 | - 应用层 162 | - TCP/IP 层次模型中,下列哪一层是 TCP/IP 的实现基础 () 。 163 | - 主机—网络层 164 | - 网络分层结构中, n 层是 () 层的 服务提供者 ,同时是 () 层的用户。 165 | - n+1、n-1 166 | - 计算机网络系统需要解决许多复杂的问题,所采用的解决方法是 () 。 167 | - 分层 168 | - 网络协议的三个要素是 。 169 | - 语义 、语法 和定时 170 | - 网络体系结构是网络各层及其 () 的集合。 171 | - 协议 172 | - 网络层次模型中对等实体间进行的都是需通信,而且遵循该层的 () 。 173 | - 协议 174 | - 继世界上第一个网络体系结构提出后,许多公司纷纷提出各自的网络体系结构,这些网络体系结构共同之处是都采用了 () 。 175 | - 分层技术 176 | - OSI 参考模型将网络划分为 ()。 177 | - 七层 178 | - 层次结构模型中,数据经过发送方从上到下逐层传递的过程中,每层都要加上适当的控制信息,这样的控制信息称为 () 。 179 | - 报头 180 | - 层次结构模型中,数据在发送方各层从上到下逐层传递,到达最底层数据成为由 0 和 1 组成的 (),然后再转换为 () 在物理介质上传输到接收方。 181 | - 比特流、电信号 182 | - 通信服务类型有两类,分别是: () 。 183 | - 面向连接服务 、无连接服务 184 | - 面向连接服务的数据传输过程要经过 3 个过程,它们是 () 。 185 | - 建立连接 、维护连接 和释放连接 186 | - 网络数据传输可靠性一般通过 () 机制保证。 187 | - 确认 和重传 188 | - TCP/IP 协议簇中, TCP 提供 () 服务; IP 提供 () 服务。 189 | - 传输层、网络层 190 | - TCP/IP 体系结构的传输层包含两个独立的协议 () 。 191 | - TCP 和 UDP 192 | - 协议与服务有何区别?又有何关系? 193 | - ① 服务是由下层向上层通过层间接口提供的,上层的实体通过服务原语来使用其下层所提供的服务。上层是服务的用户,下层是服务的提供者。 194 | - ② 协议是定义同层对等实体之间进行数据交换的规则、标准或约定,利用协议来实现它们的服务定义。 195 | - ③ 本层的服务用户只能看见服务, 而无法看见下面的协议, 下层的协议对上层的服务用户是透明的,因此,只要不改变本层提供给服务用户的服务,高层实体可以任意地改变它们的协议。 196 | - ④ 服务式垂直的,协议是水平的。 197 | - 计算机网络采用分层结构的理由是什么?它的好处是什么?层次结构的划分要遵循的主要原则是什么? 198 | - 及三级网络系统是一个十分复杂的系统。将一个复杂系统分解为若干个容易处理的子系统,然后“分而治之” 逐个加以解决, 这种结构化设计方法是工程设计中常用的手段。分层式系统分解的最好方法之一。 199 | - 分层结构的优点在于: 200 | - (1)每一层实现一种相对独立的功能。每一层不必知道下面一层是如何实现的,只要知道下层通过层间接口提供的服务是什么及本层向上层提供什么样的服务。 201 | - (2)系统经分层后,每一层次的功能相对简单且易于实现和维护。 202 | - (3)若某一层需要作改动或被代替时,只要层间接口不发生变化,则其他层次都不会受其影响,因此有很大的灵活性。 203 | - (4)易于交流、理解和标准化。 204 | - 分层的原则: 205 | - (1)每层的功能应是明确的,并且是相互独立的。当某一层的具体实现方法更新时,只要保持上下层的接口不变,便不会对邻层产生影响。 206 | - (2)层间接口必须清晰,跨越接口的信息量应尽可能少。 207 | - (3)层数应适中。若层数太少,则多种功能混杂在一层中,造成每一层的协议太复杂;若层数太多,则体系接口过于复杂,使描述和实现各层功能变得困难。 208 | - 简述面向连接服务和无连接服务的特点 。 209 | - 面向连接服务的主要特点有: 210 | - (1)数据传输过程前必须经过建立连接、维护连接和释放连接三个过程。 211 | - (2)在数据传输过程中,个分组不需要携带目的节点的地址。 212 | - (3)面向连接服务可确保数据传送的次序和传输的可靠性,但需通信开始前的连接开销,协议复杂,通信效率不高。 213 | - 无连接服务的特点是: 214 | - 每个分组都要携带完整的目的节点的地址, 各分组在通信子网中是独立传送的。 215 | - 不需要建立连接、维护连接和释放连接三个过程,节省连接开销和许多保证机制,通信协议相对简单,效率较高; 216 | - 不同分组可能选择不同路径到达目的节点,先发送不一定先到达,可能会出现乱序、重复与丢失的现象,稳定性不好。 217 | - TCP/IP 协议的主要特点是什么?其主要缺点是什么? 218 | - TCP/IP 协议的主要特点: 219 | - (1)开放的协议标准,可以免费试用,并且独立于特定的计算机硬件与操纵系统; 220 | - (2)独立于特定的网络硬件,可以运行在局域网、广域网,更适用于互联网中; 221 | - (3)统一的网络地址分配方案,使得整个 TCP/IP 设备在网中都具有惟一的地址; 222 | - (4)标准化的高层协议,可以提供多种可靠的用户服务。 223 | - TCP/IP 模型的主要缺点有: 224 | - 首先,该模型没有清楚的区分哪些是模范、哪些是实现; 225 | - 其次, TCP/IP 模型的主机—网络层定义了网络层与数据链路层的接口,并不是常规意义上的一层,接口和层的区别是非常重要的, TCP/IP 模型没有将它们区分开来。 226 | - 为什么网络体系结构需要标准化? 227 | - 计算机网络系统是非常复杂的系统,计算机之间互相通信涉及到许多复杂的技术问题,为实现计算机网咯通信,实现网络资源共享,计算机网络采用的是对解决复杂问题的十分有效的分层解决问题的方法。 228 | - 但由于网络系统体系结构各不相同,对各种体系接口来说,同一体系结构的网络产品互联是很容易实现的,而不同体系结构的产品却很难实现互连。由于社会的发展迫切要求不同体系结构的产品都能够很容易地得到互连,人们迫切希望建立一系列的国际标准,以得到一个“开放”的系统,所以网络体系结构需要标准化。 229 | - 试比较 OSI/RM 和 TCP/IP 模型的异同点 。 230 | - 相同: 231 | - 都以协议栈的概念为基础,协议栈中的协议彼此相互独立; 232 | - 都采用了层次结构的概念,各层的功能也大体相似。 233 | - 不同: 234 | - 层的数量不同; OSI 模型有七层,而 TCP/IP 只有四层,它们都有网络层 (或者简称互连网层 )、传输层和应用层,但其他的层并不相同; 235 | - OSI 模型的网络层同时支持无连接和面向连接的通信,但是传输层上只支持面向连接的通信; 236 | - TCP/IP 模型的网络只提供无连接的服务,但在传输层上同时支持两种通信模式。 237 | 238 | ## 物理层 239 | - RS-232C 接口标准属于 () 。 240 | - 物理层 241 | - OSI 模型中提供透明位流传输的是 () 。 242 | - 物理层 243 | - 双绞线交合的目的是 () 。 244 | - 减少干扰 245 | - 曼彻斯特的编码采用 () 实现同步。 246 | - 自同步法 247 | - 报文交换方式是数据交换方式之一,则以下描述正确的是 () 。 248 | - 这种方式对同等通信容量而言,效率比电路交换方式高 249 | - 数据通信系统中,调制解调器属于 () 。 250 | - 数据电路终接设备 DCE 251 | - 物理层协议有四个方面的特性。其中,通信介质的电气连接及有关电路特性方面的内容属于 ()。 252 | - 电气特性 253 | - 电话通信中最常用的传输介质是 () 。 254 | - 双绞线 255 | - 电缆中使用屏蔽层的目的是为了减少 () 。 256 | - 辐射电磁干扰 257 | - 下列传输介质中, () 的宽带最宽,数据传输率高,抗干扰能力最强。 258 | - 光纤 259 | - 通信子网的组成主要包括 () 。 260 | - 网络节点和通信链路 261 | - 数据传输速率公式:TR1log 2 N 中, T 的含义是 () 。 262 | - 单位脉冲信号宽度 263 | - 如果一个码元可以表示 8 种离散状态,则数据传输速率是其调制速率的 () 倍。 264 | - 3 265 | - 信号传输率为 1200Baud,每个码元可取 4 种离散状态,该信号的数据传输率是 ()。 266 | - 2400bps 267 | - 并行传输与串行传输相比 () 。 268 | - 速度快、费用高 269 | - 采用全双工通信方式,数据传输的方向形结构为 () 。 270 | - 可以在两个方向上同时传输 271 | - 外同步法中,接收端的同步信号是由 () 。 272 | - 发送端送来的 273 | - 异步时分多路复用 TDM 技术中的时间片分配策略是 () 。 274 | - 动态分配随时可变 275 | - 就同步方式而言,异步传输属 () 。 276 | - 群同步 277 | - 采用脉码调制方法对模拟信号进行编码,每次采样使用 256 个量化级进行量化,若数据传输速率为64Kbps,那么每秒钟采样的次数是 () 次。 278 | - 8000 279 | - 目前,国际性的标准约定调制解调器的产品速率是 () 280 | - 56Kbps 281 | - 电话网采用的是 () 。 282 | - 电路交换技术 283 | - 数据报交换过程中 () 。 284 | - 不必建立虚电路,但要为每个数据报作路由选择 285 | - 在数据传送中,报文内容不按顺序到达目的节点的是 () 286 | - 数据报方式 287 | - 下面有关交换技术的说法中,正确的是 () 。 288 | - 在数据报分组交换中,不保证分组的按序到达,而且目的地需要重新组装报文 289 | - 调制解调器最主要的功能是 () 。 290 | - 数字数据和模拟信号转换 291 | - 物理层的传输单位是 () 。 292 | - 比特流 293 | - 在数据通信系统中, () 指的是数据终端设备, 是对属于用户所有的联网设备或工作站的统称。 () 指的是 数据电路终接设备 ,是为用户提供入网连接点的网络设备的统称。 294 | - DTE、DCE 295 | - DTE 与 DCE 接口的各根导线的电气连接方式有三种,分别是:() 296 | - 非平衡方式 、采用差动接收器的非平衡方式 和平衡方式。 297 | - 在物理层的四个特性中, () 规定了接口信号的来源、作用以及其它信号之间的关系。 298 | - 功能特性 299 | - 目前由 ITU 建议在物理层使用的规程有 V 系列标准和 X 系列标准;这些标准一般都称作 () 。 300 | - 建议 301 | - X.21 的设计目标是要减少信号线的数目, 其机械特性采用 15 芯标准连接器。 X.21 接口适用于由 () 访问公共数据网的地区。 302 | - 数字线路 303 | - 常用的三种有线传输介质是() 。 304 | - 双绞线、 同轴电缆 和光纤 305 | - 光纤通过内部的 () 来传输一束经过编码的光信号。 306 | - 全反射 307 | - 人们将小区制移动通信系统叫做 () 。 308 | - 蜂窝移动通信系统 309 | - 在蜂窝移动通信系统中,多址接入方法主要有 3 种, () 310 | - 码分多址接入 、时分多址接入 和频分多址接入 311 | - 数据传输速率是指 () ,单位为位 /秒。 312 | - 每秒能传输的二进制信息位数 313 | - 调制速率的单位是 () 。 314 | - 波特 315 | - 若一个码元对应一位二进制信息,则此 时调制速率 和 () 是相等的。 316 | - 数据传输速率 317 | - 数据通信系统中, () 表征信道的最大数据传输速率。 318 | - 信道容量 319 | - 香农公式log 2(1 )NSC H 中, S 表示 () ,N 为 () ,S/N 为() 。 320 | - 信号功率、噪声功率、信噪比 321 | - 误码率的定义为 () 。 322 | - 二进制数据位传输时出错的概率 323 | - 就通信方式而言通常情况下, () 用于近距离通信, () 用于远距离通信。 324 | - 并行通信、串行通信 325 | - 串行通信的方向形结构有三种,() 。 326 | - 单工 半双工 和全双工 327 | - 为了获得更大的数字信号传输距离,可以使用 () 克服数字传输的衰减。 328 | - 中继器 329 | - 最常用的两种多路复用技术是 () 。 330 | - 频分多路复用 FDM 和时分多路复用 TDM 331 | - 数字通信系统具有两个显著的优点: () 。 332 | - 抗干扰性强 和保密性好 333 | - 在模拟信道上传输数字信号,必须使用 () 。 334 | - 调制解调器 335 | - 传输线路存在三个主要问题: () 。 336 | - 衰减 、延迟畸变 和噪声 337 | - 三种调制形式是 () 。 338 | - 调幅 、调频 和相位调制 339 | - ADSL 称为 () 。 340 | - 非对称数字用户线路 341 | - 分组交换的具体过程有 () 两种。 342 | - 虚电路分组交换 和数据报分组交换 343 | - 物理层的接口有哪几个方面的特性?各包含些什么内容? 344 | - 物理层的接口特性包括机械特性、电气特性、功能特性、规程特性。其中: 345 | - 机械特性对插头和插座的几何尺寸、插针或插孔芯数及其排列方式、锁定装置型式等作了详细规定。 346 | - 电气特性规定了导线的电气连接及有关电路的特性;接口线的信号电平、发送器的输出阻抗、接收器的输入阻抗等电气参数。 347 | - 功能特性规定了接口信号的来源、作用及与其他信号之间的关系。 348 | - 规程特性规定了使用交换电路进行数据交换的控制步骤。 349 | - 比较双绞线、同轴电缆与光线的特点。 350 | - 双绞线可用于模拟和数字传输。 其价格便宜,适用于低通信容量局域网。 双绞线有屏蔽和屏蔽的两种。 351 | - 同轴电缆分 50Ω基带电缆和 75Ω宽带电缆两类。 基带电缆又分细同轴电缆和粗同轴电缆。 基带电缆仅仅用于数字传输, 数据率可达 10Mnps。宽带电缆是 CATV 系统中使用的标准、 它即可使用频分多路复用的模拟信号发送,也可传输数字信号。同轴电缆的价格比双绞线贵一些,但其抗干扰性能比双绞线强。当需要连接较多设备而且通信容量相当大时可以选择同轴电缆。 352 | - 光纤是非常理想的传输介质,与同轴电缆和双绞线相比,它频带宽、速率高、体积小、重量轻、衰减小、能电磁隔离误码率低等优点。适用于长距离传输。但光线成本高且安装较困难。 353 | - 什么是频分多路复用 FDM ? 354 | - 在物理信道的可用宽带超过单个原始信号所需带宽的情况下,可将该物理信号的总宽带分割成若干个与传输单个信号带宽相同的子信道,每个子信道传输一种信号,这就是频分多路复用。 355 | - 什么是曼彻斯特编码和差分曼彻斯特编码?各有什么特点? 356 | - 曼彻斯特编码每一位的中间有一跳变,位中间的跳变即作为时钟信号,又作为数据信号;从高到低的跳变表示“ 1”,从低到高的跳变表示“ 0”。 357 | - 差分曼彻斯特编码每位中间的跳变仅提供时钟定时,而用每位开始有无跳变表示“ 0”或“1”,有跳变表示“ 0”,无跳变表示“ 1”。 358 | - 设 A 、B 两站位于长 1lm 的基带总线局域网的两端, 数据传输速率为 10Mbps,信号传播速率为 200m/μs, 359 | - 若 A 向 B 发送 800bit 的数据帧, B 接收完毕该帧所需的时间是多少,经过多长时间两站发现冲突? 360 | - 解:接受结束所需的时间: 1×103m 200m/ μs+800bit 10bit/ μs=85μs 361 | - 若信道带宽为 4KHz ,用 16 种状态编码,在不考虑信道噪声情况下的最大速率。 362 | - 解:本题应用奈奎斯特公式计算: 363 | - 最大数据传输速率 = 2 H log 2 N=2×4K×log2 16 =32Kbps 364 | - 设电话线路的带宽为 3KHZ ,信噪比为 30dB,求该信道的最大数据传输速率 (b/s) 365 | - 解:表征有噪声干扰的信道上数据最大的传输速率应用香农公式计算。香农公式: NSC H log 2 1,其中 H 为信道带宽, S 为信号功率, N 为噪声功率, S/N 为信噪比, C 表示信道最大的数据传输速率。所以, C=3K ×log2( 1030 1 10 )=3K ×log2(1+1000) ≈30Kbps 366 | 367 | ## 数据链路层 368 | - 数据链路层为什么要引入计时超时机制和帧编号? 369 | - 为了避免由于数据帧或反馈信息帧丢失而导致发送方永收不到接收方发来的反馈信息,进而使传输过程停止引入计时器超时机制。 370 | - 为了避免同一帧数据被重复发送多次而引入帧编号的方法,即赋予每帧一个序号,从而使接收方能从该序号来区分是新发送的帧还是已经接收但又重新发送来的帧。 371 | - 请说明什么是流量控制。 372 | - 流量控制是对发送方数据流量的控制,使其发送效率不致超过接收方所能承受的能力。它并不是数据链路层特有的功能,许多高层协议中也提供流量控制功能。只不过流量控制的对象不同而已。对于数据链路层,控制的是相邻两节点之间的数据链路上的流量;对于传输层,控制的是从源到最终目的之间端对端的流量。 373 | - 简述传输差错的成因及其解决方法。 374 | - 传输中的差错都是由噪声引起的。噪声有随机热噪声和冲击噪声。 375 | - 随机热噪声:信道物理固有的、持续存在的; 376 | - 冲击噪声:外界特定的短暂原因造成的。其中冲击噪声是产生差错的主要原因。 377 | - 解决方法:进行差错控制,首要任务就是如何进行差错检测。差错控制可通过以下两种方法解决。即: 378 | - (1) 自动请求重发 ARQ。 379 | - (2) 前向纠错 FEC。 380 | - 比较停等式 ARQ ,回退 N 和选择重传协议的区别。 381 | - 停等式 ARQ ,发送窗口和接收窗口大小均为 1,发送方没法送一帧之后就必须停下来等待接收方的确认返回,仅当接收方确认正确接收后再继续发送下一帧。该方法所需的缓冲存储空间最小,缺点是信道效率很低。 382 | - 回退 N,发送窗口大于 1,接受窗口等于 1.允许发送方可以连续发送信息帧,但是,一旦某帧发生错误,必须重新发送该帧及其后的 n 帧。这种方式提高了信道的利用率,但允许已发送有待于确认的帧越多,可能要退回来重发的帧也越多。 383 | - 试比较 BSC 和 HDLC 协议的特点。 384 | - BSC 是最早出现的面向字符的同步协议,其特点是利用已定义好的一种标准字符编码的一个子集来执行通信控制功能。由于 BSC 协议与特定的字符编码集关系过于密切,故兼容性较差。为满足数据透明性而采用的字符填充法,实现起来比较麻烦,且也依赖于所采用的字符编码集。 BSC 是一个半双工协议,它的链路传输效率很低。 385 | - HDLC 是面向比特的数据链路控制协议的典型代表,该协议不依赖于任何一种字符编码集;数据报文可透明传输,用于实现透明传输的“ 0 比特插入法”易于硬件实现;全双工通信,有较高的数据链路传输效率;所有帧采用 CRC 检验,对信息帧进行顺序编号,可防止漏收或重发,传输可靠性高;传输控制功能与处理功能分离,具有较大灵活性。 386 | - 试比较 SLIP 与 PPP 协议的主要区别 。 387 | - SLIP 提供在串行通信线路上封装 IP 分组的简单方法,用以使远程用户通过电话线和 MODEM 能方便地介入 TCP/IP 网络。SLIP 是一种简单的组帧方式。其缺点是: SLIP 不支持在连接过程中的动态 IP 地址分配,通信双方必须事先告诉对方 IP 地址; SLIO 帧无协议类型字段,只能支持 IP 协议; SLIP 帧中无校验字段,因此链路层上无法检测出传输差错, 必须由上层实体或具有纠错能力的 MODEM 来解决传输差错问题。 388 | - PPP是点到点协议,具有处理错误检测、支持多个协议、允许在连接时刻协商 IP 地址、允许身份认证等功能。 389 | - 设要发送的二进制数据为 10110011,若采用 CRC 校验方法,生成多项式为 x4+x3+1 ,试求出实际发送的二进制数字序列。 390 | - 要发送的二进制数字序列为: 101100110100 391 | - 采用生成多项式 x6+x4+x2+1 发送的报文到达接收方为 101011000110,所接收的报文是否正确?试说明理由。 392 | - 解:多项式 x6+x4+x2+1 对应的位串是 1010101,用它来除接收到的报文, 若能整除则所接收报文正确,否则收到的报文不正确。进行如下的二进制除法:不能够整除,所以收到的报文是错误的。 393 | - 用 BSC 规程传输一批汉字 (双字节 ),若已知采用不带报头的分块传输,且最大报文块长为 129 字节,共传输了 5 帧,其中最后一块报文长为 101 字节。问每个报文最多能传多少汉字?该批数据共有多少汉字?(假设采用单字节的块校验字符。 ) 394 | - 解: BSC 规程,不带报头的分块传输的帧格式为:SYN SYN STX 报文 ETB/ETX BCC 395 | - 故 4 帧每帧最多能穿的汉字数为: 396 | - (129-3(SYN+SYN+STX)-2(ETB+BCC))/2=62( 个) 397 | - 该批数据共有的汉字数为: 398 | - 62*4+(101-3(SYN+SYN+STX)-2(ETX+BCC))/2=296( 个) 399 | - 在数据通信过程中出现差错时不可避免的,必须进行差错控制。那么什么是差错控制?其核心是什么?在数据通信过程中是如何进行差错控制的? 400 | - 差错时直接手段收到的数据与发送端实际发出的数据出现不一致。产生差错主要是因为在通信线路上噪声干扰的结果。差错控制是指在数据通信过程中能发现或纠正差错,把差错限制在尽可能小的允许范围内的技术和方法。 401 | - 差错控制的核心是差错控制编码,即对传输的数据信息加上与其满足一定关系的冗余码,构成一个码字后再发送。 接收端收到该码字后, 检查信息位和附加的冗余位之间的关系, 以检查传输过程是否有差错。 402 | - 利用差错控制编码来进行差错控制的方法基本有两类:自动请求重发 ARQ、前向纠错 FEC。 403 | - 假设 HDLC 帧的地址字段为 10010101,控制字段为 00001011,信息字段为 10101011,生成多项式G(x)=x16+x12+x5+1 ,试求出帧校验序列。 404 | - HDLC 帧校验序列字段是对两个标志字段之间的整个帧的内容进行校验。因此帧校验序列的计算过程应该是: 405 | - CRC 生成多项式 G(X) 对应的位串是 10001000000100001,也即除数为 10001000000100001,被除数为 406 | 1001010100001011101010110000000000000000。进行二进制除法,求得的余数即为帧校验序列。 407 | 408 | ## 网络层 409 | - 提供虚电路服务的通信子网内部的实际操作可以是 (),也可以是() 。 410 | - 虚电路方式、数据报方式 411 | - 在虚电路建立过程中,每个节点的虚电路表中要记录两个逻辑信道号,它们是 () 。 412 | - 前一个节点所选取的逻辑信道号和本节点所选取的逻辑信道号 413 | - 一个网络节点从某条线路收到一个分组后,再向除该条线路外的所有线路发送收到的分组,这种路由算法称 () 。 414 | - 泛射路由选择 415 | - 路由选择算法可以分为静态路由选择算法和动态路由选择算法, () 是动态路由选择算法。 416 | - 距离矢量路由算法 417 | - 下列能够实现即插即用的设备是 () 。 418 | - 网桥 419 | - 关于网际互联,以下描述中不正确的是 () 。 420 | - 对于异构网络来说 ,不能实现网络互连 421 | - 以下关于网桥的说法中,不正确的是 () 。 422 | - 网桥能够实现局域网和广域网的互连 423 | - IP 协议提供的是 () 。 424 | - 无连接的数据报服务 425 | - IP 数据报分段的重组通常在 () 上层进行 。 426 | - 目的主机 427 | - 从协议层次看,网络层体现了 () 。 428 | - 网络应用环境中资源子网访问通信子网的方式 429 | - 虚电路是 () ,非专用的 。 430 | - 逻辑通路 431 | - 采用虚电路操作支持虚电路服务方式的是 ()。 432 | - SNA 433 | - 使用生成树 (Spanning Tree)来解决 () 。 434 | - 广播路由选择 435 | - 当进行拥塞控制时,进行资源预留法用于 () 。 436 | - 虚电路的分组交换网 437 | - 当路由器因为来不及处理分组而被淹没时,采用的拥塞控制方法成为 () 。 438 | - 负载丢失 439 | - 两个网络互连时,它们之间的差异可以表现在 OSI 七层模型中的 () 。 440 | - 任一层上 441 | - 实现网路物理层的链接,对网段上的衰减的信号进行放大整形或再生的中继设备是 () 。 442 | - 转发器 443 | - 在 OSI 参考模型中,路由器工作在 () 。 444 | - 网络层 445 | - 在 TCP/IP 协议簇中, IP 层的数据单元称为 () 。 446 | - 数据报 447 | - 以下陈述正确的是 到达目的主机的 () 。 448 | - IP 数据报顺序与发送的顺序可能不一致 449 | - IP 协议是无连接的,其信息传输方式是() 。 450 | - 数据报方式 451 | - 以下关于地址转换协议 ARP 的描述中,正确的是 () 。 452 | - ARP 是采用广播方式发送的 453 | - 在 TCP/IP 协议簇中,用来将物理地址转换成 IP 地址的协议是 () 。 454 | - RARP 455 | - IPv6 的地址长度是 () 位。 456 | - 128 457 | - 节点的路由选择要依靠网络当前的状态信息来决定的策略称为 () ,这种策略能较好地适应 () 的变化,有利于网络性能的改善。 458 | - 动态路由选择策略、网络流量 、拓扑结构 459 | - 网络层是在 () 层提供的数据帧的传送功能上,进一步管理网络中的数据通信,向 () 层提供最基本的 () 数据传送服务。 460 | - 数据链路、传输、端到端 461 | - 网络层的目的是实现两个系统之间的数据透明传送,具体功能包括 ()等。 462 | - 路由选择 、拥塞控制 和网际互连 463 | - 在分组交换方式中,通信子网内部有 () 两种方式。 464 | - 虚电路 和数据报 465 | - 所谓占用某条逻辑信道,实际上是指占用了该段物理信道上节点分配的 () 。 466 | - 分组缓冲器 467 | - 通信子网中节点间的物理信道在逻辑上均可看作是由多条逻辑信道组成,不同的逻辑信道在节点内部通过 () 加以区分,各条逻辑信道 () 分时复用同一条物理信道。 468 | - 逻辑信道号、异步地 469 | - 当虚电路拆除时,节点的虚电路表空间和逻辑信道号必须 () 。 470 | - 回收 471 | - 在数据报操作方式中,一个节点接收到一个数据报后,根据数据报中的 () 和节点所存储出的路由信息 ,找出一个合适的出路把数据报发送到下一节点。 472 | - 地址信息 473 | - 通信子网中一个网络节点收到一个分组后,要确定向下一节点传送的路径,这就是 () 。 474 | - 路由选择 475 | - () 为路由选择算法提供了一种衡量标准。 476 | - 最优化原则 和汇集树 477 | - 三种静态路由选择算法是 () 478 | - 最短路由选择算法 、扩散法 和基于流量的路由选择算法。 479 | - 最为常见的两个动态路由选择算法是 () 。 480 | - 距离矢量路由算法 和链路状态路由算法 481 | - 在实际的网络总被广泛应用的路由算法是 () 。 482 | - 链路状态路由算法 483 | - 那些离开了原始站点还想继续连接网络的主机称为 () 。 484 | - 移动主机 485 | - 拥塞控制解决的方案有 () 两类。 486 | - 开环的 和闭环的 487 | - 完成开环控制的手段中共同之处是,他们在作出决定的时候 () 。 488 | - 不考虑网络的当前状态 489 | - 闭环方案建立在 () 的概念基础上。 490 | - 反馈环路 491 | - 解决拥塞问题,当系统资源已达到了极限,不能增加的时候,唯一办法就是 () 。 492 | - 降低系统的负载 493 | - 决定一个流所要求的服务质量的 4 个特征是 () 。 494 | - 可靠性 、延迟 、抖动、带宽 495 | - 有一种服务质量方法,这种方法不需要提前建立流,它主要由每台路由器在局部范围内实现,而不牵涉到整条路径, 这种方法叫 做基于类 的服务质量。 IETF 对这种方法的体系进行了标准化, 称为 () 。 496 | - 区分服务 497 | - 实现 Qos 保证的关键技术是 () 。 498 | - MPLS 499 | - ATM 交换机是面向连接的 () ,传输的是 () 字节的信元。 500 | - 异步传输模式、53 501 | - 网桥的作用是通过 () 功能实现的。 502 | - 过滤 和转发 503 | - 透明网桥维护一个基于 () 地址的过滤数据库。 504 | - MAC 505 | - 当网桥初始化时,过滤数据库为空,为了能够了解到所有目的地的位置,透明网桥有一个 自动学习机制,采用逆向学习法,从收到帧的源地址确定端口连接的 () 位置。 506 | - LAN 507 | - 在 Internet 中广泛使用的网络互连协议有 () 。 508 | - 路由信息协议 RIP 和开放最短路径优先协议 OSPF 509 | - 每个 RIP 路由器每隔 () 秒广播一个路由信息。 510 | - 30 511 | - 目前最主要的内部网关协议是 () 。 512 | - 开放最短路径优先协议 513 | - 路由器的主要功能有 () 。 514 | - 建立并维护路由表和分组转发功能 515 | - 网关也称 () ,用于高层协议的转换。 516 | - 协议转换器 517 | - IP 向上层提供统一的 IP 数据报 和统一的 IP 地址 ,使得各种物理帧及物理地址的差异性对上层协议不复存在。 518 | - 因为不同物理网络的 () 不同,所以 IP 数据报有分段与重组操作。 519 | - 最大传输单元 MTU 520 | - 在 IP 投中控制分段和重组的 IP 头域有三个: () 521 | - 标识域 、标志域 、分段偏移域。 522 | - 为了使互联网能报告差错,或提供有关意外情况的信息,在 IP 层有 () 。 523 | - 互联网控制报文协议 ICMP 524 | - 因特网支持两类组地址: () 。 525 | - 永久组地址 和临时组地址 526 | - 简述网络层的主要功能 。 527 | - 网络层在数据链路层提供的两个相邻结点之间的数据帧的传送功能上, 进一步管理网路中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端, 从而向传输层提供最基本的端到端的数据传送服务。 528 | - 网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括路由选择、拥塞控制和网际互连等。 529 | - 什么是拥塞?造成拥塞的原因是什么? 530 | - 拥塞现象是指到达通信子网中某一部分的分组数量过多,使得该部分网路来不及处理,以致引起这部分乃至整个网络性能下降的现象,严重时甚至会导致网络通信业务等陷入停顿即出现死锁现象。 531 | - 造成拥塞的原因: 532 | - ①多条流入线路有分组到达,并需要统一输出线路,此时,如果路由器没有足够的内存来存放所有这些分组,那么有的分组就会丢失。 533 | - ②路由器的慢速处理器的缘故,以至于难以完成必要的处理工作,如缓冲区排队、更新路由表等。 534 | - 流量控制与拥塞控制有何关系与区别? 535 | - 流量控制与拥塞控制有何关系与区别如下: 536 | - ① 流量控制:接收端向发送端发出信号,请求发送端降低发送速率。拥塞控制:接收端也向发送端发出信号,告之发送端,网络已出现麻烦,必须放慢发送速率。 537 | - ②流量控制:主要控制收发端之间的通信量;拥塞控制:是全局性控制,涉及所有主机路由器以及其他降低网络性能的有关因素。 538 | - 网际互联的意义是什么?作为中间系统,转发器、网桥、路由器和网关有何区别? 539 | - 网际互联的目的是一个网络上的用户能访问其他网络上的资源,使络上的用户互相通信和交换信息。 540 | - 这不仅有利于资源共享,也可以从整体上提高网络的可靠性。 541 | - (1)转发器 (repeater):一种工作在物理层的设备。它对网段上的衰减信号进行放大整形或再生,用来扩展网段距离。 542 | - (2)网桥 (bridge) :一种工作在数据链路层的设备。在不同或相同的局域网之间存储和转发帧。 543 | - (3)路由器 (router):一种工作在网络层的设备。在不用的网络之间存储和转发分组。路由器从一条输入线路上接收分组,然后再向另一条输出线路转发,这两条线路可能属于不同的网络,采用的协议也可能不同。 544 | - (4)网关 (gateway):网关提供传输层及传输层以上各层间的协议转换。 545 | - 考虑下面虚电路服务实现涉及到的设计问题。如果虚电路用在子网的内部,每个数据报文必须有一个 3 字节的报头,每个路由器必须留有 8 字节的空间来标识虚电路。如果内部使用数据包,则要使用一个15 字节的分组头。假定每站段传输宽带的费用为每字节 0.1 元人民币;路由器存储器的价格为每字节 0.1元人民币,并且按照两年的使用时间来计算 (每周工作 40 小时 )。平均会话期为 1000 秒,传输 200 个分组;分组平均需传送 4 个站段。请问:子网内部采用虚电路还是采用数据报便宜一些?便宜多少? 546 | - 解:每个分组经过 4 段链路意味着路上包括 5 个路由器。虚电路实现方案:需要在 1000 秒内固定分配 5*8=40 字节的存储空间。存储器使用的时间是 2 年,即 2*52*40*360 0≈1.5*10 的 7 次方秒每字节每秒的费用 =0.1/(0.5*10 的 7 次方 ) ≈6.7*10 的-9 次方 元总费用,即 1000 秒 40 字节的费用 =1000*40*6.7*10 的-9 次方 =2.7*10 的-4 次方 元 547 | - 数据报实现方案:比上述虚电路实现方案需多传 (15-3)*4*200=9600 字节每字节每链路的费用 =0.1/10 的 6 次方 =10的-7 次方总费用,即 9600 字节每链路的费用 =9600*10 的-7 次方 =9.6*10 的-4 次方 元可见,本题中采用虚电路实现方案更为经济,在 1000 秒的时间内便宜 6.9*10 的-4 次方 元。 548 | 549 | ## 传输层 550 | - 在 TCP/IP 协议簇中,面向连接的传输层协议是 ()。 551 | - TCP 552 | - 关于 TCP和 UDP协议的描述,不正确的是 () 。 553 | - UDP协议要求对方发出的每个数据包都要确认 554 | - 下面哪个协议是无连接的传输层协议 () 555 | - UDP 556 | - 数据链路层和传输层都具有的功能是 () 。 557 | - 流量控制 558 | - 传输层的作用是向源主机与目的主机进程之间提供 () 数据传输。 559 | - 端到端 560 | - TCP 提供的服务是 () 。 561 | - 面向连接的字节流通信 562 | - 在 TCP的段结构中,不包括的信息是 () 。 563 | - 源 IP 地址和目的 IP 地址 564 | - 在 TCP的段结构中,以下哪个标志位是建立连接时要用到的 ()。 565 | - SYN 566 | - 为了保证连接的可靠性, TCP通常采用 () 。 567 | - 三次握手法 568 | - TCP 采用的流量控制协议是 () 。 569 | - 可变大小的滑动窗口协议 570 | - 传输层利用 () 层提供的服务,向 () 层提供服务。 571 | - 网络、应用 572 | - TPDU是() 。 573 | - 传输协议数据单元 574 | - 传输服务是通过建立连接的两个传输实体之间的采用的 () 来实现的。 575 | - 传输协议 576 | - 因特网传输地址由 () 组成。 577 | - IP 地址和主机 端口号 578 | - 传输层是 OSI 七层模型中负责的 数据通信 最高层 , 又是面向 () 的低三层和面向 () 的高三层之间的中间层。 579 | - 网络通信、信息处理 580 | - TCP 段结构中端口地址是 () 比特。 581 | - 16 582 | - 端口号小于 () 为常用端口, 服务器 一般都是通过常用端口号来识别的。 583 | - 256 584 | - 大多数 TCP/IP 实现给临时端口分配 () 之间的端口号。 585 | - 1024-5000 586 | - 超文本传送协议 HTTP使用的端口号是 ()。TCP端口 () 表示 文件传输协议 FTP。SMTP是 ()。TELNET是 ()。 587 | - 80、21、25、23 588 | - 因为是双工通信 ,TCP 连接释放采用 () 释放方式。 589 | - 对称 590 | - TCP 协议用于控制数据段是否需要重传的依据是设立 () 。 591 | - 重发定时器 592 | - 因特网中,对拥塞控制的最有效的方法是 () 。 593 | - 降低数据传输速率 594 | - 造成拥塞出现,是由 () 两个方面的问题引起的,需要分别处理。 595 | - 网络容量和接受容量 596 | - 拥塞窗口大小的确定使用 () 。UDP提供了无连接的数据报服务,在传输数据前无须建立连接 597 | - 慢速启动法 598 | - UDP端口 () 表示 域名解析服务 DNS。 599 | - 53 600 | - 传输协议要素有哪些 。 601 | - 寻址。当一个应用程序希望与别一个应用程序传输数据时,必须招明是与哪附上应用程序相连。寻址的方法一般采用定义传输地址。因特网传输地址由 IP 地址和主机端口号组成。 602 | - 建立连接 . 在实际的网络应用中,采用三次握手的算法,并增加某些条件以保证建立起可靠的连接,增加的条件是:所发送的报文都要有递增的序列号;对每个报文设立一个计时器,设定一个最大时延,对那些超过最大时延仍没有收到确认信息的报文就认为已经丢失,需要重传。释放连接。也采用三次握手的算法。 603 | - TCP与 UDP对于端口号的使用有什么规定 ? 604 | - TCP 与 UDP段结构中端口地址都是 16 比特,可以有在 0-65535 范围内的端口号。 605 | - 对于这 65536 个端口号有以下的使用规定: 606 | - 端口号小于 256 的定义为常用端口, 服务器一般都是通过常用端口号来识别的。 607 | - 任何 TCP/IP 实现所提供的服务是用 1-1023 之间的端口号,是 IANA来管理的; 608 | - 客户端只需保证该端口号在本机上是惟一的就可以了。客户端口号因存在时间很短暂又称为临时端口号; 609 | - 大多数 TCP/IP 实现给临时端口号分配 1024-5000 之间的端口号。大于 5000 的端口号是为其他服务器预留的。 610 | - 简述 TCP所提供服务的主要特点 。 611 | - 面向连接的传输; 612 | - 端到端的通信; 613 | - 高可靠性,确保数据的正确性,不出现丢失或乱序; 614 | - 全双工方式传输; 615 | - 采用字节流的方式,即以字节为单位传输字节序列; 616 | - 紧急数据传送功能。 617 | - UDP提供什么样的服务,它的应用场合是什么样的? 618 | - UDP 提供的报务是不可靠的, 无连接的服务。 UDP适用于无须应答并且通常一次只传送少量数据的情况。 619 | - 由于 UDP协议在传输的过程中无须建立逻辑连接,对数据包也不进行检查,因此 UDP协议具有较好的实时性,效率高。在有些情况下,包括视频电话会议系统在内的众多的客户 / 服务器模式的网络应用都 UDP 协议。 620 | - 画图说明 TCP采用三次握手协议建立连接的过程。 并说明 TCP协议时如何确保数据传输高可靠性的。 621 | - 三次握手协议建立连接的过程是 ; 第一方向别一方发送连接请求段,另一方回应对连接请求的确认段, 622 | - 第一方再发送对对方确认段的确认。这个过程可以用下图表示: 623 | - 图中, SYN为请求建立连接的标志,三次握手的过程如下: 624 | - 在 T1 时刻, A向 B发送请求建立连接段序列号为 X。 625 | - 在 T2 时刻, B发送应答 A 的 X序号的请求建立连接的段,该应答段的序列号为 Y。 626 | - 在 T3 时刻, A发送对 B的应答段的应答,应答号为 Y+1,表明应答号为 Y 的段已接收。至此,连接建立成功。 627 | - 为了保证可靠性,发送的报文都有递增的序列号。序号和确认号用来确保传输的可靠性。此外,对每个报文都设立一个计时器,设定一个最大时延。对那些超过最大时延仍没有收到确认信息的报文就认为已经丢失,需要重传。 628 | 629 | ## 应用层 630 | - IP 地址 129.66.51.37 ,它的网络标识部分是 () 。 631 | - 129.66 632 | - 在 Internet 域名体系中, 域名由若干分量组成, 各分量之间用圆点分隔, 各分量按照 () 。 633 | - 从右到左越来越小的方式分多屋排列 634 | - 以下关于域名的描述中,不正确的是 () 。 635 | - com是一个国际顶级域名 636 | - 下列不属于电子邮件协议的是 637 | - ICMP 638 | - E-mail 件地址 chang@online.sh.cn 中没有包含的信息是 () 。 639 | - 邮件客户机 640 | - 接入 Internet 的每一台计算机都有一个唯一的地址标识,这个地址标识为 () 。 641 | - IP 地址 642 | - IP 地址是一个 32 位的二进制数,它通常采用点分 () 。 643 | - 十进制数表示 644 | - 网络标识在一个 IP 地址中的作用是, () 。 645 | - 它规定了主机所属的网络 646 | - 以下 IP 地址中,属于 C类地址的是 () 。 647 | - 193.1.1.2 648 | - IP 地址 205.140.36.88 的主机标识是 ()。 649 | - 88 650 | - 网址 "www.sina.com.cn" 中的 "cn" 表示() 。 651 | - 中国 652 | - 用于表示教育机构的域名是 ()。 653 | - edu 654 | - 域名和 IP 地址之间的关系是 一个 () 。 655 | - IP 地址对应多个域名 656 | - 域名系统所要解决的问题是 () 。 657 | - 实现域名和 IP 地址之间的转换 658 | - 在电子邮件中所包含的信息 可以是() 659 | - 文本,声因,图像和应用程序 660 | - 一个 E-mail 地址为 chang@sina.com, 则该 E-mail 的账号是 ()。 661 | - change 662 | - 发送电子邮件时,如果接收方没有开机,那么邮件将 保存在() 。 663 | - 邮件服务器上 664 | - 接收 E-mail 所用的网络协议是 ()。 665 | - POP3 666 | - www的作用是 () 。 667 | - 信息浏览 668 | - 客户端浏览器和 www服务器之间传输网页使用的协议是 ()。 669 | - HTTP 670 | - 超文本的含义是指 () 。 671 | - 带有超链接的文本 672 | - URL 的作用 () 。 673 | - 定位主机地址 674 | - 地址 "http://www.g.cn" 中的 "http" 是指() 。 675 | - 协议 676 | - 下列属于 B 类 IP 地址的是 () 。 677 | - 128.2.2.10 678 | - 在 Internet 的服务功能中,远程登录所使用的命令是 () 。 679 | - telnet 680 | - 应用层协议是 () 之间的接口。即网络用户是通过不同的应用协议来使用网络的。 681 | - 网络 和用户 682 | - IP 协议是根据实现信息传递的 () 地址 。 683 | - IP 684 | - IP 地址是 () 字节二进制数据组成。 685 | - 4 686 | - IP 地址的两个组成部分是 () 。 687 | - 网络标识 和主机标识 688 | - 利用子网掩码可以 () 。 689 | - 判断两台主机是否在同一子网中 690 | - 为了用户使用和记忆都很方便, Internet 引进了字符形式的 IP 地址,称为() 。 691 | - 域名 692 | - 域名系统 DNS是一个 () 系统,由 () 三部分组成。 693 | - 分布式数据库、域名空间 ,域名服务器 和地址转换请求程序 694 | - 域名由若干个分量组成 , 级别最低的域名写在最 (),级别最高的顶级域名写在最 右边。 695 | - 左边 696 | - 二级域名 代表政府部门;() 代表 非盈利组织 。 697 | - gov、org 698 | - 域名服务器的三种不同类型是: () 。 699 | - 本地域名服务器 ,根域名服务器 和授权域名服务器 700 | - 用户 E-mail 地址的格式为: () 。 701 | - 用户名 @主机域名 702 | - SMTP协议的端口号是 ();通过 () 程序实现邮件的传输。 703 | - 25、用户代理 程序和 邮件传输代理 704 | - 电子邮件客户端程序查看邮件服务器中自己的邮箱使用 () 705 | - POP或 IMAP协议 706 | - www是指通过 HTTP协议链接起来的无数 ()中的网页资源。 707 | - Web服务器 708 | - www采用的是 () 的工作模式。 709 | - 客户机 / 服务器 710 | - www服务器上的信息通常以 () 的方式进行组织。 711 | - 超文本 712 | - HTTP的含义是 () ;它是 应用 层协议,用于浏览器访问 Web服务器上的超文本信息。 713 | - 超文本传输协议 714 | - 在 HTTP中通过()来标识被操作的资源。 715 | - 统一资源定位器 URL 716 | - 目前在 Internet 上有哪些使用比较广泛的应用 。 717 | - 目前在因特网上使用最广泛的应用层协议:超文本传输协议,文件传输协议,远程登录协议 Telnet ,电子邮件协议 SMTP和 POP3,域名系统 DNS。 718 | - 什么是域名 ?其结构是什么 ?什么是域名系统 DNS? 719 | - 32 位的二进制数的 IP 地址以用户来说不方便使用和记忆。 为此,Internet 引进了字符形式的 IP 地址,即域名。它用来惟一标识因特网上的主机或路由器。它只是一个逻辑概念,并不反映出计算机所在的物理地点。 720 | - 域名由干个分量组成,各分量之间用 "." 分隔 721 | - N级域名, .... 二级域名 . 顶级域名 722 | - 每一级的域名都由英文字母和数字组成 ( 长度不超过 63 个字符 , 并且不区分大小写 ) ,级别最低的域名 723 | - 写在最左边,而级别最高的顶级域名则写在最右边。 724 | - Internet 上的域名由域名系统 DNS统一管理。 DNS是一个分布式数据库,由域名空间,域名服务器, 725 | - 和地址转换请求程序三部分组成。 DNS负责域名和 IP 地址之间的转换。 726 | - 说明域名解析的过程 。 727 | - 当应用进程需要将一个主机域名映射为 IP 地址时, 就调用域名解析函数, 解析函数将待转换的域名放在 DNS请求中, 以 UDP报文方式发给本地域名服务器。 本地的域名服务查到域名后, 将对应的 IP 地址放在应答报文中返回。同时域名服务器还必须具有连向其他域名服务器的信息以支持不能解析时的转发。若域名服务器不能回答该请求,则此域名服务器就暂时成为 DNS中的另一个客户,向根域名服务器发出请求解析,根域名服务器一定能找到下面的所有二级域名的域名服务器,这样以此类推,一直向下解析,直到查询到所请求的域名。 728 | - 说明 POP协议与 IMAP协议各自的特点 , 两者有何区别 ? 729 | - 电子邮件系统使用邮局协议,众邮件服务器中自己的邮箱中取出邮件。 POP 协议是一种离线式工作协议。POP3是目前最常用的电子邮件服务协议。 POP3遵循存储转发机制, 用户可按需要在客户端与邮件服务器之间建立连接,将邮件服务器上的邮件取到客户机上,同时删除服务器上已取出的邮件,并断开连接。用户就可以在客户机上阅读收取的邮件了。与 POP3协议类似, IMAP 也提供面向用户的邮件收取服务。常用的版本是 IMAP4。IMAP4改进了 POP3的不足,用户可以通过浏览信件头来决定是否收取,删除和检索邮件折特定部分,还可以在服务器上创建或更改文件夹或邮箱, 它除了支持 POP3协议的脱机操作模式外, 还支持联机操作和断连接操作。 它为用户提供了有选择的从邮件服务器接收邮件的功能,基于服务器的信息处理功能和共享信箱功能。 IMAP4 的脱机模式不同于 POP3,它不会自动删除在邮件器上已收取的邮件。其联机模式和断连接模式也是将邮件服务作为 " 远程文件服务器 " 进行访问更加灵活方便。 730 | - WWW的工作流程是怎样的 731 | - WWW 采用客户机 / 服务器的工作模式,具体如下: 732 | - (1) 用户使用浏览器或其他程序建立客户机与服务器连接,并发送浏览请求。 733 | - (2)Web 服务器接收到请求后,返回信息到客户机。 734 | - (3) 通信完成,关闭连接。 735 | - 简述 HTTP的含义及其作用 736 | - HTTP 是超文本传输协议, 是客户端浏览器或其他程序与 Web服务器之间的应用层通信协议。 在 Internet上的 Web服务器上存放的都是超文本信息,客户机需要通过 HTTP协议传输所要访问的超文本信息。 HTTP包含命令和传输信息, 不仅可用于 Web访问,也可以用于其他因特网 / 内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。 737 | - 统一资源定位器 URL的作用是什么 ?URL的完整格式是什么样的 ? 738 | - 统一资源定位器是为了能够使客户端程序查询不同的信息资源时有统一访问方法而定义的一种地址标识方法。 739 | - 在 Internet 上所有资源都有一个独一无二的 URL地址。 UFL的完整格式为 : 协议 :// 主机名或 IP 地址 :端口号 / 路径名 / 文件名。 740 | - 什么是匿名 FTP 741 | - 所谓匿名服务器指的是不需要专门的用户名和口令就可以进入的系统。用户连接匿名 FTP 服务器时,都可以用 "anony-mous" 作为用户名, 以自己的 E-mail 地址作为口令登录。 登录成功后, 用户可从匿名服务器上下载文件。匿名服务器的标准目录为 pub,用户通常可以访问该目录下的所有子目录中的文件。考虑到安全问题,大多数匿名服务器不允许用户上传文件。 742 | - 假设在 Internet 上有一台 WWW服务器 , 其域名为 www.gohelper.edu.cn, 服务端口为默认 . 在大学校园有一台主机为 123.11.33.90, 子网掩码 255.255.255.234 默认路由配置为 123.11.33.1,DNS 配置为123.11.11.1. 现在请分析并写出从此主机访问 WWW服务器的某网页的过程 。 743 | - (1) 将该主机的 IP:123.11.33.90 和默认路由器 IP:123.11.33.1 分别与子网掩码 255.255.255.234 进行" 与" 操作,得到子网号都为 001, 所以主机与默认路由器在同一子网中。但是主机与 DNS并不在同一个子网中。主机上访问 URL:www.gohelper.edu.cn/test.html 时,首先构造一个域名请求报文 , 送到路由器上; 744 | - (2) 路由器 123.11.33.1 收到封装有该报文的 IP 分组后,将根据路由信息将该分组转发出去, 直到 DNS服务器 123.11.11.1 ; 745 | - (3)DNS 服务器 123.11.11.1 收到封装有该报文的 IP 分组后, 将首先查询所管辖的域名信息, 由于 DNS服务器能解析域名, 就将 www.gohelper.edu.cn 转换成 IP 地址,并将响应报文发送给路由器 123.11.33.1 。 746 | - (4) 路由器 123.11.33.1 将报文发送给主机 123.11.33.90 。 747 | - (5) 主机与 WWW服务器 IP 在端口 80 建立 TCP连接。 748 | - (6) 当 TCP连接建立后,主机发送获取 /test.html 的 HTTP请求。 749 | - (7)WWW 服务器接收到 HTTP请求,构建好 Web页面,将信息返回主机 123.11.33.90 。 750 | - (8) 主机将收到的信息进行解释和显示。 751 | 752 | ## 局域网技术 753 | - CSMA 技术中,如信道空闲,则立即发送;若信道忙则放弃监听、随机等待一段时间,再开始监听信道,该算法规则称为 () 。 754 | - 非坚持性算法 755 | - 有关 CSMA/CD 的叙述中,错误的是 () 。 756 | - CSMA/CD 是一种无冲突协议 757 | - 以太网采用的介质访问控制协议是 () 。 758 | - 1-坚持 CSMA/CD 759 | - 令牌总线的介质访问控制方法和物理层技术规范由 () 描述。 760 | - IEEE802.4 761 | - 100BASE-F 种的“ 100”的含义是 数据传输速率为每秒 () 。 762 | - 100Mbit 763 | - 信道动态分配策略本质上属于 () 。 764 | - 异步时分多路复用 765 | - 在非坚持 CSMA 协议中,当监听到信道忙时,该节点会是 () 。 766 | - 随机等待一段时间再开始监听 767 | - 局域网中, MAC 指的是 () 。 768 | - 介质访问控制子层 769 | - 令牌环局域网的标准是 () 。 770 | - IEEE802.3 771 | - IEEE802.9 标准定义了 () 。 772 | - 语音数据综合局域网技术 773 | - 以太网标准是 () 。 774 | - IEEE802.3 775 | - 以太网采用的发送策略是 站点采用带冲突检测的 () 协议进行发送 。 776 | - CSMA 777 | - CSMA/CD 适用的网络拓扑结构是 () 。 778 | - 总线形 779 | - 10BASE2 试用的传输介质是 () 。 780 | - 细缆 781 | - 当 IEEE802.3MAC 帧种的目的地址字段为全“ 1”时,表示 () 。 782 | - 广播地址 783 | - Ethernet 局域网是基带系统,它采用 () 。 784 | - 曼彻斯特编码 785 | - IEEE802.3MAC 帧起始定界符字段 SFD,其比特模式为 ()。 786 | - 10101011 787 | - 光纤分布数据接口 FDDI MAC 帧和 IEEE802.5 的帧十分相似,不同的是 () 。 788 | - FDDI 帧含有前导码, FDDI的令牌帧没有优先位和预约位 789 | - FDDI 方法和 IEEE802.5 一样都采用令牌传送协议,但是 () 790 | - FDDI 协议发送站发完帧后,可立即发送新令牌, 802.5 发送出去的帧的前沿回到发送站时,才发送新的令牌帧 。 791 | - 10BASE-T 和 100BASE-T 相比,以下说法不正确的是 () 。 792 | - 两者的冲突检测时间是相同的 793 | - 以太网的 MAC 地址长度为 () 位。 794 | - 48 795 | - 从传输技术上,计算机网络分为 () 796 | - 广播网 和点到点网 797 | - 决定局域网特性的主要技术有三个,他们是 () 。 798 | - 传输介质 、网络拓扑结构 和介质访问控制协议 799 | - 局域网都以 ()作为通信基础;广域网大都采用 () 信道。 800 | - 广播 信道、点到点 801 | - 介质访问就是指 () 。 802 | - 网络节点使用信道进行通信 803 | - 局域网中,在数据链路层专门设计了一个 (),用来实现广播网中的信道分配,解决信道争用的问题。 804 | - 介 质访问控制 MAC 子层 805 | - 信道动态分配策略包括 () 。 806 | - 随机访问 和控制访问 807 | - 随机访问又称;控制访问有两种方法:() 。 808 | - 争用、轮转 和预约 809 | - 目前介质访问控制协议可划分为 3 类:() 。 810 | - 争用协议 、无冲突协议 和有限争用协议 811 | - CSMA 是指 () 。 812 | - 载波监听多路访问协议 813 | - CSMA/CD 的中文含义是 () 。 814 | - 带有冲突检测的载波监听多路访问协议 815 | - OSI/RM 的数据链路层,在局域网参考模型中被分成 () 两个子层。 816 | - 介质访问控制 MAC 和逻辑链路控制 LLC 817 | - IEEE802.4 是 () 818 | - 令牌总线 访问方法和物理层协议 819 | - IEEE802 标准中包括了局域网中最常用的三种介质访问控制方法, () 。 820 | - 包括:CSMA/CD 总线、Token Bus令牌总线、 Token Ring 令牌环 821 | - 10BASE2 使用的编码技术是 ()。最大段长 () 米,每段节点数 ()。 822 | - 曼彻斯特码、185、30 823 | - IEEE802.3 采用的介质访问控制方法是 () 。 824 | - 1-坚持 CDMA/CD( 或 CSMA/CD) 825 | - 10BASE-T 使用的传输介质是 () ;物理上是 () 拓扑结构,逻辑上是 () 拓扑结构。 826 | - 双绞线、星型、总线 827 | - IEEE802.3 标准提供了 MAC 子层的功能说明,内容主要有 () 两个方面。前者包括成帧、 编址 和差错检测;后者包括 介质分配 和竞争处理。 828 | - 数据封装 和介质访问管理 829 | - 控制令牌访问技术可用于 () 两种拓扑结构网络。 830 | - 令牌总线 和令牌环 831 | - 令牌环的介质访问控制功能包括: () 。 832 | - 帧发送 、令牌发送 、帧接收和 优先权操作 833 | - DDI 是指 () ;以光纤作为传输介质的高性能的 () 。 834 | - 光纤分布数据接口、令牌环网 835 | - FDDI 标准中,采用 ANSI 设计的一种称为 () 的代码进行数据编码。这种编码技术中,每次对 4 位数据 进行编码,每四位数据编码成 5 位符号 。 836 | - 4B/5B 837 | - 在一般环网中,只有一个主时钟的集中式时钟方案,但在绕环运行时,时钟信号会偏移。为了消除这种时钟偏移现象,采用一种称为 () 来消除这种偏移。 838 | - 弹性缓冲器 839 | - 快速以太网的数据传输速率是 ()。代表是 () 。 840 | - 100Mbps、100BASE-T 841 | - 100BASE-TX 和 100BASE-FX 使用的数据编码都是 () 。 842 | - 4B/5BNRZI 843 | - 目前,常用的无线接入技术主要有 () 。 844 | - IEEE802.11 无线局域网技术、红外 Ir 端口技术和蓝牙技术 845 | - 无线网络标准是 () 。 846 | - IEEE802.11 847 | - 无线局域网采用 () 实现介质资源共享。 848 | - 载波监听多路访问/冲突防止协议 CSMA/CA 849 | - WAP 是指 () 。 850 | - 无线应用协议 851 | - WAP 移动终端上的浏览器所识别的描述语言是 () 。 852 | - 无 线标记语言 WML 和无线标记语言脚本WMLScript 853 | - Ad Hoc 网络又称 () 。它是 () 相结合的网络。 854 | - 移动自组网 或多跳网络、移动通信 和计算机网络 855 | - Client/Server 工作模式以 () 为后援,将 () 分离开来,分别由服务器端数据库和客户端工作站来执行。 856 | - 数据库管理系统、数据库操作 与应用程序 857 | - 简述局域网的特点 。 858 | - 覆盖范围小、传输速率高、通信延迟小、误码率低。 859 | - 信道的静态分配策略是什么样的?它有何特点? 860 | - 静态分配策略: 是预先将频带或时隙固定地分配给各个网络节点, 各节点都有自己专用的频带或时隙,彼此之间不会产生干扰。静态分配策略包括频分多路复用和同步时分多路复用。 861 | - 静态分配策略的特点:适用于网络节点数目少而固定,且每个节点都有大量数据要发送的场合。此时采用静态分配策略不仅控制协议简单,而且信道利用率较高。 862 | - 信道的动态分配策略有什么特点 ? 863 | - 动态分配策略本质上属于异步时分多路复用,包括随机访问和控制访问。各站点当有数据要发送时,才占用信道进行数据传输。动态分配策略种的随机访问,各个节点有数据就发送,发生碰撞之后再采取措施解决。适用于负载较轻的网络,网络延迟较短。控制访问是使发送节点首先获得信道的使用权,然后再发送数据,因而不会出现碰撞和冲突。当网络负载较重时,可以获得很高的信道利用率。 864 | - 简述 1-坚持 CSMA 、非坚持 CSMA 和 p-坚持 CSMA 算法的特点 。 865 | - 1-坚持 CSMA(1-persistent CSMA) 的基本思想是:当一个节点要发送数据时,首先监听信道;如果信道空闲就立即发送数据;如果信道忙则等待,同时继续监听直至信道空闲;如果发生生冲突,则随机等待一段时间后,再重新开始监听信道。 866 | - 非坚持 CSMA 的基本思想是:当一个节点要发送数据时,首先监听信道;如果信道空闲就立即发送数据;如果信道忙则放弃监听,随机等待一段时间,再开始监听信道。非坚持 CSMA 会减少发送数据导致冲突的概率,但会使得数据在网络中的平均延时时间增加。 867 | - p-坚持 CSMA(P-persistent CSMA) 用于时分信道 (Slotted Channel),其基本思想是当一个节点要发送数据时,首先监听信道;如果信道忙则坚持监听到下一个时隙;如果信道空闲,便以概率 p 发送数据,以概率1-p 推迟到下一个时隙;如果下一个时隙信道仍然空闲,则仍以概率 p 发送数据,以概率 1-p 推迟到下一个时隙;这样一直持续下去,直到数据被发送出去,或因其他节点发送而检测到信道忙为止,若是后者,则等待一段随时的时间后重新开始监听。 P-坚持 CSMA 的性能依赖于概率 p 的选取。 868 | - 简答 CSMA/CD 工作原理 。 869 | - CSMA/CD 是带有冲突检测的 CSM,其基本思想是当一个节点要发送数据时,首先监听信道;如果信道空闲就立即发送数据,并继续监听;如果在数据发送过程中监听到了冲突,则立刻停止数据发送,等待一段随机的时间后,重新开始尝试发送数据。 870 | - IEEE802.3 协议的以太网 (Ethernet) 采用什么样的媒体访问控制方法 ? 871 | - 以太网采用带有冲突检测的载波监听多路访问 (CSMA/CD) 技术,并用二进制指数退避和 1-坚持算法。 872 | - 简述令牌环的操作过程 。 873 | - ① 网络空闲时,只有一个令牌在环路上绕行。令牌是一个特殊的比特模式,其中包含一位“令牌 /数据帧”标志位,标志位为“ 0”表示该令牌为可用的空令牌,标志位为“ 1”,表示有站点正占用令牌在发送数据帧。 874 | - ② 当一个站点要发送数据时,必须等待并获得一个令牌,将令牌的标志位置为“ 1”,随后便可发送数据。 875 | - ③ 环路中的每个站点便转发数据,边检查数据帧中的目的地址,若为本站点的地址,边读取其中所携带的数据。 876 | - ④ 数据帧绕环一周返回时,发送站点将其从环路上撤销。同时根据返回的有关信息确定所传数据有无出错。若有错则重发存于缓冲区中的待确认帧,否则释放缓冲区中的待确认帧。 877 | - ⑤ 发送站点完成数据发送后,重新产生一个令牌传至下一个站点,以使其他站点获得发送数据的许可权。 878 | - FDDI 网主要特性是什么 ? 879 | - FDDI 网的主要特性是: 880 | - ①光纤分布数据接口 FDDI 是以光纤作为传输介质的高性能令牌环网; 881 | - ②它的逻辑拓扑结构是一个环,物理拓扑结构可以是环形、带树形的环或是带星形的环; 882 | - ③ FDDI 使用基于IEEE802.5 令牌环标准的令牌传递协议; ④使用 IEEE802.2 标准定义的 LCC 协议,与 IEEE802 局域网兼容; 883 | - ⑤数据传输速率达 100Mb/s,采用 4B/5B 编码,信道介质的信号传输速率达到 125Mbaud; 884 | - ⑥使用分布式时钟方案,信道分配采用定时令牌循环时间。 885 | - 简述局域网操作系统的基本服务功能 。 886 | - ① 文件服务。局域网操作系统中最重要、最基本的网络服务功能。 887 | - ② 打印服务。 888 | - ③ 数据库服务。 889 | - ④ 通信服务。 890 | - ⑤ 信息服务。 891 | - ⑥ 分布式服务。 892 | - 简述移动主机登录到外地代理的过程 。 893 | - (1) 外地代理定期广播一个分组,宣布自己的存在及其地址。一个新来的主机可以等到这个消息。 894 | - (2) 移动主机登录到外地代理,并给出其原来所在的地址,当前数据链路层的地址,以及一些安全性信息。 895 | - (3) 外地代理与移动主机的主代理联系,核实移动主机是否真的在那。 896 | - (4) 主代理检查安全性信息,如果核实通过,则通知外地代理继续。 897 | - (5) 当外地代理从主代理处得到确认信息后, 在它的表中加入一个表项, 并通知移动主机, 登陆成功。 898 | - 1 万个站点正在竞争使用一时分 ALOHA 信道,信道时隙为 125μs,信道时隙为 125μs.如果每个站点平均每小时发出 18 次请求,试计算总的信道载荷 G。 899 | - 解:网络负载 G 是指单位帧时内系统发送的数据帧的平均数量。 每个终端每 200(=3600/18)秒发送 1 次帧,总共有 10000 个终端,因此,总负载是 200 秒发 10000 次帧,平均每秒 50 次帧。每秒 8000 个时隙,所以平均每个时隙发送次数是 G=50 8000=1/160 。 900 | - 场 1km、数据率为 10Mb/s 的基带总线 LAN ,信号传播速度为 200m/μs,试计算: (1)1000b 的帧从发送开始到接收结束的最大时间是多少? (2)若两相距最远的站点在同一时刻发送数据,则经过多长时间两站发现冲突? 901 | - 解: (1)首先 1000b 的帧进入信道的时间为: 1000bit/10Mbps=100 μs;进入信道后的信号传播时间为:1000m/200(m/ μs)=5μs;1000b 的帧从信道接收的时间为: 1000bit/10Mbps=100 μs;所以 1000b 的帧从发送开始到接收结束的最大时间为: 100μs+5μs+100μs=205μs 902 | - (2)发现冲突的时间为最大传播时间的 2 倍,冲突发现前的最大传播时间为 500m/200(m/ μs)=2.5μs,所以两站发现冲突的时间为: 2×2.5 μs=5μs 903 | - 一个 1Km 长的、 10Mbps 的 CSMA/CD 局域网 (不是 IEEE802.3) ,其信号传播速度为 200m/μs,数据帧长度为 256 位,其中包括 32 位首部、校验和以及其他开销。传输成功后的第一个时隙被留给接收方,用来使接收方捕获信道并发送一个 32 位的确认帧。 假定不考虑冲突, 试计算该局域网的有效数据传速速率 (不 904 | 包括开销 )。 905 | - 解:发送数据帧 256 位所需时间 =256bit/10Mbps=25.6 μs 906 | - 数据帧在信道上的传播时间 =1000m/(200m/μs)=5μs 907 | - 共用时间 =25.6μs+5μs=30.6μs 908 | - 回发确认帧 32 位所需时间 =32bit/10Mbps=3.2 μs 909 | - 确认帧在信道上的传播时间 =1000m/(200m/μs)=5μs 910 | - 共用时间 =3.2μs+5μs=8.2μs 911 | - 故数据有效传输速率为: (256-32)b/(30.6+8.2) μs=5.77Mbps 912 | - 如果环路上有 100 个站点,任意两站间的平均距离位 10m,数据传输速率为 10Mbps,信号传播速率为 200m/μs,若每个站引入 1 位延迟,试计算: (1)两站点间链路的位长度为多少位? (2)整个环路的有效位长度为多少位? 913 | - 解:(1)两站点间信号的传播时延为: 100×10m 200m/ μs=0.05μs,所以根据环的比特长度 =信号传播时延×数据传输速率 +延迟位数,计算得出两站点间链路长度为: 0.05 μs×10Mbps+100=150bit 914 | - (2)100 个站点的传播时延为: 100×10m 200m/ μs=5μs,所以根据环的比特长度 =信号传播时延 ×数据传输速率 +延迟位数,计算得出整个环路的有效位长度为: 5μs×10Mbps+100=150bit 。 915 | - 长 1km,数据传输速率为 16Mpns 的 802.5 令牌环,信号传播速度为 200m/μs,环路上每个站点引入一位延迟。该环的比特长度为 220bit ,请问环路上有多少个站点? 916 | - 解:根据环的比特长度 =信号传播时延 ×数据传输速率 +每站延迟位数 ×站点数得出:站点数 =(环的比特长度 -(线路长度 /信号传播速率 ?) ×数据传播速率 )/每站延迟位数=(220-(1Km/200m/ μs) ×16Mbps)/1=(220-5 μs×10Mbps)/1=140 917 | - 所以此环上有 140 个站点。 918 | - 已知 FDDI 环上共有 50 个站点,令牌绕环运行一周的传播时延为 20ms,令牌持有时间为 10ms。则该 FDDI 环可取得的最大效率是多少? 919 | - 解:已知: 50 个站点,令牌绕环运行一周的传播时延为 20ms所以,令牌在两相邻站点间的传播时间是 20/50=0.4ms又有一个站点对令牌持有时间为 10ms所以,该 FDDI 环可取得的最大效率就是:10(10+0.4)×100% ≈96% 920 | - 考虑建立一个 CSMA/CD 网,电缆长 1Km,不用重发器,传输速率为 1Gb/s。电缆中的信号速率是200000Km/s。请问:最小帧长度是多少? 921 | - 对于 1km 的电缆,单程传播时间为 1km 200000km/s=5 μs,来回路程传播时间为 2×5μs=10μs.以 1Gbps速率工作, 10μs 可以发送的比特数为:10μs×1Gbps=1000bit=1250 字节。所以,最短帧是 1250 字节。 922 | - 试比较 10Mb/s 以太网、 100Mb/s 以太网和 1Gb/s 以太网的异同点。 10Mb/s 以太网升级到 100Mb/s和 1Gb/s 时,需要解决解决哪些技术问题? 923 | - 10Mb.s 以太网、 100Mb/s 以太网和 1Gb/s 以太网。 924 | - 相同点是: 相同的帧结构; 相同的介质访问控制方法— CSMA/CD ; 相同的组网方法。 925 | - 不同点是: 数据传输速率不同;采用的传输介质不同‘底层编码方式及物理层协议也有所差异。 926 | - 10Mb/s 以太网升级到 100M/b 和 1Gb/s 时,需要解决结束问题有:一是要定义新的物理层标准;而是 927 | - 为了保持最短帧长 64 字节,要提出解决冲突检测的方法;三是在发送短帧时,如何提高效率。 928 | 929 | ## 实用网络技术 930 | - 帧中继的帧格式类似于 HDLC 的帧格式,帧中继帧格式中没有 () 字段 。 931 | - 控制字段 C 932 | - 下了关于虚电路的叙述中,正确的是 () 。 933 | - 永久虚电路由公共传输网络提供者设置,一经设置便长期存在 934 | - 帧中继的基础是 () 。 935 | - 分组交换技术 936 | - 帧中继网主要采用的传输介质是 () 。 937 | - 光纤 938 | - ATM 中的信元长度是 () 。 939 | - 固定长度 940 | - “截获”是一种网络安全攻击形式,所攻击的目标是信息的 () 。 941 | - 保密性 942 | - 那种网络安全攻击以数据的保密性为攻击目标 () 。 943 | - 截获 944 | - 对于网络安全攻击,下面描述中正确的是 () 945 | - 对于主动攻击通常可以采取有效的监测和恢复手段进行保护。 946 | - 关于加密技术下列说法中,正确的是 () 。 947 | - 传统的加密技术加密密钥和解密密钥相同,而且密钥必须保密,这种方法称为秘密密钥加密 948 | - 将获得信息再次发送以在非授权情况下进行传输,这属于 () 。 949 | - 修改 950 | - 常用的秘密秘钥加密算法是 () 951 | - DES 952 | - DES 中密钥的长度是 () 位。 953 | - 56 954 | - 防止发送方否认的方式是 () 。 955 | - 数字签名 956 | - 常用的公开秘钥加密算法是 ()。 957 | - RSA 958 | - X.25 、帧中继及 ATM 等都是采用 () 技术的广域网。 959 | - 分组交换 960 | - 分组交换网络提供 () 两种服务。 961 | - 虚电路 和数据报 962 | - X.25 所规定的虚电路服务属于 () 的 OSI 服务方式。 963 | - 面向连接 964 | - X.25 分组及分组格式规定每个分组由 () 两部分组成。 965 | - 分组头 和数据信息 966 | - X.25 协议的数据分组中, P(S)称为 () ;P(R)称为 () 。 967 | - 分组发送顺序号、分组接收顺序号 968 | - 帧中继的帧结构与 HDLC 帧格式不同之处是没有 () 。 969 | - 控制字段 970 | - ATM 是指 () 。 971 | - 异步传输模式 972 | - ATM 的信元具有固定的长度,即 () 个字节。其中信头是 () 个字节,信息段是 () 个字节。 973 | - 53、5、48 974 | - ATM 以分组交换技术为基础,采用 () 的复用工作方式。 975 | - 异步时分 976 | - 第三层交换技术是综合了第二层 () 和第三层 () 的优点,在第三层提供交换能力。 977 | - 交换、路由 978 | - 目前已提出的 LS 交换解决方案有 () 。 979 | - 基于核心模型 和基于边缘多层混合交换模型 980 | - Fast IP 技术的主要技术基础是 () 。 981 | - 下一跳解析协议 NHRP 982 | - Net Flow 技术是基于 核心模型 的 L3 交换方案,目的是提高 () 的性能。 983 | - 路由器 984 | - 建立虚拟局域网的交换技术包括 () 。 985 | - 端口交换 、帧交换 和信元交换 986 | - 一般情况下, VLAN 之间互连和数据传输仍要借助于路由手段来实现,而对于无法进行路由选择的协议则借助于 () 来实现。 987 | - 交换功能 988 | - VPN 是指 () 。 989 | - 虚拟专用网 990 | - 虚拟专用网指的是依靠 (),在公用网络中建立专用的数据通信网络的技术。 991 | - Internet 服务提供商 ISP 和网络服务提供商 NSP 992 | - VPN 的安全技术有 () 993 | - 隧道技术 、加解密技术 和密钥管理技术 使用者与设备身份认证技术。 994 | - 最常用使用者与设备身份认证技术是 () 995 | - 使用者名称与密码 或卡片式认证等。 996 | - 目前最有影响的网络管理协议有两个: () 。 997 | - 简单网络管理协议 SNMP 和公共管理信息服务和公共管理信息协议 CMIS/CMIP 998 | - 网络安全是为了在数据传输期间保护数据并且保证数据的传输是可信的,它强调的是网络中信息或数据的 () 。 999 | - 完整性 、可用性 以及 保密性 1000 | - 网络安全攻击可分为 主动攻击 和被动攻击。其中 被动攻击 的主要目的是(); 主动攻击 主要是() 1001 | - 窃听和监视信息的传输并存储;修改数据流或创建一些虚假数据流; 1002 | - 对于被动攻击通常采取()手段;对于主动攻击通常采取 () 手段。 1003 | - 预防、监测和恢复 1004 | - 网络安全机制有 () 1005 | - 加密机制 、认证机制 、数字签名机制 和检测机制。 1006 | - 对称数据加密技术是指加密和解密过程采用 () 。 1007 | - 同一把密钥 1008 | - 三重 DES,即 TDEA 使用了三个密钥,并执行了三次 DES 算法,这个函数的执行顺序是 () 。TDEA 的有效密钥长度为 ()。 1009 | - 加密 -解密 -加密、168bit 1010 | - 应用广泛的数字签名方法主要有三种: () 。 1011 | - RSA 签名、 DSS 签名、 Hash 签名 1012 | - Hash 签名是最主要的数字签名方法,也称为 () 。 1013 | - 数字摘要法或 数字指纹法 1014 | - 帧中继的常见应用有哪些 ? 1015 | - 帧中继即可作为公用网络的接口,也可作为专用网络的接口。常见应用如下: 1016 | - (1) 局域网的互连。 帧中继具有支持不同数据速率的能力, 非常适合与处理局域网 -局域网的突发数据流量。基于帧中继的局域网互连,只要局域网内每个用户只网络间有一条带宽足够的线路,则既不用增加物理线路也不占用物理端口,就可以增加端 -端线路,而不对用户性能产生影响。 1017 | - (2) 语音传输。帧中继不仅适用于对时延不敏感的局域网的应用,还可以进行对时延要求较高的低档语音的应用。 1018 | - (3) 文件传输。适合大流量文件的传输。 1019 | - 简述 ATM 信元的结构,并说明信元头部各字段的作用和意义 。 1020 | - ATM 网络中传输分组称为信元 (Cell) 。信元实际上就是分组,具有固定的长度,即总是 53 字节。其中5 个字节是信头 (Header),48 个字节是信息段。信头包含各种控制信息,主要是表示信元去向的逻辑地址,另外还有一些维护信息、优先级及信头的纠错码。信息段中包含来自各种不同业务的用户数据,这些数据透明的穿越网络。信元的格式与业务类型无关。 1021 | - 什么是第三层交换?第三层交换有哪些解决方案? 1022 | - 第三层交换技术是一种新兴的网络互联技术,它综合第二层交换和第三层路由的优点,在第三层提供交换能力。第三层交换的解决方案分为两类:一类是基于核心模型;另一类基于边缘多层混合交换模型。 1023 | - 什么是虚拟局域网?建立虚拟局域网的交换技术有哪些? 1024 | - 虚拟局域网 (Virtual LAN ,VLAN) 是通过路由和交换设备在网络的物理拓扑基础上建立的逻辑网络。 一个 VLAN 可以看作是一组网络节点的集合,这些节点不必位于同一个物理网络中,但可以不受地理位置的限制而像在同一个局域网中那样进行数据通信。 1025 | - 建立虚拟局域网的交换技术包括端口交换 (Port Switch) 、帧交换 (Frame Switch)和信元交换 (Cell Switch)3种方式。 1026 | - 端口交换也成为配置交换,现在使用一个或几个通过背板连接的端口交换机,通过软硬件的控制和管理,把交换机上的端口划分成为若干个共享式的互相独立的 VLAN 。帧交换,局域网交换机在每一个端口上提供一个独立的共享介质端口,在此端口上可以共享集线器也可以接单独的一个网络节点。在一个端口上接收到的帧被正确地转发到输出端口上,在寻路和转发是帧不会被破坏的。对于广播帧,可以转发到交换机的所有端口。信元交换在 ATM 交换机上实现, 一个或者多个互联的 ATM 交换机组成的核心系统。 ATM 交换机端口上接收到信元后,正确转发到输出端口。 1027 | - 简述常用的虚拟局域网的划分方法有哪些。各有什么特点? 1028 | - 划分 VLAN 的常用方法有按交换机端口号、按 MAC 地址或者按第三层协议来划分。 1029 | - 按交换机端口号划分 VLAN ,通常将交换设备端口进行分组来划分 VLAN 。 1030 | - 按 MAC 地址划分 VLAN ,是由网管人员指定属于同一个 VLAN 的各网络节点的 MAC 地址。 1031 | - 按第三层协议划分 VLAN ,决定成员身份是主要考虑协议类型或网络层地址进行划分。 1032 | - 什么是虚拟专用网 VPN ?有什么特点? 1033 | - VPN 指的是依靠 ISP 和 NSP,在公用网络中建立专用的数据通信网络的技术。 1034 | - VPN 的特点有: 1035 | - (1) 安全保障。 VPN 通过建立一个隧道,利用加密技术对传输数据进行加密,以保证数据的私有和安全性。 1036 | - (2) 服务质量保证 (QoS) 。VPN 可以针对不同要求提供不同等级的服务质量保证。 1037 | - (3) 可扩充性和灵活性。 VPN 支持通过 Internet 和 Extranet 的任何类型的数据流。 1038 | - (4) 可管理性。 VPN 可以从用户和运营商角度方便进行管理。 1039 | - 简述 VPN 主要采用的四项安全保证技术 。 1040 | - VPN 主要采用隧道技术 (Tunneling) 、加解密技术 (Encryption & Decryption) 、密钥管理技术 (Key Management)和使用者与设备身份认证技术 (Authentication) 。 1041 | - 说明网络安全攻击的几种形式 。 1042 | - 主要有四种方式:中断、截获、修改和伪造。 1043 | - 中断是以可用性作为攻击目标,它毁坏系统资源,使网络不可用。 1044 | - 截获是以保密性为攻击目标,非授权用户通过某种手段获得对系统资源的访问。 1045 | - 修改是以完整性作为攻击目标,非授权用户不仅获得访问而且对数据进行修改。 1046 | - 伪造是以完整性作为攻击目标,非授权用户将伪造的数据插入到正常传输的数据中。 1047 | - 请说明帧中继与 X.25 协议的主要差别 。 1048 | - 帧中继是继 X.25 后发展起来的数据通信方式。 从原理上看, 帧中继与 X.25 都同属于分组交换。 与 X.25 1049 | - 协议的主要差别有: 1050 | - (1) 帧中继带宽较宽。 1051 | - (2) 帧中继的层次结构中只有物理层和链路层,舍去了 X.25 的分组层。 1052 | - (3) 帧中继采用 D 通道链路介入规程 LAPD(Link Access Procedure on the D-Channel) 。X.25 采用 HDLC的平衡链路接入规程 LAPB 。 1053 | - (4) 帧中继可以不用网络层而只使用链路层来实现复用和转接。 1054 | - (5) 与 X.25 相比,帧中继在操作处理上做了大量的简化。不需要考虑传输差错问题,其中间节点只做帧的转发操作, 不需要执行接收确认和请求重发等操作, 差错控制和流量均交由高层端系统完成,大大缩短了节点的时延,提高了网内数据的传输速率。 1055 | - 加入数字签名和验证的文件传输过程是怎样的?如何防止有第三方冒充发送方法送出文件? 1056 | 只有加入数字签名及验证才能真正实现在公开网络上的安全传输。加入数字签名和验证的文件传输过程如下: 1057 | - ① 首先发送方用哈希函数从原文得到数字签名,然后采用公开密钥体系用发送方的私有密钥对数字签名进行加密,并把加密后的数字签名附加在要发送的原文后面。 1058 | - ② 发送方选择一个秘密秘钥对文件进行加密,并把加密后的文件通过网络传输到接收方。 1059 | - ③ 发送方用接收方的公开密钥对秘密密钥进行加密,并通过网络把加密后的秘密密钥传输到接收方。 1060 | - ④ 接收方使用自己的私有密钥对密钥信息进行解密,得到秘密密钥的明文。 1061 | - ⑤ 接收方用秘密密钥对文件进行解密,得到经过加密的数字签名。 1062 | - ⑥ 接收方用发送的公开密钥对数字签名进行解密,得到数字签名的明文。 1063 | - ⑦ 接收方用得到的明文和哈希函数重新计算数字签名,并与解密后的数字签名进行对比。如果两个数字签名是相同的,则说明文件在传输过程中没有被破坏。如果第三方冒充发送方发送了一个文件,因为接收方在对数字签名进行解密时使用的是发送方的公开密钥,只要第三方不知道发送方的私有密钥,则解密出来的数字签名和经过计算的数字签名必然是不相同的。这就提供了一个安全的确认发送方身份的方法。 -------------------------------------------------------------------------------- /_p/合集/简答题.md: -------------------------------------------------------------------------------- 1 | # 简答题 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | ## 简述保证网络传输可靠性的确认与重传机制的概念。 45 | 46 | - 确认是指数据分组接收节点在收到每个分组后,要求向发送节点回送正确接收分组的确认信息; 47 | - 在规定时间内,如果发送节点没有接收到接收节点返回的确认信息,就认为该数据分组发送失败; 48 | - 发送节点重传该数据分组; 49 | 50 | ## 简述差错控制的概念和引起差错的原因及差错的种类。 51 | 52 | - 差错控制是指在数据通信过程中能发现或纠正错误,把差错限制在尽可能小的允许范围内的技术和方法; 53 | - 差错都是由噪声引起的; 54 | - 差错分为随机错和突发错; 55 | 56 | ## 简述源路由网桥的源路由选择的核心思想和前提。 57 | 58 | - 源路由选择的核心思想是假定每个帧的发送者都知道接收者是否在同一个 LAN 上; 59 | - 当发送一个帧到另外的 LAN 上时,源机器将目的地址的高位设置为 1 作为标记; 60 | - 另外它还在帧头加进此帧应走的实际路径; 61 | - 源路由选择的前提是互连网中的每台机器都知道到所有其它机器的最佳路径; 62 | 63 | ## 简述传输层提供的两种传输服务及其概念。 64 | 65 | - 传输层的传输服务根据不同的协议分为面向连接与非连接的两种类型; 66 | - 所谓面向连接是发送方和接收方传输服务需要经过建立连接、然后再传输数据,最后释放连接 3 个过程; 67 | - 而对于非连接的传输服务,发送方无需事先建立连接,只要有数据需要发送,就直接发送。 68 | 69 | ## 简述 TCP 所提供的面向连接服务。 70 | 71 | - 在生成报文开始传送之前,TCP 客户与服务器互相交换传输层的控制信息,完成握手; 72 | - 在客户进程与服务器进程的套接字之间创建一条逻辑的 TCP 连接; 73 | - 这条连接是全双工的,即连接双方的进程可以在此连接上同时进行 TCP 报文收发; 74 | - 等应用程序结束报文发送时,必须拆除该连接; 75 | 76 | ## 简述 Cookie 的常见用途。 77 | 78 | - 网站可以用 Cookie 的 ID 来准确统计网站的实际访问人数等数据; 79 | - 网站可以利用 Cookie 限制某些特定用户的访问; 80 | - 网站可以存储用户访问过程中的操作习惯和偏好,有针对地为用户提供服务,提升用户体验感; 81 | - 记录用户登录网站使用的用户名、密码等信息,使用户多次登录时,避免重复输入这些信息,实现快速登录; 82 | - 电子商务网站利用 Cookie 信息可以实现“购物车”功能; 83 | 84 | ## 简述 1-坚持 CSMA 的基本原理。 85 | 86 | - 若通信站有数据发送,则先侦听信道; 87 | - 若发现信道空闲,则立即发送数据; 88 | - 若发现信道忙,则继续侦听信道,直到发现信道空闲然后立即发送数据; 89 | 90 | ## 简述典型的 HTTP 请求方法及其作用。 91 | 92 | - Get 请求读取由 URL 所标识的信息; 93 | - Head 请求读取由 URL 所标识的信息的首部; 94 | - Post 给服务器添加信息; 95 | - Option 请求一些选项的信息; 96 | - Put 在指明的 URL 下存储一个文档; 97 | 98 | ## 简述分组交换网中发送拥塞的原因以及拥塞控制的概念。 99 | 100 | - 发生拥塞的原因 101 | - 缓冲区容量有限; 102 | - 传输线路的带宽有限; 103 | - 网络结点的处理能力有限; 104 | - 网络中某些部分发生了故障; 105 | - 拥塞控制就是端系统或网络节点,通过采取某些措施来避免拥塞发生,或者对于已发生的拥塞做出反应,以便尽快消除拥塞; 106 | 107 | ## 简述消息完整性检测方法中所使用的密码散列函数应具备的主要特征。 108 | 109 | - 一般具有算法可公开性; 110 | - 能够快速计算; 111 | - 对任意长度报文进行多对一映射均能产生定长输出; 112 | - 对于任意报文无法预知其散列值; 113 | - 不同报文不能产生相同的散列值; 114 | 115 | ## 简述密勒码的编码规则。 116 | 117 | - 信息码中的 1 编码为双极非归零码的 01 或 10; 118 | - 信息码连 1 时,后面的 1 要交替编码; 119 | - 信息码中的是 0 编码为双极非归零码 00 或 11,即码元中间不跳变; 120 | - 信息码单个 0 时,其前沿、中间时刻、后沿均不跳变; 121 | - 信息码连 0 时,两个 0 码元的间隔跳变; 122 | 123 | ## 简述路由器输入端口接收与处理数据的过程。 124 | 125 | - 输入端口负责从物理接口接收信号; 126 | - 还原链路数据帧; 127 | - 提取 IP 数据报; 128 | - 根据 IP 数据报的目的 IP 地址检索路由表; 129 | - 决策需要将该数据报交换到哪个输出端口; 130 | 131 | ## 简述非坚持 CSMA 的基本原理。 132 | 133 | - 若通信站有数据发送,则先侦听信道; 134 | - 若发现信道有空闲,则立即发送数据; 135 | - 若发现信道忙,则等待一个随机时间,然后重新开始侦听信道,尝试发送数据; 136 | - 若发送数据时产生冲突,则等待一个随机时间,然后重新开始侦听信道,尝试发送数据; 137 | 138 | ## 简述地址解析协议 ARP 的作用及其基本思想。 139 | 140 | - ARP 用于根据本网内目的主机或默认网关的 IP 地址获取其 MAC 地址; 141 | - 基本思想: 142 | - 在每一台主机中设置专用内存区域作为 ARP 高速缓存区域,存储该主机所在局域网中其他主机和路由器(即默认网关)的 IP 地址与 MAC 地址的对应关系,并且要经常更新这个地址表; 143 | - ARP 通过广播 ARP 查询报文的方式来查询某目的站的 IP 地址对应的 MAC 地址。即知道本网内某主机的 IP 地址,可以查询得到其 MAC 地址; 144 | 145 | ## 简述差错控制的概念及差错控制的基本方式。 146 | 147 | - 差错控制就是通过差错编码技术,实现对信息传输差错的检测; 148 | - 并基于某种机制进行差错纠正和处理; 149 | - 差错控制的基本方式主要包括:检错重发、前后纠错、反馈校验、检错丢弃。 150 | 151 | ## 简述 IEEE802.11 中四个主要协议具有的共同特征。 152 | 153 | - 都使用相同的介质访问协议 CSMA/CA; 154 | - 链路层的帧都使用相同的格式; 155 | - 都具有降低传输效率以增加传输距离的能力; 156 | - 都支持“基础设施模式”和“自组织模式”两种模式; 157 | 158 | ## 简述移动 Adhoc 网络的特点。 159 | 160 | - 具有一定的独立性; 161 | - 动态变化的网络拓扑结构; 162 | - 有限的无线通信带宽和主机能源; 163 | - 网络的分布特性且生存周期短; 164 | - 有限的物理安全; 165 | 166 | ## 简述 OSI 参数模型物理层的主要功能及该层协议规定的四个特性。 167 | 168 | - 物理层的主要功能是实现比特流的透明传输,为数据链路层提供数据传输服务; 169 | - 物理层协议规定的特性包括机械特性、电气特性、功能特性和规程特性; 170 | 171 | ## 简述 CSMA/CD 的二进制指数退避算法的规则。 172 | 173 | - 对每个数据帧,当第一次发生冲突时,设置一个参量 L = 2; 174 | - 退避间隔取 1 到 L 个时间片中中的一个随机数,1 个时间片等于两站点之间的最大传播时延的两倍; 175 | - 当数据帧再次发生冲突,则将参量 L 加倍; 176 | - 设置一个最大重传次数,超过该次数,则不再重传,并报告出错; 177 | 178 | ## 简述网络安全攻击中被动攻击的目的和特点。 179 | 180 | - 被动攻击的主要目的是窃听和监视信息的传输并存储,攻击者只是想获得被传送的信息; 181 | - 被动攻击通常很难被检测出来,因为它不改变数据,但是预防这种攻击是可能的; 182 | - 因此,对被动攻击通常是采取预防手段而不是检测恢复手段; 183 | 184 | ## 简述无线应用协议 WAP 的概念与用途。 185 | 186 | - WAP 是一种使用在无线通信设备上的新的移动通信技术,其功能类似于因特网上的 HTTP 协议; 187 | - 它定义了一系列将因特网内容过滤和转化为适用移动通信的标准; 188 | - 使内容可以更容易地在移动终端上显示,使得利用手机就可以接入因特网并使用因特网上的各种应用; 189 | 190 | ## 简述通信子网中拥塞发生的原因。 191 | 192 | - 多条流入线路有分组到达,并需要同一输出线路。此时,如果路由器没有足够的内存来存放所有这些分组,则有的分组就会丢失; 193 | - 因路由器的慢速处理器的缘故,以至于难以完成必要的处理工作; 194 | - 即使有多余的线路容量,分组也需要进入到队列之中; 195 | 196 | ## 简述 CSMA/CD 的基本思想。 197 | 198 | - 当一个节点要发送数据时,首先监听信道; 199 | - 如果信道空闲就发送数据,并继续监听; 200 | - 如果在数据发送过程中监听到了冲突,则立即停止数据发送; 201 | - 等待随机的一段时间后,重新开始尝试发送数据; 202 | 203 | ## 简述模拟信号、数字信号和信道的概念。 204 | 205 | - 模拟信号是随时间持续变化的电流、电压或电磁波,可以利用其某个参量(如幅度、频率或相位等)来表示要传输的数据; 206 | - 数字信号是一系列离散的电脉冲,可以利用其某一瞬间的状态来表示要传输的数据; 207 | - 信道是信源和信宿之间的通信线路; 208 | 209 | ## 简述采用链路状态路由算法的路由器必须完成的工作。 210 | 211 | - 发现它的邻居节点,并知道其网络地址; 212 | - 测量到各邻居节点的延迟或者开销; 213 | - 构造一个分组,其中包含所有它刚刚知道的消息; 214 | - 将这个分组发送给所有其他的路由器; 215 | - 计算到每一个其他的路由器的最短路径; 216 | 217 | ## 简述局域网操作系统的基本服务功能。 218 | 219 | - 局域网操作系统的基本服务功能包括 220 | - 文件服务; 221 | - 打印服务; 222 | - 数据库服务; 223 | - 通信服务; 224 | - 信息服务; 225 | - 分布式服务; 226 | 227 | ## 简述网络安全的概念及网络安全攻击的常见形式。 228 | 229 | - 网络安全是指确保网络上的信息和资源不被非授权用户所使用; 230 | - 网络安全攻击的常见形式是中断、截获、修改、伪造 4 种; 231 | 232 | ## 简述网络各层次设计中可采用的服务类型。 233 | 234 | - 在网络各层次的设计中,可采用的服务类型包括: 235 | - 面向连接和确认服务; 236 | - 面向连接和不确认服务; 237 | - 无连接和确认服务; 238 | - 无连接和不确认服务; 239 | 240 | ## 简述传输介质的带宽、波特率、码元和位传输率的概念。 241 | 242 | - 传输介质的带宽是指在最小衰减的情况下能够通过这种介质的频率范围,它是介质的一种物理特性,数据单位为 Hz; 243 | - 波特率是指每秒钟的采样次数,每个采样都发送一份信息,该信息称为码元,因此波特率和码元率是相同的; 244 | - 位传输率是指一条信道上发送的信息的数量,它等于每秒钟采样数乘以每个采样的位数; 245 | 246 | ## 简述源路由选择网桥获取路由算法的基本思想。 247 | 248 | - 获取源路由算法的基本思想:如果不知道目的地地址的位置,源机器就发一广播帧,询问它在哪里; 249 | - 每个网桥都会转发此帧,这样查找帧就可以到达互连网中的每一个 LAN; 250 | - 当应答回来时,途径的网桥将它们自己的标识记录在应答帧中,于是广播帧的发送者就可以得到确切的路由,并从中选取最佳者。 251 | 252 | ## 简述传输控制协议 TCP 提供的服务所具有的主要特征。 253 | 254 | - 面向连接的传输; 255 | - 端到端通信; 256 | - 高可靠性; 257 | - 全双工方式传输; 258 | - 采用字节流方式传输; 259 | - 提供紧急数据传送功能; 260 | 261 | ## 简述面向连接服务的特点。 262 | 263 | - 数据传输过程前必须经过建立连接、维护连接和释放连接三个过程; 264 | - 数据传输过程中,各分组不需要携带目的节点地址; 265 | - 面向连接数据传输的收发顺序不变,传输可靠性好; 266 | - 需要通信开始前的连接开销,协议复杂,通信效率不高; 267 | 268 | ## 简述无连接服务的特点。 269 | 270 | - 无连接服务中的数据传输过程不需要经过建立连接、维护连接和释放连接三个过程; 271 | - 每个分组都要携带完整的目的节点地址,各分组在通信子网中是独立传送的; 272 | - 无连接服务中的目的节点接收到的数据分组可能出现乱序,重复和丢失现象; 273 | - 其可靠性不是很好,但通信协议相对简单,效率较高; 274 | 275 | ## 简述 TCP 在慢启动阶段确定拥塞窗口大小的方法。 276 | 277 | - 刚建立连接时,将拥塞窗口的大小初始化为该连接所需的最大数据段的长度,并发送一个最大长度的数据段; 278 | - 如果在定时器超时前得到确认,将拥塞窗口的大小增加一个数据段的字节数,并发送两个数据段; 279 | - 如果每个数据段在定时器超时前都得到确认,就再在原基础上增加一倍,如此反复,每次都在前一次的基础上加倍; 280 | - 当定时器超时或达到发送窗口设定值时,停止拥塞窗口尺寸的增加; 281 | 282 | ## 简述物理信道的突发噪声导致帧被“淹没”时所采取的的措施。 283 | 284 | - 物理信道的突发噪声可能完全“淹没”一帧,即使得整个数据帧或反馈信息帧丢失,这将导致发送方永远收不到接收方发来的反馈信息,从而使传输过程停滞; 285 | - 为了避免出现这种情况,通常引入计时器来限定接收方发回反馈信息的时间间隔; 286 | - 当发送方发送一帧的同时也启动计时器,若在限定时间间隔内未能收到接收方的反馈信息,即计时器超时,则可认为传出的帧已出错或丢失,就要重新发送; 287 | 288 | ## 简述从滑动窗口的观点来看,停等、Go-Back-N 及选择重传三个协议的区别。 289 | 290 | - 停等:发送窗口 = 1, 接收窗口 = 1; 291 | - Go-Back-N:发送窗口 > 1, 接收窗口 = 1; 292 | - 选择重传:发送窗口 > 1,接收窗口 > 1; 293 | 294 | ## 简述 TCP 的重传策略。 295 | 296 | - TCP 协议用于控制数据段是否需要重传的依据是设定重发定时器; 297 | - 在发送一个数据段的同时启动一个重发定时器; 298 | - 如果在定时器超时前收到确认,就关闭该定时器; 299 | - 如果定时器超时前没有收到确认,则重传该数据段; 300 | - 这种重传策略的关键是对定时器初值的设定; 301 | 302 | ## 简述永久虚电路和交换虚电路的区别。 303 | 304 | - 永久虚电路由公共传输网络提供者设置,一经设置便长期存在; 305 | - 交换虚电路需要两个远程端点通过呼叫控制协议建立,在完成当前数据传输后再拆除; 306 | - 呼叫控制协议是在建立虚电路时必须根据用户设备地址来确定传输通路的两个端点; 307 | 308 | ## 简述使用脉冲调制(PCM)将信号数字化的过程 309 | 310 | - 第一步是采样,以采样频率把模拟信号的值采出; 311 | - 第二步是量化,将连续模拟信号变为时间轴上的离散值; 312 | - 第三步是编码,将离散值编为一定位数的二进制数码; 313 | 314 | ## 简述路由器和网桥的区别。 315 | 316 | - 网桥工作在链路层,路由器工作在网络层; 317 | - 网桥连接的局域网的物理层和数据链路层的协议可以不同,但数据链路层以上的各层要采用相同协议;路由器连接的两个局域网的物理层、数据链路层和网络层协议可以不同,但网络层以上的高层要使用相同协议; 318 | - 网桥会产生“广播风暴”,而路由器会将多个局域网的广播通信分隔开; 319 | 320 | ## 简述邮局协议 POP3 的连接过程。 321 | 322 | - POP3 操作开始时,服务器通过侦听 TCP 端口 110 开始服务; 323 | - 当客户主机需要使用服务时,它将与服务器主机建立连接; 324 | - 当 TCP 连接建立后,POP3 发送确认消息; 325 | - 客户与 POP3 服务器相互(分别)交换命令与响应,这一过程要持续到连接终止; 326 | 327 | ## 简述星形网络拓扑结构的优缺点。 328 | 329 | - 星形拓扑结构的优点:控制简单;故障诊断和隔离容易;方便服务; 330 | - 星星拓扑结构的缺点:电缆长度和安装工作量可观;中央节点的负担较重,形成瓶颈;各站点的分布处理能力较低; 331 | 332 | ## 简述 Go-back-N 策略的基本原理。 333 | 334 | - 接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧; 335 | - 或者当发送方发送了 n 个帧后,若发现该 n 帧的前一帧在计时器超时区间内仍未返回其确认信息,则该帧判定为出错或丢失; 336 | - 此时发送方重新发送该出错帧及其后的 n 帧; 337 | 338 | ## 简述 IP 协议(包括主机和网关)对输入数据报的处理过程。 339 | 340 | - 当 IP 数据报到达主机时,如果其目的 IP 地址与主机地址相匹配,则接收该数据报并送给高层协议处理,否则丢弃该 IP 数据报; 341 | - 当 IP 数据报到达网关时,网关首先判断本机是否为数据报到达目的主机,如果是则接收并送给高层协议处理;如果不是,网关对接收到的 IP 数据报进行寻径,然后将其转发出去; 342 | 343 | ## 简述目前数字签名的基本过程。 344 | 345 | - 报文发送方从报文文本中生成一个报文摘要并用自己的私钥对其进行加密,形成数字签名; 346 | - 将数字签名作为报文的附件和报文一起发送给接收方; 347 | - 接收方从收到的原始报文中计算出报文摘要,再用发送方的公钥对数字签名进行解密; 348 | - 如果两个报文摘要相同,则接收方确认该签名是发送方的; 349 | 350 | ## TCP 可使用的的端口有 65536 个,请说明这些端口的使用规定。 351 | 352 | - 小于 256 的端口号定义为常用端口; 353 | - 任何 TCP/IP 实现所提供的服务都是用 1-1023 之间的端口号; 354 | - 大多数 TCP/IP 实现给临时端口分配 1024-5000 之间的端口号; 355 | - 大于 5000 的端口号是为其他服务预留的; 356 | - 客户端使用临时端口号,只需保证该端口号在本机上是唯一的; 357 | 358 | ## 简述 IP 协议的基本任务。 359 | 360 | - IP 的基本任务是通过互连网发送数据报; 361 | - 主机上的 IP 层向传输层提供服务; 362 | - IP 从源传输实体取得数据,并传给目的主机的 IP 层; 363 | - IP 不保证服务的可靠性; 364 | - IP 将高层协议数据封装成数据报,并交给下一层; 365 | 366 | ## 简述转发器、网桥、路由器、网关的功能。 367 | 368 | - 转发器实现物理层的连接,对信号进行放大整形或再生,扩展网段距离; 369 | - 网桥提供数据链路层的协议转换,在局域网间存储和转发帧; 370 | - 路由器作用于网络层,提供协议转换,在不同网络之间存储和转发分组; 371 | - 网关提供传输层及传输层以上各层协议之间协议的转换; 372 | 373 | ## 简述简单邮件传输协议 SMTP 发送邮件的过程。 374 | 375 | - 客户端向服务器发送 HELLO 命令以表示发件人身份,然后向客户端发送发送 MAIL 命令; 376 | - 服务器以 OK 作为响应,表明准备接受; 377 | - 客户端发送 RCPT 命令,以标识该电子邮件的计划收件人; 378 | - 服务器端则表示是否愿意为收件人接受邮件; 379 | - 协商结束后,发送邮件,用 DATA 命令发送输入的内容; 380 | 381 | ## 简述无线局域网的优缺点 382 | 383 | 384 | ## 简述TCP重传策略中所采用的Jacobson算法的工作原理。 385 | 386 | 387 | ## 简述动态路由选择策略的概念和优缺点。 388 | 389 | 390 | ## 简述Internet消息访问协议IMAP的工作方式。 391 | 392 | 393 | ## 分别说明DNS、FTP、HTTP、ICMP、TCP协议的中文名称及其作用。 394 | 395 | 396 | ## 简述网络安全策略和网络安全机制的区别并列出四种主要的网络安全机制。 397 | 398 | 399 | ## 简述网络协议的概念及其三要素。 400 | 401 | 402 | ## 列举BSC协议中包含的监控报文,并分别说明各监控报文的作用。 403 | 404 | 405 | ## 简述UDP的服务类型并给出4种基于UDP的应用层协议。 406 | 407 | 408 | ## 简述三种数据交换技术的主要特点。 409 | 410 | 411 | ## 简述载波监听多路访问(CSMA)协议的概念并给出四种CSMA协议。 412 | 413 | 414 | ## 简述数据链路层的两种差错控制方法及其工作原理。 415 | 416 | 417 | ## 简述与IPv4相比,IPv6所引进的主要变化。 418 | 419 | 420 | ## 简述时分ALOHA协议的基本思想。 421 | 422 | 423 | ## 试说明拥塞控制与流控制之间的差异。 424 | 425 | 426 | ## 简述邮局协议POP3的连接过程。 427 | 428 | 429 | ## 简述最短路由选择算法的基本思想。 430 | 431 | 432 | ## 简述数据报子网中拥塞控制的措施。 433 | 434 | 435 | ## 简述UDP的段结构中各个字段的名称及其含义。 436 | 437 | 438 | ## 简述I-坚持CSMA的基本思想。 439 | 440 | 441 | ## 简述设计路由算法时考虑的技术要素。 442 | 443 | 444 | ## 简述TCP拥塞控制中慢启动的过程。 445 | 446 | 447 | ## 简述令牌环网的操作过程。 448 | 449 | 450 | ## 简述局域网操作系统提供的五级可靠性措施。 451 | 452 | 453 | ## 简述多媒体信息网络的传输在交互性和实时性方面的要求。 454 | 455 | 456 | ## 简述带宽、波特率、码元和位传输率的区别。 457 | 458 | 459 | ## 简述家庭用户利用PPP协议与Internet服务提供商网络的连接过程。 460 | 461 | 462 | ## 简述虚拟专用网VPN的概念及其特点。 --------------------------------------------------------------------------------