考研 计算机网络第五章传输层 知识点总结

  • 传输层概述
    • 只有主机才有的层次(传输层和应用层)。

    • 传输层的功能
      • 1.传输层提供进程和进程之间的逻辑通信。
        网络层提供主机之间的逻辑通信。
      • 2.复用和分用
      • 3.传输层对收到的报文进行差错检测。
      • 4.传输层的两种协议。(TCP&UDP)

    • 传输层的选择与端口
      • 复用:应用层所有的应用进程都可以通过传输层再传输到网络层。
      • 分用:传输层从网络层收到数据后,交付指明的应用进程。
      • 逻辑端口/软件端口:端口是传输层的SAP,标识主机中的应用进程。


        ★端口号只有本地意义,在因特网中不同计算机的相同端口是没有联系的。
        ★端口号长度为16bit,能表示65536(2的16次方)个不同的端口号。
      • 常用应用程序端口号

    • 套接字Socket=(主机IP地址,端口号)
      • 在网络中采用发送方和接收方的套接字组合来识别端点,套接字唯一标识了网络中的一个主机和它上面的一个进程。
  • UDP协议
    • 用户数据报协议UDP协议概述
      • UDP只在IP数据报服务之上,增加了很少功能,即复用分用和差错检测功能。
    • UDP主要特点
      • 1. UDP是无连接的,减少开销和发送数据之前的时延。
      • 2.UDP使用最大努力交付,即不保证可靠交付。
      • 3.UDP是面向报文的,适合一次性传输少量数据的网络应用。

      • 4.UDP无拥塞控制,适合很多实时应用。
      • 5.UDP首部开销小,是8B,而TCP是20B。
    • UDP首部格式
      • 首部格式


        分用时,找不到对应的目的端口号,就丢弃报文,并给发送方发送ICMP“端口不可达”差错报告报文。
      • UDP校验


        伪首部模仿的是IP首部。
        ​★伪首部只有在计算校验核时才出现,不向下传送也不向上递交。
  • TCP协议特点和TCP报文段格式
    • TCP协议的特点
      • 1.TCP是面向连接(虚连接)的传输层协议。
        就好像点对点的直接连接,就好像进程和进程直接连接在一起。所以说是虚连接。
      • 2.每一条TCP连接只能有两个短点,每一条TCP连接只能是点对点的。
        没办法用于广播或多播的通讯方式。
      • 3. TCP提供可靠交付的服务,无差错、不丢失、不重复、按序到达。
        可靠有序,不丢不重。
      • 4. TCP提供全双工通信。

      • 5. TCP面向字节流。


        流:流入到进程或从进程流出的字节序列。
    • TCP报文段首部格式

      • 例子1 序号:在一个TCP连接中传送的字节流中的每一个字节都按序号编号,本字段表示本报文段所发送数据的第一个字节的序号。

      • 例子2 确认号:期望收到对方下一个报文段的第一个数据字节的序号。若确认号为N,则证明到序号N-1为止的所有数据都已正确收到。


        接受方面收到一个报文段就要返回一个确认报文段。
      • 例子3 数据偏移(首部长度): TCP报文段的数据起始处距离TCP报文段的起始处有多远,以4B为单位,即1个数值是4B。

    • 6个控制位

  • TCP连接管理
    • TCP连接管理

      • TCP连接的建立采用客户服务器方式,主动发起连接建立的应用进程叫做客户,而被动等待连接建立的应用进程叫服务器。
      • 假设运行在一台主(客户)上的一个进程想与另一台主机上的一个进程建立一条连接,,用户应用进程首先通知客户TCP,他想建立一个与服务器上某个进程之间的连接,客户中的TCP会用以下步骤与服务器中的TCP建立一条TCP连接。

      • 洪泛攻击


        因为三次握手而产生的一种黑客攻击问题。。
        解决SYN洪泛攻击的办法:设置SYN cookie。
      • TCP的连接释放过程
        • 参与一条TCP连接的两个进程中的任何一个都能终止,该连接连接结束后主机中的“资源”(缓存和变量)将被释放。下图是四次握手过程。

    • TCP可靠传输


      可靠:保证接收方进程从缓存区读出的字节流与发送方发出的字节流是完全一样的。
    • 之前讲过TCP协议是面向字节流的。所以TCP在传输的时候是按照字节为单位。把一个字节编上一个序号,第1个字节为序号1,第2个字节为序号2,以此类推,对于一个文件或者是要发送的数据,它的第1个字节序号是多少是可以随机的。实际发送的时候是以报文段为单位。报文段的划分取决于链路层MTU(最大传输单元)。


      一个字节占一个序号。
    • 重传:确认重传不分家,TCP的发送方在规定的时间(重传时间)内没有收到确认,就要重传已发送的报文段。(超时重传)
    • TCP采用自适应算法,动态改变,重传时间RTTs(加权平均往返时间)。
    • 在超时发生之前,知道发送方有没有丢失报文段,然后尽快重传方法
      • 冗余ACK(冗余确认)


        每当比期望序号大的失序,报文段到达时,发送冗余ACK,指明下一个期待字节的序号。
  • TCP流量控制
    • 流量控制就是让发送方发送慢一点,让接收方来得及接收。
    • TCP利用滑动窗口机制实现流量控制。

    • 例子: A向B发送数据,连接建立时,B告诉A:“我的rwnd=400”,说每一个报文段100B,报文段序号,初始值为1。

  • TCP拥塞控制
    • 出现拥塞的条件:对资源需求的总和>可用资源。
      网络中有许多资源同时呈现供应不足→网络性能变坏→网络吞吐量将随输入负载增大而下降。
    • 拥塞控制的目的
      • 防止过多的数据注入到网络中。(全局性)
    • 拥塞控制和流量控制的区别


      拥塞控制:一个全局性的问题。发送方给接收方发送数据,同时使用网络上的资源或者交换节点,会使得网络非常繁忙,出现拥塞的情况。接收方会察觉这样的一种情况,但是这种情况接收方并不知道是哪一台主机发送速率过快,或者是发送数据过多造成的。(主要是因为网络发生堵塞,导致很多发送方发送的数据迟迟到不了接收方。)
      流量控制:是一个端到端的问题。如果接收方收来的数据来不及接收,他就知道应该找发送方。(发送方速率过快,导致接收方接收缓存不够,或者说接收窗口不够来不及接收)
    • 拥塞控制4种算法

      • ①慢开始和拥塞避免

      • ②快重传和快恢复

  • 总结
    • 脑图

猜你喜欢

转载自blog.csdn.net/qq_51607668/article/details/119647730