计算机网络基础篇

计算机网络体系分类:

计算机网络整个体系有两个大的分类:一个是国际组织制定的OSI七层模型,一种是实际使用中的TCP/IP四层模型。
在这里插入图片描述

1、物理层

物理层主要是实现主机和网络之间的物理连接,规定一些与传输媒体接口有关的一些特性。

【如果你网络知识原本掌握的就可以,你现在的时间比较紧,就别看详细的那些了,后面总结的这些,应付面试足够了】
详细知识看这里物理层

1)通信方式:

  • 单工通信:只能由A主机向B主机发送消息,通信是单向的。
  • 半双工通信:同一时间只能是由A主机向B主机或者是B主机向A主机发送信息,不能同时发送消息。
  • 全双工通信: A主机和B主机可以实现在同一时间内既接收消息,又发送消息,极大的提升了通信效率。

2)常见引导型传输媒体:

  • 双绞线:
    分为屏蔽双绞线(STP)和非屏蔽双绞线(UTP),屏蔽双绞线就是在非屏蔽双绞线外边又加了一层屏蔽层
    tips:为什么双绞线要两根线绞起来,两个线绞起来可以有效的减少相互之间的电磁干扰。
  • 同轴电缆:
    由内导体铜制芯线,绝缘层,网状编织的外导体屏蔽层,以及塑料保护外层组成。有良好的抗干扰性,被广泛用于较高速率的传输。
  • 光缆:
    由非常透明的石英玻璃拉成细丝,主要由纤芯和包层构成双层通讯柱。可以分为单模光纤和多模光纤。

3)信道复用技术:

  • 频分复用:根据传输的波的频率的不同,将不同频段的波用于不同的通信。
  • 时分复用:将时间分割为时间段,规定在某个时间段内发送什么样的信息,根据时间段来进行信息类别的区分。也称为同步时分复用
  • 统计时分复用:基于时分复用的一种改进,由于基本的时分复用并没有考虑到每个时间段内是否有信息发出,例如说每个时间段是20,但是发送消息只占用其中的2,那么剩下的18就处于空闲时间。统计时分复用就是基于这种考虑而设计的,他允许用户有数据时就将数据发送到缓存中,然后会依次扫描输入缓存,把缓存中的数据放入到STMD帧中,若没有就跳过,每当一个帧满了就把这个帧发出去。STMD帧不是分配的固定时序,而是根据需要动态的分配时隙,也称之为异步时分复用
  • 光分复用:就是光的频分复用,根据光谱中频率的不同,用不同频率的光来携带不同的信息。

2、数据链路层

数据链路层主要是将上层的数据转化为数据帧发送到链路上,以及把接受到的帧中的数据取出并交给网络层。

详细知识看这里:数据链路层

1)核心要解决的问题:

  • 封装成帧:在一段数据的前后分别添加首部和尾部,这样就构成了一个帧。接收端在接受到后就可以方便准确的确定帧的首尾,也称为帧定界符。同时定义出了最大传输单元(MTU)–表示一次可以传输的最大长度上限。
    在这里插入图片描述
  • 透明传输: 由于使用特定的字符来表示帧的开始和结束,所以传输的内容中不能出现和帧定界符相同的字符,但这显然是不可能的,为了解决这个办法,就可以在内容中和帧定界符一样的字符前边加上规定好的转义字符,这种方法称为字符填充或者是字节填充。
    在这里插入图片描述
  • 差错检测: 比特在传输过程中可能产生差错,差错检测就是用于检测出现的差错,以便及时的重传,最常用的差错检测算法就是CRC(循环冗余检验),还有一个( FCS)帧检验序列
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2)适配器(网卡)作用

网络接口板又称为通信适配器 (adapter) 或网络接口卡 NIC (Network Interface Card),或“网卡”。

适配器的重要功能:

  • 进行串行/并行转换。

  • 对数据进行缓存。

  • 在计算机的操作系统安装设备驱动程序。

  • 实现以太网协议。

在这里插入图片描述

3)MAC地址

在局域网中,硬件地址又称为物理地址,或 MAC 地址。“MAC地址”实际上就是适配器地址或适配器标识符 EUI-48。

MAC地址组成:

  • IEEE 802 标准规定 MAC 地址字段可采用 6 字节 ( 48位) 或 2 字节 ( 16 位) 这两种中的一种。

  • IEEE 的注册管理机构 RA 负责向厂家分配地址字段 6 个字节中的前三个字节 (即高位 24 位),称为组织唯一标识符。

  • 地址字段 6 个字节中的后三个字节 (即低位 24 位) 由厂家自行指派,称为扩展唯一标识符,必须保证生产出的适配器没有重复地址。
    在这里插入图片描述

3、网络层(重点)

网络层主要是向上只提供简单灵活的,无连接的,尽最大努力交付的数据报服务。

详细看这里网络层第一篇网络层第二篇网络层第三篇

在这里插入图片描述
1)网际协议IP

  • 将IP地址划分为五大类。

  • 每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。

  • 主机号在它前面的网络号所指明的网络范围内必须是唯一的。

  • 由此可见,一个 IP 地址在整个互联网范围内是唯一的。
    在这里插入图片描述

  • 硬件地址和 IP 地址
    在这里插入图片描述

2)地址解析协议 ARP

  • 所用是从网络层使用的 IP 地址,解析出在数据链路层使用的硬件地址。
  • ARP 是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。如果所要找的主机和源主机不在同一个局域网上,那么就要通过 ARP 找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。
  • 每一个主机都设有一个 ARP 高速缓存 (ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表

解析的过程:

  • 当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。

  • 如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。

  • 如没有, ARP 进程在本局域网上广播发送一个 ARP 请求分组。收到 ARP 响应分组后,将得到的 IP 地址到硬件地址的映射写入 ARP 高速缓存。
    在这里插入图片描述

3)网际控制报文协议 ICMP

  • 用于进行差错情况和异常情况的反馈,分为询问报文和差错报告报文。
  • 它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

4)内部网关协议

主要是有RIP协议和OSPF协议

  • RIP协议(路由信息协议):基于距离矢量的协议,有三个特点:

    (1) 仅和相邻路由器交换信息。

    (2) 交换的信息是当前本路由器所知道的全部信息,即自己的路由表。

    (3) 按固定的时间间隔交换路由信息,例如,每隔 30 秒。当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息。
    在这里插入图片描述

  • OSPF(开放最短路径优先协议):基于链路状态的协议

5)IPv6数据报

在这里插入图片描述

4、运输层(重点)

网络层主要是为主机之间提供逻辑通讯,而传输层为应用程序之间提供端到端的逻辑通讯。主要是两种类型的通讯方式,面向连接的TCP协议和面向无连接的UDP。

详细看这里:运输层
在这里插入图片描述
1)UDP(用户数据报协议)

UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。应用层交给 UDP 多长的报文,UDP 就照样发送,即一次发送一个报文。所以说他是面向报文的。

UDP特性:

  • UDP提供无连接服务,在传送数据之前不需要先建立连接。

  • UDP使用尽最大努力交付,既不保证可靠交付。

  • UDP是面向报文段的,发送的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层,也不需要接收方给出任何确认。

  • UDP没有拥塞控制。

  • UDP 支持一对一、一对多、多对一和多对多的交互通信。

  • UDP 的首部开销小,只有 8 个字节,比 TCP 的 20 个字节的首部要短

在这里插入图片描述2)TCP(传输控制协议)

TCP特性:

  • TCP是面向连接的运输层协议,在使用之前,必须先建立连接,使用完之后,必须释放连接。

  • 每一条TCP连接只能有两个端点(套接字),每一条TCP连接只能是点对点的TCP连接::= { socket_1,socket_2 } ={ (IP_1:port_1),(IP_2:port_2)}
    在这里插入图片描述

  • TCP提供可靠交付的服务

  • TCP 不提供广播或多播服务

  • TCP提供全双工通信

  • 面向字节流,“面向字节流”的含义是:虽然应用程序和 TCP 的交互是一次一个数据块,但 TCP 把应用程序交下来的数据看成仅仅是一连串无结构的字节流。接收方应用程序收到的字节流必须和发送方应用程序发出的字节流完全一样。
    在这里插入图片描述

值得注意的点:

  • TCP 连接是一条虚连接而不是一条真正的物理连接。

  • TCP 对应用进程一次把多长的报文发送到TCP 的缓存中是不关心的。

  • TCP 根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节(UDP 发送的报文长度是应用进程给出的)

TCP与UDP的对比:
在这里插入图片描述

3)可靠传输的工作原理

TCP发送的报文段是交给IP层的传送的,但是IP层只能尽自己最大的努力服务,也就是说,TCP 下面的网络提供的是不可靠协议,因此,TCP必须采取相应的手段,才能使得两个运输层之间的通信变得可靠。

停止等待协议:就是每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。

会出现下面两种结果:

  • 无差错情况
  • 出现差错

接受方B会有两种情况:

  • B 接收 M1 时检测出了差错,就丢弃 M1,其他什么也不做(不通知 A 收到有差错的分组)。

  • M1 在传输过程中丢失了,这时 B 当然什么都不知道,也什么都不做。

发送方A的解决方法:

  • A 为每一个已发送的分组都设置了一个超时计时器。

  • A 只要在超时计时器到期之前收到了相应的确认,就撤销该超时计时器,继续发送下一个分组 M2 。

值得注意的是:

  • 在发送完一个分组后,必须暂时保留已发送的分组的副本,以备重发。

  • 分组和确认分组都必须进行编号。

  • 超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些。
    在这里插入图片描述

连续ARQ协议: 发送方采用滑动窗口的形式,处于滑动窗口的分组可以直接发送出去;接收方一般采用累积确认的方式,也就是说接受方不必对接收到的每一个分组都进行确认,而是对按序到达的最后一个分组进行确认,而发送方每接收到一个确认,窗口就向前滑动一定距离。
在这里插入图片描述

4)TCP 的流量控制
在这里插入图片描述滑动窗口对流量的控制:

  • ACK:选择确认
  • seq:每一次发送开始的的字节
  • rwnd:接收方接受窗口的大小
    在这里插入图片描述

5)TCP 的拥塞控制

  • 当网络中某一资源的需求超出了该资源所能提供的可用部分,这时网络的性能就要开始变坏,这种情况就叫做拥塞。而拥塞控制就是为了减少或者避免拥塞对网络性能的影响而做出的一种控制手段。
  • 对资源的需求总和 > 可用资源

网络拥塞产生的原因具体分析:
在这里插入图片描述

拥塞控制与流量控制的关系:
在这里插入图片描述

拥塞控制思路:

发送方维持一个叫做拥塞窗口的状态变量,拥塞窗口的大小取决于网络的拥塞程度,并且在动态的变化。发送方让自己的发送窗口等于拥塞窗口,如果在考虑接收方的接收能力,一般发送窗口还要小于拥塞窗口。

在这里插入图片描述拥塞控制的方法——慢开始和拥塞避免:

  • 慢开始:当主机开始发送数据的时候,由小到大的增大发送窗口,也就是由小到大的增大拥塞窗口。接收方接收到一个报文之后就回传一个确认报文,发送方每接收到一个确认报文,就将拥塞窗口加1,这样每经过一个传输轮次之后,拥塞窗口就增大一倍。
  • 拥塞避免:思路是让拥塞窗口缓慢的增大,即每经过一个往返时间RTT就把发送方的拥塞窗口加1,而不是加倍,这样拥塞窗口就是线性缓慢增加,比慢开始的增长速率缓慢的多。
  • 这样发送方的拥塞窗口一直增加,肯定会发生拥塞,等拥塞之后,肯定会出现发送超时,如果出现发送超时,拥塞窗口就又变为1,即cwnd = 1;
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

拥塞控制的方法——快重传和快恢复:

  • 快重传:要求收到方每收到一个时序的报文段之后就立即发出重复确认,而不要等到自己发送数据时才进行捎带确认。而发送方只要一连收到三个重复确认就应当立即重传对方尚未接受到的报文,而不必等待为报文设置的重传计时器到期。
  • 快回复:与快重传配合使用,当发送方连续收到三个重复确认的时候,就执行“乘法减小”算法,将慢开始门限减半。将拥塞窗口设置为慢开始门限减半之后的值,并开始指向拥塞避免算法。

在这里插入图片描述

需要注意的是:
在这里插入图片描述
6)TCP 建立连接的三次握手协议

  • 客户端请求建立连接:SYN=1,seq=x;请求发送完后自己会进入“同步已发送”状态。
  • 服务器对客户端的请求进行响应:SYN=1,ACK=1,seq=y,ack=x+1;服务器被动打开之后,会处于一个“收听”状态,当接受到客户端的请求连接后,会进入“同步已收到”状态。
  • 客户端对服务器端的响应信息进行回应:ACK=1,seq=x+1,ack=y+1;客户端发送完确认连接请求后,会进入“已连接”状态,服务器收到客户端的确认后,会进入“已连接”状态。

其中:

  • 同步报文段: SYN为同步位,seq为初始序列号。
  • 确认报文段:ACK确认号,ack要发送的初始序号。
    在这里插入图片描述

为什么客户端最后还要发送一次确认呢?

  • 这主要是为了防止已经失效的连接请求报文段突然又传送到了服务器,因而产生错误。

在这里插入图片描述

7)TCP 释放连接的四次挥手协议

  • 客户端请求断开连接: FIN=1,seq = u;
  • 服务端对客户端的请求应答:ACK=1,seq=v,ack=u+1;
  • 服务端请求断开连接:FIN=1,ACK=1,seq=w,ack=u+1;
  • 客户端对服务端的请求应答:ACK=1,seq=u+1,ack=w+1;

其中:FIN为控制位
在这里插入图片描述
在这里插入图片描述

5、应用层

详细知识看这里:应用层

1)DNS 域名系统
在这里插入图片描述

2)FTP 文件传送协议
在这里插入图片描述
在这里插入图片描述

3)HTTP 超文本传送协议

6、附加面试题

1) 在浏览器中输入网址之后执行会发生什么?

  1. DNS解析,找到对应ip地址

  2. 客户端发起http/https请求,然后交给传输层

  3. 传输层将请求分成报文段,添加目标源和端口,并随机用一个本地接口封装进报头,然后交给网络层。

  4. 网络层加上双方的ip地址信息,并负责路由分发。

  5. 链路层中,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包进行传输了,然后发送IP数据包到达服务器的地址。

2)http 常见状态码

3)请你谈谈DNS的寻址过程

  • 1、在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。

  • 2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。

  • 3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/ip参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。

  • 4、如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。

  • 5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(qq.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找qq.com域服务器,重复上面的动作,进行查询,直至找到www.qq.com主机。

  • 6、如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。不管是本地DNS服务器用是是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yelvens

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值