计算机网络(三)之传输层

传输层概述

传输层概述

传输层:端到端的传输。


端口

  1. 使用端口(port)来标记不同的网络进程
  2. 端口(port)使用16比特位表示(0~65535)
    例如:


    端口示例

传输层协议TCP/UDP:

传输层协议

UDP协议详解

  • UDP(User Datagram Protocol:用户数据包协议)
  • UDP是一个非常简单的协议
    特点:不合并,不拆分。UPD的大小有数据包(Datagram)的长度所决定。
    图解:


UDP组成


16位源端口号:源机器使用网络的进程
16位目的端口号:目的机器正在使用网络的进程
16位UDP长度:UDP数据报的长度(包含UDP数据),最小值是8个字节
16位UPD的校验和:略

UDP的特点

  • UDP是无连接的协议,A向B发送数据不需要建立链接。
  • UDP不能保证可靠的交付数据 ,“想发就发”,无法保证数据在网络中是否丢失
  • UDP是面向报文传输的,不会对报文进行任何处理,直接发送
  • UDP没有拥塞控制
  • UDP的首部开销很小

TCP协议详解

  • TCP(Transmission Control Protocol:传输控制协议)
  • TCP协议是计算机网络中非常复杂的一个协议
    图解:


  • TCP是面向链接的协议
  • TCP的一个连接有两端(点对点通信)
  • TCP提供可靠的传输服务
  • TCP协议提供全双工的通信(同时接受/发送)
  • TCP是面向字节流的协议

TCP组成

协议分解
  1. 序号
  • 0~2^32-1个比特位
  • 一个字节一个序号
  • 数据首字节序号
  1. 确认号
  • 0~2^32-1个比特位
  • 一个字节一个序号
  • 期望收到数据的首字节序号(如下图601)

    总结: 确认号为N:则表示N-1序号的数据都已经收到
  1. 数据偏移
  • 占4位: 0~15,单位为:32位字
  • 数据偏移首部的距离


  1. TCP标记
  • 占6位,每位各有不用意义



    6位图解:


  1. 窗口
  • 占16位: 0~2^16-1
  • 窗口指明允许对方发送的数据量,如果窗口是1000,指明发送的大小为1000字节.
  1. 校验和
  2. 紧急指针
  • 紧急数据(URG = 1)
  • 指定紧急数据在报文的位置
  1. TCP选项
  • 最多40字节
  • 支持未来的拓展

可靠传输的基本原理

停止等待协议

无差错情况

TCP的三次握手
为什么要发出第三个确认报文呢?
  • 避免已经失效的丽连接请求报文传送到对方,引起错误


TCP的四次挥手 / TCP链接释放

Time-wait

为什么需要等待2MSL


你可能感兴趣的:(计算机网络(三)之传输层)