阅读笔记:计算机网络 自顶向下方法

面试知识点总结

参考:

1.计算机网络太难?了解这一篇就够了
2. 如何跟小白解释路由器和交换机的区别?并且家用路由器充当了路由器和交换机的功能吗?
3.如何生动形象、切中要点地讲解 OSI 七层模型和两主机传输过程?

A和B通信实例

1. 主机A和主机B在同一个二层网络中,直接走二层交换
主机A查看自己的ARP缓存,检查是否有主机B的IP到MAC的映射,如果有映射,构造报文,目的IP为主机B的IP,源IP为主机A的IP,目的MAC为主机B的MAC,源MAC为主机A的MAC,将报文发送给交换机C,交换机C进行MAC地址表学习,将主机A的MAC和报文入端口号记录下来,然后交换机C查看自己的MAC转发表,检查是否有主机B的MAC到端口的映射,如果有映射,获取对应的端口,将报文从此端口转发出去,报文到达主机B。如果交换机C没有主机B的MAC转发表映射,采用洪泛的形式广播报文,主机B收到报文后向主机A回复,交换机C进行MAC表学习,将主机B的MAC和报文入端口号记录下来。

如果主机A没有主机B的ARP映射,主机A需要发送ARP请求,以获取主机B的MAC,将报文发往交换机C,交换机C采用洪泛的形式广播报文,主机B收到广播报文后,在自己的ARP缓存表中写入主机A的IP到MAC的映射,将自己的MAC封装到ARP回复报文中,单播给主机A,主机A获取到主机B的MAC后,在自己的ARP缓存表中写入主机B的IP到MAC的映射,构造报文发送给主机B,过程同上。

主机B向主机A回复报文的过程类似。

2. 主机A和主机B不在同一个网络中,走三层路由

主机A查看自己的ARP缓存表,检查是否有路由器E的IP到MAC的映射,如果有映射,获取路由器E的MAC,构造报文,目的IP为主机B的IP,源IP为主机A的IP,目的MAC为路由器E的MAC,源MAC为主机A的MAC,将报文通过交换机C发往路由器E,过程同上。 如果主机A没有路由器E的IP到MAC的映射,需要发送ARP请求,获取路由器E的MAC,过程同上。路由器E收到主机A的报文后,剥离报文的MAC帧头,查询路由表,发现目标主机B所在的网络是直连的,查看自己的ARP缓存表,如果有主机B的IP到MAC的映射关系,获取主机B的MAC,封装报文MAC帧头,目的MAC为主机B的MAC,源MAC为路由器E的MAC,将报文通过交换机D发往主机B,如果路由器E没有主机B的IP到MAC的映射关系,需要发送ARP请求,获取主机B的MAC,过程同上。

主机B向主机A回复报文的过程类似。

注:路由器上的路由表一般是配置静态路由或者通过路由协议自动学习的。

基础概念

1字节= 8比特

阅读笔记:计算机网络 自顶向下方法_第1张图片

1. 五层网络协议,各层功能,各层协议

https://blog.csdn.net/qq_22238021/article/details/80279001

五层协议:应用层,运输层,网络层,数据链路层,物理层
阅读笔记:计算机网络 自顶向下方法_第2张图片
阅读笔记:计算机网络 自顶向下方法_第3张图片
应用层

  • 应用层(application layer):是体系结构中的最高。直接为用户的应用进程(例如电子邮件、文件传输和终端仿真)提供服务。
  • 在因特网中的应用层协议很多,如支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,支持文件传送的FTP协议,DNS,POP3,SNMP,Telnet等等。

运输层(transport layer)

  • 运输层(transport layer):负责向两个主机中进程之间的通信提供服务。由于一个主机可同时运行多个进程,因此运输层有复用和分用的功能
  • 复用,就是多个应用层进程可同时使用下面运输层的服务。
  • 分用,就是把收到的信息分别交付给上面应用层中相应的进程。
  • 运输层主要使用以下两种协议:
    (1) 传输控制协议TCP(Transmission Control Protocol):面向连接的,数据传输的单位是报文段,能够提供可靠的交付。
    (2) 用户数据包协议UDP(User Datagram Protocol):无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能提供“尽最大努力交付”。

网络层(network layer)

  • 网络层(network layer)主要包括以下两个任务:
    (1) 负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报,或简称为数据报。
    (2) 选中合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机。
  • 协议:IP,ICMP,IGMP,ARP,RARP

数据链路层(data link layer)

  • 数据链路层(data link layer):常简称为链路层,我们知道,两个主机之间的数据传输,总是在一段一段的链路上传送的,也就是说,在两个相邻结点之间传送数据是直接传送的(点对点),这时就需要使用专门的链路层的协议。
  • 在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点之间的链路上“透明”地传送帧中的数据。
  • 每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。典型的帧长是几百字节到一千多字节。
  • 注:”透明”是一个很重要的术语。它表示,某一个实际存在的事物看起来却好像不存在一样。”在数据链路层透明传送数据”表示无力什么样的比特组合的数据都能够通过这个数据链路层。因此,对所传送的数据来说,这些数据就“看不见”数据链路层。或者说,数据链路层对这些数据来说是透明的。
    (1)在接收数据时,控制信息使接收端能知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。
    (2)控制信息还使接收端能检测到所收到的帧中有无差错。如发现有差错,数据链路层就简单地丢弃这个出了差错的帧,以免继续传送下去白白浪费网络资源。如需改正错误,就由运输层的TCP协议来完成。

物理层(physical layer)

  • 物理层(physical layer):在物理层上所传数据的单位是比特。物理层的任务就是透明地传送比特流。

2. TCP/IP是什么,什么是TCP,什么是IP,和HTTP有什么区别

https://blog.csdn.net/zhao18933/article/details/46696061

  • 整个网络中的传输流程是:IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层—TCP层;相反,IP层也把从TCP接收来的数据包传送到更低层。
  • TCP和IP的关系是:IP提供基本的数据传送,而高层的TCP对这些数据包做进一步加工,如提供端口号等等。

3. 基本概念

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

  • 客户端:应用 C/S(客户端/服务器) B/S(浏览器/服务器)
  • 服务器:为客户端提供服务、数据、资源的机器
  • 请求:客户端向服务器索取数据
  • 响应:服务器对客户端请求作出反应,一般是返回给客户端数据

阅读笔记:计算机网络 自顶向下方法_第4张图片
IP
IP(网络之间互连的协议)它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。IP地址有唯一性,即每台机器的IP地址在全世界是唯一的。这里指的是网络上的真实IP它是通过本机IP地址和子网掩码的"与"运算然后再通过各种处理算出来的

IP地址
IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址(每个机器都有一个编码,如MAC上就有一个叫MAC地址的东西)的差异。是32位二进制数据,通常以十进制表示,并以“.”分隔。IP地址是一种逻辑地地址,用来标识网络中一个个主机,在本地局域网上是惟一的。

4. TCP/UDP/IP和各应用协议的关系

https://www.cnblogs.com/duanxz/p/5127561.html

(1) 其他的“HTTP、FTP、SMTP 等所谓的“Application-layer Protocol”协议”指的是在TCP/IP 通讯协议框架下具体实现特定功能的应用(HTTP 用来实现超文本传输,FTP文件传输,SMTP处理邮件等等)

TCP和UDP以及IP 协议是互联网络通讯的基础,就像《宪法》,而应用协议就像具体的《刑法》、《民法》、《婚姻法》、《未成年人保护法》…等等,在某个领域的特定应用和具体实现,但是最基本的一条:违宪无效。

阅读笔记:计算机网络 自顶向下方法_第5张图片

5. 因特网,广域网,局域网,以太网

  • 局域网:(Local Area Network,LAN), 局域网是一个局部范围的计算计组,比如家庭网络就是一个小型的局域网,里面包含电脑、手机和平板等,他们共同连接到你家的路由器上。又比如学校的机房就是一个局域网,里面有几百几千台电脑,当机房无法上外网时,但是电脑之间仍可以通信,你们可以通过这个局域网来打CS 、玩红警。理论上,局域网是封闭的,并不可以上外网,可以只有两台电脑,也可以有上万台。

  • 广域网:(WAN,Wide Area Network),广域网的范围就比较大了,可以把你家和别人家、各个省、各个国家连接起来相互通信。广域网和局域网都是从范围的角度来划分的,广域网也可以看成是很多个局域网通过路由器等相互连接起来。

  • 以太网:(Ethernet),以太网可以看成是一种实现局域网通信的技术标准,是目前最广泛的局域网技术。以太网的运行速率有10Mbps,100Mbps,1Gbps,10Gbps的,它的传输介质有的是双绞线,有的是光纤。 简单的说,以太网就是在局域网内,把附近的设备连接起来,可以进行通讯。

  • 互联网:(Internet),互联网可以看成是局域网、广域网等组成的一个最大的网络,它可以把世界上各个地方的网路都连接起来,个人、政府、学校、企业,只要你能想到的,都包含在内。互联网是一种宽泛的概念,是一个极其庞大的网络。
    ————————————————

6. 家庭路由器和路由器的区别

家庭无线路由器集成了AP + Switch + Firewall + Router 的功能

NAT

  1. NAT(地址转换技术)详解
  2. 网络地址转换NAT原理(易于理解)

局域网内的IP为私有IP,一个局域网内的IP不可相同,但不同局域网内的IP没有限制。局域网设备连接到公网时,会通过出口的路由器进行NAT协议转发,将局域网的私有IP转发为公网唯一IP,同一局域网内的所有设备可能共享一个公网IP(通过不同的端口进行区分)。所以,私有IP在公网上是看不到的,不同的局域网可以使用同一个私有IP,最终经过NAT协议转发后,会变为公网的IP地址。

第三章 运输层

1. 运输层协议概述

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

1.1 进程间的通信

  • 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。
  • 当两台主机使用网络的核心部分的功能进行点对点通信的时候,只有位于边缘部分的主机的协议栈才有运输层,而网络核心的路由器在转发的时候只有用到下三层的功能。

阅读笔记:计算机网络 自顶向下方法_第6张图片
1.2 主机之间的通信:

  • 两个主机进行通信实际上就是两个主机中的应用进程互相通信。
  • 应用进程之间的通信又称为端到端的通信。 输层的一个很重要的功能就是复用和分用。应用层不同进程的报文通过不同的端口向下交到运输层,再往下就共用网络层提供的服务。
  • “运输层提供应用进程间的逻辑通信”。“逻辑通信”的意思是:运输层之间的通信好像是沿水平方向传送数据。但事实上这两个运输层之间并没有一条水平方向的物理连接。

阅读笔记:计算机网络 自顶向下方法_第7张图片

2. TCP连接的三、四次握手

阅读笔记:计算机网络 自顶向下方法_第8张图片
阅读笔记:计算机网络 自顶向下方法_第9张图片

多路分解:把报文段交付到正确的套接字(socket)的工作
多路复用:在源主机从不同的套接字中搜集数据,并为每个数据块封装上首部信息从而生成报文段,然后将报文段传递到网络层,这个工作称为多路复用。

第四章 网络层

4.5 路由选择算法

4.5.1 链路状态路由选择算法

4.5.2 距离向量路由选择算法

4.5.3 层次路由选择

自治系统

4.6 因特网中的路由选择

阅读笔记:计算机网络 自顶向下方法_第10张图片

4.6.1 RIP(P257)

路由信息协议RIP要求网络中的每一个路由器都要维护一个从它自己到目的网络的距离记录,这里的距离指的是路由器到目的网络所需经过的路由器的个数。

(1)基本定义:路由信息协议(RIP) 是内部网关协议IGP中最先得到广泛使用的协议。RIP是一种分布式的基于距离矢量的路由选择协议,是因特网的标准协议,其最大优点就是实现简单,开销较小;

(2)基本算法:矢量距离算法(简称V-D算法)的思想是:网关周期性地向外广播路径刷新报文,主要内容是由若干(V,D)序偶组成的序偶表;(V,D)序偶中的V代表“向量”,标识网关可到达的信宿(网关或主机),D代表距离,指出该网关去往信宿V的距离;距离D按驿站的个数计。其他网关收到某网关的(V,D)报文后,据此按照最短路径原则对各自的路由表进行刷新。

(3)改进机制(防环,几个常用方法):水平分割(从一个接口学习到的路由不会再广播会该接口);路由毒化(当拓扑变化时将失效的路由标记为不可达的状态,比如16(15以上为不可达));毒性逆转(从一个接口学习到的路由会发送回该接口,当时已经被毒化);触发更新(一旦检测到崩溃,立即广播路由刷新报文)

(4)缺点:当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器;大型网络不适用(15跳为极限)

4.6.2 OSPF(P260)

(1)基本定义:OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由;

(2)基本算法:迪克斯加算法。
主要是通过向邻居发送HELLO包来建立邻居关系,选取DR等。

(3)主要优点:
a.OSPF是真正的LOOP-FREE(无路由自环)路由协议。源自其算法本身的优点。(链路状态及最短路径树算法)
b.OSPF收敛速度快:能够在最短的时间内将路由变化传递到整个自治系统。
c.提出区域(area)划分的概念,将自治系统划分为不同区域后,通过区域之间的对路由信息的摘要,大大减少了需传递的路由信息数量。也使得路由信息不会随网络规模的扩大而急剧膨胀。将协议自身的开销控制到最小

(4)缺点:
a.配置相对复杂。由于网络区域划分和网络属性的复杂性,需要网络分析员有较高的网络知识水平才能配置和管理OSPF网络。
b.路由负载均衡能力较弱。OSPF虽然能根据接口的速率、连接可靠性等信息,自动生成接口路由优先级,但通往同一目的的不同优先级路由,OSPF只选择优先级较高的转发,不同优先级的路由,不能实现负载分担。只有相同优先级的,才能达到负载均衡的目的,不象EIGRP那样可以根据优先级不同,自动匹配流量。

4.6.3 自治系统间的路由选择 BGP()

阅读笔记:计算机网络 自顶向下方法_第11张图片
给出了一个BGP发言人交换路径向量的例子。自治系统AS2的BGP发言人通知主干网的BGP发言人:“要到达网络N1、N2、N3和N4可经过AS2。”主干网在收到这个通知之后就发出通知:“要到达网络N1、N2、N3和N4可沿路径(AS1,AS2)。”同理主干网还发出通知:“要到达网络N5、N6和N7可沿路径(AS1,AS3)。”这里采用了路径向量信息所以可以有效避免兜圈子的现象。比如如果一个BGP发言人收到其他BGP发言人发来的路径通知,它就要检查一下本自治系统是否在此路径中。如果在此路径之中就不能采用这条路径。
阅读笔记:计算机网络 自顶向下方法_第12张图片
BGP交换的路由信息的结点数量的数量级是自治系统个数的量级,这样比自治系统中的网络数少很多。同时搜索正确的路径就是寻找正确的BGP发言人。

4.7 广播和多播路由选择

4.7.1 广播路由选择算法

1. 洪泛控制
由源结点路由器向其邻居传播分组,再由邻居向邻居传播分组。但是如果广播路径中存在圈将会出现死循环
2. 受控洪泛
3. 生成树广播

4.7.2 多播

多播是由源点发送单个分组,然后一路上有各个路由器复制这个分组。所有分组副本的目的地址都是一样的。

第五章 链路层

5.1 链路层概述

网络适配器也叫做网卡,他和调制解调器以及路由器的区别如下:

  • 猫,也就是调制解调器,他的工作就是把光信号转换成- 电信号——>笋买来要去皮嘛,把外壳剥除

  • 路由器,接收猫发来的电信号,再把信号发射出去,这里可以是有线信号和无线信号——>把笋炒好,端上饭桌

  • 网卡,接收路由器发来的信号,然后使得所在的设备能上网——>把笋吃了

5.2 差错检测和纠正技术

https://www.cnblogs.com/myworld7/p/8422270.html

包括 奇偶校验(它用来描述差错检测和纠正背后隐含地基本思想)、检验和方法(通常更多地应用于应用层)和循环冗余检测(通常更多地应用于适配器中的链路层)三种方法

5.2.3 循环冗余检测

如今的计算机网络中广泛地应用的差错检测技术基于循环冗余检测(Cyclic Redundancy Check,CRC)编码。CRC编码也称为多项式编码(polynomial code),该编码能够将发送的比特串看作为系数是0和1一个多项式,对比特串的操作被解释为多项式运算。

5.3 多路访问链路和协议

点对点链路(point-to-point link)是由链路一端的单个发送方和链路另一端的单个接受方组成,许多链路层协议都是为了点对点链路设计的;点对点(Point-to-Point Protocol,PPP)和高级数据链路控制(High-level Data Link Control,HDLC)是两种这样的协议。

广播链路(broadcast link),能够让多个发送和接受节点都连接到相同的、单一的、共享的广播信道。(用术语“广播”是因为当任何一个节点传输一个帧时,该信道广播该帧,每个其他节点都能收到一个拷贝)以太网和无线LAN是广播链路层技术的例子。

5.3.1 信道划分协议(P298)

频分多路复用(FDM)
时分多路复用(TDM)
码分多址(CDMA)

5.3.2 随机接入协议、

5.3.3 轮流协议

5.4 交换局域网

5.4.1 链路层寻址和ARP

为什么有了IP地址还要MAC地址?
因为交换机只能处理mac地址,不能处理ip地址。交换机工作在二层,只认识MAC地址。 交换机处理mac,路由器处理ip。

1. MAC地址
阅读笔记:计算机网络 自顶向下方法_第13张图片
阅读笔记:计算机网络 自顶向下方法_第14张图片

4. 交换机和路由器比较
交换机是第二层(数据链路层)的分组交换机, 路由器是第三层(网络层)的分组交换机。

值得注意的是这里所说的路由器和家用无线路由器并不是一种东西, 家庭无线路由器集成了AP + Switch + Firewall + Router 的功能。

5.7 回顾:Web页面的请求历程(P330)

阅读笔记:计算机网络 自顶向下方法_第15张图片

S1. HTTPS

  1. HTTPS原理全解析

对称加密

阅读笔记:计算机网络 自顶向下方法_第16张图片
密钥K是只有一个的。对称加密就是利用算法f对客户端或者服务端的数据进行加密,在客户端或者服务端得到加密数据后利用密钥K进行解密就可以得到data。但是由于K是只有一个的,所以对称加密也是不安全的。

非对称加密

阅读笔记:计算机网络 自顶向下方法_第17张图片
非对称加密是有公钥(pk,服务器和客户端都可以得到)和私钥(sk,只有服务器端有)之分,在客户端向服务器发送数据的时候,客户端可以先向服务器索要pk,但后利用pk对数据加密传输,然后服务器利用sk解密。但是服务器向客户端才能书数据的时候就会存在问题,因为客户端没有sk,如果把sk传给客户端,黑客又可以从中间截获sk,这又出现了问题。

对称加密和非对称加密结合

阅读笔记:计算机网络 自顶向下方法_第18张图片

  • C向S索要pk,
  • C生成一个随机数字num1,然后利用pk加密把num1传给S,S通过sk就可以得到num1.
  • 然后利用num1为公钥做对称加密传输。由于num1是随机生成的,所以这个num1是无法被黑客知道的。

但是这个过程也可能是不安全的
阅读笔记:计算机网络 自顶向下方法_第19张图片
也就是说黑客成为了中间人的话会导致整个数据传输的不安全问题。
阅读笔记:计算机网络 自顶向下方法_第20张图片

中间人问题如何解决(对称+非对称+CA)

利用第三方权威机构做证书签名认证。
中间人问题的本质是黑客在第一步C向S索要pk的时候,黑客给了C一个假的pk,但是C认为是真的,这就导致了黑客可以称为中间人的角色。但是如果我们可以辨认pk的真假就可以解决中间人问题,这也就是第三方认证机构的存在意义。
阅读笔记:计算机网络 自顶向下方法_第21张图片
CPK是直接写死在操作系统的

阅读笔记:计算机网络 自顶向下方法_第22张图片

S2. DNS协议

DNS动态解析的过程

  • 用户打开 Web 浏览器,在地址栏中输入 www.example.com,然后按 Enter 键。
  • www.example.com 的请求被路由到 DNS 解析程序,这一般由用户的 Internet 服务提供商 (ISP) 进行管理,例如有线 Internet 服务提供商、DSL 宽带提供商或公司网络。
  • ISP 的 DNS 解析程序将 www.example.com 的请求转发到 DNS 根名称服务器。
  • ISP 的 DNS 解析程序再次转发 www.example.com 的请求,这次转发到 .com 域的一个 TLD 名称服务器。.com 域的名称服务器使用与 example.com 域相关的四个 Amazon Route 53 名称服务器的名称来响应该请求。
  • ISP 的 DNS 解析程序选择一个 Amazon Route 53 名称服务器,并将 www.example.com 的请求转发到该名称服务器。
  • Amazon Route 53 名称服务器在 example.com 托管区域中查找 www.example.com 记录,获得相关值,例如,Web 服务器的 IP 地址 (192.0.2.44),并将 IP 地址返回至 DNS 解析程序。
  • ISP 的 DNS 解析程序最终获得用户需要的 IP 地址。解析程序将此值返回至 Web 浏览器。DNS 解析程序还会将 example.com 的 IP 地址缓存 (存储) 您指定的时长,以便它能够在下次有人浏览 example.com 时更快地作出响应。有关更多信息,请参阅存活期 (TTL)。
  • Web 浏览器将 www.example.com 的请求发送到从 DNS 解析程序中获得的 IP 地址。这是您的内容所处位置,例如,在 Amazon EC2 实例中或配置为网站终端节点的 Amazon S3 存储桶中运行的 Web 服务器。
  • 192.0.2.44 上的 Web 服务器或其他资源将 www.example.com 的 Web 页面返回到 Web 浏览器,且 Web 浏览器会显示该页面。

你可能感兴趣的:(阅读笔记)