网络通信学习

网络通信学习

  • 并发
  • 并行
  • 同步
  • 异步
  • 通信过程
    • 网络层
    • 传输层
  • 应用层
    • 数据包组成

并发

  • 并发 指计算机可以同时执行多项任务。
    • 要完成并发,可以像下图一样通过单核处理器对时间片管理,经过一定时间后执行另一个任务,这个过程称为进程或线程的上下文切换
      在这里插入图片描述

并行

  • 并行则应该像下图那样,同时执行任务。
    • 要完成并行,可以通过多核处理器,像下图一样并行的执行任务,而不用等上一个任务完成后再进行下一个。
      在这里插入图片描述

同步

  • 同步是一个任务完全执行完之后再执行下一个任务,因此没有并发和并行的概念

异步

  • 异步是在执行A的时候,可以同时执行B,而不必等待A完成。
    • 上面针对并行和并发的例子都属于异步。
    • 对于多核处理器可以通过多线程来实现真正的并行
      • <常用于计算密集的任务>
    • 对于单核处理器也可以通过回调函数的机制来实现异步的并发(单线程的异步编程)
      • <对于I/O密集的任务如web开发等常用此方法>

通信过程

  • 网络通信自下而上分为:
    • 物理层: 物理介质中传输信息(网线、光纤)。
    • 链路层: 同一网段通信(MAC地址、交换机)。
    • 网络层: 不同网段通信(路由器、IP地址)。
    • 传输层: 数据包到达计算机后到达具体的软件(端口)。
    • 应用层: 具体的应用。
    • DNS: 把相应的域名转化为相应的IP地址。
  • IP地址: 由网络号和主机号组成
  • 子网掩码: 告诉计算机哪些是网络号哪些是主机号。
    • 将子网掩码和IP地址都转化为二进制后,子网掩码的1对应的就是IP地址的网络号。

网络层

网络通信学习_第1张图片

  • 两种特殊的IP地址:
    • 广播地址:主机位全为1(向该地址发送数据包,网段中所有设备都会收到)
    • 网络地址:主机位全为0(表示这个网络)
      网络通信学习_第2张图片
  • 网关: 软件层的路由器,是到其他网段的出口,也就是路由器接口IP地址。
    • 若目标IP在同一网段可以直接通信不需要网关,否则需要。
    • 例子:IP<192.168.1.76>;网关<192.168.255.256>
  • 参考文献
  • ARP协议: 根据IP地址查看MAC地址。

传输层

  • TCP协议: 面向连接的(3次握手4次挥手)
    • 是可靠的,有重传机制,纠正乱序。
  • UDP协议: 没有重传,也不可靠,但是速度快,占用资源少
    • DNS协议的传输层就是UDP协议。

应用层

  • DHCP协议: 自动配置设备IP。
  • DNS协议: 根据域名查询其指向IP。
  • HTTP协议: 请求网页要用到的协议。

数据包组成

  • 数据包: 帧头由:链路层的源、目标MAC地址;网络层的源、目标IP地址;传输层的源、目标端口构成;帧尾才是要传输的数据。
  • NET: 网络地址转换。
    • 将源IP转化为公网IP,才可以进行英特网的通信。(一般我们的电脑通过路由器等进行NET转化了IP和端口后,就可以进行英特网的通信了)
  • ※※※
    • IP地址是一个抽象地址,所以其实需要MAC地址才能通信(MAC地址是网卡出厂就写好的机器的唯一物理地址)。
    • 网络层虽然看起来是基于IP通过路由进行连接,但实际上是通过对IP匹配的MAC地址才能进行配对传输的。

你可能感兴趣的:(网络通信学习,学习,网络,服务器)