网络分层与基础概念

  1. 网络分层
  2. 相关概念
  3. TCP/IP协议族基础概念

1 网络分层

进行分层可以关注每一层所独立的功能,方便学习分析以及应用

  1. 三种分层模型
  2. 每层的功能

1.1 三种分层模型

image.png
OSI参考模型

  • 7层的网络分层,前三层是资源子网,用于数据处理,后三层是通信子网,用于数据通信,中间是传输层
  • C端与服务端拥有完整的7层,中间的通信系统只有后三层的通信子网,只做通信处理,不对数据进行解包
  • 前5层会在首部加一个数据段,数据链路层在首尾都添加一个数据段,物理层将整个数据变成01比特流,不添加额外数据

TCP/IP

  • 与OSI的相同点:都分层、基于独立的协议栈的概念、可以实现异构网络互联
  • 与OSI的不同点:

    1. OSI定义三点:服务、协议、接口
    2. OSI的参考模型先于协议发明,不偏向特定协议
    3. TCP/IP设计之初就考虑到异构网互联问题,将IP作为重要层次
    4. OSI的网络层是无连接/面向连接,传输层面向连接
    5. TCP/IP的网络层是无连接,传输层是无连接/面向连接
OSI参考模型是一种理想化的模型,有严谨的分层结构与分工,上下层提供服务与提供接口
TCP/IP参数模型是在市场选择之后,根据相关的协议族而制定的模型,层与层之间无太多功能的交叉
5层参考模型是结合OSI每一层明确的分工,与TCP/IP层与层之间耦合度低的优点,适合我们学习的一种模型。
通常我们学习的是5层参考模型,商业使用大部分还是TCP/IP参考模型

1.2 每层的功能

以OSI参考模型为例

应用层

  • 定义:针对特定应用的协议
  • 功能:为应用程序提供并规定应用程序中通信相关的细节。文件传输、电子邮件、远程登录等协议
  • 协议:FTP、SMTP、HTTP...

表示层

  • 定义:用户用于处理在两个通信系统中交换信息的表示方式
  • 功能:数据格式变换数据加密解密数据压缩和恢复
  • 协议:JPEG、ASCII

    将数据从主机特有的格式转换为网络标准传输格式

会话层

  • 定义:向表示层实体/用户进程提供建立连接并在连接上有序传输数据,建立同步(SYN)
  • 功能:建立、管理、终止会话。使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步。
  • 协议:ADSP、ASP...

    决定采用何种连接方法

传输层

  • 定义:负责主机中两个进程的通信,即端到端的通信。单位是报文段或用户数据报
  • 功能:可靠传输、不可靠传输。差错控制。流量控制。复用分用
  • 协议:TCP、UDP...

    确定连接与断开连接重发

网络层

  • 定义:把分组从源端传到目的段,为分组交换网上的不同主机提供通信服务。单位是数据报
  • 功能:路由选择。流量控制。差错控制。拥塞控制
  • 协议:IP、IPX、ICMP、IGMP、RARP、OSPF...

    从主机A到主机B的数据通信处理。传输过程有很多数据链路,能够准确到达都是网络层的功劳。

数据链路层

  • 定义:把网络层传下来的数据组装成帧。单位为帧
  • 功能:成帧(定义帧的开始与结束)。差错控制(帧错+位错 可纠错)。流量控制(速度)。访问控制(控制对信道的访问)
  • 协议:SDLC、HDLC、PPP、STP

    在传输介质互连的设备之间进行数据处理。相较于网络层,它至发送一个分段内的数据。

物理层

  • 定义:在物理媒体上实现比特流的透明传输(给什么传什么)。单位为比特
  • 功能:定义接口特性。定义传输模式(单工、半双工、双工)。定义传输速率。比特同步。比特编码
  • 协议:Rj45、802.3

    将数据的0、1转换为电压和脉冲光传输给物理的传输介质,互连的设备使用MAC地址实现传输

2 相关概念

  1. 传输方式
  2. 地址
  3. 网络构成要素
  4. 现代网络实态
  5. 互联网基础

2.1 传输方式

连接方式分类

  • 面向有连接:收发主机之间连接一条通信线路。

    类似打电话时,拨号后对方点击接听,有一个确认的过程
  • 面向无连接:不要求建立和断开连接,发送端自由发送,接收端不确定何时从哪接收数据,需要时常确认是否收到了数据

    类似邮递包裹,不需要确认地址是否详细与存在以及接收方能否收到,发送方直接发送,接收方不知道有没有包裹就时常查看
    中间可能会退回、丢失、发错,两边都不关心,只是一个发送,一个等待接收

交换方式分类

  • 电路交换:使用电路交换机让计算机进行独占电路式的通信

    多个主机与电路交换机连接,电路交换机之间连接,电路交换机在内部切换线路让计算机之间有一条电路可通信
    当交换机之间的电路数量少于每个交换机连接的计算机时,会让部分计算机不能通信,以为线路已经被占完
  • 分组交换:将连接到通信电路的计算机将发送的数据包分成多个数据包,按照一定的顺序排列后分别发送

    分组交换机(路由器)之间只需要一条线路,发送与接收数据包队列
    没个数据包有源地址与目标地址标识,由分组交换机进行分配或转发

接收端数量分类

  • 单播:一对一通信。例如早先的固定电话
  • 广播:一个数据链路内,一台主机向所有其他主机通信。校长全校讲话
  • 多播:与广播类似,不过又限定了在一个特定的组内。校长开教师大会
  • 任播:与多播类似,限定了一个特定的组,选择组内一台进行单播。校长单独找一个老师谈话

2.2 地址

通信传输中,发送端和接收端被视为通信主体,由"地址"进行标识
TCP/IP通信中使用MAC地址、IP地址、端口号等进行标识。在应用层中,可以将电子邮件地址作为网络通信的地址

  • 唯一性:一个地址必须明确表示一个主体对象,在广播、多播、任播中,一个地址指待一个特定组对象
  • 层次性:地址分段表示,能高效的找出通信的目标地址

    IP地址就是典型的层次性地址
    无层次性,每个设备的地址无法区分它们所在的具体位置或分组,MAC无层次性
    MAC地址由设备的制造厂商对每块网卡进行分别指定,通过制造厂商识别号、内部产品编号以及产品通用编号确保MAC地址的唯一性
    IP寻址参考路由控制表(集中了网络号和子网掩码),MAC寻址参考地址转发表(实际的MAC地址本身)

2.3 网络构成要素

搭建一套网络环境要涉及各种各样的电缆和网络设备。不同的数据链路可能会采用不同的通信媒介有着不同的传输速率

数据链路名 通信媒介 传输速率 主要用途
以太网 同轴电缆 10Mbps LAN
双绞线电缆 10Mbps~100Gbps LAN
光纤电缆 10Mbps~100Gbps LAN
无线网 电磁波 数个Mbps~ LAN~WAN
ATM 双绞线电缆光纤电缆 25Mbps155Mbps622Mbps LAN~WAN
FDDI 双绞线电缆光纤电缆 100Mbps LAN~WAN
帧中继 双绞线电缆光纤电缆 约64k~1.5Mbps LAN~WAN
ISDN 双绞线电缆光纤电缆 约64k~1.5Mbps LAN~WAN
bps:每秒比特数
LAN(Local Area Network):局域网
WAN(Wide Area Network):广域网 - 连接不同地区的局域网或城域网,不等同于互联网
  • 网卡:计算机连网的设备

    网络接口卡(NIC - Network Interface Card)、网络适配器、网卡、LAN卡
  • 中继器:从物理层延长网络的设备

    对减弱的信号进行加强和发送,速率不变,不管对错
    连接多台主机的集线器可以理解为一个多口中继器
  • 网桥/2层交换机:从数据链路层延长网络的设备

    连接一个网络与另一个网络,使用NIC地址
    识别数据链路层的数据帧,根据其内容临时保存生成一个新的数据帧发送给相连的另一网段
    以太网中的交换集线器就是一种网桥
  • 路由器/3层交换机:通过网络层转发分组数据的设备

    连接网络与网络的设备,使用IP地址,分担网络负荷具备一定的网络安全功能
    可以连接不同的数据链路,日常的宽带路由器就是路由器的一种
  • 4~7层交换机:处理传输层以上各层网络传输的设备

    负载均衡器是向多个服务器分散压力的4~7层交换机的一种
    一个访问量较大的Web站点,不可能只有一个服务器
    为了能通过一个URL将前端访问分发到后台多个服务器上,这些服务器的前端需要一个负载均衡器
  • 网关:转换协议的设备

    TCP/IP网络与OSI网络通信需要网关在中间进行协议翻译转发数据
    在使用WWW时,为了控制浏览和安全问题,会使用一种代理服务器,它是一种应用网关
    有了代理服务器,客户端和服务端不用在网络层建立连接,从传输层到应用层对数据和访问进行各种控制和处理,防火墙就是网关通信的一种

2.4 现代网络实态

  • 网络的构成核心网(骨干网)、边缘网络-接入层(汇聚层)

    类似于国道、省道一样,连接较大的城市与连接各个市区街道
    骨干网常用多功能路由器与3层交换机专注于传输性能与网络的生存性
    边缘网络常用2层交换机和3层交换机
  • 互联网通信

    在联网之后会汇集到无线局域网路由器和最近交换机的通信会再次连接到边缘网络,然后是主干网
    边缘网络的中心一般是一些通信公司控制中心
  • 移动通信

    手机自动与距离最近的基站发生无线通信,基站相当于网络接入层
    基站将手机的通信请求会汇集到边缘网络,之后再接入主干网

2.5 互联网基础

  • 定义:The Internet,国际网络,指网络与网络之间所串联成的庞大网络

    Internet,因特网,一个信息资源和资源共享的集合
  • 与TCP/IP的关系
    TCP/IP原本就是为使用互联网而开发指定的协议族,互联网的协议就是TCP/IP
  • 结构:骨干网和末端网

    每个网络都有这两部分组成,每个网络之间通过NOC(Network Operatin Center)连接
    运营商的不同会导致连接和使用方式不同,需要IX(Internet Exchange)连接异构网络
    互联网就是众多异构网络通过IX互连的一个巨型网络
  • ISP和区域网:连接互联网需要向ISP或区域网提出申请

    ISP(Internet Service Provider):互联网服务供应商
    不同的ISP所提供的互联网接入服务可能不同,直接与骨干网连接的是一级供应商
    区域网:特定区域内由团体或志愿者所运营的网络

3 TCP/IP协议族基础概念

  1. 数据链路
  2. IP协议
  3. 传输层
  4. 应用协议
  5. 网络安全

3.1 数据链路

网络接口层利用以太网中的数据链路层进行通信,因此属于接口层 - NIC的驱动程序

数据链路相关技术

  • MAC地址:用于识别数据链路中互连的节点。48位 6字节

    单播0/多播1 + 全局0/本地1 + 3~24厂商识别码 + 25~48厂商内识别码
    多用16进制表示
  • 共享介质型网络:多个设备共享一个通信介质的一种网络。设备之间使用同一个载波信道进行发送和接收(半双工)

    争用方式:CSMA(载波监听多路访问),先到先得
    令牌传递方式:获得令牌才能发送数据
  • 非共享介质网络:每个站直连交换机,由交换机发数据帧。(全双工)
  • 根据MAC地址转发:以太网交换机就是持有多个端口的网桥,根据数据链路层中每个数据帧的目标MAC地址,决定从哪个网络接口发送数据。
  • 环路检测技术:网桥出现环形连接,可能会造成一个数据帧被反复转发,内存溢出或者多个数据帧的转发导致网络瘫痪

    生成树方式:确定一个网桥为构造树的根,并对每个端口设置权重
    源路由法:判断发送数据的源地址是哪个网桥实现传输的,将帧写入RIF(Routing Information Field),网桥根据RIF信息发送帧给目标地址
    即使网桥中出现了环路,数据帧也不会被反复转发
  • VLAN(Virtual Local Area Network):虚拟局域网,本质就是一个网段,在虚拟路由器的接口下创建的网段

    在分散网络负载、变换部署网络设备的位置时,采用VLAN不用硬件线路改造,只改变网络结构即可
    不同网段的主机通信需要路由器转发,有了VLAN就可以在同一个交换集线器上分成不同的网段
    允许包含跨越异构交换机的网段

以太网
最为著名、使用最为广泛的数据链路

  • 连接形式

    普及之前,多台终端使用同一根同轴电缆共享介质型
    随着互连设备的处理能力传输速度的提高,终端与交换机之间独占电缆的方式实现以太网通信
  • 分类:因通信电缆的不同速度的差异,衍生出不同的以太网类型

    电缆种类:同轴电缆,双绞线,多模光纤,屏蔽铜线,单模光纤
  • 帧格式:前导码(10交替,最后两位11)8字节 + 帧本体

    帧主体:目标MAC6字节 + 源MAC6字节 + 上层协议类型2字节 + 数据46~1500字节 + FCS4字节
    FCS(Fram Check Sequence),帧校验序列

无线通信
不使用光纤,通常使用电磁波、红外线、激光等方式进行传播数据

  • 种类:根据通信距离划分

    短距离无线:RF-ID 数米
    无线PAN(Personal Area Network 个人局域网):蓝牙 10米
    无线LAN:Wi-Fi 100米
    无线MAN(Metropolitan Area Network 城域网):WiMAX 数千米~100千米
    无线RAN(Radio Access Network 无线电接入网):200千米~700千米
    无线WAN:3G LTE 4G 5G 下一代移动通信网络

PPP(Ponit-to-Point Protocol):点对点协议

  • 定义:一对一连接计算机的协议

    不同于以太网与FDDI,与物理层无关,相当于OSI参考模型中纯粹的数据链路层
    可以使用电话线、ISDN、专线、ATM线路
  • LCP(Link Control Protocol):不依赖上层,负责建立和断开连接、设置MRU最大接收单元
  • NCP(Network Control Protocol):依赖上层,上层为IP时也称IPCP,负责IP地址设置以及是否进行TCP/IP首部压缩等设置
  • 验证:PAP(Password Authentication Protocol) CHAP(Challenge Handshake Authentication Protocol)
  • 帧格式: 标志位1字节(两端为0中间为1) + 地址1字节 + 控制1字节 + 类型2字节 + 数据0~1500字节 + FCS4字节 + 标志位1字节
    ATM(Asynchronous Transfer Mode):异步传输模式
  • 特点面向连接的数据链路,无发送权限的限制,允许任何时候发送任何数据
    FDDI(Fiber Distributed Data Interface):分布式光纤数据接口

    为了用光纤和双绞线实现100Mbps的传输速率而采用的技术,已经逐渐被淘汰
    采用令牌环的访问方式,是扩展Token Ring的一个产物

其他数据链路:100VG-AnyLAN、光纤通道、HIPPI、IEEE1394、HDMI、iSCSI、InfiniBand、DOCSIS、高速PLC

公共网络
公共通信服务相关细节,对日常的网络服务进行介绍

  • 模拟电话线路:利用固定电话线路进行通信,拨号上网

    让计算机与电话线相连需要一个调制解调器(猫),将数字信号转换为模拟信号
    "猫"的传输效率一般只有56kbps左右,已逐渐淘汰
  • 移动通信服务:只要在服务区范围内,就可以连接到运营商的网络
  • ADSL:对已有的模拟电话线路进行扩展的一种服务
  • FTTH(Fiver To The Home):一根高速光纤直接连到用户家里或公司建筑物处的方法
  • 有线电视:使用有线调制解调器连接计算机,谐调器连接电视,在有线电视头端是电视台,通过天线接收电视信号,连接ISP提供网络功能
  • 专线:提供一对一的连接
  • VPN(Virtual Private Network):虚拟专用网络,用于连接较远的地域。服务包括IP-VPN与广域以太网

    IP-VPN:在IP网络上建立VPN,使用网络服务商提供的MPLS技术构建一个封闭的私有网络,有时企业会使用IPsec技术构建自己的私有网络
    广域以太网:在数据链路层的以太网上利用VLAN实现VPN的技术
  • 公共无线LAN:公开可以使用Wi-Fi的服务连接其热点建立互联网连接

    还可以利用IPsec技术实现的VPN连接内网
  • 帧中继:允许一对N的通信,由于以太网与IP-VPN的普及,逐渐淘汰
  • ISDN(Integrated Services Digital Network):综合业务数字网,集合电话、FAX、数据通信等多种类型的综合公共网络。逐渐淘汰

3.2 IP协议

IP相当于OSI参考模型中的第3层 - 网络层 : 实现终端节点之间的通信(点对点)

  • IP(Internet Protocol):网际协议 - 在复杂的网络环境中将数据包发给最终目标地址

    一种无连接、不可靠、尽力而为的数据包传输服务
    三大作用模块:IP寻址、路由控制、IP分包与组包
    提高网络的可扩展性:解决互联网问题,实现大规模、异构网络的互联互通。分割顶层网络应用和底层技术之间的耦合关系,利于两者的独立发展
  • IP地址:网际协议地址 - 用于在连接网络中所有主机中识别出进行通信的目标地址
  • 路由控制:将分组数据发送到最终目标地址的功能。

    由于网络非常复杂,需要路由控制确定到达目标地址的通路
    每个路由器都维护这一张路由控制表,该表记录IP数据在下一步应该发给哪个路由器,IP包根据路由表在各个数据链路上传输
  • 主机:有IP地址,不进行路由控制
  • 路由器:有IP地址,同时进行路由控制
  • 节点:主机与路由器的统称
  • ICMP(Internet Control Message Protocol):网际控制报文协议

    IP数据包在发送中发生异常导致无法到达对端目标地址时,向发送端发送一个反生异常的通知
  • ARP(Address Resolution Protocol):地址解析协议,从分组数据包的IP地址中解析出物理地址(MAC地址)
  • IPv6:128位地址,使用冒号分隔
  • DNS(Domain Name System):域名系统,方便记忆,对应一个唯一的IP地址,并基于这个IP地址进行通信
  • DHCP(Dynamic Host Configuration Protocol):动态主机配置协议

    实现自动设置IP地址、统一管理IP地址分配
  • NAT(Network Address Translator):网络地址转换,用于在本地网络中使用私有地址,在连接互联网时转而使用全局IP地址的技术

3.3 传输层

让应用程序之间实现通信,识别这些应用程序的端口号

  • TCP(Transmission Control Protocol):传输控制协议,面向有连接的传输层协议

    可以正确处理传输过程中丢包、传输顺序乱序等异常情况,能有效利用带宽、缓解网络拥堵
  • UDP(User Datagram Protocol):用户数据报协议,面向无连接的传输层协议

    不关注连接与接收,适用于分组数据少或多播、广播通信、以及视频通信等多媒体领域
  • 套接字(Socket):在TCP、UDP通信时,应用程序利用套接字可以设置对端的IP地址、端口号,并实现数据的发送和接收
  • 端口号:传输层的地址概念

    MAC地址是识别同一链路中不同的计算机,IP地址是识别TCP/IP网络中互连的主机和路由器
    端口号是识别同一台计算机中进行通信的不同应用程序,也称为程序地址
  • SCTP(Stream Control Transmission Protocol):流控制传输协议,与TCP类似
  • DCCP(Datagram Congestion Control Protocol):数据报拥塞控制协议,辅助UDP的崭新的传输层协议

3.4 应用协议

能够让应用进行特定通信处理的协议
相关应用:Web浏览器、电子邮件、远程登录、文件传输、网络管理等
远程登录

  • TELNET:远程终端协议,利用TCP的一条连接,向主机发送文字命令并在主机上执行

    服务:仿真终端功能、协商选项机制
  • SSH(Secure Shell):安全外壳协议,加密的远程登录系统,起着网关的作用

文件传输

  • FTP(File Transfer Protocol):文件传输协议

    使用两条TCP连接,一条用来控制,一条用来数据的传输
    通过ASCII码字符串进行的交互处理

电子邮件

  • SMTP(Simple Mail Transfer Protocol):简单邮件传输协议,提供电子邮件服务,发送

    传输层使用TCP协议,使用TCP的25号端口,客户端以纯文本的形式发送请求,服务端返回一个3位数字的应答
    邮件地址:名称@通信地址
  • MIME(Multipurpose Internet Mail Extensions):多用途互联网邮件扩展类型

    Content-Type:常见类型text/plain 纯文本类型
  • POP(Post Office Protocol):邮局协议,一种接收电子邮件的协议

    发送端的邮件根据SMTP协议将被转发给一直处于插电状态的POP服务器,用户可以在开机时接收到邮件
    客户端与服务器同样需要建立一个TCP连接完成相关的操作
  • IMAP(Internet Message Access Protocol):因特网消息访问协议,与POP类似,也是收邮件的协议

    POP中邮件由客户端进行管理,IMAP中由服务器进行管理,不必从服务器上下载所有邮件也可以阅读
    为使用多种异构终端的用户提供了非常便利的环境

WWW(World Wide Web):万维网,也叫Web

  • 概念:将互联网中的信息以超文本形式展现的系统

    借助浏览器,用户不需要考虑信息保存在哪个服务器,直接点击访问即可
    三个重要概念:访问信息的手段与位置(URI)信息表示形式(HTML)信息转发(HTTP)
  • URI(Uniform Resourse Identifier):统一资源标识符,用于标识资源,可以用于WWW之外的高效标识码

    URL(Uniform Resourse Locator)标识互联网中资源的具体位置,URI可以作为所有资源的标识码,主页地址、电子邮件、电话号码...
  • HTML(HyperText Markup Language):超文本标记语言,Web页的一种语言格式

    XML(Extensible Markup Language):可扩展标记语言,用于数据存入文件或在应用之间进行交互的一种格式,与HTML类似
  • HTTP(Hyper Text Transfer Protocol):超文本传输协议,一个简单的请求-响应协议

    指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应
    架构在TCP之上,默认为80端口
    客户端向服务器的80端口建立一个TCP连接,然后在这个TCP连接上进行请求和应答以及数据报文的发送
    状态码:1开头-信息提供、2-肯定应答、3-重定向请求、4-客户端请求内容出现错误、5-服务器错误
  • JavaScript:一种嵌入在HTML中的编程语言,可以在浏览器上运行,操作HTML或XML的逻辑结构

    AJAX(Asynchronous Javascript And XML):无刷新读取服务器上的数据与发送数据
  • CGI(Common Gateway Interface):公共网关接口

    客户端请求会触发Web服务器运行另一个程序,将接收的请求数据传给这个程序,该程序运行结束后会将生成的HTML和其他数据再返回给客户端
    这样不会每次都访问的是相同的内容,有数据库与外部程序的连接
  • Cookie:获取用户信息并保存,可以用户设置也可以服务器返回一个设置

3.5 网络安全

构成要素

  • 防火墙:可以进行TCP端口限制,指定路由器只向其发送特定地址和端口号的包等过滤操作
  • IDS:入侵检测系统,检查已经侵入内部网络进行非法访问的情况
  • 反病毒/个人防火墙

    PKI公钥基础结构:一种通过可信赖的第三方检查通信对方是否真实而进行验证的机制
    第三方在PKI中称作认证机构CA,用户可以利用CA颁发数字证书验证通信对方的真实性

加密技术基础
加密是指利用某个值(密钥)对明文的数据通过一定的算法变换成加密数据(密文)的过程,逆向为解密。

  • 对称加密体制:使用相同的密钥加密与解密为对称加密方式
  • 公钥加密体制:使用不同的密钥(公钥、私钥)叫做公钥加密方式
  • 身份认证技术

    根据知道的信息认证:使用公钥加密方式的数字认证,需要验证是否持有私钥
    根据所拥有的信息认证:密钥、电话号码、验证码
    根据唯一体态特征的认证:指纹、虹膜

安全协议

  • IPsec与VPN:构建一个即使读取到数据也无法读懂、能检查是否被篡改私有网络
  • TLS/SSL与HTTPS:通过TLS/SSL对HTTP通信加密 - HTTPS

    HTTPS中采用对称加密,在发送其密钥时采用公钥加密方式
    端口号 TCP/443 UDP/443

怼怼
73 声望6 粉丝