第07-5章 传输层详解

7.1 传输层概述

  • 分段及封装应用层送来的数据:应用层以字节流的形式给传输层传输数据,传输层会把字节流分段,并给每段封装




    由应用程序产生应用进程,由应用进程产生进程端口号,由端口号提供相应的服务


    如何查看本机端口号:用netstat

7.2 TCP详解

7.2.1 TCP发送缓存,接受缓存及报文段详解




  • 应用层以字节的形式向传输层发送数据
  • TCP发送进程以字节流的形式传递数据,而接收进程也把数据作为字节流来接收,类似于假想的管道
  • UDP发送进程发送的数据报文都是独立的,因此UDP不是面向字节流的协议
  • 缓存:数据流向的每一个方向上都有两种缓存:发送缓存、接收缓存
    在传输层向IP层发送数据时要以分组为单位,而不是按字节流来发送,TCP协议把若干字节构成一个分组,我们可以把这样的分组称为报文段(segment),这种报文段不一定都一样长,可以是几个字节,也可以是几千个字节

7.2.2 TCP中的字节号和序号详解

字节号:

以字节为单位

字节号的定义范围:0到(2^32-1)

编号机制:随机

举例:假如随机号正好是1057,而要发送6000个字节,那么字节编号范围是:1057到7056

序号:

以字节为基础,TCP给每一个报文段指派一个序号

每个报文段的序号就是在这个报文段中第一个字节数据的序号

举例:

比如TCP要传输6000个字节的文件,第一个字节的编号是10001,如果数据用5次来发送,前4个报文段各携带1000字节的数据,最后一个报文段携带2000字节的数据:

报文段1--->序号:10001 (字节号范围:10001到11000)

报文段2--->序号:11001 (字节号范围:11001到12000)

报文段3--->序号:12001 (字节号范围:12001到13000)

报文段4--->序号:13001 (字节号范围:13001到14000)

报文段5--->序号:14001 (字节号范围:14001到16000)

7.2.3 TCP中的报文段格式详解


  • 补充:源端口是随机的,为动态端口(短暂端口)49152到65535
    目的端口为熟知端口(著名端口)为0到1023








  • RST为1的三种情况:a、拒绝连接请求;b、异常终止连接;c、终止空闲连接;



  • 伪首部指的是IP地址
  • 检验和是TCP的必须内容,是UDP的可选内容
  • Ctrl+c就是紧急指针的内容同时URG为1;



普通情况下此关系成立,在以太网中MTU为1500字节,由硬件决定

相关推荐
流浪0013 天前
计算机网络篇23:数据链路层——以太网帧格式与 MAC 地址,MTU 牵住 UDP 和 TCP,ARP 拿 IP 换 MAC
计算机网络·mac·数据链路层·arp·mtu·局域网通信
老秦包你会3 天前
计算机网络第二课 ----Socket(套接字)编程预备
开发语言·计算机网络·php
say_fall4 天前
【Linux网络编程】计算机网络基础:局域网与广域网、OSI七层模型与TCP/IP五层模型、封装解包与MAC/IP地址、端口号与socket编程接口
linux·网络·tcp/ip·计算机网络·信息与通信
流浪0014 天前
计算机网络篇21:网络层——网段划分与子网掩码,从分类地址到 CIDR 与可用主机数
计算机网络·子网划分·nat·子网掩码·cidr·网络层协议
咔_4 天前
有IPv6地址,为什么外面还是连不进来?让同一台服务分别卡在四个位置
linux·计算机网络
流浪0014 天前
计算机网络篇22:网络层——公网的三级地址划分与逐跳转发,从私网出口替换到 IP 分片组装
tcp/ip·计算机网络·路由器·公网搭建·报文分篇
Java成神之路-5 天前
TCP Socket 与 UDP Socket
tcp/ip·计算机网络·udp
流浪0016 天前
计算机网络篇20:网络层——IP 协议的定位与 IPv4 报头字段,从 20 字节首部到 TTL 防环
tcp/ip·计算机网络·ttl·网络层协议·ip报头
流浪0017 天前
计算机网络篇17:传输层——TCP 超时重传、三次握手与四次挥手,TIME_WAIT 为什么要等 2MSL
网络协议·tcp/ip·计算机网络·三次握手·四次挥手·超时重传
流浪0018 天前
计算机网络篇16:传输层——TCP 报头属性字段:16 位窗口大小撑起流量控制,六个标志位标识报文类型
网络协议·tcp/ip·计算机网络·urg紧急指针·tcp报头