• 第二章 2.1.2 进程通信与运输层、应用层协议


    计算机网络中进行通信的实际上是 ”进程“ 而不是 ”程序“,一个进程可以被认为是运行在端系统上的一个程序

      • 在同一端系统上,进程使用进程间通信机制相互通信,规则由端系统上的操作系统决定
      • 位于不同端系统上的进程,通过跨越计算机网络 交换 ”报文“ 来互相通信

    网络应用程序由成对的进程组成,这些进程通过网络互相发送报文。

      • 对每对通信进程,之一标为 ”客户“,之二标为 ”服务器“
        • 有些进程既是服务器,又是客户,如 P2P既可以上载也可以下载
        • 但在具体场景中总的来说发起通信的就是客户,响应请求的就是服务器

    套接字:又称为应用程序和网络之间的 ”应用程序编程接口(Application Programming Interface,API)“

      • 同一台主机内应用层和运输层之间的接口。
      • 应用开发者可以控制套接字在应用层端的一切,但对于该套接字的运输层端几乎没有控制权。开发者对运输层的控制仅限于:
        • 选择运输层协议
        • 定义运输层参数

    进程寻址(接收方的地址):

      • 主机地址:使用 IP 地址(一个 32 位比特的量)
      • 目的进程的标识符(接收套接字):目的地端口号(port number)

    选择运输层协议:TCP 或 UD

      • 可靠数据传输(reliable data transfer):即不允许数据丢失,与之相反的是 “容忍丢失的应用(loss-tolerant application)”
      • 吞吐量:具有吞吐量要求的应用称为 “带宽敏感的应用(bandwidth-senitive application)”,与之相反的是 “弹性应用(elastic application)”
      • 定时:即时延要求
      • 安全性:
        • 运输中的加解密
        • 数据完整性判定
        • 端点鉴别
      • TCP:面向连接、可靠
        • 传输应用层报文之前,TCP 让客户和服务器交换运输层控制信息(握手过程),然后一个 TCP 就建立了,它是 “全双工” 的,报文发送完毕即拆除连接
        • 无差错、按顺序地交付数据 
        • 拥塞机制:网络繁忙时限制发送进程或每个 TCP 连接
      • UDP:轻量级运输协议
        • 无连接,故没有握手过程
        • 不可靠也可能是乱序的
        • 无拥塞机制
      • TCP、UDP 均不提供加解密机制
      • 安全套接字层(Secure Sockets Layer,SSL):TCP的加强版,增加了安全服务:加解密、完整性、端点鉴别。
          • 强化体现在应用层:SSL 位于 TCP 上层,SSL 和 TCP 交换信息。
      • TCP 解决了可靠和安全的问题,吞吐量和定时则是当前因特网协议所未提供的功能,这些将由应用设计者来尽可能实现,但这并非有保障的。

        •  电话协议使用两种是因为如果防火墙阻挡了 UDP 协议,那么将使用备份的 TCP
      • 应用层协议:定义了运行在不同端系统上的应用程序进程如何相互传递报文
        • 交换的报文类型,例如请求报文和响应报文
        • 各种报文类型的语法,如报文中的各个字段及这些字段是如何描述的
        • 字段的语义,即这些字段中包含的信息的含义
        • 一个进程何时以及如何发送报文、对报文进行响应的规则
        • 一些 该层协议 由 RFC 文档定义,位于公共域中:HTTP(超文本传输协议),遵从该规则开发的浏览器可访问遵从该规则的 Web 服务器
        • 一些 该层协议 是专用的,有意不为公共域使用,如 Skype。
        • 应用层协议 是 网络层 的一部分
        • Web 的应用层协议是 HTTP,定义了浏览器和 Web 服务器之间传输的报文格式和序列
        • 电子邮件的首要应用层协议是 SMTP(简单邮件传输协议)
  • 相关阅读:
    Java实现 蓝桥杯VIP 基础练习 完美的代价
    Java实现 蓝桥杯VIP基础练习 矩形面积交
    Java实现 蓝桥杯VIP 基础练习 完美的代价
    Java实现 蓝桥杯 蓝桥杯VIP 基础练习 数的读法
    Java实现 蓝桥杯 蓝桥杯VIP 基础练习 数的读法
    Java实现 蓝桥杯 蓝桥杯VIP 基础练习 数的读法
    Java实现 蓝桥杯 蓝桥杯VIP 基础练习 数的读法
    Java实现 蓝桥杯 蓝桥杯VIP 基础练习 数的读法
    核心思想:想清楚自己创业的目的(如果你没有自信提供一种更好的产品或服务,那就别做了,比如IM 电商 搜索)
    在Linux中如何利用backtrace信息解决问题
  • 原文地址:https://www.cnblogs.com/suui90/p/15442827.html
Copyright © 2020-2023  润新知