传输层提供的服务

一、传输层的功能

    1. 传输层提供进程和进程之间的逻辑通信(如QQ,微信,网络层提供主机之间的逻辑通信)
    1. 复用和分用
    1. 传输层对收到的报文进行差错检测
    1. 传输层的两种协议

二、传输层寻址与端口

  • 复用:应用层所有的应用进程都可以通过传输层再传输到网络层
  • 分用:传输层从网络层收到数据后交付指明的应用进程
  • 端口:端口是传输层的服务访问点SAP-Service Access Point,标识主机中的应用进程
    • 端口号只有本地意义,在因特网中不同计算机的相同端口是没有联系的
    • 端口号长度为16bit,能表示65536个不同的端口号
    • 端口号按范围分为
      • 服务端使用的端口号:
        • 熟知端口号:0~1023,给TCP/IP最重要的一些应用程序,让所有用户都知道
        • 登记端口号:1024~49151,为没有熟知端口号的应用程序使用的
      • 客户端使用的端口号:49152~65535,仅在客户进程运行时才动态选择 记住上面几种端口号
  • 套接字:所谓套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。套接字Socket=(主机IP地址,端口号)

三、无连接服务与面向连接服务

  • 无连接的用户数据报协议UDP:传输数据之前不需要建立连接,收到UDP报文后也不需要给出任何确认。不可靠,无连接,时延小,适用于小文件
  • 面向连接的传输控制协议TCP:传输数据之前必须建立连接,数据传送结束后要释放连接。不提供广播或多播服务。由于TCP要提高可靠的面向连接的传输服务,因此不可避免增加了许多开销:确认、流量控制、计时器及连接管理等。可靠,面向连接,时延大,适用于大文件

本文章使用limfx的vscode插件快速发布