传输层,是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。传输层还可进行复用,即在一个网络连接上创建多个逻辑连接。在这一层,信息传送的协议数据单元称为段或报文。
端口的概念
端口有什么用呢?我们知道,一台拥有IP地址的主机
可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机
是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区分不同的服务的。
传输层提供了应用程序进程之间的端到端的服务,基本功能如下
(2) 按端口号寻址
(3) 连接管理
(4) 差错控制和流量控制,纠错的功能
传输层提供的服务可分为
:
☆
传输连接服务:通常,对会话层要求的每个传输连接,传输层都要在网络层上建立相应的连接。
☆
数据传输服务:强调提供面向连接的可靠服务(很晚OSI才开始制定无连接服务的有关标准),并提供
流量控制、
差错控制和
序列控制,以实现两个传输系统间传输的报文无差错、无丢失、无重复、无乱序。
传输层的协议
传输层的两大协议:TCP(传输控制协议)UDP(用户数据包协议)
TCP是一个可靠的面向链接的协议
UDP是不可靠的或者说无连接的协议。
1、tcp状态:
LISTEN:侦听来自远方的TCP端口的连接请求
SYN-SENT:再发送连接请求后等待匹配的连接请求
SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认
ESTABLISHED:代表一个打开的连接
FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认
FIN-WAIT-2:从远程TCP等待连接中断请求
CLOSE-WAIT:等待从本地用户发来的连接中断请求
CLOSING:等待远程TCP对连接中断的确认
LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认
TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认
CLOSED:没有任何连接状态
2、TCP三次握手/四次挥手