计算机网络

要点

CRC
判断ip是否属于子网

计算机网络概述

计算机网络的概念

  • 计算机网络的定义

计算机网络是指将地理位置不同、具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,并在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统

  • 计算机网络的组成
    • 通信子网: 提供信息交换的网络结点和通信线路
    • 资源子网: 提供共享的软件资源和硬件资源
  • 计算机网络的类型
    • 按照拓扑分类详细
      • 星型
      • 网状型
      • 树形
      • 总线型
      • 环形
      • 网状

在这里插入图片描述

  • 按照范围分类
    • 局域网 LAN: 几百米到十几公里
    • 城域网 MAN: 覆盖一个城市
    • 广域网 WAN: 中国或者是大省之间的通信
    • 个人局域网 PAN: 蓝牙耳机等
    • Internet
  • 按照传输方式分类
    • 有线网络: IEEE802.3
    • 无线网络:
      1. IEEE802.11
      2. WLAN无线局域网 ( wireless )
      3. WPAN无线个域网

计算机网络的体系结构

  • 传输方式

    • 按照传输方向
      1. 单工: 只能单方向传输的工作模式
      2. 双工: 在同一时间,线路上只能允许一个方向的数据通
      3. 全双工: 双方可以同时进行数据通信
    • 按照传输对象(方式)
      1. 单播: 1对1
      2. 多播: 1对多
      3. 广播: 1对all(范围内)
  • 数据交换详见

    • 电路交换: 整个报文从源头到终点连续的传输,呼叫双方在开始通话之前,首先由交换设备在两者之间建立一条专用电路,并且在整个通话期间独占该条电路直到结束。

      1. 优点:传输时延小;传输效率高,不需要添加控制信息;编码方式和信息格式不受限制。
      2. 缺点:占用信道,效率不高
    • 报文交换: 整个报文先传送到相邻结点,全部存储下来查找转发表,再转发到下一个结点
      报文交换又叫做消息交换,以报文作为传送单元。在这种交换方式中,发送方不需要提前建立起电路,不管接收方是否空闲,可随时向其所在的交换机发送消息。交换机收到的报文消息先存储于缓冲器的队列中,然后根据报文头中的地址信息计算出路由,确定输出线路。

      1. 优点:传输时延小;传输效率高,不需要添加控制信息;编码方式和信息格式不受限制。
      2. 缺点:占用信道,效率不高
    • 分组交换: 将一个报文分成多个分组,传送到相邻结点,再查找转发表,再转发到下一个结点。分组交换是将用户的消息划分为一定长度的数据分组,然后在分组数据上加上控制信息和地址,然后经过分组交换机发送到目的地址,如下图。

      1. 优点:灵活,切片,线路利用率高、传输可靠性高(分组交换在网络层实现了数据校验、错误检测和重传)
      2. 缺点:传输延迟增加,额外开销,丢失和重传
  • 通信协议和体系结构

    • 网络协议三要素
      1. 语法
      2. 语义
      3. 时序
    • 网络模型参考博客
      • OSI参考模型 -> Open System Interconnect开放式系统互联模型(由低到高)

      • 物理层 — 单位 bit,利用传输介质为通信的网络结点之问的建立,主机连路由器使用双绞线,,路由器之间使用光纤等电气特征。

      • 数据链路层 — 单位 帧,在物理层的基础之上,提供结点到结点之间的服务,采取差错控制和流量控制的方法实现网络互联

      • 网络层 — 单位 分组,在数据链路层的基础之上,提供点到点之问的通信,提供路由功能,实现拥塞控制、网络互联等功能。

      • 传输层 — 提供端到端之间的数据传输服务,实现对数据进行控制和操作的功能。

      • 会话层 — 负责维护通信中两个节点之间的会话建立维护和断开,以及数据的交换。

      • 表示层 — 表示层用于处理交互数据的表示方式,例如格式转换、数据的加密和解密、数据压缩和恢复等功能

      • 应用层 — 使用应用程序通过网络服务
        alt text

      • TCP/IP模型alt text

物理层(底层)

物理层的基本概念

四大特性
  1. 机械特性: 接口是怎样的? -水晶头,光纤头
  2. 电气特性: 用多少伏特电
  3. 功能特性: 线路上电平电压的特性
  4. 过程特性: 实现不同功能所发射信号的顺序
两种信号
  • 模拟信号: 特定频段的信号,有更加丰富的表现形式
  • 数字信号: 不是1就是0
调制和编码
  • 调制 – 模拟信号转换
  • 编码
    • 数字信号转换
    • 编码的步骤
    1. 采样
    2. 量化
    3. 编码
  • 区别
    • 数据可以通过编码手段转成数字信号,也可以通过调制手段将数据转为模拟信号。
    • 数字数据可以通过数字发送器转化为数字信号(编码),也可以通过调制器转化为模拟信号(调)
    • 模拟数据可以通过PCM编码器转化为数字信号(编码),也可以通过放大器调制器转化为模拟信号(调制)
传输介质
  • 双绞线(8根线)
    • 屏蔽双绞线 STP – 抗干扰强、贵一些
    • 非屏蔽双绞线 UTP – 便宜、抗干扰差
    • 制作标准
    1. 568B – 橙白、橙、绿白、蓝、蓝白、绿、棕白、棕
    2. 568A – 13、26调换
  • 光纤
    • 多模光纤
      多模光纤(MultiMode Fiber)-芯较粗(50或62.5μm),可传多种模式的光。但其模间色散较大,这就限制了传输数字信号的频率,而且随距离的增加会更加严重。例如:600MB/KM的光纤在2KM时则只有300MB的带宽了。因此,多模光纤传输的距离就比较近,一般只有几公里。
      距离:2KM
    • 单模光纤
      单模光纤(Single Mode Fiber):中心纤芯很细(芯径一般为9或10um),只能传一种模式的光。因此,其模间色散很小,适用于远程通讯,但还存在着材料色散和波导色散,这样单模光纤对光源的谱宽和稳定性有较高的要求,即谱宽要窄,稳定性要好。
      距离:100KM
  • 同轴电缆 - 淘汰了(座机)
  • 无线 - 无线信号频率标准 IEE802.11
三大部分
  • 源系统:发送数据的一端
  • 传输系统:传输过程中的各种传输介质
  • 目的系统:接收数据的电脑

物理层的基本通信技术

四种信道复用技术

复用技术:复用技术是指一种在传输路径上综合多路信道,然后恢复原机制或解除终端各信道复用技术的过程。
将多种不同的信号在 同一信道上进行传输,复用技术主要是用于解决不同信号传输时应该如何区分。

  • 频分复用FDM:划分不同频率来并行传输信号
  • 时分复用TDM: 划分不同时间段来传输信号
  • 码分复用CDM: 在同一时间同一频率根据传输的数据码进行区分
  • 波分复用WDM: 根据光波的波长进行传输(合波器耦合)
数据的传输方式
  • 通过同时间传输数量分为

    1. 串行传输
      使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固的时间长度。只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、外设之间的远距离通信。
    2. 并行传输
      并行传输指的是数据以成组的方式,在多条并行井行传输信道上同时进行传输,是在传输中有多个数据位同时在设备之间进行的传输。
  • 通过数据报文的双方的行为分为

    1. 同步传输(传输效率最高)
      在计算机网络中,定时的因素称为位同步。同步是要接收方控照发送方发送的每个位的起止时刻和速率来接收数据,否则会产生误差。同步传输的比特分组要大得多。它不是独立地发送每个字符,每个字符都有自己的开始位和停止位,而是把它们组合起来一起发送。我们将这些组合称为数据帧,或简称为帧。
    2. 异步传输
      异步传输将比特分成小组进行传送,小组可以是8位的1个字符或更长。发送方可以在任何时刻发送这些比特组,而接收方从不知道它们会在什么时候到达
  • 通过传输的信号分为

    1. 基带传输: 传输数字信号叫做基带传输
    2. 频带传输: 传输模拟信号叫做频带传输 – 300-3400kHz

数据链路层

数据链路层基础概论

数据链路层概念

数据链路层是在物理层和网络层之间的协议,提供相邻结点的可靠数据传输。

MAC地址

MAC地址,全称为媒体访问控制地址(Media Access Control Address),也被称为局域网地址(LAN Address)、以太网地址(Ethernet Address)或物理地址(Physical Address)。

它是一个用于在网络中唯一标识一个网络接口控制器(网卡)的地址。在OSI模型中,MAC地址工作在第二层 —— 数据链路层,而IP地址则工作在第三层 —— 网络层。

MAC地址通常由48位(6个字节)的二进制数表示,并且通常以十六进制的形式展示。例如,一个MAC地址可能看起来像这样:00:0A:95:9D:68:16

帧的概念
  • 概念: 数据链路层的协议数据单元
  • 帧的组成:
    1. 帧头 — 源MAC地址、目的MAC地址、类型
    2. 数据
    3. 帧尾 — 校验部分

在这里插入图片描述

在这里插入图片描述

首部尾部的作用之一就是进行帧定界,同时他们包含必要的控制信息.为了提高传输效率,应当使帧的数据部分尽可能长些,但考虑到差错控制等多种因素,每一种链路层协议都规定了MTU(最大传送单元)

为了解决透明传输的问题,对于面向字节(字符)的物理链路可以采用字节(符)填充的方法
在这里插入图片描述
对于面向比特的物理链路可以采用零比特填充的方法
在这里插入图片描述

数据链路层的两种传输方式

  • 单播
  • 广播

数据链路层的三个基本问题

  • 封装成帧
  • 透明传输
  • 差错检测
    1. 奇数校验
    2. 偶数校验
    3. CRC冗余码

局域网中的设备

  • 集线器

集线器的英文称为"Hub"。"Hub"是"中心"的意思,集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。不共享带宽
工作在物理层

  • 交换机

交换机(Switch)意为"开关"是一种用于电(光)信号转发的网络设备,它可以为接入交换交换机 数据链路层机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。共享带宽
工作在数据链路层

  • 网桥
    两个端口的交换机

冲突域和广播域

  • 冲突域: 交换机的每一个端口都是一个冲突域;冲突域只能发生在一个网段
  • 广播域: 交换机的所有端口都在一个广播域;广播域在一个或多个网段内发生
  • 区别:
    1. 广播域可以跨网段
    2. 冲突域是基于第一层(物理层),而广播域是机于第二层(数据链路层)。
    3. HUB 所有端口都在同一个广播域,冲突域内。Swith所有端口都在同一个广播域内,而每一个端口就是一个冲突域。
    4. 同一冲突域共享带宽。
      在这里插入图片描述

虚拟局域网VLAN

  • 概念: VLAN(Virtual LocalAreaNetwork)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接通信,从而将广播报文限制在一个VLAN内。
  • 优点和目的:
    1. 划分广播域 — 减少垃圾数据
    2. 增强局域网的安全性
    3. 提高健壮性
    4. 灵活构建工作组
  • 划分VLAN的方式:
    • 基于端口 — 给交换机的每个接口配置不同的PVID,当一个数据帧进入交换机接口时,如果没有带VLAN标签,且该接口上配置了PVID,那么,该数据帧就会被打上接口的PVID。如果进入的帧已经带有VLAN标签,那么交换机不会再增加VLAN标签,即使接口已经配置了PVID。
      1. Access – 只允许通过一个VLAN
      2. Trunk – 允许通过多个VLAN
      3. hybird
    • 基于子网
    • 基于MAC地址
    • 基于协议
    • 基于匹配策略

CSMA/CD协议(总线型)

  • 概念: CSMA/CD即载波侦听多路访问/冲突检测,是广播型信道中采用心-种随机访问技术的竞争型访问方法,具有多目标地址的特点。总线型网络传输数据
  • τ:念tao,单程的"端到端"传播时延,记住:电磁波在1km电缆的传播时延约为5μs = 5*10^(-6)s
  • 争用期:停止等待,退避检测到冲突要等r倍的征用期时间才重新开始发送数据,以太网的端到端往返时间2τ,10Mbit/s以太网的争用期2τ=51.2μs。
  • 四大要点:
    1. 先听再发 先监听信道是否被占用
    2. 边听边发 一边发送一边监听
    3. 冲突停止 发生冲突立即停止数据
    4. 延迟后发 发生冲突延迟一个随机数×征用期的时间在发送

PPP协议(单播)

  • 概念: 点对点通信是一对一信道,因此不会发生碰撞因此比较简单,采用PPP协议:其中PPP协议就是用户计算机和ISP(互联网服务提供商)进行通信时使用的数据链路层的协议,将数据封住成帧(开始和结束的表示 - 帧定界)

CRC冗余码 {#crc}

CRC循环冗余检验码是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。

  • 生成多项式: 进行模二除法的被除数,如一个生成多项式为P(x) = x^4 + x^3 + 1,那么被除数就是 1*x^4 + 1*x^3 + 0*x^2 + 0*x^1 + 1*x^0,为11001,生成多项式的最高位幂为n,就有n位被除数,在原数据后填n个零,最后冗余码结果就有n-1

在这里插入图片描述
在这里插入图片描述

网络层

网络层的作用(分组)

  • 网络层的目的: 是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。提供端到端服务

网际层协议IP

  • ARP地址解析协议: 根据IP地址获取物理地址
  • RARP反地址解析协议: 根据数据链路层的MAC地址解析成网络层的IP地址
  • ICMP网际控制报文协议: 通过ICMP传输控制消息,控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。例如ping命令等
  • IGMP网际组管理协议: 是用于管理网路协议多播组成员的一种通信协议。IP主机和相邻的路由器利用IGMP来创建多播组的组成员。组播方式解决了单播情况下数据的重复拷贝及带宽的重复占用,也解决了广播方式下带宽资源的浪费。

IP地址{#ip}

  • IP地址的概念
    • IP地址

IP地址是IP协议提供的一种统一的地址格式,为互联购上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

  • 组成
    一个IP地址由4个字节,32位组成,一般用点分十进制的方式表现。

  • IP地址和MAC地址的区别

    1. IP地址是一个逻辑地址,MAC地址是物理地址
    2. MAC地址是唯一的但是IP地址不是唯一的
    3. MAC地址主要是工作在第二层,IP地址在网络层IP地址和MAC地址的区别
    4. MAC地址是48位,IP地址一般是32位(IPv6是128位)
    5. IP地址的分配取决于网络拓扑,MAC地址分配取决于制造商。
  • IP地址的组成:

    • 网络地址 + 主机号
    • 主机地址/主机号 – 标识某一台设备的地址
    • 网络地址/网络号 – 标识某一个网段的地址
    • 子网掩码 – 它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
  • 怎样查看一个ip地址192.168.2.128是否属于一个子网192.168.2.0/24?
  • ip地址转换成二进制与子网掩码相与(AND)/24就是表示子网掩码前24位全为1,后面全为0,即11111111.11111111.11111111.00000000,得出结果与子网号比较
  • IP地址的分类
    1. A类: 前一个字节为网络号,第一个字节第一位是0,ip地址范围1.0.0.1 ~ 127.255.255.254,默认子网掩码255.0.0.0
    2. B类: 前两个字节为网络号,第一个字节第一位是10,ip地址范围128.0.0.1 ~ 191.255.255.254
    3. C类: 前两个字节为网络号,第一个字节第一位是110,ip地址范围192.x.x.x ~ 223.x.x.x
    4. D类: 多播地址前两个字节为网络号,第一个字节第一位是1110,ip地址范围224.x.x.x ~ 239.x.x.x
    5. E类: 保留

在这里插入图片描述

  • IPv6

因为IPv4地址满足不了需求,出现匮乏的情况所以诞生了IPv6地址继续使用。v6地址由128位,16个字节绍成,一般表现形式为十六进制。

子网划分

  • 子网划分

子网划分是一种网络技术,用于将一个大的有类网络(如A类、B类、C类网络)划分成若干个更小的子网,以优化IP地址的使用。通过修改子网掩码,可以实现更精细地划分网络号和主机号。子网掩码是一个32位的二进制数,其中值为1的比特对应IP地址中的网络位,值为0的比特对应IP地址中的主机位。这种划分有助于减少广播流量、提高网络安全性、优化网络性能和简化管理。

在子网划分中,网络掩码(也称为子网掩码或子网掩码长度)是关键。例如,C类网络的默认子网掩码是255.255.255.0,这表示前24位是网络位,后8位是主机位。通过改变子网掩码的长度,我们可以改变网络位和主机位的数量,从而创建不同大小的子网。

  • VLSM(Variable Length Subnet Mask,可变长子网掩码)

VLSM是一种子网划分技术,允许网络管理员在网络中使用不同长度的子网掩码来创建子网。这种技术特别适用于大型网络,其中不同子网可能有不同的主机数量需求。通过使用VLSM,网络管理员可以根据实际需求为每个子网分配适当数量的IP地址,从而提高IP地址的利用率,减少浪费。

VLSM是CIDR(无类别域间路由)和路由汇聚技术的补充。CIDR允许使用不同长度的子网掩码来表示IP地址,而路由汇聚则通过汇总多个子网来减少路由表中的条目数量。VLSM通过层次化编址的方式,使网络管理员能够更有效地利用现有的地址空间。

在这里插入图片描述

  1. 主机号全0

    • 表示指向本网的网络地址,即该IP地址表示整个网络,而不是网络中的某个特定主机。这种地址常用在路由表中。
    • 在子网掩码的情况下,非掩码段全为0的时候为网络地址。
    • 对于A、B和C类IP地址,主机号全0的地址是网络地址,用于标识整个网络段。
  2. 主机号全1

    • 表示广播地址,即该IP地址用于向所在网络上的所有主机发送数据包。
    • 在大多数情况下,主机号全1的地址被保留用作广播地址,意味着发往这个地址的数据包会被发送到同一子网内的所有设备上。
    • 网络安全警报:检测到主机号全为1的地址时,可能意味着系统正遭受攻击,因为恶意用户可能会故意发送大量数据包到这个地址,导致网络拥堵和性能下降,这种情况称为广播风暴。
习题

在这里插入图片描述
在这里插入图片描述

网络层的路由

路由
  • 路由是什么?
    • 路由(routing)是指分组从源到目的地时,决定端到端路径的网络范围的进程。路由是指导报文转发的路径信息,通过路由可以确认转发IP报文的路径。

    • 路由是网络层最主要的工作任务

  • 什么是路由器?
    • 是网络层的基本设备
    • 数据转发
    • 一个端口代表一个网段,路由器中存放着通往各个网段的表格,叫做路由表
  • 什么是路由表?
    • 路由表(routing table) 或称路由择域信息库(RIB,Routing Information Base),是一个存储在路由器或者联网计算机中的电子表格(文件)或类数据库。路由表存储着指向特定网络地址的路径
  • 什么是网关?
    • 网关(Gateway) 又称网间连接器、协议转换器。用于两个高层协议不同的网络互连。网关既可以以用于广域网互连,也可以用于局域网互连。
    • 默认网关(Default Getway),路由器不知道将数据往哪转发的时候,默认转发到默认网关
路由的获取方式(路由表的建立和维护)
  • 直连路由
  • 静态路由
  • 动态路由
路由的配置方式

直连路由、静态路由和动态路由是路由器在建立和维护路由表时使用的三种主要方式。以下是关于这三种路由方式的详细解释:

  1. 直连路由
  • 定义:直连路由是指路由器接口所直接连接的子网的路由方式简而言之,就是主机或网络设备直接连接到同一网络上,不需要过其他设备进行转发。
  • 特点:
    • 直连路由是最简单的路由方式,适用于小型网络或简单拓结构。
    • 通常无需配置额外的路由策略。
    • 路由信息由链路层协议发现,只要接口处于活动状态,路由器就会自动将通向该网段的路由信息填写到路由表中。
    • 直连路由无法使路由器获取与其不直接相连的路由信息。
  1. 静态路由
  • 定义:静态路由是一种路由方式,其中路由项(routing entry)由管理员手动配置,而非动态决定。
  • 特点:
    • 静态路由是固定的,不会改变,即使网络状况已经改变或新配置。
    • 静态路由配置简单,管理灵活,对网络影响较小。
    • 适用于中小型网络。
    • 网络安全保密性高,因为静态路由不会产生更新流量,不用网络带宽。
    • 在大型和复杂的网络环境中,静态路由的配置和维护工作量较大,不利于网络的动态适应变化。
  1. 动态路由
  • 定义:动态路由是指路由器能够自动地建立自己的路由表,并且能够根据实际情况的变化适时地进行调整。
  • 特点:
    • 动态路由是路由器根据路由器之间的交换的特定路由信息自动地建立路由表,并能够根据链路和节点的变化自动调整。
    • 当网络中节点或链路发生故障,或存在其他可用路由时,动态路由可以自行选择最佳可用路由并继续转发报文。
    • 动态路由依赖于路由器之间的路由信息交换和对路由表的维护。
    • 常见的动态路由协议有RIPOSPFIS-ISBGP等,每种协议都有其特点和适用场景。

在这里插入图片描述

RIP和OSPF的区别
  • RIP协议采用距离向量算法
  • RIP使用UDP:只和邻站交换信息,UDP虽不保证可靠性,但UDP开销小。RIP使用不可靠的UDP,因此需要周期性地和邻站交换路由信息,而BGP不需要。

其特点是:

  1. 仅和相邻路由器交换信息。如果两个路由器之间的通信不需要经过另一个路由器,那么这两个路由器就是相邻的。RIP协议规定,不相邻的路由器不交换信息。

  2. 路由器交换的信息是当前本路由器所知道的全部信息,即自己的路由表。也就是说,交换的信息是:“我到本自治系统中所有网络的(最短)距离,以及到每个网络应经过的下一跳路由器”。

  3. 按固定的时间间隔交换路由信息,例如,每隔30秒。然后路由器根据收到的路由信息更新路由表。当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息。

  • OSPF协议采用链路状态算法

  • OSPF使用IP:OSPF使用可靠的洪泛法,并直接使用IP,好处是灵活和开销小。

其特点是:

  1. 向本自治系统中所有路由器发送信息。这里使用的方法是洪泛法(flooding),这就是路由器通过所有输出端口向所有相邻的路由器发送信息。而每一个相邻路由器又再将此信息发往其所有的相邻路由器(但不再发送给刚刚发来信息的那个路由器)。这样,最终整个区域中所有的路由器都得到了这个信息的一个副本。

  2. 发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。所谓 “链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”(metric)。OSPF将这个“度量”用来表示费用、距离、时延、带宽,等等。这些都由网络管理人员来决定,因此较为灵活。为了方便就称这个度量为“代价”。

  3. 只有当链路状态发生变化时,路由器才向所有路由器用洪泛法发送此信息。而不像RIP那样,不管网络拓扑有无发生变化,路由器之间都要定期交换路由表的信息。

  4. 对于规模很大的网络,OSPF可以把一个自治系统再划分为若干个更小范围的区域(area),实现层次路由

在这里插入图片描述

运输(传输)层

传输层概论

传输层
  1. 传输层提供端到端服务
  2. 从通信和信息处理的角度看,传输层向上层应用层提供通信服务。
  3. 所谓的端口,就好像是门牌号一样,客户端可以以通过ip地址找到对应的服器端,但是服务器端是有很多端口的,每个应用程序对应一个端口号,通过类似门牌号的端口号,客户端才能真正的访问到该服务器。为了对端口进行区分,将每个端口进行了编号,这就是端口号

端口

通过端口号来区别相同计算机所提供的这些不同的服务

  • 第一类
    公认端口(Well Known Ports):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议,例如:80端口实际上总是HTTP通讯。
  • 第二类
    注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。
  • 第三类
    动态/私有端口(Dynamic and/or Private Ports):从49152到65535。这类端口号留给客户进程选作临时端口号.客户进程在发起通信时要先为自己选择一个未使用的临时端口号,通信结束时要释放该端口号以便其他客户进程使用.
    理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。
应用程序端口号
HTTP(超文本传输)80
HTTPS(超文本传输安全协议)443
FTP(文件传输协议)21连接,20传送数据
TFTP(简单文件传输协议)69
SSH22
Telnet(远程登陆)23
SMTP(简单电子邮件传输协议)25
POP3(邮局协议版本3)110
IMAP143
DNS(域名系统)53
LDAP389
RDP(远程桌面协议 )3389
SNMP(简单网络管理协议)161
NTP123

TCP(可靠)

概念: 传输控制协议

TCP是TCP/IP体系中较为复杂的协议,是传输层中最重要的协议。

特点:
  1. TCP是面向连接的传输层协议
  2. TCP提供可靠的交付服务
  3. TCP提供全双工通信
  4. TCP是面向字节流
三次握手四次挥手
建立连接
三次握手

最开始的时候客户端和服务器都是处于CLOSED关闭状态。主动打开连接的为客户端,被动打开连接的是服务器。

TCP服务器进程先创建传输控制块TCB,时刻准备接受客户进程的连接请求,此时服务器就进入了 LISTEN 监听状态

第一次握手 TCP客户进程也是先创建传输控制块TCB,然后向服务器发出连接请求报文,这是报文首部中的同部位SYN=1,同时选择一个初始序列号 seq=x ,此时,TCP客户端进程进入了 SYN-SENT 同步已发送状态

第二次握手 TCP服务器收到请求报文后,如果同意连接,则会向客户端发出确认报文。确认报文中应该 ACK=1,SYN=1,确认号是ack=x+1,同时也要为自己初始化一个序列号 seq=y,此时,TCP服务器进程进入了 SYN-RCVD 同步收到状态

第三次握手 TCP客户端收到确认后,还要向服务器给出确认。确认报文的ACK=1,ack=y+1,自己的序列号seq=x+1,此时,TCP连接建立,客户端进入ESTABLISHED已建立连接状态 触发三次握手

  • 为什么要进行第三次握手?

主要原因:防止已经失效的连接请求报文突然又传送到了服务器,从而产生错误

  • 第一次握手: 客户端向服务器端发送报文
    证明客户端的发送能力正常
  • 第二次握手:服务器端接收到报文并向客户端发送报文
    证明服务器端的接收能力、发送能力正常
  • 第三次握手:客户端向服务器发送报文
    证明客户端的接收能力正常
释放连接 参考blog
四次挥手

数据传输完毕后,双方都可释放连接。最开始的时候,客户端和服务器都是处于ESTABLISHED状态,然后客户端主动关闭,服务器被动关闭。

第一次挥手 客户端发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序列号为seq=u(等于前面已经传送过来的数据的最后一个字节的序号加1),此时,客户端进入FIN-WAIT-1(终止等待1)状态

第二次挥手 服务器端接收到连接释放报文后,发出确认报文,ACK=1,ack=u+1,并且带上自己的序列号seq=v,此时,服务端就进入了CLOSE-WAIT 关闭等待状态

第三次挥手 客户端接收到服务器端的确认请求后,客户端就会进入FIN-WAIT-2(终止等待2)状态,等待服务器发送连接释放报文,服务器将最后的数据发送完毕后,就向客户端发送连接释放报文,服务器就进入了LAST-ACK(最后确认)状态,等待客户端的确认。

第四次挥手 客户端收到服务器的连接释放报文后,必须发出确认,ACK=1,ack=w+1,而自己的序列号是seq=u+1,此时,客户端就进入了TIME-WAIT(时间等待)状态,但此时TCP连接还未终止,必须要经过2MSL后(最长报文寿命),当客户端撤销相应的TCB后,客户端才会进入CLOSED关闭状态,服务器端接收到确认报文后,会立即进入CLOSED关闭状态,到这里TCP连接就断开了,四次挥手完成

窗口
  1. 固定窗口
    如果窗口过小,当传输比较大的数据的时候需要不停的对数据进行确认,这个时候就会造成很大的延迟。
  2. 滑动窗口
    滑动窗口通俗来讲就是一种流量控制技术。它本质上是描述接收方的TCP数据报缓冲区大小的数据,发送方根据这个数据来计算自己最多能发送多长的数据,如果发送方收到接收方的窗口大小为0的TCP数据报,那么发送方将停止发送数据,等到接收方发送窗口大小不为0的数据报的到来
  3. 拥塞处理和流量控制
拥塞控制
  • 轮次n: 第0轮开始,拥塞窗口值为1
  • 拥塞窗口cwnd
  • 慢开始门限
    在这里插入图片描述

例题
TCP的拥塞窗口(cwnd)大小与往返时间(RTT)之间的关系如下表所示。请根据表格数据回答以下问题:

RTT(单位:秒)cwnd(单位:报文段)
11
22
44
88
1616

问题

  1. 试画出拥塞窗口与RTT的关系曲线

    • 曲线将是一个指数增长的曲线,因为TCP在慢开始阶段,每经过一个RTT,cwnd的大小都会翻倍(直到达到慢开始门限ssthresh)。
  2. 指明TCP工作在慢开始阶段的时间间隔

    • 在这个例子中,假设慢开始门限ssthresh为16(这只是一个假设值,实际值可能根据网络情况有所不同)。那么,在RTT为1到16秒之间,TCP将工作在慢开始阶段,因为在这个时间间隔内,cwnd的大小随RTT的增大而指数增长。
  3. 在RTT=16和RTT=22之后发送方是通过收到的三个重复的确认还是通过超时检测到丢失了报文段?

    • 在RTT=16时,TCP可能刚刚进入拥塞避免阶段(如果ssthresh为16)。在这个阶段,如果发送方收到三个重复的确认,它会认为发生了拥塞并触发快速重传机制。但是,在这个例子中,没有给出RTT=22时的具体网络状态,所以我们不能确定在RTT=22之后发送方是如何检测到报文段丢失的。不过,通常情况下,如果超时发生,发送方会重传所有未被确认的报文段,并可能减小cwnd和ssthresh的值。
  4. 在RTT=1、RTT=18和RTT=24时,门限ssthresh分别被设置为多大?

    • 这个问题的具体答案取决于TCP实现的细节和网络状态。在慢开始阶段,ssthresh通常被设置为一个较大的值(例如,初始窗口大小的两倍或更多)。然而,在拥塞避免阶段,如果检测到拥塞(例如,通过收到三个重复的确认或超时),ssthresh可能会被减小到当前cwnd的一半左右。

在这里插入图片描述

UDP(不可靠)

概念

用户数据报协议: UDP

特点

UDP是在IP数据报服务之上增加了一些功能,增加了复用和分用的功能以及差错检测的功能,UDP的主要特点是:

  1. UDP是无连接的
  2. UDP尽最大努力交付
  3. UDP面向报文且没有拥塞控制
  4. UDP开销较小传输效率较高

应用层

应用层的作用

最贴近于用户的一层
通过位于不同主机中的多个应用进程之间的通信应用层的作用和协同工作来完成。应用层的内容就是具体定义是通信规则。

复累了 开摆

超级多之零碎知识点

MTU

  • MTU(Maximum Transmission Unit,最大传输单元)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。这一参数通常与通信接口有关(如网络接口卡、串口等)。如果IP层有一个数据包要传,而且数据包的长度超过了MTU,那么IP层就要对数据包进行分片(fragmentation),把数据包分成若干片,让每一片都不超过MTU。需要注意的是,MTU限制的是数据帧的最大长度,而不是数据包的最大长度。

  • 在网络通信中,MTU的大小是有限制的,这是因为不同的网络设备和传输介质具有不同的传输能力和限制。例如,以太网的标准MTU为1500字节

是否为子网的有效地址:主机号是否全为0

  • 一个子网的网络地址是其子网掩码与IP地址进行与操作(AND)后得到的结果,此时主机号部分全为0。但这个地址通常不用作主机地址,而是表示整个子网。

判断是否为同一子网

  • 确实是通过将子网掩码与两个IP地址分别进行与操作(AND),然后比较结果是否相同来判断两个IP地址是否在同一子网。

广播域

  • 广播域指的是广播帧能到达的网络范围。在交换机连接的局域网中,由于交换机隔离了碰撞域,但广播帧仍然可以转发到所有端口,所以所有连接到同一交换机的设备都处于同一广播域。

碰撞域

  • 碰撞域指的是能够检测到数据帧冲突的范围。在交换机中,每个端口都形成一个独立的碰撞域,因为交换机使用存储转发的方式避免了冲突。

路由器与广播域

  • 路由器通过路由功能将网络划分为不同的广播域。路由器会阻止广播流量的传播,每个连接到路由器接口的网络都有自己的广播域,路由器会阻止广播帧从一个广播域传播到另一个广播域。

冲突域与广播域

  • 广播域:交换机是二层设备,所有连接到交换机的设备仍处于同一个广播域例
  • 碰撞域:能够直接通信(既在同一广播域)内的节点集合(交换机为每个端口提供独立的碰撞域)

主机A向主机B传数据

  • 当主机A向主机B传输数据时,离开Router1的Fa0/1接口时,将使用B的IP地址作为目的IP地址,并使用Router1的Fa0/1接口的MAC地址作为源MAC地址(因为MAC地址在数据链路层,每经过一个网络设备都会改变)。

IP数据报重组

  • IP数据报在传输过程中可能会被分片,到达目的主机后,由目的主机的IP层负责重新组装成原始的数据报。

滑动窗口协议

  • 滑动窗口协议是一种流量控制机制,它允许发送方在接收方确认之前发送多个数据包,而不是等待每个数据包的确认。这提高了传输效率,并减少了延迟。(防止缓冲区溢出)

TCP的可靠通信

  • TCP通过序列号、确认机制(Ackonwledge)、超时重传、流量控制(滑动窗口协议)等机制来保证其数据传输的可靠性。其中,发送窗口大小(WS)和接收窗口大小(WA)的关系应满足WS ≤ WA,以确保发送方不会发送超过接收方缓冲区大小的数据。
  • 确认机制(Ackonwledge)是保证可靠交付的关键

TCP不提供的服务

  • TCP不提供广播/多播服务,它只提供点到点的通信。TCP是面向连接的、可靠的传输服务,提供拥塞控制和流量控制。

TCP中的确认机制

  • TCP使用序列号(Seq)和确认号(Ack)来确保数据的可靠传输。
  • Seq(序列号):标识发送方发送的数据段的起始字节的序列号。
  • Ack(确认号):标识接收方期望从发送方接收的下一个字节的序列号,即已成功确认接收的最后一个字节的序列号加1。

序列号的长度和发送窗口大小

  • 如果序列号的长度是4位(bit),那么它可以表示的最大序列号是2^4 - 1 = 15(从0到15)。
  • 但是,这并不意味着发送窗口的大小就是15。发送窗口大小是TCP滑动窗口协议中的一个概念,它决定了发送方在无需等待确认的情况下可以连续发送的数据量。
  • 发送窗口大小是由接收方在TCP三次握手过程中通过接收窗口(Receive Window,简称RWND)字段来告知发送方的。
  • 在理论上,如果序列号长度为4位,并且我们假设TCP不使用任何序列号回绕(这在实际中是不可能的,因为序列号空间远大于4位),那么发送方最多只能连续发送15个字节的数据,而无需等待确认。但这并不意味着发送窗口大小就是15。发送窗口大小可以根据网络条件和应用程序需求进行动态调整。

发送时延和传播时延

  • 发送时延 = 数据帧长度(bit)/ 发送速率(bit/s)
  • 传播时延 = 信道长度(m)/ 电磁波在信道上的传播速率(m/s)
其他细节知识点选择记忆
  • 集线器(Hub):集线器在网络中作为一个多端口的中继器,它接收到一个端口的信号后,会将该信号转发到所有其他端口。工作在 OSI 模型的第一层(物理层)。

  • 交换机(Switch):交换机能够根据设备的 MAC 地址存储并传输数据帧到目标设备,减少数据碰撞。工作在 OSI 模型的第二层(数据链路层)。

  • 路由器(Router):路由器用于连接不同网络,并根据 IP 地址进行数据包转发,处理复杂的网络任务。工作在 OSI 模型的第三层(网络层)。

  • 路由器构成与工作原理:由处理器、内存、输入输出接口和路由处理器等部分组成,根据目标 IP 地址和路由表决定数据包转发。还负责网络地址转换、防火墙、VPN等任务。

  • VPN(Virtual Private Network):包括远程访问 VPN 和站点到站点 VPN,通过建立加密通道保证数据安全。用于远程办公、公共 Wi-Fi 的安全访问等场景。

  • NAT(PAT)的应用和原理:NAT用于将内网 IP 地址转换为公网 IP 地址,PAT是NAT的一种变体,通过端口转换实现多个内网设备共享一个公网 IP 地址。

习题

  • 码分多址

码分复用(码分多址-CDMA:Code Division Multiple Access)是一种共享信道的方式。用户通过挑选不同的码型在相同的频带,相同时间上通信,这样各用户之间就不会干扰(其频谱类似白噪声)。其优点在于,这样的信号具有很强的干扰性,且因为其类似于白噪声而不易被敌人发现。

这就好像,从 A 地到 B 地的路线中,三个不同的乘客分别选择飞机,动车和汽车,三个人的行程是不会冲突的。

在 CDM 中,每一个比特时间再被划分成 m 个短时间(码片)。每一个工作站被指派唯一一个 m bit 的码片序列。

一个站如果发送比特 1,表示发送自己的 m bit 码片序列
一个站如果发送比特 0,表示发送该码片序列的二进制反码

例如,S 站的码片序列指定为 00011011
当 S 站发送比特 1,发送的码片序列是 00011011
当 S 站发送比特 0,发送的码片序列是 11100100
当 S 站什么都不发送,显示 0

PS:一般来说,我们默认将 0 写成 -1,1 写成 +1 的形式

那么在多个站通过同一信道传输数据的时候,如何保证这些数据的独立性呢(不打架),要求数据之间能够内积得零(就是数学上向量内积得零)
比如,A,B 站向 C 站发送数据(这里用 4 位来计算)
如果 A(1,-1,1,-1),那么 B(-1,-1,-1,-1),这样 A,B 内积除以 4 位就得零,使得数据不会干扰。

那么在传播的过程中,如何组合这些数据呢,利用线性相加
还是上面的数据,那么线性相加,组合的结果就是(0,-2,0,-2)

那么在终点站如何分离出各自的数据呢,利用源站与终点站数据内积
还是上面的数据,分离 A 的数据,(0,-2,0,-2)*(1,-1,1,-1)/ 4 = 1,所以 A 站发送的是 1 比特
在这里插入图片描述

  • TCP/IP网络模型
    : TCP/IP 参考模型中的主机-网络层对应于 0SI中的(D)
    A.网络层 B.物理层 C.数据链路层 D.物理层与数据链路层

  • 码元的概念
    承载信息量的基本信号单位是 A
    A.码元 B.比特 C.数据传输速率 D.误码率

  • CRC循环冗余检验码

  • 数据报分片
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 地址聚合

在这里插入图片描述

  • 路由表更新
    规则:
    对发来的路由表
    所有距离+1,下一跳统一为发来的路由器
    表中不存在的,直接添加
    存在,下一跳不同,距离小时更新
    存在,下一跳相同,无条件更新
    在这里插入图片描述

  • 根据路由表求下一跳

在这里插入图片描述

  • 网桥转发表
    在这里插入图片描述

  • 子网划分
    在这里插入图片描述

  • 碰撞检测计算
    在这里插入图片描述

在这里插入图片描述

  • 大题: 有两台主机A和B接在800m长的电缆线的两端,并在t=0时各自向对方发送一个帧,长度为1500bit(包括首部和前同步码)。假定在A和B之间有4个转发器,在转发帧时会产生20比特的时延。设传输速率为100Mbit/s,而CSMA/CD的退避时间是随机数r倍的争用期,争用期为512bit,在发生第一次碰撞后,在退避时A选择r=0而B选择r=1。忽略发生碰撞后的人为干扰信号和帧间最小间隔。
    • (1)设信号的传播速率是2x10^8 (m/s)。试计算从A到B(包括4个转发器)的传播时延。
    • (2)在什么时间(以秒为单位)B完全收到了A发送的帧?
    • (3)现在假定只有A发送帧,帧长仍为1500bit,但4个转发器都用交换机来代替。交换机在进行存储转发时还要产生额外的20bit的处理时延。在什么时间(以秒为单位)B完全收到了A发送的帧?

在这里插入图片描述

  • TCP确认机制
    在这里插入图片描述

  • 样题
    在这里插入图片描述
    在这里插入图片描述

实验题命令

rip路由配置

RIP (Routing Information Protocol) 是一种基于距离向量的路由选择协议。
其工作原理是:每个路由器都维护一个到所有可能目的地的路由表,包括下一跳路由器和到目的地的跳数。RIP路由器会周期性地或者当网络拓扑变化时向其所有邻接路由器发送自己的路由表。配置示例:

  • 配置rip路由:
Router>enable
Router#configure terminal
Router(config)#router rip
Router(config-router)#network 192.168.1.0
Router(config-router)#exit
Router(config)#exit
  1. 如何构建交换转发表 交换机使用 MAC 地址表(也被称为转发表或者 CAM 表)进行帧的转发或者过滤。当交换机接收到一个帧,它会记录源 MAC 地址和接口,并将其添加到 MAC 地址表中。如果目的 MAC 地址在表中,交换机就可以直接转发帧到对应的接口。如果没有,交换机将帧发送到所有的接口(除了源接口)。

VLAN配置VLAN(Virtual Local Area Network)是一种在物理网络中创建独立广播域的技术。同一个 VLAN 中的主机可以相互通信,但是不同 VLAN 中的主机默认是无法相互通信的。配置示例:

Switch>enable 从用户执行模式(User EXEC mode)进入到特权执行
Switch#configure terminal  特权执行模式进入到全局配置模式
Switch(config)#vlan 10 #在交换机上创建一个编号为10的VLAN
Switch(config-vlan)#name VLAN10 #这个命令为VLAN 10设置一个名字(VLAN10)。
Switch(config-vlan)#exit
Switch(config)#interface fa0/1
Switch(config-if)#switchport mode access #设置FastEthernet0/1接口为接入模式。接入模式意味着这个接口只能属于一个VLAN。
Switch(config-if)#switchport access vlan 10 #这个命令将FastEthernet0/1接口分配到VLAN 10。
Switch(config-if)#exit 
Switch(config)#exit
  1. 跨 VLAN 转发 默认情况下,VLAN 是隔离的,也就是说,不同的 VLAN 之间是不能通信的。但是,我们可以通过使用三层交换机来实现跨 VLAN 的通信。实际上,这就是在进行路由操作,因为不同的 VLAN 相当于不同的子网。

  2. 启用三层交换 三层交换机除了可以执行二层交换(通过 MAC 地址进行转发)之外,还可以执行三层路由(通过 IP 地址进行转发)。启用三层交换的命令通常是 ip routing。当启用了三层交换后,三层交换机就可以配置 RIP 或者 OSPF 等路由协议,并且可以进行跨 VLAN 的路由。

启用三层交换实现跨vlan转发实验:

Switch>enable
Switch#configure terminal
Switch(config)#ip routing #启用路由功能
 
#配置vlan10
Switch(config)#vlan 10
Switch(config-vlan)#exit
#配置vlan20
Switch(config)#vlan 20
Switch(config-vlan)#exit
 
 
Switch(config)#interface vlan 10
Switch(config-if)#ip address 192.168.10.1 255.255.255.0  # 为VLAN10配置SVI
Switch(config-if)#no shutdown #启动接口
Switch(config-if)#exit
 
Switch(config)#interface vlan 20
Switch(config-if)#ip address 192.168.20.1 255.255.255.0
Switch(config-if)#no shutdown
Switch(config-if)#exit
 
Switch(config)#interface fa0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 10
Switch(config-if)#exit
 
Switch(config)#interface fa0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 20
Switch(config-if)#exit
 
Switch(config)#exit

简单来说,交换机通过 VLAN 10 和 VLAN 20 分别在 fa0/1 和 fa0/2 端口上接收到的数据包,会基于数据包的目标 IP 地址,通过配置的 SVI(交换机虚拟接口,即各 VLAN 的默认网关)进行路由。

例如,如果一个数据包在 VLAN 10 (通过 fa0/1 端口)进入,目标 IP 是 VLAN 20 中的一个 IP,那么交换机会把这个数据包路由到 VLAN 20(通过 fa0/2 端口)去。

需要注意的是,虽然现在 VLAN 10 和 VLAN 20 可以互相通信,但是这还不意味着 VLAN 内部的主机已经配置好了。主机需要设置正确的 IP 地址、子网掩码、以及默认网关(对应所在 VLAN 的 默认网关!)。否则,主机还是无法跨 VLAN 通信。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

0zxm

祝大家天天开心

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

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

打赏作者

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

抵扣说明:

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

余额充值