HCIE | 传输层哪些不得不知道的定义

2021-02-24 10:41:21 浏览数 (1)

传输层定义

传输层是整个网络体系结构中的关键层次之一,主要负责向两个主机中进程之间的通信提供服务。由于一个主机同时运行多个进程,因此传输层具有有复用和分用功能。传输层在终端用户之间提供透明的数据传输,向上层提供可靠的数据传输服务。传输层在给定的链路上通过流量控制、分段/重组和差错控制来保证数据传输的可靠性。传输层的一些协议是面向链接的,这就意味着传输层能保持对分段的跟踪,并且重传那些失败的分段。

传输层包含两个协议(UDP、TCP),这篇文章主要围绕着TCP、UDP来讲。

TCP面向连接协议

在需要(如内存不足)时,通过API通知TCP协

TCP是一种面向连接,可靠的传输层协议,先进行TCP三次握手,在传递应用数据,可以提供确认ACK,流量控制功能(Windows 滑动窗口)

常见TCP应用:(端口号是用来区分不同的网络服务)

  • FTP 端口号:20 21
  • Http 端口号:80
  • Https 端口号:443
  • Telnet端口号:21
  • SMTP 端口号:25
  • POP3 端口号:110

适用场景:TCP适合于可靠性要求较高的应用,如WEB、邮件等。

报文格式:

  • TCP数据段由TCP Header(头部)和TCP Data(数据)组成。TCP最多可以有60个字节的头部,如果没有Options字段,正常的长度是20字节。
  • 16位窗口大小:表示接收端期望通过单次确认而收到的数据的大小,由于该字段为16位,所以窗口的大小的最大值65545字节,该机制通常用来进行数据流量控制。
  • 滑动窗口的流控特性:
    • TCP的滑动窗口是动态的,应用根据自身的处理变化,通过本端TCP接收窗口大小控制来对-对端的发送窗口流量控制。应用程序在需要(如内存不足)时,通过API通知TCP协议栈缩小TCP的接收窗口,然后TCP协议栈在下个段发送是包含新的窗口大小通知给对端,对端按通知的窗口来改变发送窗口,以此达到减缓发送速率的目的。

TCP建立连接过程(三次握手):

TCP断开连接过程(四次握手):

UDP用户数据报协议

UDP是一种面向无连接,不可靠的传输层协议,报文简单占用小8byte,所以传输小、效率高,适用于视频等大流量应用,对可靠性要求不高的应用

常见应用:

  • DNS 端口53;
  • SNMP 端口161;
  • DHCP 端口68;
  • TFTP 端口69;
  • RIP 端口512;

报文格式:报文中不包含确认机制

适用场景:

  • UDP适合于实时数据传输,如语音和视频通信
  • 相比于TCP,UDP的传输效率更高、开销更小,但是无法保障数据传输的可靠性。而是需要上传应用协议自身提供可靠性保证(如RIP需要通过30S周期更新来保证)

数据转发过程

数据转发过程分为本地转发(同网段)和远程转发(跨网段)两种,而两者的数据转发原理是基本一样的,都是遵循TCP/IP协议簇。

数据封装过程:

数据从高层向低层转发的过程称之为封装;

数据解封装过程:

数据从底层向高层转的过程称之为解封装;

0 人点赞