传输层

来源:互联网 发布:go编程语言 编辑:程序博客网 时间:2024/05/01 07:13

       传输层,是两台计算机经过网络进行数据通信时,第一个端到端的层次,具有缓冲作用。传输层还可进行复用,即在一个网络连接上创建多个逻辑连接。在这一层,信息传送的协议数据单元称为报文


端口的概念

端口有什么用呢?我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区分不同的服务的。

功能

传输层提供了应用程序进程之间的端到端的服务,基本功能如下


(1) 分割与重组数据
(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三次握手/四次挥手

   



原创粉丝点击