【教程学习笔记】《计算机网络教程》课程笔记2:计算机网络的协议和应用

本课程使用书目为《计算机网络教程》(第六版|微课版本)
教学老师:关继夫
教学内容:计算机网络的概念、组成部分、分类和协议,以及网络安全与防护的相关知识。
面向专业:智能医学工程
本文内容:计算机网络协议的概念、协议的分类、常见的计算机网络协议、计算机网络的应用等相关知识点

计算机网络课程笔记

  • 第五章
    • 5.3 传输控制协议 TCP
      • 5.3.1 TCP的主要特点
        • 面向字节流
      • 5.3.2 TCP报文段格式

第五章

5.3 传输控制协议 TCP

5.3.1 TCP的主要特点

TCP的主要特点包括:

三次握手建立连接,确保连接建立的可靠性。
端口号:通过端口号标识上层协议和服务,实现了网络通道的多路复用。
完整性校验:通过对协议和载荷数据计算校验和,保证了接收方能检测出传输过程中可能出现的差错。
确认机制:对于正确接收到的数据,接收方通过显式应答通告发送方,超出一定时间之后,发送方将重传没有被确认的段,确保传输的可靠性。
序列号:发送的所有数据都拥有唯一的序列号,这样不但唯一标识了每一个段,而且明确了每个段在整个数据流中的位置,接收方可以利用这些信息实现确认、丢失检测、乱序重排等功能。
窗口机制:通过可调节的窗口,TCP接收方可以通告期望的发送速度,从而控制数据的流量。

面向字节流

面向字节流(Stream-Oriented Programming,SoO)是一种编程范式,它将程序中的计算和数据存储分离,使得计算可以并行执行,数据存储可以分布式存储。在面向字节流的编程中,所有的数据都被视为字节流,通过对字节流进行处理来实现对程序的控制和处理。
与面向字符流的编程不同,面向字节流的编程中,程序和数据被视为两个不同的对象,程序通过对数据的处理来实现对程序的控制和处理,而数据则通过直接操作字节流来实现对程序的控制和处理。这种分离有助于提高程序的并行性和灵活性,使得程序可以更加高效地处理数据。
在面向字节流的编程中,通常使用字节流运算符(如<<和>>等)来对数据进行处理,这些运算符可以将字节流中的数据直接进行运算和操作,而不需要先将数据转换为字符流或其他类型的流。此外,在面向字节流的编程中,数据的存储也是分布式的,通常使用分布式数据库或分布式文件系统等技术来实现数据的分布式存储和管理。

5.3.2 TCP报文段格式

使用TCP报文段格式的主要目的是为了确保数据的正确传输。在TCP协议中,数据报文段的格式非常重要,因为它们定义了数据在传输过程中的位置和状态。如果数据报文段的格式不正确,就可能导致数据的丢失、重复或乱序等问题,从而影响数据传输的可靠性和正确性。

具体来说,TCP报文段格式的主要作用如下:

确保数据的正确传输:TCP报文段格式中的源端口号和目的端口号用于标识报文段的发送方和接收方,以确保数据的正确传输。数据偏移字段表示数据报文段的起始处距离报文段的起始处的长度,而确认序号字段表示上一个数据报文段的确认号,可以用于确认已经正确接收到了所有的数据报文段。
提高数据传输的可靠性:TCP报文段格式中的确认机制可以保证数据传输的可靠性,当接收方收到发送方的确认信息时,就可以确认已经正确接收到了所有的数据报文段。
支持数据的分段和重组:TCP报文段格式中的窗口机制可以支持数据的分段和重组,发送方可以通过调整窗口大小来控制数据的传输速度,从而实现对数据传输的优化。

你可能感兴趣的:(笔记)