所有知识来自谢老师的书
计算机网络分层模型
五层体系结构,由上到下
名称 | 作用 | 传输单位 | 协议(TCP/IP协议最重要) |
---|---|---|---|
应用层(appliaction layer) | 通过应用进程之间的交互,来完成特定的网络应用 | 报文(message) | HTTP、DNS、SMTP(用来支持电子邮件的协议)等 |
运输层(准确译名transport) | 为两台主机之间的进程通信提供数据传输服务 | 报文段segment、用户数据报 | TCP、UDP |
网络层(network layer) | 为分组交换网上的主机之间提供通信服务 | IP数据报 | IP |
数据链路层(data link lay er) | 将数据组合成数据块-帧,处理传输差错 | 帧framing | 略 |
物理层(physical layer) | 在连接计算机的传输媒体上实现比特流的传送 | 比特bit–二进制中的位 | 规程 |
运输层
- 为应用层提供通信服务,面向通信的最高层,用户功能的最底层
TCP协议 transmission control protocol
TCP协议的特点
- 面向连接的协议,在传输数据之前,需要建立连接;在数据传输完毕以后,需要释放连接
- 点对点连接,端点是套接字(socket)(端点不是主机、不是主机ip地址),套接字也叫插口,形式是(IP地址:端口号),每条TCP连接唯一地被通信两端的套接字确定
- 可靠交付,数据无差错、不丢失、不重复、按序到达
- 全双工通信,连接两端有缓冲区,通信双方既是发送方,也是接收方
- 面向字节流,TCP将应用层交下来的数据看成字节流,加上TCP首部→报文段,报文段在网络层加上IP首部,在数据链路层加上首部和尾部,才离开主机发送到物理链路层
可靠传输实现原理
停止等待协议—每发送完一个分组就停止发送,等待接收方确认,运输层并不采用这种协议
- 无错误
- 有错误
- 超时重传
B在接收M1时出错,或者M1丢失
- 确认丢失 重传
- 确认迟到 重传,收下迟到的确认什么也不做
停止等待协议信道利用率低,需要使用流水线传输方式进行改进。
连续ARQ协议
发送方维持着一个一定大小的发送窗口,接收方采用累积确认的方式,对按序到达的最后一个分组发送确认。
滑动窗口协议 待续
- 滑动窗口
- 超时重传时间选择
- 选择确认ACK
流量控制 待续
让发送速率不要太快,让接收方来得及接收
拥塞控制 待续
资源需求>可用资源
TCP三次握手
连接建立→数据传送→连接释放
连接建立
- 连接建立过程称为握手,连接的双方:主动–客户(client)、被动–服务器(server),需要交换三个TCP报文段。
A | B |
---|---|
— | B的TCP服务进程创建传输控制块TCB,接收连接请求 |
A创建TCB,向B发送请求报文段,A处于同步发送状态 | |
— | B收到请求报文段,同意建立连接,向A发送确认,B处于同步收到状态 |
A收到确认信息以后,向B发送确认信息,A处于established(已建立连接)状态 | |
— | B收到确认以后也处于ESTABLISHED状态(防止迟到的A向B发出请求,B误发数据,所以A最后还要发送一次确认) |