1、传输层的功能
- 通信功能的最高层,用户功能的最底层
- 进程通信,端到端,主机间的逻辑通信
- 复用分用,不同进程都可用,网络层的复用是不同传输层协议都可以封装成数据报
- 差错检测,同时检测数据部分和首部,网络层之间测首部
端口
- 端口号16bit,可以表示65536个端口
- 不同主机间的端口号没关系
- 分为两类:服务端,客户端
- 服务端分为 熟知(0-1023)登记(1024-49151)
12. 客户端口49152-65535,临时端口,动态选择- 套接字:IP:端口号
面向链接与无链接
- TCP面向链接、可靠、全双工,逻辑,无广播组播
- UDP无链接、不可靠、无确认、仅在IP上加多路复用-投递到对应端口,和错误检测,TFTP、DNS、SNMP、RTP
- IP数据报对应UDP数据报,虚电路对应TCP,TCP是否可以使用IP数据报
- TCP和IP数据报的首部长度都是20
- 提供确认,就可以认为是可靠协议
UDP
1、概述
功能
优点:无链接、首部小、多对多
面向报文
3、首部格式
UDP校验
- 伪首部
- 伪首部的格式
- 校验和的计算方法
- 例子
反码求和是什么
TCP
- 特点
暂存数据类型
关于TCP长度问题
TCP报文段
首部
格式
格式详解
- 原端口和目的端口:各2B
- 序号:4B,按照字节传送,每个字节都编号,序号字段表示发送数据的第一个字节的编号
- 确认号:4B,期待收到下一个报文段的序列号
- 数据偏移,也是首部长度:4bit,单位是4字节,最大15*4B = 60B
- 保留位:6位,目前是0
- 紧急位URG:=1时有效,表示紧急数据,配合紧急指针,表示从第一个到紧急指针都是紧急数据
- 确认位ACK:ACK = 1确认号才有效,建立连接后,ACK置1
- 推送位PSH:PSH = 1尽快交付,否则填满缓存后交付
- 复位位RST:RST = 1严重差错,释放链接,重新建立
- 同步位SYN:SYN = 1表示链接请求,链接接受豹报文 ,SYN = 1 ACK = 0 请求报文,SYN = 1 ACK = 1 接受报文
- 窗口:2B,发送方设置发送缓存的依据
- 校验和:2B,把UDP的伪首部17改成4
- 紧急指针:2B
- 选项:TCP规定了一个选项,最大报文长度,MSS数据字段的最大长度
- 填充:使首部长度是4B的整数倍
TCP链接管理
- 客户服务器模式
- TCP链接端口是套接字
- 建立连接三个阶段