• 计算机网络学习笔记


     一、三种交换方式:电路交换、报文交换和分组交换的优缺点比较

    二、计算机网络的定义和分类

            计算机网络的较好的定义是:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某-特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。

    • 计算机网络所连接的硬件,并不限于- -般的计算机,而是包括了智能手机等智能硬件。
    • 计算机网络并非专门用来传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用)。

    三、计算机网络性能指标 

    例题:

    四、计算机网络体系结构

     

     

     习题

    五、物理层

    (1)物理层的基本概念

    (2)物理层下的传输媒体

    (3)传输方式

    (4)编码与调制

    (5)信道的极限容量

    例题

    1. 

    2.

    3.

      

     4.

    六、数据连路层

    (1)数据链路层的概述

    • 链路(Link) 就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。
    • 数据链路(Data Link)是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路。
    • 数据链路层以帧为单位传输和处理数据。
    • 使用点对点信道的数据链路层
      • 三个重要问题:封装成帧、差错检测、可靠传输
    • 使用广播信道的数据链路层
      • 共享式以太网的媒体接入控制协议CSMA/CD
      • 802.11 局域网的媒体接入控制协议CSMA/CA
    • 数据链路层的互连设备
      • 网桥和交换机的工作原理
      • 集线器(物理层互连设备)与交换机的区别

    (2)封装成帧

     

    (3)差错检测

    ①奇偶校验

    ②CRC

    CRC举例

    (4)可靠传输   

    ①基本概念

    ②可靠传输的实现机制——停止 - 等待协议SW

    例题:

    ③GBN(回退N帧协议) 

    例题:

    ④SR(选择重传协议)

    例题:

    (5)点对点协议PPP

     

     

     

    (6)媒体接入控制

            ①基本概念 

    ②静态划分信道

    习题:

    ③动态接入控制-随机接入-CSMA/CD协议(总线局域网使用)

    习题:

    ④动态接入控制-随机接入-CSMA/CA协议(无线局域网使用)

     帧间间隔IFS 

    CSMA/CA工作原理

    源站为什么在检测到信道空闲后还要再等待一段时间DIFS?
            就是考虑到可能有其他的站有高优先级的帧要发送。若有,就要让高优先级帧先发送。


    目的站为什么正确接收数据帧后还要等待- -段时间SIFS才能发送ACK帧?
            SIFS是最短的帧间间隔,用来分隔开属于一次对话的各帧。在这段时间内,一个站点应当能够从发送方式切换到接收方式。

    信道由忙转为空闲且经过DIFS时间后,还要退避一段随机时间才能使用信道?

            防让多个站点同时发送数据而产生碰撞封

    退避算法:

    退避算法举例:

     

    CSMA/CA协议的信道预约和虚拟载波监听

    • 为了尽可能减少碰撞的概率和降低碰撞的影响,802.1 1标准允许要发送数据的站点对信道进行预约。
      • (1)源站在发送数据帧之前先发送-个短的控制帧,称为请求发送RTS(Request To Send),它包括源地址、目的地址以及这次通信(包括相应的确认帧)所需的持续时间。
      • (2)若目的站正确收到源站发来的RTS帧,且媒体空闲,就发送一个响应控制帧,称为允许发送CTS(Clear To Send),它也包括这次通信所需的持续时间(从RTS帧中将此持续时间复制到CTS帧中)。
      • (3)源站收到CTS帧后,再等待一段时间SIFS后,就可发送其数据帧。
      • (4)若目的站正确收到了源站发来的数据帧,在等待时间SIFS后,就向源站发送确认帧ACK。
    • 除源站和目的站以外的其他各站,在收到CTS帧(或数据帧)后就推迟接入到无线局域网中。这样就保证了源站和目的站之间的通信不会受到其他站的干扰。
    • 如果RTS帧发生碰撞,源站就收不到CTS帧,需执行退避算法重传RTS帧。
    • 由于RTS帧和CTS帧很短,发送碰撞的概率、碰撞产生的开销及本身的开销都很小。而对于- -般的数据帧,其发送时延往往大于传播时延(因为是局域网) ,碰撞的概率很大,且一旦发生碰撞而导致数据帧重发,则浪费的时间就很多,因此用很小的代价对信道进行预约往往是值得的。802.11标准规定 了3种情况供用户选择:
      • 使用RTS帧和CTS帧
      • 不使用RTS帧和CTS帧
      • 只有当数据帧的长度超过某一数值时才使用RTS帧和CTS帧
    • 除RTS帧和CTS帧会携带通信需要持续的时间,数据帧也能携带通信需要持续的时间,这称为802.11的虚拟载波监听机制
    • 由于利用虚拟载波监听机制,站点只要监听到RTS帧、CTS帧或数据帧中的任何一个,就能知道信道被占用的持续时间,而不需要真正监听到信道上的信号,因此虚拟载波监听机制能减少隐蔽站带来的碰撞问题。

    总结:

    习题:

     

    ⑤MAC地址

    地址格式:

     表示方法:

    发送顺序

    ⑥IP地址

    习题:

    ⑦地址解析协议ARP

    ⑧交换机和集线器的区别

    集线器

    交换机

     区别:

    ⑨以太网交换机自学习和转发帧的过程

    习题:

    ⑩以太网交换机的生成树协议STP 

    11.虚拟局域网VLAN

    概述 

    实现机制: 

    七、网络层

    (1)概述

    (2)网络层的两种服务

    ①面向链接的虚电路服务

    ②无连接的数据报服务

    ③虚电路服务与数据包服务比较

    (3)IPv4地址

          

            ①概述

            ②分类编址的IPv4地址

    习题

    ③划分子网的IPv4

    习题

    ④无分类编址的IPv4地址

    习题

    ⑤IPv4地址的应用规划

     习题

    定长:

    (4)IP数据报的发送和转发过程

    习题

    (5)静态路由配置及其可能产生的路由环路问题

    (6)路由选择协议概述

    (7)路由信息协议RIP的基本工作原理 

    习题

     (8)开放最短路径优先的OSPF的基本工作原理

     (9)边界网关协议BGP的基本工作原理

    习题

    (10)IPv4数据报的首部格式

    习题

     分片

    (11)ICMP网际控制报文协议

    ICMP差错报告报文种类-终点不可达:

    ICMP差错报告报文种类-源点抑制

    ICMP差错报告报文种类-时间超过 

    ICMP差错报告报文种类-参数问题 

    ICMP差错报告报文种类-改变路由 

    ICMP询问报文 

    ICMP应用举例

    习题

     (12)虚拟专用VPN与网络地址转换NAT

    八、运输层

    (1)概述

      

    (2)运输层端口号、复用与分用的概念

    端口号概述

    发送方的复用和接收方的分用

    TCP/IP体系的应用层常用协议所使用的运输层熟知端口号 

    (3)UDP和TCP的对比

      (4)TCP流量控制

     

    习题

    (5)TCP的拥塞控制

     

    慢开始

     拥塞避免

    快重传

    快恢复

     

    习题

    (6)TCP超时重传时间的选择 

    (7)TCP可靠传输的实现 

     习题   

    (8)TCP的运输连接管理-TCP的连接建立

    • 发送针对TCP连接请求的确认是否多余?(为什么TCP客户进程最后还要发送一个普通的TCP确认报文段呢,是否多余?)
      • 不多余!这是为了防止已失效的连接请求报文段突然又传送到了TCP服务器,因而导致错误。

    TCP“三报文握手”建立连接的基本过程 

    •  第一次握手
      • SYN=1,表明这是TCP连接请求报文段;
      • 序号字段seq被设置了一个初始值x,作为TCP客户进程所选择的初始序号
    • 第二次握手
      • 同步位SYN和确认位ACK都设置为1,表明这是一个TCP连接请求确认报文段
      • 序号字段seq被设置了一个初始值y,作为TCP服务进程所选择的初始序号
      • 确认号字段ack的值被设置成了x+1,这是对TCP客户进程所选择的初始序号的确认
    • 第三次握手
      • 确认位ACK都设置为1,表明这是一个普通的TCP确认报文段
      • 序号字段seq被设置成x+1,这是因为TCP客户进程发送的第一个TCP报文段的序号为x,并且不携带数据
      • 确认号字段ack的值被设置成了y+1,这是对TCP服务器进程所选择的出书序号的确认

     

     习题 

    (9) TCP的运输连接管理-TCP的连接释放

    TCP通过“四报文挥手”来释放连接

    • 第一次挥手(TCP客户端发送TCP连接释放)
      • 终止位FIN和确认位ACK都设置为1,表明这是一个TCP连接释放报文段,同时也对之前收到的报文段进行确认
      • 序号seq字段的值设置为u,它等于TCP客户进程之前已传送过的数据的最后一个字节的序号加1
      • 确认号ack字段的值设置为v,它等于TCP客户进程之前已收到的数据的最后一个字节的序号加1
    • 第二次挥手(TCP服务器发送TCP普通确认)
      • 确认位ACK都设置为1,表明这是普通的TCP确认报文段
      • 序号seq字段的值设置为v,它等于TCP服务器进程之已传送过的数据的最后个字节的序号加1,这也与之前收到的TCP连接释放报文段中的确认号匹配。
      • 确认号ack字段的值设置为u+1,这是对TCP连接释放报文段的确认
    • 第三次挥手(TCP服务器发送TCP连接释放)
      • 终止位FIN和确认位ACK都设置为1,表明这是一个TCP连接释放报文段,同时也对之前收到的报文段进行确认
      • 序号seq字段的值设置为w,因为服务器为半关闭的情况下可能还要传送一些数据
      • 确认号ack字段的值设置为u+1,这是对TCP连接释放报文段的重复确认
    • 第四次挥手(TCP客户机发送TCP普通确认)
      • 确认位ACK都设置为1,表明这是普通的TCP确认报文段
      • 序号seq字段的值设置为u+1,这是因为TCP客户进程之前发送的TCP连接释放报文段虽然不携带数据,但要消耗一个序号
      • 确认号ack字段的值设置为w+1,这是对所收到的TCP连接释放报文段的确认。

    (10) TCP报文段的首部格式

     

    • 源端口:占16比特,写入源端口号,用来标识发送该TCP报文段的应用进程。
       
    • 目的端口:占16比特, 写入目的端口号,用来标识接收该TCP报文段的应用进程。
       
    • 序号:占32比特,取值范围[0, 2- 1],序号增加到最后一个后,下一个序号就又回到0。指出本TCP报文段数据载荷的第一个字节的序号。
       
    • 确认号:占32比特,取值范围[0, 22 1],确认号增加到最后- -个后,下一个确认号就又回到0。指出期望收到对方下一个TCP报文段的数据载荷的第一个字节的序号, 同时也是对之前收到的所有数据的确认。
       
    • 确认标志位ACK:取值为1时确认号字段才有效;取值为0时确认号字段无效。TCP规定,在连接建立后所有传送的TCP报文段都必须把ACK置1。
       
    • 同步标志位SYN:在TCP连接建立时用来同步序号。
       
    • 终止标志位FIN:用来释放TCP连接。
       
    • 复位标志位RST:用来复位TCP连接。
      当RST=1时,表明TCP连接出现了异常,必须释放连接,然后再重新建立连接。
      RST置1还用来拒绝一个非法的报文段或拒绝打开一个TCP连接。

       
    • 推送标志位PSH:接收方的TCP收到该标志位为1的报文段会尽快.上交应用进程,
      而不必等到接收缓存都填满后再向上交付。
       
    • 紧急标志位URG:取值为1时紧急指针字段有效;取值为0时紧急指针字段无效。

      紧急指针:占16比特,以字节为单位,用来指明紧急数据的长度。

      当发送方有紧急数据时,可将紧急数据插队到发送缓存的最前面,并立刻封装到-个TCP报文段中进行发送。紧急指针会指出本报文段数据载荷部分包含了多长的紧急数据,紧急数据之后是普通数据。
       
    • 数据偏移:占4比特,并以4字节为单位。用来指出TCP报文段的数据载荷部分的起始处距离TCP报文段的起始处有多远。这个字段实际。

      上是指出了TCP报文段的首部长度。
      首部固定长度为20字节,因此数据偏移字段的最小值为0101B
      首部最大长度为60字节,因此数据偏移字段的最大值为1111B
       
    • 窗口:占16比特,以字节为单位。指出发送本报文段的一方的接收窗口。
      窗口值作为接收方让发送方设置其发送窗口的依据。
      这是以接收方的接收能力来控制发送方的发送能力,称为流量控制。

       
    • 校验和:占16比特,检查范围包括TCP报文段的首部和数据载荷两部分。
      在计算校验和时,要在TCP报文段的前面加上12字节的伪首部。
       


    •  
    • 填充:由于选项的长度可变,因此使用填充来确保报文段首部能被4整除
      (因为数据偏移字段,也就是首部长度字段,是以4字节为单位的)

    九、应用层 

    (1)客户/服务器(C/S)方式和对等方式(P2P方式)  

    客户/服务器(C/S)方式 

     对等方式(P2P方式)

    (2)动态主机配置协议DHCP 

     

     工作过程

    DHCP中继代理

    (3)域名系统DNS 

    • 因特网是否可以只使用一台DNS服务器?
      • 这种做法并不可取。因为因特网的规模很大,这样的域名服务器肯定会因为超负荷而无法正常工作,而且一日域名服务器出现故障,整个因特网就会瘫痪。
      • 早在1983年,因特网就开始采用层次结构的命名树作为主机的名字(即域名),并使用分布式的域名系统DNS。

        DNS使大多数域名都在本地解析,仅少量解析需要在因特网上通信,因此系统效率很高。

        由于DNS是分布式系统,即使单个计算机出了故障,也不会妨碍整个系统的正常运行。
    • DNS报文使用运输层的UDP协议进行封装,运输层端口号为53
       

     域名服务器可以划分为四种不同的类型

      

    域名解析的过程

    习题

     (4)文件传输协议FTP

    FTP的基本工作原理 

    习题

     

    (5)电子邮件 

    发送和接收过程 

    简单邮件传送协议SMTP的基本工作原理 

     

    电子邮件的信息格式 

    多用途因特网邮件扩展MIME

     常用的邮件读取协议

     基于万维网的电子邮件

    习题

     

     

    (6)万维网WWW 

    HTTP请求报文格式 

     

     HTTP响应报文格式 

     

     使用Cookie在服务器上记录用户信息

     

    万维网缓存与代理服务器

             若Web缓存的命中率比较高,则大大减少了该链路上的通信量,从而减少了访问因特网的时延

     

     

    习题

     

     

  • 相关阅读:
    【前端修炼场】— 列表有什么难的?
    安全测试之PHP 漏洞全解
    获取Class类的实例的几种方式
    嵌入式分享合集117
    后端分页应该注意的事项
    Java 进阶day14XML Dom4j 工厂模式 Base64
    物理内存虚拟内存以及段页表
    RHCE. Stratis 管理分层存储
    【webrtc 】FEC 1: 音频RED rfc2198及视频ULPFEC的RED封装
    Jmeter之接口测试流程详解
  • 原文地址:https://blog.csdn.net/qq_58168493/article/details/126580917