网络原理概述笔记(TCP/IP五层网络协议)

目录

    • 网络原理
      • 用户态与内核态
        • 状态转换
      • 网络拓扑结构
      • 网络标准分层协议
        • 物理层
          • 集线器
          • 冲突域
        • 数据链路层
          • 交换机
          • 单播和广播
          • MAC地址
        • 网络层
          • 路由器
          • IP地址
            • 常见的IP地址
          • 长期目标与短期目标
        • 传输层
          • 端口
          • 传输层协议五元组
        • 应用层
        • TCP/IP五层网络模型总结
      • 数据的封装和解包
      • ISP 网络服务提供商

网络原理

用户态与内核态

操作系统将对进程在内存空间上的分配分为用户态和内核态。内核态的执行权限高于用户态。

  • 不同主机上的进程与进程之间的通信主要是想传输用户态的数据。

    主机1上的进程A要先经过【用户态 -> 内核态】的数据复制,内核态再将此数据交由网卡实现【数字信号 -> 物理信号】的转换,由光纤等物理传输介质负责传输物理信号,到达主机2的网卡,再由主机2的网卡实现【物理信号 -> 数字信号】的转换,将数据向上交给内核态,最终由内核态将数据返回给用户态。
    网络原理概述笔记(TCP/IP五层网络协议)_第1张图片
    网络原理概述笔记(TCP/IP五层网络协议)_第2张图片

  • 当数据到达时,会产生一个中断信号,让CPU中断当前正在执行的任务,而去执行一段提前准备好的代码(中断处理程序),将数据从网卡复制到内核态的内存区中。
    网络原理概述笔记(TCP/IP五层网络协议)_第3张图片

状态转换

由于用户态的权限不够,不足以完成某些任务时,需切换至内核态。以下是 【用户态 -> 内核态】 的三种方式:

  1. 系统调用:用户态进程主动要求切换到内核态。用户进程通过系统调用申请使用操作系统提供的服务程序完成工作。
  2. CPU中断:当外设完成用户请求的操作后,会向CPU发出相应的中断信号,使CPU暂停执行下一条即将要执行的指令,转而去执行中断信号相应的中断处理程序。若CPU中断前执行的指令是用户态下的程序,则这个过程自然就发生了由用户态到内核态的切换。如硬盘读写的操作完成后,系统会切换到硬盘读写的中断处理程序中执行后续操作。
  3. 异常:CPU在执行用户态程序时,发生了某些事先不可知的异常,如缺页异常,此时会触发进程的切换,由当前运行进程切换到处理此异常的相关内核程序,也就从用户态切换到了内核态。

网络拓扑结构

网络原理概述笔记(TCP/IP五层网络协议)_第4张图片
采用集线器连接的以太网,网络逻辑拓扑结构为总线型为主,星型为辅。

网络标准分层协议

OSI 七层网络协议。TCP/IP 五层网络协议。前者较后者多了表示层和会话层。

网络原理概述笔记(TCP/IP五层网络协议)_第5张图片
网络原理概述笔记(TCP/IP五层网络协议)_第6张图片

物理层

集线器工作在物理层,主要解决数据在物理网络介质中传输的问题。

集线器

集线器负责的工作主要包括:1. 复制数据 2.信号放大。
网络原理概述笔记(TCP/IP五层网络协议)_第7张图片

冲突域

由于多个主机共用一个信道,而信道一次只能传输有限的信号,故当过多主机都想占用信道传输信号时,超出信道的容量范围,则会导致冲突。发生冲突的主机之间就形成一个冲突域。

网络原理概述笔记(TCP/IP五层网络协议)_第8张图片
物理层的集线器组网天然导致的冲突域问题,需要由数据链路层来解决。

数据链路层常用的一种冲突避免算法:发生冲突后,静默随机时间,等待再次发送。

冲突避免算法虽然能避免冲突的发送,保证同一个冲突域内的主机都可以进行数据传输,但若主机太多,会降低信号的传输效率。
==> 1. 冲突域内的主机不要太多 2. 尽可能减少冲突域的出现。

数据链路层

交换机工作在数据链路层,主要解决了局域网LAN内主机与主机的通信问题。

交换机

物理层的集线器是傻瓜,只进行数据的复制和信号的放大 ,并不能解析数据(不知道数据长啥样),也不负责数据发生的方向和目标地址。而数据链路层的交换机能够解析数据链路层协议,根据数据指定的目标地址进行发送,只发送给目标主机。

通过集线器组建的局域网天然存在冲突域问题,而通过交换机组建的局域网可以划分冲突域,划分同一冲突域内的不同主机。
网络原理概述笔记(TCP/IP五层网络协议)_第9张图片
实际中常见的局域网组建结构:交换机+集线器
网络原理概述笔记(TCP/IP五层网络协议)_第10张图片

单播和广播

单播的目标地址是一台主机。

广播的目标地址是一个特殊地址。广播地址:FF-FF-FF-FF-FF-FF。

在一个广播域中,一个主机向外发送的数据,会被此广播域内的其他所有主机接收到。发送的目标地址为特殊的广播地址,并不指定发送到哪个主机。
网络原理概述笔记(TCP/IP五层网络协议)_第11张图片

MAC地址

数据链路层的地址指的是MAC地址(物理地址)。

MAC地址是在网卡被生产时就被写死的,不会发生重复冲突。

MAC地址的长度为48位(6字节),通常表示为12个4位16进制数。

网络原理概述笔记(TCP/IP五层网络协议)_第12张图片

网络层

路由器工作在网络层,主要解决跨局域网LAN的主机与主机间的通信问题。

路由器

路由器横跨在多个局域网LAN之间,对于每个局域网来说,都像是属于当前局域网内部的。

路由(route)即负责寻路工作,遵循网络层的协议,在能够送达数据的多条路线中找到最合适的一条,将数据从当前LAN的一台主机传送到另一LAN的另一主机上。

IP地址

网络层的地址指的是IP地址。IP地址属于软件地址。

IP地址是随时变化的,并不是写死固定不变的。同一个网络内部的IP地址不应该重复。

IP地址的长度为32位(4字节),通常表示为4个8位二进制数。
网络原理概述笔记(TCP/IP五层网络协议)_第13张图片

常见的IP地址

本机:127.0.0.1 (对应域名localhost)

长期目标与短期目标

长期目标:路由器传输数据的整条路线的起点和终点。(固定不变)

短期目标:路由器传输数据的近期要到达的目的地。即下一步要走的一段路。(动态计算)

数据通过路由器在不同的LAN之间进行传输时,路由器能够解析网络协议,看得懂长期目标,而根据当前传输的进度动态计算短期目标。

传输层

主要解决进程与进程间的通信。

端口

端口号的范围:0~65535,两个字节的无符号数。

一个端口号标识一个进程。而一个进程可以对外与多个端口(进程)进行通信。

传输层协议五元组

网络原理概述笔记(TCP/IP五层网络协议)_第14张图片

应用层

主要处理业务逻辑。对应内存空间的用户态。

TCP/IP五层网络模型总结

网络原理概述笔记(TCP/IP五层网络协议)_第15张图片

数据的封装和解包

发送方进程将数据从应用层开始往下逐层进行封装(添加首部),传递到物理层将数字信号转为物理信号后,在物理传输介质中进行传播到接收方主机,由接收方从物理层开始向上进行解包(去除首部),并根据具体的控制信息进行分用处理,选择每层使用的协议。

首部信息主要包括:(控制信息)源地址、目标地址、分用信息等。

传输层:源端口、目标端口、…

网络层:源IP地址、目标IP地址、…

数据链路层:源MAC地址、目标MAC地址、…

网络原理概述笔记(TCP/IP五层网络协议)_第16张图片
通过封装+解包实现的数据传输,对于每层来说都好像是单独通信交流的,传输数据时不同的层次之间感受不到彼此的存在。

且各层可以根据各层自己添加的控制信息进行一些必要的操作。
网络原理概述笔记(TCP/IP五层网络协议)_第17张图片

ISP 网络服务提供商

网络原理概述笔记(TCP/IP五层网络协议)_第18张图片

你可能感兴趣的:(网络原理,网络,java)