计算机网络知识点

一、概述

  1. ISP:互联网服务提供商
    中国三大ISP(电信,移动,联通)
    图片来源CY2018
       目前的互联网是一种多层次 ISP 结构,ISP 根据覆盖面积的大小分为第一层 ISP、区域 ISP 和接入 ISP。互联网交换点 IXP 允许两个 ISP 直接相连而不用经过第三个 ISP。
    图片来源CY2018

  2. 主机间的通信方式
    C/S:客户-服务器
    P2P:对等连接

  3. 交换方式
    1.电路交换:一般用于电话通信系统,物理链路,通信过程中始终占用链路。效率比较低。
    2.分组交换:包含首部和尾部、原地址和目的地址等控制信息,同一传输线路上同时传输多个分组互不影响,不占用传输线路。
    3.报文交换 :报文交换是以报文为 数据交换的单位,报文携带有目标地址、源地址等信息,在交换结点采用存储转发的传输方式。

4.时延
总时延 = 排队时延 + 处理时延 + 传输时延 + 传播时延

	1. 排队时延
	分组在路由器的输入队列和输出队列中排队等待的时间,取决于网络当前的通信量。
	
	2. 处理时延
	主机或路由器收到分组时进行处理所需要的时间,例如分析首部、从分组中提取数据、进行差错检验或查找适当的路由等。
	
	3. 传输时延
	主机或路由器传输数据帧所需要的时间。
	
	4. 传播时延
	电磁波在信道中传播所需要花费的时间,电磁波传播的速度接近光速。

二、计算机网络模型

在这里插入图片描述
五层协议

  • 应用层 :为特定应用程序提供数据传输服务,例如 HTTP、DNS 等/协议。数据单位为报文。
      DNS 是一个分布式数据库,提供了主机名和 IP 地址之间相互转换的服务。这里的分布式数据库是指,每个站点只保留它自己的那部分数据。域名具有层次结构,从上到下依次为:根域名、顶级域名、二级域名。
     (1)递归查询:本机向本地域名服务器发出一次查询请求,就静待最终的结果。如果本地域名服务器无法解析,自己会以DNS客户机的身份向其它域名服务器查询,直到得到最终的IP地址告诉本机
     (2)迭代查询:本地域名服务器向根域名服务器查询,根域名服务器告诉它下一步到哪里去查询,然后它再去查,每次它都是以客户机的身份去各个服务器查询。
     文件传送协议FTP :使用 TCP 进行连接,它需要两个连接来传送一个文件
     动态主机配置协议:DHCP (Dynamic Host Configuration Protocol) 提供了即插即用的连网方式,用户不再需要手动配置 IP 地址等信息。
     电子邮件协议 SMTP: 只能发送 ASCII 码,而互联网邮件扩充 MIME 可以发送二进制文件。
    传输层:为进程提供通用数据传输服务。由于应用层协议很多,定义通用的传输层协议就可以支持不断增多的应用层协议。
    运输层包括两种协议
    传输控制协议 TCP,提供面向连接、可靠的数据传输服务,数据单位为报文段;
    用户数据报协议 :UDP,提供无连接、尽最大努力的数据传输服务,数据单位为用户数据报。
    TCP 主要提供完整性服务,UDP 主要提供及时性服务。

    UDP 和 TCP 的特点
      用户数据报协议 UDP(User Datagram Protocol)是无连接的,尽最大可能交付,没有拥塞控制,面向报文(对于应用程序传下来的报文不合并也不拆分,只是添加 UDP 首部),支持一对一、一对多、多对一和多对多的交互通信。
      传输控制协议 TCP(Transmission Control Protocol)是面向连接的,提供可靠交付,有流量控制,拥塞控制,提供全双工通信,面向字节流(把应用层传下来的报文看成字节流,把字节流组织成大小不等的数据块),每一条TCP 连接只能是点对点的(一对一)。
      
      TCP三次握手的原因
      
       第三次握手是为了防止失效的连接请求到达服务器,让服务器错误打开连接。
       客户端发送的连接请求如果在网络中滞留,那么就会隔很长一段时间才能收到服务器端发回的连接确认。客户端等待一个超时重传时间之后,就会重新请求连接。但是这个滞留的连接请求最后还是会到达服务器,如果不进行三次握手,那么服务器就会打开两个连接。如果有第三次握手,客户端会忽略服务器之后发送的对滞留连接请求的连接确认,不进行第三次握手,因此就不会再次打开连接。
       TCP四次挥手的原因:
       客户端发送了 FIN 连接释放报文之后,服务器收到了这个报文,就进入了 CLOSE-WAIT 状态。这个状态是为了让服务器端发送还未传送完毕的数据,传送完毕之后,服务器会发送 FIN 连接释放报文。
       TIME_WAIT
       客户端接收到服务器端的 FIN 报文后进入此状态,此时并不是直接进入 CLOSED 状态,还需要等待一个时间计时器设置的时间 2MSL。这么做有两个理由:
       1.确保最后一个确认报文能够到达。如果 B 没收到 A 发送来的确认报文,那么就会重新发送连接释放请求报文,A 等待一段时间就是为了处理这种情况的发生。
       2.等待一段时间是为了让本连接持续时间内所产生的所有报文都从网络中消失,使得下一个新的连接不会出现旧的连接请求报文。
     控制手段:
     1.TCP 使用超时重传来实现可靠传输:如果一个已经发送的报文段在超时时间内没有收到确认,那么就重传这个报文段。
     2.滑动窗口:窗口是缓存的一部分,用来暂时存放字节流。发送方和接收方各有一个窗口,接收方通过 TCP 报文段中的窗口字段告诉发送方自己的窗口。
     3.流量控制:流量控制是为了控制发送方发送速率,保证接收方来得及接收。控制发送窗口。
     4.拥塞控制:1. 慢开始与拥塞避免 2. 快重传与快恢复

  • 网络层 :为主机提供数据传输服务。而传输层协议是为主机中的进程提供数据传输服务。网络层把传输层传递下来的报文段或者用户数据报封装成分组。
    IP数据包格式:
    在这里插入图片描述
    版本 : 有 4(IPv4)和 6(IPv6)两个值;

    首部长度 : 占 4 位,因此最大值为 15。值为 1 表示的是 1 个 32 位字的长度,也就是 4 字节。因为固定部分长度为 20 字节,因此该值最小为 5。如果可选字段的长度不是 4 字节的整数倍,就用尾部的填充部分来填充。
    
    区分服务 : 用来获得更好的服务,一般情况下不使用。
    
    总长度 : 包括首部长度和数据部分长度。
    
    生存时间 :TTL,它的存在是为了防止无法交付的数据报在互联网中不断兜圈子。以路由器跳数为单位,当 TTL 为 0 时就丢弃数据报。
    
    协议 :指出携带的数据应该上交给哪个协议进行处理,例如 ICMP、TCP、UDP 等。
    
    首部检验和 :因为数据报每经过一个路由器,都要重新计算检验和,因此检验和不包含数据部分可以减少计算的工作量。
    
    标识 : 在数据报长度过长从而发生分片的情况下,相同数据报的不同分片具有相同的标识符。
    
    片偏移 : 和标识符一起,用于发生分片的情况。片偏移的单位为 8 字节。
    

    地址解析协议 ARP:ARP 实现由 IP 地址得到 MAC 地址。

    网际控制报文协议 ICMP:
      ICMP 是为了更有效地转发 IP 数据报和提高交付成功的机会。它封装在 IP 数据报中,但是不属于高层协议。
      Ping 的原理是通过向目的主机发送 ICMP Echo 请求报文,目的主机收到之后会发送 Echo 回答报文。Ping 会根据时间和成功响应的次数估算出数据包往返时间以及丢包率。
      
    路由选择协议:

    1. 内部网关协议 RIP:RIP 协议实现简单,开销小。但是 RIP 能使用的最大距离为 15,限制了网络的规模。并且当网络出现故障时,要经过比较长的时间才能将此消息传送到所有路由器。
    2. 内部网关协议 OSPF:开放最短路径优先 OSPF,是为了克服 RIP 的缺点而开发出来的。
    3. 外部网关协议 BGP
  • 数据链路层:网络层针对的还是主机之间的数据传输服务,而主机之间可以有很多链路,链路层协议就是为同一链路的主机提供数据传输服务。数据链路层把网络层传下来的分组封装成帧。

    三大基本问题:

    1.封装成帧:将网络层传下来的分组添加首部和尾部,用于标记帧的开 始和结束。

    2.透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。

    3.差错检测:目前数据链路层广泛使用了循环冗余检验(CRC)来检查比特差错。

    信道分类:
      1、广播信道:一对多通信,一个节点发送的数据能够被广播信道上所有的节点接收到。所有的节点都在同一个广播信道上发送数据,因此需要有专门的控制方法进行协调,避免发生冲突(冲突也叫碰撞)。
     主要有两种控制方法进行协调,一个是使用信道复用技术,一是使用 CSMA/CD 协议。
      2、点对点信道:一对一通信。因为不会发生碰撞,因此也比较简单,使用 PPP 协议进行控制。

    信道复用技术:

    1. 频分复用:频分复用的所有主机在相同的时间占用不同的频率带宽资源。
    2. 时分复用:
    时分复用的所有主机在不同的时间占用相同的频率带宽资源。
    使用频分复用和时分复用进行通信,在通信的过程中主机会一直占用一部分信道资源。但是由于计算机数据的突发性质,通信过程没必要一直占用信道资源而不让出给其它用户使用,因此这两种方式对信道的利用率都不高。
    3. 统计时分复用:
    是对时分复用的一种改进,不固定每个用户在时分复用帧中的位置,只要有数据就集中起来组成统计时分复用帧然后发送。
    4. 波分复用:
    光的频分复用。由于光的频率很高,因此习惯上用波长而不是频率来表示所使用的光载波。
    5. 码分复用:是用一组包含互相正交的码字的码组携带多路信号。
    

CSMA/CD 协议:
  多点接入 :说明这是总线型网络,许多主机以多点的方式连接到总线上。
  载波监听 :每个主机都必须不停地监听信道。在发送前,如果监听到信道正在使用,就必须等待。
  碰撞检测 :在发送中,如果监听到信道已有其它主机正在发送数据,就表示发生了碰撞。虽然每个主机在发送数据之前都已经监听到信道为空闲,但是由于电磁波的传播时延的存在,还是有可能会发生碰撞。

PPP协议:
   PPP协议是一种在串行链路上传输IP数据包的一种方法,是一个协议的集合,不是单一的协议,支持建立链路的链路控制协议LCP以及一系列的NCP。
   
  MAC地址:MAC 地址是链路层地址,长度为 6 字节(48 位),用于唯一标识网络适配器(网卡)。一台主机拥有多少个网络适配器就有多少个 MAC 地址。例如笔记本电脑普遍存在无线网络适配器和有线网络适配器,因此就有两个 MAC 地址。
  
  局域网:
  局域网是一种典型的广播信道,主要特点是网络为一个单位所拥有,且地理范围和站点数目均有限。
主要有以太网、令牌环网、FDDI 和 ATM 等局域网技术,目前以太网占领着有线局域网市场。
可以按照网络拓扑结构对局域网进行分类:星型,环型,总线型。
  交换机:
  交换机具有自学习能力,学习的是交换表的内容,交换表中存储着 MAC 地址到接口的映射。

  • 物理层
    考虑的是怎样在传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层的作用是尽可能屏蔽传输媒体和通信手段的差异,使数据链路层感觉不到这些差异。
    通信方式:
    -单工通信:单向传输
    -半双工通信:双向交替传输
    -全双工通信:双向同时传输

参考链接:https://leetcode-cn.com/leetbook/read/tech-interview-cookbook/ooarfv/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值