WWW万维网

  • 万维网是一个联机的、大规模的信息储存所,是运行在因特网上的分布式应用;
  • 浏览器最重要的部分是渲染内核,也就是浏览器内核,负责对网页进行解析和显示
  • 万维网使用【统一资源定位符URL】来定位因特网上的资源,其格式为【协议://主机:端口/路径】
  • 万维网文档
    • 超文本标记语言html;使用多种标签来表示网页的结构和内容
    • 层叠样式表css;从审美的角度来描述网页的样式
    • 脚本语言JavaScript;控制网页的行为
  • 超文本传输协议http定义了浏览器怎样向万维网服务器请求文档,以及服务器怎样把文档传输给浏览器
    • http/1.0使用【非持续链接】,浏览器每请求一次文档都要建立TCP链接,端口号80,受到响应后关闭链接。
    • http/1.1采用【持续链接方式】,服务器在发送响应后持续保持链接,可以持续进行请求和响应,为了提高效率,还可采用流水线方式,即浏览器在受到http响应之前,可以连续发送多个http请求报文;
  • http报文有两种,请求报文和响应报文,每个字段都是ASCII码,且每个字段的长度是不同的;
  • cookie提供了一种无需用户主动出示用户标识符来识别用户的方式,也就是说,该技术是对无状态的http进行状态化的技术
  • 万维网还可以使用【缓存技术】提升效率,缓存既可以存在于客户机上,也可以存在于中间系统上,存在于中间系统上的缓存叫做【代理服务器】

电子邮件

  • 电子邮件系统采用客户/服务器方式,有三部分组成:用户代理,邮件服务器和所需的协议
    • 用户代理即用户与电子邮件系统的接口,即邮件客户端
    • 邮件服务器是电子邮件的基础设施,用于维护用户的邮箱,每个ISP都有自己的邮件服务器,功能是发送和接受邮件,
    • 协议包括发送协议(如SMPT)和接收协议(如POP3);
  • 常用的发送协议是简单邮件发送协议SMTP
    • 给予TCP链接
    • 只能发送ASCII码文本
    • 用于用户代理向邮件服务器发送,以及邮件服务器之间发送
  • 常用的邮件读取协议有两个
    • POP3,只能下载后删除或下载后保留的方式管理自己的邮件,不能在服务器端操作,只能下载到自己的电脑里后再操作
    • 因特网邮件访问协议IMAP,允许用户在服务器像整理文件夹一样管理自己的邮件,因此,其是一个联机协议
    • 两者都采用基于TCP的客户/服务器链接方式,POP3采用端口110,IMAP采用端口143
  • 基于万维网的电子邮件
    • 用户通过账户密码登录电子邮件万维网网站,使用浏览器就能收发、阅读、管理自己的电子邮件,工作模式和IMAP类似,但是不需要客户端
    • 在用户浏览器和电子邮件服务器之间使用http协议,在服务器之间使用SMTP协议

文件传送协议FTP:

  • FTP用于文件传送
  • 是因特网上使用的最广泛的文件传输协议
    • 屏蔽了计算机的细节,因此可以在异构网络下的不同类型的计算机之间传送数据
    • 提供了交互式的访问,允许指定文件的类型和格式,并允许文件拥有存取权限
  • 客户和服务器之间需要建立两个并行的链接
    • 控制连接,在会话期间一直保持连接状态,用于传输FTP相关命令
    • 数据连接,仅在文件传输期间保持链接状态,用于文件传输
    • 默认情况下,控制连接使用端口号21,数据连接使用端口号20;但是否使用20端口建立数据连接取决于传输模式,主动方式用20端口,被动方式将由服务器和客户端自行协商决定

域名系统DNS domain name system

  • 是因特网使用的命名系统,用来将便于人们记忆的主机名,转换为便于机器处理的IP地址
  • 因特网采用层次树状结构的域名系统
  • 顶级域名系统分为三类:
    • 国家顶级域名
    • 通用顶级域名
    • 反向域
  • 必须存在域名服务器中才能供世界各地的主机查询,显然不能存在一个服务器中,因此存在于世界各地的服务器中
  • 域名服务器可分为以下四类
    • 根域名服务器
    • 顶级域名服务器
    • 权限域名服务器
    • 本地域名服务器
  • 域名解析的过程使用两种查询方式
    • 递归查询
    • 迭代查询
  • 为了提升查询效率,减小因特网上的DNS查询报文数量,在域名服务器和主机中,广泛采用高速缓存
  • DNS报文采用UDP协议进行封装,端口号为53

动态主机配置协议DHCP:

  • DHCP提供了一种机制:新加入的主机可以自主的通过服务器获取IP地址的相关配置,而不需要人工配置
  • DHCP的报文有6种:
    • 发现
    • 提供
    • 请求
    • 确认
    • 否认
    • 释放
  • 在运输层使用UDP协议进行封装,客户使用的端口号是68,服务器使用的端口号是67
  • 客户在未获取到地址时,使用的地址是0.0.0.0
  • 每个网络都设置一台DHCP服务器会使DHCP服务器过多,因此现在至少每个网络都有一个DHCP中继器,具体为一个路由器,其中配置了DHCP服务器的IP地址信息,作为各网络中计算机和DHCP服务器的桥梁;

C/S方式与对等(P2P)方式:

  • 客户、服务器方式:
    • 指的是通信的两个应用进程
    • 描述的是进程之间,服务与被服务的关系
    • 客户的是服务的请求方,服务器是服务的提供方
    • 服务器总处于运行状态,等待客户的服务请求,总是有固定的进程端口,提供服务的主机也有固定的IP地址
    • 采用C/S方式的应用服务,多半是服务集中型的,大部分的服务集中在比客户计算机少得多的服务器计算机上
      • 常出现服务器跟不上客户计算机的情况
      • 为此,常用计算机集群构建一个强大的虚拟服务器
  • 对等方式:
    • 没有固定的服务请求者与提供者,分布在网络边缘各端系统中的应用进程是对等的,既是服务提供方,也是服务请求方
    • 流行的P2P应用包括:P2P文件共享、技师通信,P2P流媒体,分布式储存等
    • 服务分散型,服务并不集中在某大型服务器当中,而是分散在各个用户主机当中
    • 最突出的特点之一就是其可拓展性,每增加一台主机,不仅仅增加了服务请求方,还增加了服务提供方,因此,系统性能不会随着规模的增大而降低
    • 具有成本上的优势,不需要庞大的服务器和网络带宽,为了节约成本,服务商对将对P2P用于应用的方式越来越感兴趣

应用层概述

  • 计算机网络的最顶层,是设计计算机最终的目的

TCP报文的首部格式:

  • 为了实现可靠传输,TCP采用面向字节流的方式
  • 传输时,取出一部分字节,为其添加首部,形成TCP数据报,因此数据报由首部和数据荷载组成
  • TCP的全部功能体现在其首部格式的各字段当中:

image.png

  • 序号:数据荷载的第一个字节对应的序号
  • 确认号:请求的下一个字节的序号,也代表着“此序号之前的字节已全部完成接收”
  • 数据偏移:指明了首部的长度
  • 保留:取为0,保留位
  • 窗口:取接收窗口和发送窗口的较小值
  • 校验和:确保数据没有出错
  • 紧急指针:表明此数据荷载中紧急数据的长度
  • 选项(长度可变):实现TCP数据报的一些其他功能
  • 填充:确保整个首部是4字节的整数倍,用0来填充
  • URG:是否是紧急数据
  • ACK:确认

TCP的拥塞控制:

  • 分为以下四中算法:
    • 慢开始
      • 从0开始,指数增长,有一个最大值,叫做“ssthresh”
      • 达到最大值时,停止慢开始算法,使用避免拥塞算法
    • 避免拥塞
      • 每传送一次,窗口+1,直到遇到超时重传,重新开始慢开始算法
    • 快重传
      • 再快重传中,连续收到3个重复的确认,启动快恢复算法
    • 快恢复
      • 更新ssthresh的值为遇到3个重复确认时的一半,并将当前的窗口值也调整为相同的值,并再次使用避免拥塞算法

TCP的流量控制:

  • 一般情况下,我们总希望数据传输的快一点
  • 如果传送速度大于接受速度,就会造成数据的丢失
  • 通过滑动窗口控制,能很容易的实现流量控制
    • 接收方通过控制接收窗口的大小来限制发送窗口的大小
    • 发送发接受到0窗口通知后,应启动持续计时器,超时后,向接收方发送0窗口探测报文

UDP与TCP
user datagram Protocol
transmission control Protocol

UDP TCP
不可靠传输 可靠传输
无连接 面向连接
对应用层交付的报文直接打包 面向字节流
不使用流量控制和拥塞控制 使用流量控制和拥塞控制
首部开销小,8字节 首部开销最小20字节,最大60字节

运输层端口号、复用、分用的概念:

  • 端口号用来区分应用进程
  • 源应用报文通过【UDP复用】成为用户数据报,用户数据报通过【IP复用】成为IP数据报
  • IP数据报通过【IP分用】成为用户数据报,再通过【UDP分用】成为应用报文,交由目的应用程序处理

运输层概述

  • 之前的物理层、数据链路层和网络层,解决的是主机与主机之间通过异构网络连接起来面临的问题,实现的是主机之间的通信;
  • 实际上,通信的双方是主机上的进程,应用程序之间的通信又叫端到端的通信
  • 如何为运行在不同主机之间的应用程序实现通信,是运输层的主要任务;运输层的协议又称为端到端的协议
  • 运输层向高层的用户屏蔽了底层的细节,它使应用程序看起来像是在应用程序间建立了一条逻辑通信,即端到端的逻辑通信信道;
  • 根据需求不同,运输层提供两种协议,分别是建立连接的TCP协议和不建立连接的UDP协议;

    虚拟专用网络VPN virtual priva network与网络地址转换NAT network address transition

    VPN:

  • 利用公用的因特网作为本机构各专用网络之间互相联通的载体,这样的专用网络称为虚拟专用网络

  • 同一机构不同部门的内部网络所组成的虚拟专用网络又称为【内联网VPN】
  • VPN要保证数据报传输的安全,会将内部的数据报加密,转换为外部数据报在外部因特网上发送
  • 有些时候一个机构的VPN需要外部机构参与进来(通常是合作伙伴),这样的VPN叫【外联网VPN】
  • 在外地办公的员工,需要访问内部网络中的内容时,只要能接入外部因特网,再打开PC的VPN专用软件,就可以在任何地方访问内部网络中的数据,这相当于建立了【VPN隧道】,叫做【远程接入VPN】

网络地址转换:

  • 因为IP地址的短缺,因此各机构内的地址,应该是本机构能够自由分配的专用地址,而不是需要申请、在因特网上使用的公有地址
  • IPV4地址耗尽的危机仍然没有得到解除
  • 1994年提出的NAT方法用于缓解地址耗尽的问题
  • NAT允许大量使用内部专有地址的主机共享少量的公有地址,来访问因特网上的主机和共有资源
  • 由于大多数的网络应用都是使用运输层的UDP协议和TCP协议来传输数据,因此可以将运输层的端口号和IP地址一起转换,这样,用于一个全球IP地址就可以同时让多个拥有本地地址的主机链接因特网上的资源,这种技术叫网络地址与端口号转换技术NAPTnetwork address and port transition
  • 对于一些P2P网络应用,需要外网主机主动与内网主机进行通信,在通过NAT时会遇到问题,需要网络应用使用一些NAT穿越技术来解决问题
  • 由于NAT对外网主机屏蔽了内网主机的网络地址,因此能起到一定的保护作用

    网际控制报文协议ICMP

    目的:为了在网际层更好的传输IP数据报,提升交付成功的机会,在网际层使用了ICMP Internet control message Protocol

主机或路由器使用该协议发送【差错报告报文】和【询问报文】
ICMP报文被封装在IP数据报中发送
差错报告报文有5种类型:

  • 终点不可达
  • 源点抑制
  • 时间超过
  • 参数问题
  • 改变路由

以下情况不应发送ICMP差错报告报文:

  • 对ICMP差错报告报文不再发送差错报告报文
  • 对第一个分片数据报片的所有后续数据报片都不发送
  • 对具有多播地址的数据报片不发送
  • 对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报片不发送

常用的询问报文有两种:

  • 回送请求和回答
  • 时间戳请求和回答

ICMP的应用:

  • 分组网间探测ping
  • 跟踪路由

IPV4数据报的首部格式

image.png
是从数据链路层进入网际层进行的封装?

可变部分 40字节

  • 可选字段,0到40字节不等,用来支持测量、排错、安全等,
    • 虽然增加了IPV4的功能,但是却使数据报长度变成了可变的,增加了路由器处理数据报的开销,实际上,可选字段很少被使用;
  • 填充:为了确保首部的长度为4字节的整数倍,使用全0进行填充

    固定部分 20字节

  • 版本 占用4比特,用来表示当前IP协议的版本,目前广泛使用的是IPV4

  • 首部长度 4 比特 表示IP数据报首部的长度,以4字节为单位取值:
    • 最小10进制数为5,表示首部长度为20字节
    • 最答取值为十进制数15,表示首部长度为60字节
  • 区分服务 8比特 用来获得更好的服务,只有在区分服务时,该字段才起作用,一般情况下不使用
  • 总长度 16比特 表示IP数据报总长度(首部+数据荷载),最大取值为十进制的65535
  • 标识 16比特 每个数据报的分片应具有相同的标识,IP软件维持一个计数器,每产生一个数据包,计数器加一,并赋值给该标识字段
  • 标志 占三比特 分别为DF、MF、保留位
    • DF,1标识不允许分片,0表示允许分片
    • MF,1表示“后面还有分片”,0表示“这是最后一个分片”
    • 保留位,必须为0
  • 片偏移 13比特 表示数据包的分片距离其原数据报的起始有多少个偏移,以8比特为单位
  • 生存时间TTL 占8比特 表示数据报的生存时间
    • 最初以秒为计量单位,最大生命周期为255秒,每经过一个路由器转发,路由器就从该字段上减去在该路由器上所耗费的时间,若结果不为0就继续转发,否则丢弃;
    • 现在以“跳数”为单位,路由器转发时,将该字段的值减1,若不为0就转发,为0就丢弃
    • IP数据报每次经过路由器的转发,路由器都要重新计算其首部检验和,因为生存时间、标志、片偏移等数据的值会发生变化
  • 协议 8比特 表明IP数据报的数据部分使用何种数据协议单元,常见的协议单元如下图:

image.png

  • 首部检验和 16比特 用来检验数据报在传送过程中是否出现了差错,
    • 因为IP层本身提供不可靠服务,而检验数据差错又是一件耗时的事,所以IPV6中路由器讲不再检验数据差错,从而更快的转发数据报
  • 源/目的IP地址 各占32比特 用来填写源主机与目的主机的IP地址

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

    为什么要使用外部网关协议EGP如边界网关协议?

  • 不同的自治系统,度量路由的代价不同,因此,对于自治系统之间的路由选择,不能统一的找到最优路径

  • 自治系统之间的路由选择还需要考虑政治、安全、经济等因素
  • BGP只求找到一条较好的路由(不兜圈子),而不是最优路径

配置BGP时,每个自治系统的网络管理员需要至少配置一个路由器作为该自治系统的【BGP发言人】
不同的自治系统间交换路由信息,需要先建立【TCP连接】,端口号为179

  • 建立连接后,通过交换BGP报文来建立BGP会话
  • 通过BGP会话来交换路由信息
    • 交换的是网络可达性信息(要到达某一个网络需要经过的一系列自治系统)
  • 互相交换信息的两个BGP发言人,互称彼此为邻站或对等站

BGP发言人除了运行BGP协议,还需要运行自己所在自治系统的路由协议
当交换了网络可达性信息后,各发言人就根据自己所采取的策略,计算出达到某个自治系统的较好路由,也就是构造出树形结构、不存在环路的自治系统连通图。
适用于多级结构的因特网
BGP-4有四种报文

  • 打开OPEN-用于初始化通信
  • 更新UPDATE-用于更新路由信息,或发送撤销的一系列路由
  • 保活KEEPALIVE-用来周期性的证实邻站的连通性
  • 通知NOTIFICATION-用来发送检测到的差错

开放最短路径优先OSPF协议

  • 是为了克服RIP的缺点而被开发出来的
  • “开放”意味着该协议不是由某个公司控制的,而是公开发表的
  • 最短路径优先源自于最短路径算法SPF

OSPF的特点:

  • 基于【链路状态】而不是距离向量
  • 收敛速度快,不限制网络规模
  • 链路状态指和哪些路由器相连,对应的代价是多少
    • 代价用来表示费用、时延、带宽、距离等,又网络管理员来决定
  • 每个路由器都会产生【链路状态通告LSA】,包含以下内容:
    • 直连网络的链路状态信息
    • 相邻路由的链路状态信息
  • LSA被封装在【链路状态更新分组LSU】中发送
  • 每个路由器都有一个【链路状态数据库LSDB】,用于储存LSA
  • 通过各路由器泛洪发送封装有自己LSA信息的LSU,实现各路由器的LSDB的同步
  • 路由器基于LSDB进行最短路径优先计算,构建各自的路由表
  • 协议有以下五种分组类型:
    • hello分组
    • 数据库描述分组
    • 链路状态请求分组
    • 链路状态更新
    • 链路状态确认
  • 多点接入网络中,邻居关系的建立
    • 通过选举,选举【指定路由器】和【备用指定路由器】
    • 非两者的路由器只能与这两个路由器建立邻居关系
    • 这两者之间互相交换信息
  • 为了能够使协议用于大规模的网络,协议将一个自治系统划分为若干个小的区域

    • 好处是把利用泛洪法交换信息的范围局限于每一个区域而不是自治系统,从而减少了整个网络上的通信量

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

      RIP是什么?
  • 是内部网关协议中最先得到广泛应用的协议之一

  • RIP要求自治系统AS内的每一个路由器都知道自己到达AS内任意网络的距离,这是一组距离,称为【距离向量】
    • 用【跳数】来计量距离
      • 直连网络的跳数=1
      • 非直连网络的跳数=经过的路由器个数+1
      • 允许的最多跳数为15,距离=16将相当于不可达;因此RIP仅适用于小型互联网;

RIP的三个要点:

  • 和谁交换信息?-相邻的路由器
  • 交换什么信息?-交换自己的路由表
  • 何时交换信息?-周期性的交换信息

RIP的工作过程:

  • 起初只能看到与自己直连的网络,记录跳数为1;
  • 每个路由器仅和相邻的路由器周期性的交换路由表信息;
  • 经过一段时间的交换后,每个路由器都知道了AS内的每个网络的最短距离和下一跳的地址,这个状态称为【收敛】;

RIP路由条目的更新规则:

  • 发现新网络,更新
  • 到达目的网络,相同下一跳,最新消息,更新;
  • 到达目的网络,不同下一跳,新路由优势,更新;
  • 到达目的网络,不同下一跳,新路由劣势,不更新;
  • 到达目的网络,不同下一跳,等价负载均衡;

RIP存在“坏消息传的慢”的问题,又称为【路由环路】或【距离无穷尽】的问题,这是距离向量算法的固有问题,可以通过以下方式改进

  • 将最大距离限制为15,16=不可达;
  • 当路由表发生变化时,就立即发送更新报文,而不是周期性发送;
  • 让路由器记录收到信息的接口,而不让同一路由信息通过该接口反方向传送,即【水平分割】;

    路由选择协议概述

    分为两种,有不同的特点:

  • 静态

    • 人工配置的如特定主机路由、黑洞路由
    • 适用于小范围网络
    • 开销小但不够灵活
  • 动态
    • 通过协议自动获取的路由信息
    • 适用于大范围网络
    • 开销大,能适应大范围网络变化

因特网采用“分层次”的路由选择协议:

  • 将不同的网络、主机分为不同的自治系统,每个自治系统选择自己的路由协议
  • 分为内部网关协议和外部网关协议

路由器的主要结构:

  • 主要功能:
    • 路由记录
    • 查表转发
  • 结构

    • 路由选择处理机,负责记录路由表
    • 各个接口和转发表,负责连接和转发

      静态路由配置及其可能产生的问题:

      静态路由指是由网络管理员或用户手动配置路由器的路由表,有以下特点:
  • 开销小

  • 不能适应变化的网络状态
  • 一般只用在小规模网络当中

静态配置可能会因为配置不当产生路由环路的问题:

  • 线路故障
  • 聚合了不存在的网络
  • 配置错误

路由表条目的类型:

  • 静态路由(人工配置)
  • 直连路由
  • 动态路由(路由选择协议)

特殊的静态路由:

  • 黑洞路由
  • 特定主机路由(目的网络为特定主机IP,掩码为255.255.255.255)
  • 默认转发地址(目的网络为0.0.0.0,掩码为0.0.0.0)

    IP数据报的发送、转发过程:

    主机发送数据报:

  • 判断目的主机是否与自己在同一网络

    • 若是,则直接交付
    • 若不是,则间接交付;转发给默认网关(路由器)

路由器发送数据报:

  • 检查数据报首部是否出错:
    • 出错,丢弃并通知源主机
    • 未出错,转发
  • 根据数据报的目的地址查找【路由表】中的匹配条目
    • 若找到,则转发给下一跳
    • 若未找到,丢弃并通知源主机

IPV4地址的应用规划:

如果要为需求数量不同的几个网络规划地址,有两种规划方式:

  • 定长子网掩码的FLSM(fixed length subnet mask)
    • 使用同一个子网掩码划分子网
    • 每个网络的IP数量相同,容易造成地址浪费
    • 划分不灵活,只能划分为2n数量个子网,n为从主机地址借用的比特位数
  • 非定长子网掩码(VLSM variable length subnet mask)
    • 使用不同的子网掩码划分子网
    • 子网的IP数量按需控制,尽可能减少地址浪费
    • 划分灵活

无分类编址的IPV4地址:

为什么采用无分类编址?

  • IPV4地址即将耗尽
  • 大量的C类网络因可容纳IP地址少而没有充分利用

具体解决方案:

  • 开发无分类域间路由选择(CIDR)
  • 同时成立IPV6研究组,以永久解决地址耗尽的问题

CIDR

  • CIDR采用斜线表示法,斜线后写上用来表示网络号的比特的位数
  • 实际上是将网络前缀都相同的网络地址聚合成一个CIDR地址块
  • 只要知道CIDR地址块中的任何一个地址,就能知道关于该地址块的全部细节:
    • 地址块的最小地址
    • 最大地址
    • 地址数量
    • 所聚合的某类别的地址的数量
    • 地址掩码
  • 路由聚合(也叫构造超网)的方法是找到共同前缀
  • 网络号越长,地址块越小,路由越具体
  • 若转发分组时,有多条路由可选,会匹配长的那条,因为长的更具体;

IPV4的子网划分:

为什么采用子网划分?

  • 因为为新增的网络申请网络号会有以下弊端:
    • 申请时间长
    • 原有的网络的大量IP被浪费
    • 会增加其他路由器中路由表记录的数量
  • 解决方法:从主机号借一部分比特作为子网号


    子网如何划分?

  • 32比特的子网掩码,通过连续的比特1来表示网络号和子网号

  • 通过连续的比特0来表示主机号
  • 通过将子网掩码和网络号进行逻辑与运算,可以得到IP网络地址所在的网络地址

给定IP地址及其子网掩码,就可以得知子网划分的细节重要

  • 借用了多少位比特作为子网-划分出的子网数量
  • 每个子网可分配的网络数量
  • 每个字网的网络地址和广播地址
  • 每个子网可分配的最大、最小网络地址

默认的子网掩码:
A类:255.0.0.0
B类:255.255.0.0
C类:255.255.255.0
IPV4地址:

  • 为网络上的每台主机(或路由器)的每个网络接口设置的全球唯一的32比特标识符;
  • 由32比特构成,即由4个字节组成,因此被称为IPV4
  • 为方便表示,采用“点分十进制”的表示方法,每8个比特写成一个十进制数
    • 8位无符号二进制整数与十进制数之间的转换
  • IPV4地址的编址方法经理了三个阶段

    • 分类编址
    • 划分子网
    • 无分类编址
  • 8位全为1的二进制数对应的十进制数是255

  • 27=128

IPV4的分类编址:

类别 A类 B类 C类
类别特点
- 8(网络号)+24(主机号)
- 8位网络号0开头

- 16+16
- 16位网络号10开头

- 24+8
- 24位网络号110开头
最大网络号
最后一个可指派网络号
01111111=127,作为本地网络回环测试,不可指派 前两位为固定的10,剩下14位全为1=191
最大网络号即为191.255
前三位为固定的110,剩下19位全为1=223
最大网络号即223.255.255
最小网络号
第一个可指派网络号
00000001=1
- 0保留,不可指派
10000000.00000000=128.0 192.0.0
可供指派的网络号数目 2(8-1)-2
- 全0是保留的网络地址
- 127.是本地网络回环测试地址
2(16-2) 2(24-3)
每个网络可供使用的主机号数目 224-2
- 0.0.0.0是保留的网络地址
- 127.255.255.255是广播地址
2(16)-2
- 去除全0的地址
- 去除全1的广播地址
28-2
- 去除全0的地址
- 去除全1的广播地址

网络层提供的两种服务:

  • 面向连接的虚电路服务
  • 无连接的数据报服务 | 种类 | 面向连接的虚电路服务 | 无连接的数据报服务 | | —- | —- | —- | | | 可靠链接应由网络来保证 | 可靠链接由用户主机来保证 | | | 目的主机的地址仅仅在建立连接的时候使用,之后每个分组的首部直附带一个虚电路编号 | 每个分组都要携带目的主机地址 | | | 通信结束后,释放之前建立的虚电路 | 无需建立虚电路,每个分组可走不同的路径 | | | 建立网络层的链接 | 不需要监理网络层的链接 |

TCP/IP协议在网际层提供的是数据报服务。
网络层概述:

  • 网络层主要解决以下几个问题:
    • 选择哪个路由器?
    • 网络寻址
    • 向运输层提供服务(可靠服务还是非可靠服务)
  • 因特网是目前用户数量最多的网络,它使用【TCP/IP协议栈】
  • TCP/IP协议栈的网络层使用的是【网际协议IP】,因此我们也把TCP/IP协议栈中的网络层叫网际层;
  • 通过学习协议栈当中的网际层来学习网络层的理论与实践知识;

虚拟网络VLAN的实现机制:

  • IEEE802.1Q帧对以太网的MAC格式帧进行了扩展,加入了4字节的【VLAN标记】
  • VLAN标记的最后12比特称为【VLAN标识VID】,作用是【唯一的标识了以太网属于哪个VLAN】
    • VID的取值范围是【0~212-1】,即【0~4095】;
    • 0和4095都不用来表示VLAN,因此VID的取值范围是【1~4094】
  • 802.1Q帧是【用交换机来处理的】,而不是由用户主机来处理的
    • 当交换机收到普通以太网帧的时候,会插入4字节的VLAN标记,转换为802.1Q帧,简称【打标签】;
    • 当交换机转发802.1Q帧时,【可能】会删除其4字节的VLAN标记转换为普通以太网帧,简称【去标签】;
  • 交换机的端口类型:Access Trunk Hybrid | 端口类型 | Access | Trunk | Hybrid | | —- | —- | —- | —- | | 连接对象 | 连接用户计算机 | 交换机之间、交换机与路由器 | 交换机之间、交换机与路由器之间 | | VLAN个数 | 只能属于一个VLAN | 可以属于多个VLAN | 可以属于多个VLAN | | PVID与端口所属的VLAN的ID的关系
    *PVID指的是交换机上的端口的标识,VLANID指所设置的主机所属的VLAN | PVID与VLAN的ID相同,默认值为1 | 用户可以自行设置PVID,默认为1 | 可以设置PVID,默认为1 | | 接受处理方法 | 一般只接收未打标签的以太帧,并对其打标签 |
    - 接受未打标签的以太帧,根据端口的PVID打标签
    - 接收已打标签的以太帧
    |
    - 发送处理:查看帧的VID
    - 若在删除列表中,则去标签再转发
    - 若不在删除列表中,则直接转发
    - 端口接收处理方法(和Trunk相同):
    |

虚拟局域网VLAN

  • 以太网交换机工作在【数据链路层】(也包含物理层)
  • 使用交换机组成的以太网,都属于同一个【广播域】
  • 因此,当广播域逐渐变大,会出现一系列问题:
    • 广播风暴
    • 难以维护和管理
    • 潜在的安全问题
  • 客观事实:网络中会频繁的出现广播信息
  • 因此就需要【分割广播域】,路由器可以分割广播域,单路由器成本高,因此,【虚拟局域网VLAN】应运而生
  • 【虚拟局域网VLAN(virtual local area network)】是一种【讲局域网内的设备划分为与物理位置无关的逻辑组的技术,这些逻辑组有某些共同的需求】

以太网交换机的【生成树协议STP(spanning Tree Protocol)】

  • 为了增加网络的稳定性,会增加【冗余链路】,但同时会形成【网络环路】,出现各种问题(比如帧交换表震荡);
    • 为了解决上述问题,交换机通过【STP】来避免网络环路的形成——自动计算并构建一个逻辑上没有环路的网络,其逻辑拓扑结构必须是树形的
    • 生成的树形网络要【保证整个网络的联通】
    • 当首次进行交换机的链接或拓扑物理结构发生变化时,交换机都将【重新生成树的计算】

交换机自学习和帧转发的流程:
交换机工作于【数据链路层】
交换机收到帧后,在【帧交换表】中查找【帧的目的MAC地址】和【对应的交换机接口号】,然后通过该地址转发帧;
交换机是【即插即用】设备,通过【自学习】和逐渐建立起【帧交换表】;
自学习和转发帧的流程:

  1. 接受帧,进行【登记】,登记内容有【源MAC地址】和进入交换机的【接口号】;
  2. 转发帧,有三种可能情况:
    1. 明确转发,交换机知道应该从那个端口转发;
    2. 盲目转发,交换机不知道应该从那个端口转发,所以通过除进入交换机的端口的所有其他端口进行转发,也成【泛洪】;
    3. 明确丢弃,交换机知道不应该转发该帧,丢弃;

交换机的帧交换表中的每条记录都有自己的【有效时间】,到期删除,原因如下:

  • 网卡可能会更换
  • 交换机的接口可能会接入另一台主机

集线器和交换机的区别:

  • 集线器属于物理层,交换机属于数据链路层
  • 集线器扩展广播域和碰撞域,交换机仅扩展广播域(交换机的每个接口都是一个单独的碰撞域)
  • 集线器对收到的信号进行放大、转发,交换机根据MAC地址对帧进行转发
  • 两者作为互联设备的以太网,集线器属于【共享总线式以太网络】而交换机属于【交换式以太网】,引起交换机会根据MAC地址过滤帧,即【隔离碰撞域】

IP地址

  • 网络层
  • 用来判断在网络中的位置

MAC地址

  • 数据链路层
  • 用来判断唯一网络接口,因此又叫“物理地址”,但注意不属于“物理层”

数据包转发过程中,各设备知道IP地址,但不知道MAC地址;源IP地址和目的IP地址不变,而源、目的mac地址随链路改变。
数据链路层的三个主要问题:

  1. 封装成帧
  2. 差错检测
  3. 可靠传输

物理层(?)编码的方式:
-不归零
-归零
-曼彻斯特
-差分曼彻斯特
物理层的作用:
为数据链路层屏蔽各种传输媒介的差异,数据链路层不用再考虑不同媒介的传输速率等问题;
网络、互联网和因特网的区别、联系:

  • 节点+链路=网络,比如两台电脑和一台打印机组成了网络;
  • 互联网也叫“网络的网络”,由多个路由连接起来的网络组成了互联网;
  • 因特网是最大的互联网;