数据通信基础课程笔记

前言

 数据通信基础课程笔记,文章仅用于个人期末复习使用,文章图片及部分内容来小林coding、课程ppt;部分来自个人理解。若侵权请联系我删除。

1. 中英互译

应用层Application Layer传输层Transport Layer

网络层Internet Layer网络接口层Link Layer

网络协议(network protocol)

TCP 传输控制协议(Transmission Control Protocol

IP 协议(因特网协议)(Internet Protocol

IP 网络不保证分组的可靠地交付

IP 网络提供的服务被称为:尽最大努力服务(best effort service)

服务接入点 SAP (Service Access Point)

误码率 BER (Bit Error Rate)

确认帧ACK 否定确认帧NACK

循环冗余检验 CRC 帧检验序列 FCS (Frame Check Sequence)

自动重传请求ARQ (Automatic Repeat reQuest)

媒体接入控制 MAC (Medium Access Control)

逻辑链路控制 LLC (Logical Link Control)

带有冲突检测的载波侦听多点接入 CSMA/CD (Carrier Sense Multiple Access with Collision Detection)

地址解析协议 ARP (Address Resolution Protocol)

逆地址解析协议 RARP (Reverse Address Resolution Protocol)

网际控制报文协议 ICMP (Internet Control Message Protocol)

网际组管理协议IGMP协议(Internet Group Management Protocol)

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

无分类域间路由选择 CIDR (Classless Inter-Domain Routing)

虚拟局域网VLAN(Virtual Local Area Network)

面向连接的传输控制协议TCP (Transmission Control Protocol)

无连接的用户数据报协议UDP (User Datagram Protocol)

传输协议数据单元 TPDU (Transport Protocol Data Unit)

路由信息协议RIP(Routing Information Protocol)

开放型最短路径优先协议OSPF(Open Shortest Path First)

动态主机配置协议DHCP (Dynamic Host Configure Protocol)

访问控制列表ACL(Access Control Lists)

2. TCP/IP四层结构与OSI七层结构

3. 计算机网络基础

3.1. 计算机网络&互联(连)网

计算机网络:一些相互连接的能够互相通信的计算机的集合。

互连网(互联网):一些相互连接的计算机网络的集合(网络的网络)。

3.1.1. 不同作用范围的网络

广域网 WAN (Wide Area Network)

城域网 MAN (Metropolitan Area Network)

局域网 LAN (Local Area Network)

个人区域网 PAN (Personal Area Network)

3.1.2. 不同使用者的网络

从网络的使用者进行分类

公用网 (public network) 专用网 (private network)

3.1.3. 用来接入的网络

接入网 AN (Access Network),它又称为本地接入网或居民接入网。

用户与因特网由 ISP 提供的接入网连接起来了。

3.1.4. 性能指标

速率(b/s,或kb/s, Mb/s, Gb/s 等 )、“带宽”是数字信道所能传送的“最高数据率”、吞吐量、时延、利用率

3.1.4.1. 时延
  • 发送时延(从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。 )(通常非常小,可以忽略不计)

  • 传播时延 (信号发送速率 ≠ 信号在信道上的传播速率)

  • 处理时延 交换结点为存储转发而进行一些必要的处理所花费的时间。
  • 排队时延 结点缓存队列中分组排队所经历的时延。排队时延的长短往往取决于网络中当时的通信量。

数据经历的总时延就是发送时延、传播时延、处理时延、排队时延之和:

3.1.4.2. 利用率

信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。

完全空闲的信道的利用率是零。

网络利用率则是全网络的信道利用率的加权平均值。

信道利用率并非越高越好。

当某信道的利用率增大时,该信道引起的时延也就迅速增加。 若令 D0 表示网络空闲时的时延,D 表示网络当前的时延,U 是网络的利用率,数值在 0 到 1 之间,则在适当的假定条件下,可以用下面的简单公式表示 D 和 D0之间的关系:

3.1.5. 计算机联网方法

点对点连接、总线网、星形网、环形网

3.1.6. 计算机体系结构

“分层” 好处:各层之间是独立的。灵活性好。结构上可分割开。易于实现和维护。能促进标准化工作。

3.2. 分组交换

  • 在发送端把要发送的报文分隔为较短的数据块
  • 每个块增加带有控制信息的首部构成分组(包)
  • 依次把各分组发送到接收端
  • 接收端剥去首部,抽出数据部分,还原成报文

在网络核心部分起特殊作用的是路由器(router)。

路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组。

3.2.1. 优点

高效 动态分配传输带宽,对通信链路是逐段占用。

灵活 以分组为传送单位和查找路由。

迅速 不必先建立连接就能向其他主机发送分组。

3.2.2. 问题

分组在各结点存储转发时需要排队,这就会造成一定的延迟。

分组必须携带的首部(里面有必不可少的控制信息)也造成了一定的开销。

3.3. IP获取

3.3.1. IP的唯一性

连接在网络上的每一台计算机都必须有一个 IP 地址。

这个 IP 地址在整个网络中必须是惟一的。路由器根据分组首部中的目的 IP 地址查找出下一跳路由器的地址。

IPv4 协议规定:IPv4 地址是 32 位二进制数字

3.3.2. 个人用户怎样获得 IP 地址

  • 向某个本地因特网服务提供者 ISP 注册申请,并按月交付费用。
  • ISP (Internet Service Provider)已经向有关机构申请到了一段(或几段)的 IP 地址(相当于批发商)
  • 购买某个 ISP 的上网卡。

3.3.3. 中国的单位用户怎样获得 IP 地址

  • 长期使用大量 IP 地址(例如,几千个)
    • 向中国互联网络信息中心 CNNIC
    • 申请CNNIC 的网址:www.cnnic.cn
  • 长期使用少量 IP 地址
    • 向就近的本地因特网服务提供者 ISP 申请

因特网中设有很多的域名服务器 DNS,用来把域名转换为 IP 地址。

  1. .com:商业/公司,表示商业、公司、企业。
  2. .net:网络,诞生于上世纪80年代。
  3. .org:组织,全球第三大国际顶级域名,供非营利组织或机构使用。
  4. .gov:政府,美国政府专用域。
  5. .edu:教育,主要供教育机构使用,如大学等院校。
  6. .mil:军事,代表军事机构或军队。
  7. .int:国际组织,代表国际组织或跨国公司。

3.4. 网络协议的组成要素

语法 数据与控制信息的结构或格式 。

语义 需要发出何种控制信息,完成何种动作以及做出何种响应。

同步 事件实现顺序的详细说明。

3.5. 实体、协议、服务和服务访问点

  • 实体(entity) 表示任何可发送或接收信息的硬件或软件进程。
  • 协议是控制两个对等实体进行通信的规则的集合。
  • 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。
  • 要实现本层协议,还需要使用下层所提供的服务。
  • 本层的服务用户只能看见服务而无法看见下面的协议。
  • 下面的协议对上面的服务用户是透明的。
  • 协议是“水平的”,即协议是控制对等实体之间通信的规则。
  • 服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
  • 同一系统相邻两层的实体进行交互的地方,称为服务接入点 SAP (Service Access Point)。

3.6. 网络互连用到的中间设备

中间设备又称为中间系统或中继(relay)系统

  • 物理层中继系统:转发器(repeater)。
  • 数据链路层中继系统:网桥、交换机或桥接器(bridge)。
  • 网络层中继系统:路由器(router)。
  • 网桥和路由器的混合物:桥路器(brouter)。
  • 网络层以上的中继系统:网关(gateway)。

互联网都是指用路由器进行互连的网络。

4. 物理层 Ethernet/802.3

  • ⭐Hubs:工作在物理层
    • 所有的设备都处于同一个冲突域
    • 所有的设备都处于同一个广播域
    • 设备共享相同的带宽

4.1. 物理传输媒体接口特性

  • 机械特性 指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等等。
  • 电气特性 指明在接口电缆的各条线上出现的电压的范围。
  • 功能特性 指明某条线上出现的某一电平的电压表示何种意义。
  • 过程特性 指明对于不同功能的各种可能事件的出现顺序。

4.2. 双绞线

直通双绞线(正线)

  • 通常用于异构设备互连
    • PC连接交换机
    • 交换机连接路由器

交叉双绞线(反线)

  • 通常用于同构设备互连
    • PC连接PC
    • PC连接路由器
    • 交换机连接交换机
    • 路由器连接路由器

翻转双绞线

    • 双绞线一端采用任意线序,另一端线序完全相反
    • 用于网络设备console管理(不能用于数据传输)

自适应双绞线(Auto MDI/MDIX)、

双绞线线序自适应。自动检测连接到自己接口上的双绞线类型(直通线或交叉线),并自动进行调节。免去同构设备必须使用交叉线,异构设备必须使用直通线的烦恼。

4.3. 香农定理

香农(Shannon)指出:对于带宽受限且有高斯白噪声干扰的信道的极限、无差错的信息传输速率 C 可表达为 C = W log2(1+S/N) b/s

信噪比:信号的平均功率与噪声的平均功率之比,以dB为单位。

S/N dB = 10lg (S/N)

香农公式表明:

  • 信道的带宽或信道中的信噪比越大,则信息的极限传输速率就越高。
  • 只要信息传输速率低于信道的极限信息传输速率,就一定可以找到某种办法来实现无差错的传输。
  • 若信道带宽 W 或信噪比 S/N 没有上限(当然实际信道不可能是这样的),则信道的极限信息传输速率 C 也就没有上限。

5. 数据链路层

  • ⭐交换机(2、3层)/网桥:工作在数据链路层
    • 每个网段都是一个单独的冲突域
    • 所有的网段处于同一个广播域
  • MAC:硬件地址又称为物理地址,或 MAC 地址。
  • MAC地址有48位,但它通常被表示为12位的点分十六进制数。
  • 其中前24位二进制代表该供应商代码。剩下的24位由厂商自己分配。
  • 如果48位全是1,则表明该地址是广播地址。
  • 如果第8位是1,则表示该地址是组播地址。

5.1. 使用信道

  • 点对点信道:使用一对一的点对点通信方式。
  • 广播信道:使用一对多的广播通信方式,必须使用专用的共享信道协议来协调。

5.2. 三个基本功能

5.2.1. 封装成帧

封装成帧(framing)就是确定帧的界限:通过在一段数据的前后分别添加首部和尾部构成一个帧。

5.2.1.1. 用带位填充法(“零比特填充法”)进行帧定界

5.2.2. 差错控制

5.2.2.1. 差错检测
  • 确认帧的使用:协议要求接收方发回载有肯定确认帧ACK和否定确认帧NACK的控制帧。
    • 肯定确认帧:帧安全达到
    • 否定确认帧:帧在传输过程中出现了错误,需要重发
  • 序号的使用
  • 计时器的使用
5.2.2.2. 差错来源

  • 在传输过程中可能会产生比特差错:1 可能会变成 0, 而 0 也可能变成 1。
  • 在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER (Bit Error Rate)。
  • 误码率与信噪比有很大的关系。
  • 为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。
5.2.2.3. ⭐循环冗余检验 CRC (检错技术)
  • 原理 (K、n、M、P)
    • 在发送端,先把数据划分为组。假定每组 k 个比特。
    • 假设待传送的一组数据 M = 101001(现在 k = 6)。我们在 M 的后面再添加供差错检测用的 n 位冗余码一起发送。
    • 用二进制的模 2 运算进行 2^n 乘 M 的运算,这相当于在 M 后面添加 n 个 0。
    • 得到的 (k + n) 位的数除以事先选定好的长度为 (n + 1) 位的生成多项式 P,得出商是 Q 而余数是 R,余数 R 比生成多项式 P 少1 位,即 R 是 n 位。
    • (发送端) 把余数 R 作为冗余码添加在数据 M 的后面发送出去。发送的数据是:2^nM + R 即:101001001,共 (k + n) 位。
    • (接收端)对收到的每一帧进行 CRC 检验
      • 若得出的余数 R = 0,则判定这个帧没有差错,就接受(accept)。
      • 若余数 R ≠ 0,则判定这个帧有差错,就丢弃。
      • 但这种检测方法并不能确定出错的位置。只要经过严格的挑选,并使用位数足够多的生成多项式 P,那么出现检测不到的差错的概率就非常小。
5.2.2.4. 帧检验序列 FCS
  • 在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)
  • 循环冗余检验 CRC 和帧检验序列 FCS并不等同
    • CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。

5.2.3. 流量控制

5.2.3.1. 停止-等待协议

  • 在发送完一个分组后,必须暂时保留已发送的分组的副本。
  • 分组和确认分组都必须进行编号。
  • 超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些。
5.2.3.2. ARQ (Automatic Repeat reQuest)

  • 使用上述的确认和重传机制,我们就可以在不可靠的传输网络上实现可靠的通信。
  • 这种可靠传输协议常称为自动重传请求ARQ (Automatic Repeat reQuest)。
  • ARQ 表明重传的请求是自动进行的。接收方不需要请求发送方重传某个出错的分组 。
5.2.3.3. 连续ARQ
  • 发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认。
  • 如果这时收到了接收端发来的确认帧,那么还可以接着发送数据帧。
  • 由于信道上一直有数据不间断地传送,这种传输方式可获得很高的信道利用率。
5.2.3.4. 滑动窗协议
  • 发送端和接收端分别设定发送窗口和接收窗口 。
  • 发送窗口用来对发送端进行流量控制。
  • 发送窗口的大小 WT 代表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧。

  • 在接收端,只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下。
  • 若接收到的数据帧落在接收窗口之外,则一律将其丢弃。
  • 在连续 ARQ 协议中,接收窗口的大小 WR = 1。
    • 只有当收到的帧的序号与接收窗口一致时才能接收该帧。否则,就丢弃它。
    • 每收到一个序号正确的帧,发送对该帧的确认,同时接收窗口就向前(即向右方)滑动一个帧的位置。

5.3. 使用广播信道的数据链路层

5.3.1. 局域网的数据链路层

  • 局域网最主要的特点是:网络为一个单位所拥有,且地理范围和站点数目均有限。
  • 局域网具有如下的一些主要优点:
    • 具有广播功能。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。
    • 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。
    • 提高了系统的可靠性、可用性和残存性。
5.3.1.1. 常见拓扑

5.3.2. 数据链路层的两个子层

  • 数据链路层拆成两个子层:
    • 逻辑链路控制 LLC (Logical Link Control)子层。
    • 媒体接入控制 MAC (Medium Access Control)子层。
  • 与接入到传输媒体有关的内容都放在 MAC子层,而 LLC 子层则与传输媒体无关。
  • 局域网对 LLC 子层是透明的

5.3.3. CSMA/CD 协议

  • “多点接入”表示许多计算机以多点接入的方式连接在一根总线上。
  • “载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据。如果有,则暂时不要发送数据,以免发生冲突。
  • “冲突检测”就是计算机边发送数据边检测信道上的信号电压大小。
    • 当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。
    • 当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了冲突。

5.3.3.1. “冲突检测"重要特性
    • 使用 CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)。
    • 每个站在发送数据之后的一小段时间内,存在着遭遇冲突的可能性。
    • 这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。
5.3.3.2. 争用期 (冲突窗口)
  • 最先发送数据帧的站,在发送数据帧后至多经过时间 2τ (两倍的端到端时延)就可知道发送的数据帧是否遭受了冲突。
  • 以太网的端到端往返时延 2τ 称为争用期,或冲突窗口。
  • 51.2τs 为以太网争用期的长度。
  • 对于 10 Mb/s 以太网,在争用期内可发送512 bit,即 64 字节。
  • 以太网在发送数据时,若前 64 字节没有发生冲突,则后续的数据就不会发生冲突。
5.3.3.3. 强化冲突
  • 当发送数据的站一旦发现发生了冲突时:
    • 立即停止发送数据;
    • 再继续发送若干比特的人为干扰信号(jamming signal),以便让所有用户都知道现在已经发生了冲突。

5.4. 扩展的局域网

5.4.1. 网桥

  • 网桥工作在数据链路层,它根据 MAC 帧的目的地址对收到的帧进行转发。
  • 网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口 。

5.4.2. 自学习算法建立转发表

  • 在网桥的转发表中写入的信息除了地址和接口外,还有帧进入该网桥的时间(timestamp)。
  • 把每个帧到达网桥的时间登记下来,就可以在转发表中只保留网络拓扑的最新状态信息。
5.4.2.1. 网桥转发帧步骤
  • 网桥收到一帧后先查找转发表中与收到帧的目的地址
    • 如没有,则通过所有其他接口(但进入网桥的接口除外)进行转发(洪泛法)。
    • 如有,则按转发表中给出的接口进行转发。
    • 若转发表中给出的接口就是该帧进入网桥的接口,则应丢弃这个帧(因为这时不需要经过网桥进行转发)。
5.4.2.2. 生成树算法-为了避免产生转发的帧在网络中不断地兜圈子。

5.4.3. 使用网桥带来的缺点

  • 存储转发增加了时延。
  • 在MAC 子层并没有流量控制功能。
  • 具有不同 MAC 子层的网段桥接在一起时时延更大。
  • 站点不宜过多和通信量不宜太大,否则网桥可能会产生广播风暴。

5.4.4. 多接口网桥——以太网交换机

交换式集线器(switching hub)常称为以太网交换机(switch)或第二层交换机(此交换机工作在数据链路层)。

5.4.4.1. 特点
  • 以太网交换机的每个接口都直接与主机相连,并且一般都工作在全双工方式。
  • 交换机能同时连通许多对的接口,使每一对相互通信的主机都能像独占通信媒体那样,进行无碰撞地传输数据。
  • 以太网交换机由于使用了专用的交换结构芯片,其交换速率就较高。

6. 网络层

  • ⭐路由器:工作在网络层

网络层地址由两部分地址组成:网络地址和主机地址。网络地址是全局唯一的。

6.1. 网际协议IP

网际协议 IP 是 TCP/IP 体系中两个最主要的协议之一。与 IP 协议配套使用的还有四个协议:

地址解析协议 ARP (Address Resolution Protocol)

逆地址解析协议 RARP (Reverse Address Resolution Protocol)

网际控制报文协议 ICMP (Internet Control Message Protocol)

网际组管理协议IGMP协议(Internet Group Management Protocol)

6.2. 分类IP地址

IP 地址现在由因特网名字与号码指派公司ICANN (Internet Corporation for Assigned Names and Numbers)进行分配。

32位IPv4和128位IPv6

6.2.1. IP 地址的编址方法

分类的IP地址、子网的划分、构成超网。

6.2.2. 分类的IP地址

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

两级的 IP 地址可以记为:IP 地址 ::= { <网络号>, <主机号>}

6.2.2.1. 重要特性
  • IP 地址是一种分等级的地址结构。
    • 第一,IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了 IP 地址的管理。
    • 第二,路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就减小了路由表所占的存储空间以及查找路由表的时间。
  • 实际上 IP 地址标志着一个主机(或路由器)和一条链路的接口。
    • 当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的 IP 地址,其网络号 net-id 必须是不同的。这种主机称为多归属主机(multihomed host)。
    • 一个路由器至少应当连接到两个网络,因此一个路由器至少应当有两个不同的 IP 地址。
  • 用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。
  • IP地址的分配与网络的覆盖范围没有直接关系。

6.2.3. 地址解析协议 ARP 和逆地址解析协议 RARP

6.2.3.1. 地址解析协议 ARP
  • 不管网络层使用的是什么协议,要实现通信的话,都必须使用硬件地址。
  • 每一个主机的 ARP 高速缓存(ARP cache)中有所在的局域网上的各主机(包括路由器)的 IP 地址到硬件地址的映射表。
  • 当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址和MAC地址的映射关系。没有,则发送ARP请求。
6.2.3.2. ARP 高速缓存的作用
  • 为了减少网络上的通信量,主机 A 在发送其 ARP 请求分组时,就将自己的 IP 地址到硬件地址的映射写入 ARP 请求分组。
  • 当主机 B 收到 A 的 ARP 请求分组时,就将主机 A 的这一地址映射写入主机 B 自己的 ARP 高速缓存中。这对主机 B 以后向 A 发送数据报时就更方便了。
  • ARP 是只作用在同一个局域网上的。
  • 如果所要找的主机和源主机不在同一个局域网上,那么就要通过 ARP 找到连接在本局域网上的路由器(默认网关)的硬件地址,然后把分组发送给路由器,再把分组转发给下一个网络。
6.2.3.3. 逆地址解析协议 RARP
  • 逆地址解析协议 RARP 使只知道自己硬件地址的主机能够知道其 IP 地址。
  • 这种主机往往是无盘工作站。 因此 RARP协议目前已很少使用。

6.2.4. IPv4 数据报的格式

  • 一个 IPv4 数据报由首部和数据两部分组成。
  • 首部的前一部分是固定长度,共 20 字节,是所有 IPv4 数据报必须具有的。
  • 在首部的固定部分的后面是一些长度可变的可选字段。

  • 版本(Version)——占 4 bit,指IP协议的版本,目前的 IP 协议版本号为 4 (即 IPv4)
  • 首部长度(IHL, Internet Header Length)——占 4 bit,可表示的最大数值是 15 个单位(一个单位为 4 字节)因此 IP 的首部长度的最大值是60字节。
  • 服务类型(Type Of Service)——占 8 bit,用来获得更好的服务,这个字段一直不用

  • 总长度(Total Length)——占 16 bit,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节。总长度必须不超过最大传送单元 MTU。
  • 标识(Identification) ——占 16 bit,它用来重组一个数据报的碎片。
  • 标志(Flag) ——占 3 bit,多方面的控制标志

0:未用,必须为0,DF:为0时,代表May Fragment; 为1时,代表Don’t Fragment;MF:为0时,代表Last Fragment;为1时,代表More Fragment

  • 片偏移(Fragment offset) —— 占12 bit,较长的分组在分片后某片在原分组中的相对位置。片偏移以 8 个字节为偏移单位。
  • 生存时间(8 位)记为 TTL (Time To Live)数据报在网络中可通过的路由器数的最大值,每经过一个三层设备(路由器和三层交换机),TTL值减1
  • 协议(8 位)字段指出此数据报携带的数据使用何种协议以便目的主机的 IP 层将数据部分上交给哪个进程处理

  • 首部检验和(16 位)字段只检验数据报的首部
  • 源地址和目的地址都各占 4 字节

6.3. 划分子网

从 1985 年起在 IP 地址中又增加了一个“子网号字段”,使两级的 IP 地址变成为三级的 IP 地址。

这种做法叫作划分子网(subnetting) 。

6.3.1. 划分子网的基础思路

  • 子网的划分对外是透明的。
  • 方法:从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位。

IP地址 ::= {<网络号>, <子网号>, <主机号>}

  • 凡是从其他网络发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号 net-id,先找到连接在本单位网络上的路由器。
  • 然后此路由器在收到 IP 数据报后,再按目的网络号 net-id 和子网号 subnet-id 找到目的子网。
  • 最后就将 IP 数据报直接交付目的主机

6.3.2. 子网掩码

无法从一个 IP 数据报的首部判断出网络是否进行了子网划分。

使用子网掩码(subnet mask)可以找出 IP 地址中的子网部分。

6.3.3. 无分类编址CIDR

6.3.3.1. 网络前缀

1987 年,RFC 1009 就指明了在一个划分子网的网络中可同时使用几个不同的子网掩码。使用变长子网掩码 VLSM (Variable Length Subnet Mask)可进一步提高 IP 地址资源的利用率。

在 VLSM 的基础上又进一步研究出无分类编址方法,它的正式名字是无分类域间路由选择 CIDR (Classless Inter-Domain Routing)。

6.3.3.2. CIDR最主要的特点
  • CIDR 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念。
  • CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。

6.4. 无分类的两级编址

  • 无分类的两级编址的记法是: ⭐ IP地址 ::= {<网络前缀>, <主机号>}
  • CIDR 还使用“斜线记法”(slash notation),它又称为CIDR记法,即在 IP 地址后面加上一个斜线“/”,然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中 1 的个数)。
  • CIDR 把网络前缀都相同的连续的 IP 地址组成“CIDR 地址块”。

eg:
128.14.32.0/20 表示的地址块共有 2^12 个地址。

128.14.32.0/20 地址块的最小地址:128.14.32.0

128.14.32.0/20 地址块的最大地址:128.14.47.255

全 0 和全 1 的主机号地址一般不使用。

6.4.1. 路由聚合(route aggregation)

  • 一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由。
  • 路由聚合也称为构成超网(supernetting)。
  • CIDR 虽然不使用子网了,但仍然使用“掩码”这一名词(但不叫子网掩码)。
  • 对于 /20 地址块,它的掩码是 20 个连续的 1。 斜线记法中的数字就是掩码中1的个数。

6.4.2. CIDR 记法的其他形式

  • 10.0.0.0/10 可简写为 10/10,也就是把点分十进制中低位连续的 0 省略。
  • 10.0.0.0/10 隐含地指出 IP 地址 10.0.0.0 的掩码是 255.192.0.0。此掩码可表示为

  • 网络前缀的后面加一个星号 *,星号 * 表示 IP 地址中的主机号,可以是任意值。如 00001010 00*

6.4.3. 最长前缀匹配

  • 使用 CIDR 时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果。
  • 从匹配结果中选择具有最长网络前缀的路由:最长前缀匹配(longest-prefix matching)。
  • 网络前缀越长,其地址块就越小,因而路由就越具体(more specific) 。
  • 最长前缀匹配又称为最长匹配或最佳匹配。

6.5. 常见的IP网络设备

  • 集线器Hub :工作在物理层
    • 收到电气信号向所有端口发送
    • 连接同网段设备
  • 交换机Switch :工作在数据链路层
    • 按照物理MAC地址进行寻址转发
    • 连接同网段设备

  • 路由器Router :工作在网络层
    • 按照目的网络地址进行寻址转发
    • 连接不同网段设备
    • 需要收集全网路由信息(OSPF、BGP)
  • 路由交换机RS:多用于同一局域网内部
    • 路由交换机即具有二层交换的功能又具有三层路由的功能

7. 传输层

7.1. 传输层协议概述

7.1.1. 进程之间的通信

只有进行端到端的通信的两个主机的协议栈才有传输层。

路由器在转发分组时都只用到下三层的功能。

7.1.2. 传输层的主要功能

  • 传输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)。
  • 传输层还要对收到的报文进行差错检测。
  • 传输层有两种不同的运输协议:
    • 面向连接的传输控制协议TCP (Transmission Control Protocol)
    • 无连接的用户数据报协议UDP (User Datagram Protocol)。
  • 传输层传输的数据单元叫作传输协议数据单元 TPDU (Transport Protocol Data Unit)

7.1.3. TCP 与 UDP

7.1.3.1. 什么是TCP

TCP 是面向连接的、可靠的、基于字节流的传输层通信协议。TCP 传送的数据单元是 TCP 报文段(segment)

TCP 提供全双工通信。

每一条 TCP 连接只能有两个端点(endpoint),每一条 TCP 连接只能是点对点的(一对一)。

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

TCP 可把太长的数据块分段(segment)再传送,TCP 也可以等到有足够多的字节后再构成报文段发送出去。

7.1.3.2. TCP与UDP的区别

UDP 是不需要连接,即刻传输数据。不可靠的(不使用拥塞控制),基于数据报文的传输层通信协议。 UDP 传送的数据单元是 UDP 报文或用户数据报。

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

UDP 的首部开销小,只有 8 个字节。

7.1.4. 传输层的端口

端口(port): TCP/IP 体系中服务接入点的代名词。

端口用一个 16 位端口号进行标志。

端口号具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。

7.1.4.1. 三类端口

熟知端口(well-known),数值一般为 0~1023。

登记端口号(registered port),数值为1024~49151,为没有熟知端口号的应用程序使用的。使用这个范围的端口号必须在 IANA 登记,以防止重复。

客户端口号或短暂端口号,数值为49152~65535,留给客户进程选择暂时使用。

7.2. 套接字 (socket)

套接字 socket = (IP地址: 端口号)

⭐每一条 TCP 连接被通信两端的两个端点(即两个套接字)所确定。

TCP 连接 ::= {socket1, socket2} = {(IP1: port1), (IP2: port2)}

7.3. TCP 的运输连接管理

7.3.1. 运输连接的三个阶段

  • 运输连接有三个阶段,即:连接建立、数据传送和连接释放。
  • 连接建立过程中要解决以下三个问题:
    • 要使每一方能够确知对方的存在。
    • 要允许双方协商一些参数(如最大报文段长度,最大窗口大小,服务质量等)。
    • 能够对运输实体资源(如缓存大小等)进行分配。

7.3.2. 客户服务器方式

TCP 连接的建立都是采用客户服务器方式。

主动发起连接建立的应用进程叫做客户(client)。

被动等待连接建立的应用进程叫做服务器(server)。

7.3.3. TCP/IP的三次握手

如果客户端要和服务端建立连接,那么客户端首先会向服务端发送一个SYN ,服务端收到这个SYN 后会从监听转变为SYN_RCVD状态,然后向客户端发送SYN+ACK,客户端收到后,会转变为ESTABLISHED状态, 然后向服务端发送ACK,服务端接收到后就也转变为建立完成状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值