应用层原理

进程标志和寻址问题(服务用户)
  • 进程为了接收报文,必须有一个标识,即SAP

    • 主机:唯一的32位IP地址

      仅仅由IP地址还不能够唯一标识一个进程,一台端系统上有很多应用进程在运行

    • 所采用的传输层协议:TCP/UDP

    • 端口号(Port Numbers)2^16=65525

  • 一些知名端口号

    HTTP:TCP 80 Mail:TCP 25 FTP:TCP 21/20

  • 一个进程

    用IP+Port标识端节点

传输层提供的服务

位置:层间界面的SAP(TCP/IP:socket)

形式:应用程序接口API(TCP/IP:socket API)

  • 传输层提供的服务-需要穿过层间的信息

    • 层间接口必须要携带的信息
      • 要传输的报文(对本层来说:SDU)
      • 谁传的:自己的应用进程的标识::IP+TCP(UDP) 端口
      • 传给谁:对方的应用进程的标识::对方的IP+TCP(UDP) 端口号
    • 传输层实体(TCP/UDP实体)根据这些信息进行TCP报文段/UDP数据报的封装
      • 源端口号,目标端口号,数据等
      • 将IP地址往下层交IP实体,用于封装IP数据报:源IP,目标IP
  • 传输层提供的服务-层间信息的代表

    • 如果Socket API每次传输报文,都携带如此多的信息,太繁琐易错,不便于管理

    • 用一个代号(句柄,一个整数)标识通信的双方或者单方:socket

    • 就像OS打开文件返回的句柄一样

      对句柄的操作,就是对文件的操作

    • TCP Socket (一个整数):代表四元组信息

      • TCP服务,两个进程之间的通信需要之前要建立链接

        两个进程通信会持续一段时间,通信关系稳定

      • 可以用一个整数表示两个应用实体(应用层-传输层)之间的通信关系,本地标识

      • 穿过层间接口的信息量最小

      • TCP socket:源IP,源端口,目标IP,目标端口(用一个整数代表该四元组信息)

    • UDP socket

      • UDP服务,两个进程之间的通信之前无需建立连接

        每个报文都是独立传出的

        前后报文可能会给不同的分布式进程

      • UDP socket:本地IP,本地端口号

      • 但在传输报文时:必须提供对方IP,port

        接收报文时:传输层需要上传对方的IP,port

    TCP Socket和UDP Socket区别:

    TCP Socket是代表四元组,UDP Socket是代表两元组

    在服务层调用传输层接口时,TCP只需要发送元数据和Socket,UDP则需要发送元数据、Socket以及对方的IP,port

如何使用传输层提供的服务,实现应用进程之间的报文交换,实现应用(用户使用服务)

定义应用层协议:报文格式,解释,时序等

编制程序,使用OS提供的API,调用网络基础设施通信服务传报文,实现应用时序等

  • Internet传输层提供的服务

    TCP服务:

    • 可靠的传输服务
    • 流量控制:发送方不会淹没接收方
    • 拥塞控制:当网络出现拥塞时,能抑制发送方
    • 不能提供的服务:时间保证、最小吞吐量保证和安全
    • 面向连接:要求在客户端进程和服务器进程之间建立连接

    UDP服务:

    • 不可靠数据传输
    • 不提供的服务:可靠、流量控制、拥塞控制、时间、宽带保证、建立连接

    UDP存在的必要性:

    • 能够区分不同的进程,而IP服务不能
      在IP提供的主机到主机端到端功能的基础上,区分了主机的应用进程
    • 无需建立连接,省去了建立连接时间,适合事务性的应用
    • 不做可靠性的工作,例如检错重传,适合对实时性要求比较高而对正确性要求不高的应用
    • 没有拥塞控制和流量控制,应用能够按照设定的速度发送数据
  • 安全TCP

    TCP&UDP

    • 都没有加密
    • 明文通过互联网传输,甚至密码

    SSL

    • 在TCP上层实现,提供加密的TCP连接
    • 私密性
    • 数据完整性
    • 端到端的鉴别
    • 应用采用SSL库,SSL库使用TCP通信
    • 应用通过API将明文交给socket,SSL将其加密在互联网上传输
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值