精华内容
下载资源
问答
  • 计算机网络重点

    2013-12-05 12:35:23
    计算机网络重点资料 考前冲次 的最好帮手 。希望对各位朋友有帮助
  • 计算机网络重点知识总结
  • 计算机网络重点归纳总结详细,更加方便快捷地从整体上找出理解计算机网络的重点内容。计算机网络由若干结点和连接这些结点的链路组成。网络无处不在,掌握这些基础知识,有利于以后的学习和生活。
  • 计算机网络重点知识

    2013-02-28 23:18:13
    计算机网络重点知识总结 一、现在最主要的三种网络  电信网络(电话网)  有线电视网络  计算机网络 (发展最快,信息时代的核心技术)
  • 计算机网络重点题型参考答案,邓亚平版,期末考试必备。
  • 计算机网络重点及难点试题 重点把握和分析计算机网络方面的知识;好好复习
  • 同等学力计算机网络重点知识汇总,很全面,也很有价值。
  • 计算机网络重点知识,详细介绍网络七层中各层的功能
  • 计算机网络重点整理

    一 OSI与TCP/IP各层的结构与功能,都有哪些协议?

    学习计算机网络时我们一般采用折中的办法,也就是中和 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构,这样既简洁又能将概念阐述清楚。

    五层体系结构

    结合互联网的情况,自上而下地,非常简要的介绍一下各层的作用。

    1.1 应用层

    应用层(application-layer)的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如域名系统DNS,支持万维网应用的 HTTP协议,支持电子邮件的 SMTP协议等等。我们把应用层交互的数据单元称为报文。

    域名系统

    域名系统(Domain Name System缩写 DNS,Domain Name被译为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。(百度百科)例如:一个公司的 Web 网站可看作是它在网上的门户,而域名就相当于其门牌地址,通常域名都使用该公司的名称或简称。例如上面提到的微软公司的域名,类似的还有:IBM 公司的域名是 www.ibm.com、Oracle 公司的域名是 www.oracle.com、Cisco公司的域名是 www.cisco.com 等。

    HTTP协议

    超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的 WWW(万维网) 文件都必须遵守这个标准。设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法。(百度百科)

    1.2 运输层

    运输层(transport layer)的主要任务就是负责向两台主机进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。“通用的”是指并不针对某一个特定的网络应用,而是多种应用可以使用同一个运输层服务。由于一台主机可同时运行多个线程,因此运输层有复用和分用的功能。所谓复用就是指多个应用层进程可同时使用下面运输层的服务,分用和复用相反,是运输层把收到的信息分别交付上面应用层中的相应进程。

    运输层主要使用以下两种协议:

    1. 传输控制协议 TCP(Transmission Control Protocol)–提供面向连接的,可靠的数据传输服务。
    2. 用户数据协议 UDP(User Datagram Protocol)–提供无连接的,尽最大努力的数据传输服务(不保证数据传输的可靠性)。

    TCP 与 UDP 的对比见问题三。

    1.3 网络层

    在 计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。 在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组和包进行传送。在 TCP/IP 体系结构中,由于网络层使用 IP 协议,因此分组也叫 IP 数据报 ,简称 数据报。

    这里要注意:不要把运输层的“用户数据报 UDP ”和网络层的“ IP 数据报”弄混。另外,无论是哪一层的数据单元,都可笼统地用“分组”来表示。

    这里强调指出,网络层中的“网络”二字已经不是我们通常谈到的具体网络,而是指计算机网络体系结构模型中第三层的名称.

    互联网是由大量的异构(heterogeneous)网络通过路由器(router)相互连接起来的。互联网使用的网络层协议是无连接的网际协议(Intert Protocol)和许多路由选择协议,因此互联网的网络层也叫做网际层或IP层。

    1.4 数据链路层

    数据链路层(data link layer)通常简称为链路层。两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。 在两个相邻节点之间传送数据时,数据链路层将网络层交下来的 IP 数据报组装成帧,在两个相邻节点间的链路上传送帧。每一帧包括数据和必要的控制信息(如同步信息,地址信息,差错控制等)。

    在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提出数据部分,上交给网络层。 控制信息还使接收端能够检测到所收到的帧中有误差错。如果发现差错,数据链路层就简单地丢弃这个出了差错的帧,以避免继续在网络中传送下去白白浪费网络资源。如果需要改正数据在链路层传输时出现差错(这就是说,数据链路层不仅要检错,而且还要纠错),那么就要采用可靠性传输协议来纠正出现的差错。这种方法会使链路层的协议复杂些。

    1.5 物理层

    在物理层上所传送的数据单位是比特。 物理层(physical layer)的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。 使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送比特流”表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路好像是看不见的。

    在互联网使用的各种协中最重要和最著名的就是 TCP/IP 两个协议。现在人们经常提到的TCP/IP并不一定单指TCP和IP这两个具体的协议,而往往表示互联网所使用的整个TCP/IP协议族。

    1.6 总结一下

    上面我们对计算机网络的五层体系结构有了初步的了解,下面附送一张七层体系结构图总结一下。图片来源:https://blog.csdn.net/yaopeng_2005/article/details/7064869
    在这里插入图片描述

    二 TCP 三次握手和四次挥手(面试常客)

    为了准确无误地把数据送达目标处,TCP协议采用了三次握手策略。

    2.1 TCP 三次握手漫画图解

    如下图所示,下面的两个机器人通过3次握手确定了对方能正确接收和发送消息(图片来源:《图解HTTP》)。
    在这里插入图片描述
    在这里插入图片描述

    简单示意图:

    • 客户端–发送带有 SYN 标志的数据包–一次握手–服务端
    • 服务端–发送带有 SYN/ACK 标志的数据包–二次握手–客户端
    • 客户端–发送带有带有 ACK 标志的数据包–三次握手–服务端

    2.2 为什么要三次握手

    三次握手的目的是建立可靠的通信信道,说到通讯,简单来说就是数据的发送与接收,而三次握手最主要的目的就是双方确认自己与对方的发送与接收是正常的。

    第一次握手:Client 什么都不能确认;Server 确认了对方发送正常,自己接收正常

    第二次握手:Client 确认了:自己发送、接收正常,对方发送、接收正常;Server 确认了:对方发送正常,自己接收正常

    第三次握手:Client 确认了:自己发送、接收正常,对方发送、接收正常;Server 确认了:自己发送、接收正常,对方发送、接收正常

    所以三次握手就能确认双发收发功能都正常,缺一不可。

    2.3 为什么要传回 SYN

    接收端传回发送端所发送的 SYN 是为了告诉发送端,我接收到的信息确实就是你所发送的信号了。

    SYN 是 TCP/IP 建立连接时使用的握手信号。在客户机和服务器之间建立正常的 TCP 网络连接时,客户机首先发出一个 SYN 消息,服务器使用 SYN-ACK 应答表示接收到了这个消息,最后客户机再以 ACK(Acknowledgement[汉译:确认字符 ,在数据通信传输中,接收站发给发送站的一种传输控制字符。它表示确认发来的数据已经接受无误。 ])消息响应。这样在客户机和服务器之间才能建立起可靠的TCP连接,数据才可以在客户机和服务器之间传递。

    2.4 传了 SYN,为啥还要传 ACK

    双方通信无误必须是两者互相发送信息都无误。传了 SYN,证明发送方到接收方的通道没有问题,但是接收方到发送方的通道还需要 ACK 信号来进行验证。

    TCP四次挥手

    断开一个 TCP 连接则需要“四次挥手”:

    • 客户端-发送一个 FIN,用来关闭客户端到服务器的数据传送
    • 服务器-收到这个 FIN,它发回一 个 ACK,确认序号为收到的序号加1 。和 SYN 一样,一个 FIN 将占用一个序号
    • 服务器-关闭与客户端的连接,发送一个FIN给客户端
    • 客户端-发回 ACK 报文确认,并将确认序号设置为收到序号加1

    2.5 为什么要四次挥手

    任何一方都可以在数据传送结束后发出连接释放的通知,待对方确认后进入半关闭状态。当另一方也没有数据再发送的时候,则发出连接释放通知,对方确认后就完全关闭了TCP连接。

    举个例子:A 和 B 打电话,通话即将结束后,A 说“我没啥要说的了”,B回答“我知道了”,但是 B 可能还会有要说的话,A 不能要求 B 跟着自己的节奏结束通话,于是 B 可能又巴拉巴拉说了一通,最后 B 说“我说完了”,A 回答“知道了”,这样通话才算结束。

    上面讲的比较概括,推荐一篇讲的比较细致的文章:https://blog.csdn.net/qzcsu/article/details/72861891

    三 TCP,UDP 协议的区别

    TCP、UDP协议的区别

    UDP 在传送数据之前不需要先建立连接,远地主机在收到 UDP 报文后,不需要给出任何确认。虽然 UDP 不提供可靠交付,但在某些情况下 UDP 确是一种最有效的工作方式(一般用于即时通信),比如: QQ 语音、 QQ 视频 、直播等等

    TCP 提供面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。 TCP 不提供广播或多播服务。由于 TCP 要提供可靠的,面向连接的传输服务(TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源),这一难以避免增加了许多开销,如确认,流量控制,计时器以及连接管理等。这不仅使协议数据单元的首部增大很多,还要占用许多处理机资源。TCP 一般用于文件传输、发送和接收邮件、远程登录等场景。

    四 TCP 协议如何保证可靠传输

    1. 应用数据被分割成 TCP 认为最适合发送的数据块。
    2. TCP 给发送的每一个包进行编号,接收方对数据包进行排序,把有序数据传送给应用层。
    3. 校验和: TCP 将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP 将丢弃这个报文段和不确认收到此报文段。
    4. TCP 的接收端会丢弃重复的数据。
    5. 流量控制: TCP 连接的每一方都有固定大小的缓冲空间,TCP的接收端只允许发送端发送接收端缓冲区能接纳的数据。当接收方来不及处理发送方的数据,能提示发送方降低发送的速率,防止包丢失。TCP 使用的流量控制协议是可变大小的滑动窗口协议。 (TCP 利用滑动窗口实现流量控制)
    6. 拥塞控制: 当网络拥塞时,减少数据的发送。
    7. ARQ协议: 也是为了实现可靠传输的,它的基本原理就是每发完一个分组就停止发送,等待对方确认。在收到确认后再发下一个分组。
    8. 超时重传: 当 TCP 发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。

    4.1 ARQ协议

    自动重传请求(Automatic Repeat-reQuest,ARQ)是OSI模型中数据链路层和传输层的错误纠正协议之一。它通过使用确认和超时这两个机制,在不可靠服务的基础上实现可靠的信息传输。如果发送方在发送后一段时间之内没有收到确认帧,它通常会重新发送。ARQ包括停止等待ARQ协议和连续ARQ协议。

    停止等待ARQ协议

    • 停止等待协议是为了实现可靠传输的,它的基本原理就是每发完一个分组就停止发送,等待对方确认(回复ACK)。如果过了一段时间(超时时间后),还是没有收到 ACK 确认,说明没有发送成功,需要重新发送,直到收到确认后再发下一个分组;
    • 在停止等待协议中,若接收方收到重复分组,就丢弃该分组,但同时还要发送确认;

    优点: 简单

    缺点: 信道利用率低,等待时间长

    1. 无差错情况:

    发送方发送分组,接收方在规定时间内收到,并且回复确认.发送方再次发送。

    1. 出现差错情况(超时重传):

    停止等待协议中超时重传是指只要超过一段时间仍然没有收到确认,就重传前面发送过的分组(认为刚才发送过的分组丢失了)。因此每发送完一个分组需要设置一个超时计时器,其重传时间应比数据在分组传输的平均往返时间更长一些。这种自动重传方式常称为 自动重传请求 ARQ 。另外在停止等待协议中若收到重复分组,就丢弃该分组,但同时还要发送确认。连续 ARQ 协议 可提高信道利用率。发送维持一个发送窗口,凡位于发送窗口内的分组可连续发送出去,而不需要等待对方确认。接收方一般采用累积确认,对按序到达的最后一个分组发送确认,表明到这个分组位置的所有分组都已经正确收到了。

    1. 确认丢失和确认迟到
    • 确认丢失 :确认消息在传输过程丢失。当A发送M1消息,B收到后,B向A发送了一个M1确认消息,但却在传输过程中丢失。而A并不知道,在超时计时过后,A重传M1消息,B再次收到该消息后采取以下两点措施:1. 丢弃这个重复的M1消息,不向上层交付。 2. 向A发送确认消息。(不会认为已经发送过了,就不再发送。A能重传,就证明B的确认消息丢失)。
    • 确认迟到 :确认消息在传输过程中迟到。A发送M1消息,B收到并发送确认。在超时时间内没有收到确认消息,A重传M1消息,B仍然收到并继续发送确认消息(B收到了2份M1)。此时A收到了B第二次发送的确认消息。接着发送其他数据。过了一会,A收到了B第一次发送的对M1的确认消息(A也收到了2份确认消息)。处理如下:1. A收到重复的确认后,直接丢弃。2. B收到重复的M1后,也直接丢弃重复的M1。

    连续ARQ协议

    连续 ARQ 协议可提高信道利用率。发送方维持一个发送窗口,凡位于发送窗口内的分组可以连续发送出去,而不需要等待对方确认。接收方一般采用累计确认,对按序到达的最后一个分组发送确认,表明到这个分组为止的所有分组都已经正确收到了。

    优点: 信道利用率高,容易实现,即使确认丢失,也不必重传。

    缺点: 不能向发送方反映出接收方已经正确收到的所有分组的信息。 比如:发送方发送了 5条 消息,中间第三条丢失(3号),这时接收方只能对前两个发送确认。发送方无法知道后三个分组的下落,而只好把后三个全部重传一次。这也叫 Go-Back-N(回退 N),表示需要退回来重传已经发送过的 N 个消息。

    4.2 滑动窗口和流量控制

    TCP 利用滑动窗口实现流量控制。流量控制是为了控制发送方发送速率,保证接收方来得及接收。 接收方发送的确认报文中的窗口字段可以用来控制发送方窗口大小,从而影响发送方的发送速率。将窗口字段设置为 0,则发送方不能发送数据。

    4.3 拥塞控制

    在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏。这种情况就叫拥塞。拥塞控制就是为了防止过多的数据注入到网络中,这样就可以使网络中的路由器或链路不致过载。拥塞控制所要做的都有一个前提,就是网络能够承受现有的网络负荷。拥塞控制是一个全局性的过程,涉及到所有的主机,所有的路由器,以及与降低网络传输性能有关的所有因素。相反,流量控制往往是点对点通信量的控制,是个端到端的问题。流量控制所要做到的就是抑制发送端发送数据的速率,以便使接收端来得及接收。

    为了进行拥塞控制,TCP 发送方要维持一个 拥塞窗口(cwnd) 的状态变量。拥塞控制窗口的大小取决于网络的拥塞程度,并且动态变化。发送方让自己的发送窗口取为拥塞窗口和接收方的接受窗口中较小的一个。

    TCP的拥塞控制采用了四种算法,即 慢开始 、 拥塞避免 、快重传 和 快恢复。在网络层也可以使路由器采用适当的分组丢弃策略(如主动队列管理 AQM),以减少网络拥塞的发生。

    • 慢开始: 慢开始算法的思路是当主机开始发送数据时,如果立即把大量数据字节注入到网络,那么可能会引起网络阻塞,因为现在还不知道网络的符合情况。经验表明,较好的方法是先探测一下,即由小到大逐渐增大发送窗口,也就是由小到大逐渐增大拥塞窗口数值。cwnd初始值为1,每经过一个传播轮次,cwnd加倍。
    • 拥塞避免: 拥塞避免算法的思路是让拥塞窗口cwnd缓慢增大,即每经过一个往返时间RTT就把发送放的cwnd加1.
    • 快重传与快恢复: 在 TCP/IP 中,快速重传和恢复(fast retransmit and recovery,FRR)是一种拥塞控制算法,它能快速恢复丢失的数据包。没有 FRR,如果数据包丢失了,TCP 将会使用定时器来要求传输暂停。在暂停的这段时间内,没有新的或复制的数据包被发送。有了 FRR,如果接收机接收到一个不按顺序的数据段,它会立即给发送机发送一个重复确认。如果发送机接收到三个重复确认,它会假定确认件指出的数据段丢失了,并立即重传这些丢失的数据段。有了 FRR,就不会因为重传时要求的暂停被耽误。  当有单独的数据包丢失时,快速重传和恢复(FRR)能最有效地工作。当有多个数据信息包在某一段很短的时间内丢失时,它则不能很有效地工作。
      五 在浏览器中输入url地址 ->> 显示主页的过程(面试常客)
      百度好像最喜欢问这个问题。

    打开一个网页,整个过程会使用哪些协议

    图解(图片来源:《图解HTTP》):

    在这里插入图片描述

    总体来说分为以下几个过程:

    • DNS解析
    • TCP连接
    • 发送HTTP请求
    • 服务器处理请求并返回HTTP报文
    • 浏览器解析渲染页面
    • 连接结束

    具体可以参考下面这篇文章:

    https://segmentfault.com/a/1190000006879700

    六 状态码

    状态码

    七 各种协议与HTTP协议之间的关系

    一般面试官会通过这样的问题来考察你对计算机网络知识体系的理解。

    图片来源:《图解HTTP》

    各种协议与HTTP协议之间的关系

    八 HTTP长连接,短连接

    在HTTP/1.0中默认使用短连接。也就是说,客户端和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接。当客户端浏览器访问的某个HTML或其他类型的Web页中包含有其他的Web资源(如JavaScript文件、图像文件、CSS文件等),每遇到这样一个Web资源,浏览器就会重新建立一个HTTP会话。

    而从HTTP/1.1起,默认使用长连接,用以保持连接特性。使用长连接的HTTP协议,会在响应头加入这行代码:

    Connection:keep-alive
    

    在使用长连接的情况下,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,客户端再次访问这个服务器时,会继续使用这一条已经建立的连接。Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间。实现长连接需要客户端和服务端都支持长连接。

    HTTP协议的长连接和短连接,实质上是TCP协议的长连接和短连接。

    —— 《HTTP长连接、短连接究竟是什么?》https://www.cnblogs.com/gotodsp/p/6366163.html

    九 HTTP是不保存状态的协议,如何保存用户状态?

    HTTP 是一种不保存状态,即无状态(stateless)协议。也就是说 HTTP 协议自身不对请求和响应之间的通信状态进行保存。那么我们保存用户状态呢?Session 机制的存在就是为了解决这个问题,Session 的主要作用就是通过服务端记录用户的状态。典型的场景是购物车,当你要添加商品到购物车的时候,系统不知道是哪个用户操作的,因为 HTTP 协议是无状态的。服务端给特定的用户创建特定的 Session 之后就可以标识这个用户并且跟踪这个用户了(一般情况下,服务器会在一定时间内保存这个 Session,过了时间限制,就会销毁这个Session)。

    在服务端保存 Session 的方法很多,最常用的就是内存和数据库(比如是使用内存数据库redis保存)。既然 Session 存放在服务器端,那么我们如何实现 Session 跟踪呢?大部分情况下,我们都是通过在 Cookie 中附加一个 Session ID 来方式来跟踪。

    Cookie 被禁用怎么办?

    最常用的就是利用 URL 重写把 Session ID 直接附加在URL路径的后面。

    HTTP是无状态协议

    十 Cookie的作用是什么?和Session有什么区别?

    Cookie 和 Session都是用来跟踪浏览器用户身份的会话方式,但是两者的应用场景不太一样。

    • Cookie 一般用来保存用户信息
      比如①我们在 Cookie 中保存已经登录过得用户信息,下次访问网站的时候页面可以自动帮你登录的一些基本信息给填了;
      ②一般的网站都会有保持登录也就是说下次你再访问网站的时候就不需要重新登录了,这是因为用户登录的时候我们可以存放了一个 Token 在 Cookie 中,下次登录的时候只需要根据 Token 值来查找用户即可(为了安全考虑,重新登录一般要将 Token 重写);
      ③登录一次网站后访问网站其他页面不需要重新登录。
    • Session 的主要作用就是通过服务端记录用户的状态。 典型的场景是购物车,当你要添加商品到购物车的时候,系统不知道是哪个用户操作的,因为 HTTP 协议是无状态的。服务端给特定的用户创建特定的 Session 之后就可以标识这个用户并且跟踪这个用户了。

    Cookie 数据保存在客户端(浏览器端),Session 数据保存在服务器端。

    Cookie 存储在客户端中,而Session存储在服务器上,相对来说 Session 安全性更高。如果要在 Cookie 中存储一些敏感信息,不要直接写入 Cookie 中,最好能将 Cookie 信息加密然后使用到的时候再去服务器端解密。

    十一 HTTP 1.0和HTTP 1.1的主要区别是什么?

    这部分回答引用这篇文章 https://mp.weixin.qq.com/s/GICbiyJpINrHZ41u_4zT-A? 的一些内容。

    HTTP1.0最早在网页中使用是在1996年,那个时候只是使用一些较为简单的网页上和网络请求上,而HTTP1.1则在1999年才开始广泛应用于现在的各大浏览器网络请求中,同时HTTP1.1也是当前使用最为广泛的HTTP协议。 主要区别主要体现在:

    1. 长连接 : 在HTTP/1.0中,默认使用的是短连接,也就是说每次请求都要重新建立一次连接。HTTP 是基于TCP/IP协议的,每一次建立或者断开连接都需要三次握手四次挥手的开销,如果每次请求都要这样的话,开销会比较大。因此最好能维持一个长连接,可以用个长连接来发多个请求。HTTP 1.1起,默认使用长连接 ,默认开启Connection: keep-alive。 HTTP/1.1的持续连接有非流水线方式和流水线方式 。流水线方式是客户在收到HTTP的响应报文之前就能接着发送新的请求报文。与之相对应的非流水线方式是客户在收到前一个响应后才能发送下一个请求。
    2. 错误状态响应码 :在HTTP1.1中新增了24个错误状态响应码,如409(Conflict)表示请求的资源与资源的当前状态发生冲突;410(Gone)表示服务器上的某个资源被永久性的删除。
    3. 缓存处理 :在HTTP1.0中主要使用header里的If-Modified-Since,Expires来做为缓存判断的标准,HTTP1.1则引入了更多的缓存控制策略例如Entity tag,If-Unmodified-Since, If-Match, If-None-Match等更多可供选择的缓存头来控制缓存策略。
    4. 带宽优化及网络连接的使用 :HTTP1.0中,存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送过来了,并且不支持断点续传功能,HTTP1.1则在请求头引入了range头域,它允许只请求资源的某个部分,即返回码是206(Partial Content),这样就方便了开发者自由的选择以便于充分利用带宽和连接。

    十二 URI和URL的区别是什么?

    • URI(Uniform Resource Identifier) 是统一资源标志符,可以唯一标识一个资源。
    • URL(Uniform Resource Location) 是统一资源定位符,可以提供该资源的路径。它是一种具体的 URI,即 URL 可以用来标识一个资源,而且还指明了如何 locate 这个资源。

    URI的作用像身份证号一样,URL的作用更像家庭住址一样。URL是一种具体的URI,它不仅唯一标识资源,而且还提供了定位该资源的信息。

    十三 HTTP 和 HTTPS 的区别?

    1. 端口 :HTTP的URL由“http://”起始且默认使用端口80,而HTTPS的URL由“https://”起始且默认使用端口443。
    2. 安全性和资源消耗: HTTP协议运行在TCP之上,所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份。HTTPS是运行在SSL/TLS之上的HTTP协议,SSL/TLS 运行在TCP之上。所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密。所以说,HTTP 安全性没有 HTTPS高,但是 HTTPS 比HTTP耗费更多服务器资源。
      • 对称加密:密钥只有一个,加密解密为同一个密码,且加解密速度快,典型的对称加密算法有DES、AES等;
      • 非对称加密:密钥成对出现(且根据公钥无法推知私钥,根据私钥也无法推知公钥),加密解密使用不同密钥(公钥加密需要私钥解密,私钥加密需要公钥解密),相对对称加密速度较慢,典型的非对称加密算法有RSA、DSA等

    转载:

    https://github.com/Snailclimb/JavaGuide

    拓展

    post和get的区别?

    POST和GET都是向服务器提交数据,并且都会从服务器获取数据。

    区别:

    1、传送方式:get通过地址栏传输,post通过报文传输。

    2、传送长度:get参数有长度限制(受限于url长度),而post无限制

    3、GET和POST还有一个重大区别,简单的说:

    GET产生一个TCP数据包;POST产生两个TCP数据包

    长的说:

    对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);

    而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

    也就是说,GET只需要汽车跑一趟就把货送到了,而POST得跑两趟,第一趟,先去和服务器打个招呼“嗨,我等下要送一批货来,你们打开门迎接我”,然后再回头把货送过去。

    因为POST需要两步,时间上消耗的要多一点,看起来GET比POST更有效。因此Yahoo团队有推荐用GET替换POST来优化网站性能。但这是一个坑!跳入需谨慎。为什么?

    1. GET与POST都有自己的语义,不能随便混用。

    2. 据研究,在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。

    3. 并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。

    建议:

    1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;

    2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;

    案例:一般情况下,登录的时候都是用的POST传输,涉及到密码传输,而页面查询的时候,如文章id查询文章,用get 地址栏的链接为:article.php?id=11,用post查询地址栏链接为:article.php, 不会将传输的数据展现出来。

    拓展资料:

    GET在浏览器回退时是无害的,而POST会再次提交请求。

    GET产生的URL地址可以被Bookmark,而POST不可以。

    GET请求会被浏览器主动cache,而POST不会,除非手动设置。

    GET请求只能进行url编码,而POST支持多种编码方式。

    GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

    GET请求在URL中传送的参数是有长度限制的,而POST么有。

    对参数的数据类型,GET只接受ASCII字符,而POST没有限制。

    GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

    GET参数通过URL传递,POST放在Request body中。

    GET和POST本质上没有区别

    https://www.cnblogs.com/logsharing/p/8448446.html
    GET和POST是什么?HTTP协议中的两种发送请求的方法。

    HTTP是什么?HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。

    HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接。GET和POST能做的事情是一样一样的。你要给GET加上request body,给POST带上url参数,技术上是完全行的通的。

    在我大万维网世界中,TCP就像汽车,我们用TCP来运输数据,它很可靠,从来不会发生丢件少件的现象。但是如果路上跑的全是看起来一模一样的汽车,那这个世界看起来是一团混乱,送急件的汽车可能被前面满载货物的汽车拦堵在路上,整个交通系统一定会瘫痪。为了避免这种情况发生,交通规则HTTP诞生了。HTTP给汽车运输设定了好几个服务类别,有GET, POST, PUT, DELETE等等,HTTP规定,当执行GET请求的时候,要给汽车贴上GET的标签(设置method为GET),而且要求把传送的数据放在车顶上(url中)以方便记录。如果是POST请求,就要在车上贴上POST的标签,并把货物放在车厢里。当然,你也可以在GET的时候往车厢内偷偷藏点货物,但是这是很不光彩;也可以在POST的时候在车顶上也放一些数据,让人觉得傻乎乎的。HTTP只是个行为准则,而TCP才是GET和POST怎么实现的基本。

    在我大万维网世界中,还有另一个重要的角色:运输公司。不同的浏览器(发起http请求)和服务器(接受http请求)就是不同的运输公司。 虽然理论上,你可以在车顶上无限的堆货物(url中无限加参数)。但是运输公司可不傻,装货和卸货也是有很大成本的,他们会限制单次运输量来控制风险,数据量太大对浏览器和服务器都是很大负担。业界不成文的规定是,(大多数)浏览器通常都会限制url长度在2K个字节,而(大多数)服务器最多处理64K大小的url。超过的部分,恕不处理。如果你用GET服务,在request body偷偷藏了数据,不同服务器的处理方式也是不同的,有些服务器会帮你卸货,读出数据,有些服务器直接忽略,所以,虽然GET可以带request body,也不能保证一定能被接收到哦。

    好了,现在你知道,GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。

    tcp连接建立(tcp三握手)

    https://blog.csdn.net/hkhl_235/article/details/79721645
    TCP连接的建立采用客户-服务器模式:主动发起连接建立的应用进程叫做客户,被动等待连接建立的应用进程叫做服务器。
    连接建立阶段:
    第一次握手:客户端的应用进程主动打开,并向服务端发出请求报文段。其首部中:SYN=1,seq=x。
    第二次握手:服务器应用进程被动打开。若同意客户端的请求,则发回确认报文,其首部中:SYN=1,ACK=1,ack=x+1,seq=y。
    第三次握手:客户端收到确认报文之后,通知上层应用进程连接已建立,并向服务器发出确认报文,其首部:ACK=1,ack=y+1。当服务器收到客户端的确认报文之后,也通知其上层应用进程连接已建立。
    在这个过程中,通信双方的状态如下图,其中CLOSED:关闭状态、LISTEN:收听状态、SYN-SENT:同步已发送、SYN-RCVD:同步收到、ESTAB-LISHED:连接已建立
    至此,TCP连接就建立了,客户端和服务器可以愉快地玩耍了。只要通信双方没有一方发出连接释放的请求,连接就将一直保持。
    在这里插入图片描述

    tcp连接终止协议*(tcp四挥手)

    由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
    (1) TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送。
    (2) 服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。
    (3) 服务器关闭客户端的连接,发送一个FIN给客户端。
    (4) 客户端发回ACK报文确认,并将确认序号设置为收到序号加1。
    在这里插入图片描述
    原文链接:https://blog.csdn.net/hkhl_235/article/details/79721645

    简单解释一些ARP协议的工作过程

    https://zhuanlan.zhihu.com/p/24001696

    在这里插入图片描述

    常见的端口及对应的服务?

    在这里插入图片描述

    OSI七层模型:

    https://www.jianshu.com/p/1cf5e20e11a9

    OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

    TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。

    五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层。

    每一层的协议如下:
    物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器,网关)

    数据链路:PPP、FR、HDLC、VLAN、MAC (网桥,交换机)

    网络层:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由器)

    传输层:TCP、UDP、SPX

    会话层:NFS、SQL、NETBIOS、RPC

    表示层:JPEG、MPEG、ASII

    应用层:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS

    每一层的作用如下:
    物理层:通过媒介传输比特,确定机械及电气规范(比特Bit)
    数据链路层:将比特组装成帧和点到点的传递(帧Frame)
    网络层:负责数据包从源到宿的传递和网际互连(包PackeT)
    传输层:提供端到端的可靠报文传递和错误恢复(段Segment)
    会话层:建立、管理和终止会话(会话协议数据单元SPDU)
    表示层:对数据进行翻译、加密和压缩(表示协议数据单元PPDU)
    应用层:允许访问OSI环境的手段(应用协议数据单元APDU)

    链接:https://www.jianshu.com/p/1cf5e20e11a9

    DNS域名系统工作原理

    1.查询 浏览器、操作系统 缓存。
    2.请求 本地域名服务器
    3.本地域名服务器未命中缓存,其请求 根域名服务器。
    4.根域名服务器返回所查询域的主域名服务器。(主域名、顶级域名,如com、cn)
    5.本地域名服务器请求主域名服务器,获取该域名的 名称服务器(域名注册商的服务器)。
    6.本地域名服务器向 名称服务器 请求 域名-IP 映射。
    7.缓存解析结果

    链接:https://www.jianshu.com/p/1cf5e20e11a9

    HTTP常见状态码

    200 :请求成功,成功返回网页
    301 :资源(网页等)被永久转移到其它URL
    302 :资源(网页等)被临时转移到其它URL
    304 :请求未修改、命中缓存
    401 :未授权
    403 :服务器拒绝请求
    404 :请求的网页或资源不存在
    500 :内部服务器错误,无法完成请求
    502 :错误网关
    503 :请求未完成,服务器临时过载或宕机
    504 :网关超时

    链接:https://www.jianshu.com/p/1cf5e20e11a9

    HTTP请求方法有哪些

    在这里插入图片描述

    HTTP工作原理

    https://www.cnblogs.com/an-wen/p/11180076.html
    HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。

    以下是 HTTP 请求/响应的步骤:

    \1. 客户端连接到Web服务器
    一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。例如,http://www.baidu.com。

    \2. 发送HTTP请求
    通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。

    \3. 服务器接受请求并返回HTTP响应
    Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。

    \4. 释放连接TCP连接
    若connection 模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求;

    \5. 客户端浏览器解析HTML内容
    客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。

    例如:在浏览器地址栏键入URL,按下回车之后会经历以下流程:

    1. 浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址;
    2. 解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立TCP连接;
    3. 浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器;
    4. 服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器;
    5. 释放 TCP连接;
    6. 浏览器将该 html 文本并显示内容;

    引用博客

    计算机网络常见面试题

    https://www.cnblogs.com/wuwuyong/p/12198928.html

    post和get的区别?

    https://zhidao.baidu.com/question/87535798.html

    GET和POST两种基本请求方法的区别

    https://www.cnblogs.com/logsharing/p/8448446.html

    tcp连接全过程各种状态详解

    https://blog.csdn.net/hkhl_235/article/details/79721645

    常见面试题整理–计算机网络篇(每位开发者必备)

    https://zhuanlan.zhihu.com/p/24001696

    计算机网络知识面试题(干货)

    https://www.jianshu.com/p/1cf5e20e11a9

    HTTP协议超级详解

    https://www.cnblogs.com/an-wen/p/11180076.html

    更多

    网络基础知识-网络协议

    https://www.cnblogs.com/wj-1314/p/8298025.html

    展开全文
  • 计算机网络重点归纳【网络层、链路层、传输层】
  • 计算机网络重点知识的总结,接上一篇文章。 文章目录HTTP协议HTTP协议简介HTTP请求响应的步骤HTTP常见状态码GET请求和POST请求Cookie和SessionHTTPS协议Socket 简介总结 HTTP协议 http是一个简单的请求-响应协议,它...

    计算机网络重点知识的总结,接上一篇文章。

    HTTP协议

    http是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
    http有许多版本,用的最多的是http1.1,下文中探讨的也是多以1.1为标准。

    HTTP协议简介

    简单介绍一下HTTP协议的特点:
    1丶支持客户服务器模式。
    2丶简单快速。
    3丶灵活,支持多种数据类型。
    4丶无连接,无连接的含义是限制每次连接只处理一个请求,处理完后断开连接,1.1后默认使用长连接,服务器一段时间后断开连接,保证连接特性。
    5丶无状态,协议对于事务处理没有记忆能力,后面数据如果需要前面信息,必须重传

    先来看下http的请求结构和响应结构:
    http请求结构
    在这里插入图片描述

    打开谷歌浏览器,打开百度首页,在浏览器中f12,在network中找到对应链接,就可以清楚的看到相关的http协议内容:
    ![百度首页](https://img-blog.csdnimg.cn/20201021161602321.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Nlbl9zZW45Nw==,size_16,color_FFFFFF,t_70#pic_center
    这里有一个博客说的挺清楚,大家可以对比参考下,
    链接: https://www.cnblogs.com/handsomeBoys/p/4859162.html

    HTTP请求响应的步骤

    了解了http协议的基本内容,来看下一次http协议的请求到响应的过程:
    在这里插入图片描述
    有一道比较常见的题目,可以看下:
    在这里插入图片描述
    先是dns解析,通过域名获得ip地址,通过ip地址,建立tcp连接,tcp连接建立后,客户端向服务器发送http请求,服务器收到后处理请求并返回http报文,浏览器,即客户端,解析并渲染页面,最后连接结束。

    HTTP常见状态码

    了解下http常见的状态码。
    在这里插入图片描述
    一般来说
    1开头的状态码表示请求已接收,继续处理;2开头的一般表示成功;3开头的一般代表重定向;4开头的代表客户端错误;5开头的表示服务器错误。

    GET请求和POST请求

    我们再来了解下两种http请求的方式,GET请求和POST请求。
    从HTTP报文层面来看,GET请求一般将请求信息,例如请求参数,放在URL上,而POST请求一般放在报文体中,相对来说POST请求更加安全。
    从数据层面来看,GET请求一般用于对数据的查询,不改变数据库,符合幂等性和安全性,POST则不符合。
    另外,GET请求可以被缓存,被存储,POST请求则不行。

    Cookie和Session

    Cookie和Session在开发中也是十分常见的。
    在这里插入图片描述
    在这里插入图片描述
    一般来说,服务器有两种方式得到客户端的session信息,一种是使用cookie实现,也是比较常见的方式,jsessionid保存在cookie中,服务器解析到jsessionid,找到客户端对应session。第二种是url回写,让所有的url都带有jsessionid 参数。
    我们熟悉的tomcat服务器优先使用cookie,cookie被禁用则使用url回写。
    在这里插入图片描述

    HTTPS协议

    除了http协议,现在htps协议也越来越被广泛应用。
    HTTPS协议是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。这个协议由网景公司(Netscape)在1994年首次提出,随后扩展到互联网上。
    简单来说,HTTPS 是 HTTP 的安全版,是使用 SSL/TLS 加密的 HTTP 协议。通过 TLS/SSL 协议的的身份验证、信息加密和完整性校验的功能,从而避免信息窃听、信息篡改和信息劫持的风险。
    在这里插入图片描述
    简单来说,https协议即是http协议加上了一层ssl层,来保证信息的安全传输。
    再来看下https协议和http协议的区别,如下图:
    在这里插入图片描述

    Socket 简介

    最后,我们再来了解下socket
    所谓套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议根进行交互的接口 。
    一般通过ip和端口号,来唯一标识一个Socket端口。
    在这里插入图片描述
    Socket的通信流程:
    在这里插入图片描述

    总结

    到此,计算机网络就基本总结完了,这块知识点比较复杂繁琐,确是编程开发中不可缺少的基础。希望大家可以多花时间学习巩固。

    展开全文
  • 计算机网络重点复习整理(谢希仁第五版).doc
  • 计算机网络考试重点目录第一章 概述第二章 物理层第三章 数据链路层第四章 网络层第五章 运输层第六章 应用层 边学习边更,上完课复习用。 第一章 概述 1.1 什么是计算机网络 1.2 互联网概述 1.3 互联网的组成 1.4 ...


    边学习边更,上完课复习用。

    第一章 概述

    1.1 什么是计算机网络
    1.2 互联网概述
    1.3 互联网的组成
    1.4 计算机网络在我国的发展
    1.5 计算机网络的类别
    1.6 计算机网络的性能
    1.7 计算机网络的体系结构
    链接如下:
    概述重点(全)

    第二章 物理层

    2.1 物理层的基本概念
    2.2 数据通信的基础知识
    2.3 物理层下面的传输媒体
    2.4 信道复用技术
    2.5 数字传输系统
    2.6 物理层协议举例

    第三章 数据链路层

    第四章 网络层

    在网络协议栈的第三层也就是网络层主要有三大组件,第一个组件是IP协议,包含着因特网中的编址和分组处理规则;第二个协议是选路组件,包含各种各样的选路协议;最后一个组件是ICMP协议,包含报告数据报中差错以及一些请求响应。首次可见IP协议在网络层中的重要性。

    第五章 运输层

    第六章 应用层

    展开全文
  • 这是网络原理面试总结,非常细致但不啰嗦;适合应急学习,以及突击学习的参考文档。文档有标记的颜色(重点
  • 计算机网络重点整理

    2017-06-07 12:01:59
    计算机网络的最重要的功能; 1. 连通性 ---- 计算机网络使用户之间都可以交换信息 2. 共享 ---- 即资源共享。可以是信息共享、软件共享、也可以是硬件共享   三级计算机网络;   因特网的组成; 1. 边缘...

    第1章:

    计算机网络的最重要的功能;

    1.    连通性 ---- 计算机网络使用户之间都可以交换信息

    2.    共享 ---- 即资源共享。可以是信息共享、软件共享、也可以是硬件共享

     

    三级计算机网络;

     

    因特网的组成;

    1.    边缘部分 由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享

    2.    核心部分 由大量网络和连接在这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换性)

     

    电路交换的特点和三个阶段;

    1.   电路交换必定是面向连接的

    2.   电路资源被通信双方独占

    3.   优点:信息传输时延小,且较稳定

    4.   缺点:计算机数据具有突发性,这导致通信线路的利用率很低

     

    5.   电路交换的三个阶段:

    ·  建立连接

    ·  通信

    ·  释放连接

     

    分组交换的特点;

       

    路由器处理分组的过程;

    1.    把收到的分组先放入缓存

    2.    查找转发表,找出到某个目的地址应从哪个端口转发

    3.    把分组送到适当的端口转发出去

     

     

     

     

     

     

    电路交换、报文交换、分组交换比较示意图;

    按作用范围分类的网络;

    1.    广域网WAN(wide areanetwork)

    2.    局域网LAN(local areanetwork)

    3.    城域网MAN(metropolitanarea network)

    4.    接入网AN(accessnetwork)

    网络性能指标:带宽、吞吐量、时延;

    计算机网络体系结构的定义;

    TCP/IP协议体系结构

       

     

    第2章:(物理层)

    物理层的四大特性;

    1.    机械特性  指明借口多用接线器的形状和尺寸、引线数目和排序、

    固定和锁定装置

    2.    电气特性  指明在接口电缆的各条线上出现的电压的范围

    3.    功能特性  指明某条线上出现的各条线上出现的电压的范围

    4.    过程特性  指明对于不同功能的各种可能事件的出现顺序

     

    基带信号;

    1.    基带信号 :来自信源的信号。像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号

    ·  基带信号往往包含有较多的低频成分。甚至有直流成分,而许多信道并不能传输这种低频分量或直流分量。因此必须对基带信号进行调制(modulation)

    2.    带通信号 : 把基带信号进过载波调制后,把信号的频率范围搬移到较高的频段以便在信道中传输(即仅在一段频率范围内能够通过信道)

     

    基本调制方法;

    1.    调幅(AM):载波的振幅随基带数字信号而变化  (幅度键控ASK)

                    特点:简单,抗干扰能力差

    2.    调频(FM):载波的频率随基带数字信号而变化   (移频键控FSK)

                    特点:性能好,占带宽大

    3.    调相(PM): 载波的初始相位随基带数字信号而变换(相移键控PSK)

                    特点:抗干扰最好

    4.    混合调制方法   ASK与PSK结合----正交幅度调制QAM

       

    香农公式;

    1.    信道的极限信息传输速率 C 可表达为

            C = W log2(1+S/N b/s

    ·  W 为信道的带宽(以 Hz为单位);

    ·  S 为信道内所传信号的平均功率;

    ·  N 为信道内部的高斯噪声功率。

    ·  S/N:信噪比(dB)=10log10(S/N)

       

    双绞线、同轴电缆、光缆的分类;

    1.    双绞线

    ·  屏蔽双绞线STP(Shielded Twisted Pair)

    ·  无屏蔽双绞线UTP(Unshielded Twisted Pair)

    2.    同轴电缆

    ·  50欧同轴电缆

    ·  75欧同轴电缆

    3.    光缆

    频分复用、时分复用的概念;

    1.    频道复用 FDM (Frequency DivisionMultiplexing)

    ·  用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带

    ·  频带复用的所有用户在同样的时间战友不同的带宽资源(请注意,这里的“带宽”是频率带宽而不是数据的发送速率,不同频率的信号不会相互干扰

    2.    时分复用TDM(Time DivisionMultiplexing)

    ·  时分复用则是将时间划分为一段段等长的时分复用帧(TDM帧)。分割时分复用的用户在每个TDM帧中占用固定序号的时隙

    ·  每个用户所占用的时隙是周期性地出现(其周期就是TDM帧的长度)

    ·  时分复用的所有用户是在不同的时间占用同样的频带宽度

     

    ADSL(非对称数字用户线)的特点;

    1.    上行和下行带宽做成不对称的

    2.    上行指用户到ISP,而下行指从ISP到用户

    3.    ADSL在用户线(铜线)的两端各安装一个ADSl调制解调器

    4.    我国采用的方案是离散多音调DMT(Discrete Multi-Tone)调制技术。这里的“多音调”就是“多载波”或“多子信道”

     

     

     

    第3章:(数据链路层)

    数据链路的概念;

    封装成帧的概念;

    1.    封装成帧就是在IP数据报的前后分别添加首部和尾部,然后就构成了一个帧

    2.    首部和尾部的一个重要作用就是进行帧定界

    如何解决透明传输问题;

    1.    字节填充(添加转义字符,跟\n类似)

    PPP协议的帧格式;

     

    PPP协议在异步传输时的透明传输方法;

     

    局域网的拓扑结构;

    CSMA/CD协议的执行过程;

     

     

    以太网的MAC帧格式;

    1.    DIX EthernetV2标准(最常用的MAC帧是以太网V2的格式)

    2.    IEEE的802.3标准

    碰撞域的概念;

    网桥自学习和转发帧的步骤;

    VLAN的概念

    1.    虚拟局域网VLAN是有一些局域网网段构成的与物理位置无关的逻辑组

    ·  这些网段具有某些共同的需求

    ·  每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的工作站是属于哪个VLAN

    ·  虚拟局域网其实只是局域网给用户提供的一种服务,而不是一种新型局域网

    ·   

     

     

     

     

     

     

     

     

     

     

     

     

     

    第4章:(网络层)

    虚电路与数据报服务的对比;

    分类IP地址中的5类地址;

    IP地址的重要特点;

    1.    IP地址是一种分等级的地址结构。分两个等级的好处是:

    ·  第一,IP地址管理机构在分配IP地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。方便IP地址的管理

    ·  第二,路由器仅根据目的主机所连接的网络号来转发分组(不考虑目的主机号),使路由表中的项目数大幅度减少,从而减少了路由表所占的存储空间。

    2.    IP地址是标志一个主机(或路由器)和一条链路的接口

    ·  当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址,其网络号net-id必须是不同的。这种主机称为多属性主机

    ·  由于一个路由器至少连接到两个网络(这样它才能将IP数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的IP地址。

    3.    在因特网中,一个网络是指具有相同网络号net-id的主机的集合,用转发器或网桥连接起来的若干个局域网仍为一个网络,因为这些局域网都具有同样的网络号net-id

    4.    所有分配到网络号net-id的网络,不管是范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等

    ARP的工作过程;

     

     

    使用ARP的四种典型情况;

    1.    发送方是主机,要把IP数据报发送到本网络上的另一个主机。这时用 ARP 找到目的主机的硬件地址。

    2.    发送方是主机,要把 IP 数据报发送到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。

    3.    发送方是路由器,要把 IP 数据报转发到本网络上的一个主机。这时用 ARP 找到目的主机的硬件地址。

    4.    发送方是路由器,要把 IP 数据报转发到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。

     

    IP数据报首部格式;

    默认路由;

    1.    路由器还可以采用默认路由以减少路由表所占用的空间和搜索路由表所用的时间

    2.    这种转发方式在一个网络只有很少的对外连接时很有用的。

    3.    默认路由在主机发送IP数据报时往往更能显示出它的好处

    4.    如果一个主机连接在一个小网络上,而这个网络只用一个路由器和因特网连接,那么在这种情况下使用默认路由是非常合适的

    5.    默认路由的子网掩码为:0.0.0.0

     

    划分子网的基本思路;

    1.    划分子网纯属一个单位内部的事情。单位对外仍表现为没有划分子网的网络

    2.    从主机号借用若干个位作为子网号subnet-id,而主机号host-id也就相应减少了如干个位

    3.    凡事从其他网络发送给本单位某个主机的IP数据报,仍然是根据IP数据报的目的网络号net-id,先找到连接在本单位网络上的路由器

    4.    然后此路由器在收到IP数据报后,再按目的网络号net-id和子网号subnet-id找到目的子网

    5.    最后将IP数据报直接交付目的主机

     

    在划分子网情况下路由器转发分组的算法;

    1.    从收到的分组的首部提取目的IP地址D

    2.    先用自己所在网络的子网掩码和D逐位相“与”,看是否和相应的网络地址匹配。若匹配,则将分组直接交付。否则就是简洁交付,执行(3)

    3.    若路由表中有目的地址D 的特点主机路由,则将分组转送给指明的下一跳;否则,执行(4)

    4.    对路由表中的每一行的子网掩码和D逐位相“与”,若其结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行(5)

    5.    若路由表中有一个默认路由,则将分组传送给路由表中指明的默认路由器;否则,执行(6)

    6.    报告转发分组出错。

    CIDR的主要思想、

    CIDR地址块;

    1.      128.14.32.0/20 表示的地址块共有 212 个地址(因为斜线后面的 20 是网络前缀的位数,所以这个地址的主机号是 12 位)。

    2.     这个地址块的起始地址是 128.14.32.0。

    3.     在不需要指出地址块的起始地址时,也可将这样的地址块简称为“/20 地址块

    4.     128.14.32.0/20 地址块的最小地址:128.14.32.0

    5.     128.14.32.0/20 地址块的最大地址:128.14.47.255

    6.     0 和全 1 的主机号地址一般不使用。

     

    ICMP报文的种类;

    1.    ICMP报文有两种,即ICMP差错报告报文ICMP询问报文

    2.    ICMP报文的前4个字节是统一的格式,共有三个字段:即类型、代码检验和。接着的4个字节的内容与ICMP的类型有关

    3.    ICMP差错报告报文共有5种

    ·  终点不可达

    ·  源点抑制

    ·  时间超过

    ·  参数问题

    ·  改变路由(重定向)

    4.    ICMP询问报文有2种

    ·  回送请求和回答报文

    ·  时间戳请求和回答报文

    自治系统的定义;

    1.    自治系统AS的定义:在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议共同的度量以确定分组在改AS内的路由,同时还使用一种AS之间的路由选择协议用以缺点分组在AS之间的路由

    2.    现在对自治系统AS的定义是强调下面的事实:尽管一个AS使用了多种内部路由选择协议和度量,但重要的是一个AS对其他AS表现出的是一个单一的和一致的路由器选择策略

    RIP协议的特点、距离向量算法;

    RIP协议的优缺点;

    1.    RIP 存在的一个问题是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。

    2.     RIP 协议最大的优点就是实现简单,开销较小。

    3.    RIP 限制了网络的规模,它能使用的最大距离为 15(16 表示不可达)。

    4.    路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。  

     

    OSPF协议的三个要点;

    1.    向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法。

    2.    发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。

    3.    “链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”(metric)。

    4.    只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。 

     

    转发和路由选择的区别;

    1.    “转发”(forwarding)就是路由器根据转发表将用户的IP 数据报从合适的端口转发出去。

    2.    “路由选择”(routing)则是按照分布式算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由。

    3.    路由表是根据路由选择算法得出的。而转发表是从路由表得出的。

    4.    在讨论路由选择的原理时,往往不去区分转发表和路由表的区别,   

     

    NAT工作的过程

    1.    内部主机 X 用本地地址 IPX和因特网上主机 Y 通信所发送的数据报必须经过NAT 路由器。

    2.    NAT 路由器将数据报的源地址 IPX 转换成全球地址 IPG,但目的地址 IPY 保持不变,然后发送到因特网。

    3.    NAT 路由器收到主机 Y 发回的数据报时,知道数据报中的源地址是 IPY 而目的地址是 IPG

    4.    根据 NAT 转换表,NAT 路由器将目的地址 IPG 转换为 IPX,转发给最终的内部主机X。

    5.     

     

    第5章:(运输层)

    运输层主要功能;

    1.    运输层为应用进程之间提端到端逻辑通信(但网络层是为主机之间提供逻辑通信)。

    2.    运输层还要对收到的报文进行差错检测

    3.    运输层需要有两种不同的运输协议,即面向连接的TCP和无连接的UDP

     

    TCP与UDP的比较;

    TCP的端口;

    1.    服务器端口号

    ·  熟知端口,数值一般为0-1023

    ·  登记端口号,数值为1024-49151,为没有熟知端口号的应用程序使用。必须在IANA登记,防止重复

    2.    客户端口号或短暂端口号,数值为49152-65535

     

     

    UDP主要特点;

    1.    无连接,即发送数据之前不需要建立连接

    2.    不保证可靠交付,即使用尽最大交付,同时不适用拥塞控制

    3.    是面向报文的,没有拥塞控制,很适合多媒体通信的要求

    4.    支持一对一,一对多,多对一和多对多的交互通信

    5.    首部开销小,只要8个字节。

    TCP主要特点;

    1.    面向连接的运输层协议

    2.    提供可靠交付服务

    3.    面向字节流

    4.    每条TCP连接只能是两个端点(endpoint),每条TCP连接只能是点对点的(一对一)

    5.    提供全双工通信

     

    停止等待协议的原理;

       

    连续ARQ协议的特点;

    TCP报文段首部格式;

       

    TCP的流量控制方法;

    1.    利用滑动窗口实现流量控制

    拥塞控制与流量控制的关系;

    1.    拥塞控制是网络能够承受现有的网络负荷,是一个全局变量;而流量控制往往只是指点对点之间对通信量的控制

    慢开始和拥塞避免算法的原理

    1.    发送方维持一个叫做拥塞窗口cwnd(congestion window)的状态变量。拥塞窗口的的大小取决于网络的拥塞程度,并且动态地在变化。发送方让自己的发送窗口等于拥塞窗口。如若再考虑到接收方的接受能力,则发送窗口还可能小于拥塞窗口。

    2.    发送方控制拥塞窗口的原则是:只要网络没有出现拥塞,拥塞窗口就再增大一些,以便把更多的分组发送出去。但只要网络出现拥塞,拥塞窗口就减小一些,以便减少注入网络中的分组。

     

       

    第6章:(应用层)

    域名系统的作用;

    1.    将域名和IP地址相互映射的一个分布式数据库

    域名服务器的四种类型及作用范围;

    1.    根域名服务器

    ·  最重要域名服务器,知道所有顶级域名服务器的域名和IP地址

    ·  本地域名服务器对自己无法解析的域名,就首先求助根域名服器

    ·   

    2.    顶级域名服务器

    ·  负责管理在该顶级域名服务器注册的所有二级域名

    ·  当收到DNS查询请求是,就给出相应的回答

     

    3.    权限域名服务器

    ·  负责一个区的域名服务器

    4.    本地域名服务器

    ·  本地域名服务器对域名系统非常重要

    ·  主机发送DNS查询请求时,请求报文就发送给本地域名服务器

    ·  每个因特网提供商ISP拥有一个本地域名服务器

    ·  也称为默认域名服务器

    域名的解析过程;

    1.    主机向本地域名服务器的查询一般都采用递归查询

    2.    本地域名服务器向根域名服务器的查询通常采用迭代查询

     

    FTP的特点;

    1.    文件传送协议FTP只提供文件传送的一些基本的服务,他使用TCP可靠的运输服务

    2.    FTP的功能是减少或消除在不同操作系统下处理文件的不兼容性

    3.    FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求

     

    万维网的工作方式;

    1.    万维网以客户服务器方式工作

    2.    浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的服务器计算机则运行服务器程序,因此这个计算机也称为万维网服务器。

    3.    客户程序向服务器程序发送请求,服务器程序向客户程序送回客户所要的万维网文档

    4.    在一个客户程序主窗口上显示出的万维网文档称为页面

     

    http的主要特点;

    1.    HTTP是面向事物的客户服务器协议

    2.    HTTP协议本身也是无连接的,虽然它使用了面向连接的TCP向上提供的服务

    3.    HTTP协议是无状态的(stateless)

     

    代理服务器的作用;

    1.    使用高速缓存可减少访问因特网服务器的时延

     

    静态文档和动态文档的定义;

    1.    静态文档是指该文档创作完毕后就存放在万维网服务器中,在被用户浏览的过程中,内容不会改变

    2.    动态文档是指文档的内容在浏览器访问万维网服务器是才由应用程序动态创建。

    3.    主要差别体现在服务器一端,主要是文档内容的生成方法不同。

    电子邮件系统组成示意图;

    SMTP及POP3协议;

    1.    SMTP所规定的就是在两个互相通信的SMTP进程之间因如何交换

    2.    SMTP使用客户服务器方式,发邮件是SMTP进程是SMTP客户,接邮件是SMTP服务器

     

    1.    邮件协议POP是简单,功能有限的邮件读取协议

    2.    POP也是客户服务器的工作方式

    3.    接受邮件的PC机必须运行POP客户程序,在服务器中运行POP服务程序

    4.    缺点:只要用户从服务器读取有劲啊,POP服务器就把邮件删除

    DHCP的工作过程

    第7章:(网络安全)

    计算机网络面临的四种威胁 

    1.    截取 – 从网络上窃听他人的通信内容

    2.    终端 – 有意中断他人在网络上的通信

    3.    篡改 – 故意篡改网络上传送的报文

    4.    伪造 – 伪造信息在网络上传送

    5.    截获信息的攻击称为被动攻击,而更改信息和拒绝用户使用资源的攻击称为主动攻击。

     

    对称密钥密码体制的概念

    1.    即加密密钥与解密密钥是相同的密码体质

     

    公钥密码体制的概念

    1.    使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体质

    数字签名保证三点

    1.    报文鉴别 – 接受者能够合适发送者对报文的签名

    2.    报文的完整性 – 接受者收到的报文与发送者发送的报文完全一致

    3.    不可否认 – 发送者时候不能抵赖对报文的签名

     

    防火墙的概念

    1.    防火墙是有软件、硬件构成的系统,是一种特殊编程的路由器,用来在两个网络之间实施接入控制

    2.    防火墙内的网络称为“可信网络”(trusted network),而将外部因特网称为“不可信的网络”

    3.    防火墙可用来解决内联网和外联网的安全问题

     

    防火墙的两个功能 (阻止和允许)

    1.    “阻止”就是阻止某种类型的通信量通过防火墙(从外部网络到内部网络,或反过来)。

    2.    “允许”的功能与“阻止”恰好相反。

     

    什么是网络级防火墙和应用级防火墙

    1.    网络级防火墙——用来防止整个网络出现外来非法的入侵。属于这类的有分组过滤和授权服务器。前者检查所有流入本网络的信息,然后拒绝不符合事先制订好的一套准则的数据,而后者则是检查用户的登录是否合法。

    2.    应用级防火墙——从应用程序来进行接入控制。通常使用应用网关或代理服务器来区分各种应用。例如,可以只允许通过访问万维网的应用,而阻止 FTP 应用的通过。

    展开全文
  • 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。本文介绍了互联网...
  • 计算机网络 重点总结

    2018-11-07 12:32:47

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,664
精华内容 1,465
关键字:

计算机网络重点