IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 哈工大计算机网络week5学习总结 -> 正文阅读

[网络协议]哈工大计算机网络week5学习总结

一、TCP概述

TCP连接

  • 点对点(一个发送方,一个接收方)
  • 可靠的,按序的字节流
  • 流水线机制(拥塞控制机制和流量控制机制 窗口尺寸)
  • 发送方,接收方的缓存
    在这里插入图片描述
  • 全双工特性:同一连接中可以传送双向字节流。应用层数据从进程B流向进程A的同时也从进程A流向进程B。
  • 面向连接:
    • 发送数据前必须建立连接(握手)。且是三次握手。
      • 前两次不包含应用层数据 (客户首先发送一个TCP特殊报文段,服务器用另一个特殊的TCP报文段作为相应,客户再用第三个特殊报文段作为相应)
    • 连接状态只在连接的两端维护,在沿途结点中并不更改状态
      • 在这两台主机之间的网络元素(路由器,交换机和中继器)没有为该连接分配任何缓存和变量
    • 包括两个主机间的缓存,连接状态变量和socket等信息

TCP报文段结构

在这里插入图片描述

  • 当TCP发送一个大文件时,该文件被划分为若干长度为MSS的若干块。但交互式应用通常传送长度小于MSS的数据块

  • 包括源端口号和目的端口号

  • 检验和字段(checksum)

  • 32bits的序号字段(seq number),32bit的确认号字段(ackowledge number)。用于发送方和接收方实现可靠数据传输。

  • 16bits的接收窗口(recieve window):用于流量控制

  • 4bits的首部长度字段。(header length field)单位是32比特的字。TCP首部典型长度为20字节

  • 选项字段(option field):发送方和接收方协商最大报文段长度

  • 6bits标志字段(UAPRSF)

    • ACK比特:包括一个对已经被成功接收报文段的确认
    • RST,SYN,FIN用于连接的建立和拆除。
    • CWR,ECE
    • PRH比特:指示接收方立刻将数据交付给上层
    • URG比特:知识报文段里存在被发送端的上层实体置为紧急的数据。紧急数据的最后一个字节由16bits的紧急数据指针字段(urg data pnter)指出。
  • 报文段序号(seqnum for a segment)是该报文段首字节的字节流编号。而不是报文段的编号。如图所示:
    在这里插入图片描述

  • 确认号:期望收到的下一个字节的序列号。累计确认机制,该号之前所有都已成功接收(注意不包括该号)

案例学习

在这里插入图片描述

  • 假设客户和服务器的起始序号分别为42和79

  • 客户端用户输入字符’C’,发送的第一个报文段序号为42,服务器发送的第一个报文段序号为79;ACK确认号就是等待的下一个字节的序号。

  • 第二个报文段,服务器将序号为79的报文段发给客户。在ACK中填入43告诉客户已经成功收到42字节及其之前的所有字节,现在期望43字节的出现。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-07 14:09:39  更:2021-10-07 14:11:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年6日历 -2024/6/29 20:47:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码