首页 > 其他分享 >【学习笔记-CS144 计算机网络】传输层

【学习笔记-CS144 计算机网络】传输层

时间:2023-07-31 20:34:14浏览次数:56  
标签:seq 16 ACK CS144 计算机网络 传输层 FIN 服务端 客户端

概述

主要任务:
  1. 对接端口

  2. 连接管理

  3. 分割和重组上下数据

  4. 差错和纠错功能

  5. 流量控制

传输层协议

TCP

特点

  1. 可靠性高

  2. 端到端,面向连接

  3. 基于字节

  4. 速度慢

向下传递操作步骤:

  1. 接受来自应用层的8位字节的数据流,并根据MTU分段。

  2. 封装上队头标记,打包成数据包

  3. 将数据包传送给IP层(网络层)


    TCP队头标记:(图片不贴)

  1. 端口(16*2):源端口和目的端口

  2. 序列号seq(32)

  3. 确认号ack(32):根据握手过程改变大小

  4. Data Offset数据偏移(4):队头的总长,一个1标识四字节。

    eg:1111,就是15(1111)*4(bit) = 60(bit),整个队头有60字节

  5. 保留位(4):目前还没制定用途

  6. 控制位(1*8):都是0或者1

    1. CWR:用于 IP 首部的 ECN 字段。ECE 为 1 时,则通知对方已将拥塞窗口缩小。

    2. ECE:在收到数据包的 IP 首部中 ECN 为 1 时将 TCP 首部中的 ECE 设置为 1,表示从对方到这边的网络有拥塞。

    3. URG:紧急模式

    4. ACK:确认序列号(ACK)有效。

    5. PSH:推送,接收方应尽快给应用程序传送这个数据。

    6. RST:该位为 1 表示 TCP 连接中出现异常必须强制断开连接。为重建链接做准备。

    7. SYN:初始化一个连接的同步序列号(SEQ)

    8. FIN:该位为 1 表示今后不会有数据发送,希望断开连接。

  7. window(16):表示自己能接受到的流量大小(对方返传数据)

  8. Checksum(16):校验数据包长度和是否正确

  9. Urgent Pointer(16):紧急情况标识

  10. options(32*N):额外用途

  11. 数据包


    流程:建立连接

  1. 客户端发送【seq=a,SYN=1】给服务端

  2. 服务端发送【ack=a+1,seq=b,SYN=1,ACK=1】给客户端

  3. 客户端发送【seq=a+1,ack=b+1,ACK=1】给服务端,成功建立

流程:终止连接

  1. 客户端发送【seq=a,FIN=1,ACK=1】给服务端,

    1. 客户端进入FIN-WAIT1

  2. 服务端发送【seq=b,ack=a+1,ACK=1】给客户端,

    1. 服务端进入CLOSE-WAIT

    2. 客户端在接收到后进入FIN-WAIT2

  3. 服务端再发送【seq=b,ack=a+1,FIN=1,ACK=1】给客户端

    1. 服务端进入LAST-ACK

    2. 客户端在接收到后进入TIME-WAIT

  4. 客户端发送【seq=a+1,ack=b+1,ACK=1】给服务端

    1. 服务端接收到后CLOSE

    2. 服务端如果没有收到(ACK丢失),会再次发来FIN。

      处于TIME-WAIT的客户端要再发一个ACK。


UDP

特点

  1. 可靠性低

  2. 一次性

  3. 无拥塞控制

  4. 不返回错误信息

  5. 不合并控制报文大小

  6. 速度快

向下传递操作步骤:

  1. 接受来自应用层的数据流,直接封装

  2. 传递给IP层

UDP队头标记:(图片不贴)

  1. 端口(16):源端口和目的端口

  2. UDP总长度(16)

  3. UDP检验和(16)

流程:

  1. 交给IP层处理


 

 

 

 

 

 

 

标签:seq,16,ACK,CS144,计算机网络,传输层,FIN,服务端,客户端
From: https://www.cnblogs.com/Birderr/p/17594399.html

相关文章

  • 终于有网易大牛把我在大学没学会的《计算机网络协议》讲清楚了
    计算机网络如果你了解过IT行业,那么你一定听说过计算机网络。不管是从事开发、运维、测试,都需要有一个良好的计算机网络基础知识体系。为什么计算机网络这么重要呢?集群规模一大,我们首先想到的就是网络互通的问题;应用吞吐量压不上去,我们首先想到的也是网络互通的问题。所以,要成为技术......
  • 计算机网络基础
    1.同网段主机之间通信(1)主机首先根据IP号和子网掩码来计算网络号,查看是否处于同一网段(2)根据ARP协议(2-1)首先,在本机的ARP缓存表中查看目的IP地址的MAC地址(2-2)如果查询到对应条目,则直接封装数据包进行转发(2-3)如果不存在对应条目,则在使用ARP协议进行广播查询(2-3-1)主机封装广播数......
  • 【计算机网络】soap和rest简单比较整理
    https://www.bilibili.com/video/BV1ht411U7fC/?spm_id_from=333.337.search-card.all.click&vd_source=d11276664e3a69665cdbcae735af16dc一、从定义上他们就是完全不同的,soap是一个协议,restful是一种架构风格,是直接基于http协议实现的。所以直接可以看出当你想实现webservice的......
  • 传输层协议
    传输层协议1,什么是传输层传输层是整个网络体系结构中的关键层次之一,主要负责向两个主机中进程之间的通信提供服务。由于一个主机同时运行多个进程,因此运输层具有复用和分用功能。传输层在终端用户之间提供透明的数据传输,向上层提供可靠的数据传输服务。传输层在给定的链路上通过......
  • 传输层相关简述
    TCP协议特性工作在传输层面向连接协议全双工协议半关闭错误检查将数据打包成段,排序确认机制数据恢复,重传(超时重传)流量控制,滑动窗口TCP报文格式源端口、目标端口:计算机上的进程要和其他进程通信是要通过计算机端口的,而一个计算机端口某个时刻只......
  • 计算机网络自顶而下第二章笔记
     应用层原理网络应用的体系结构可能的应用架构:r客户-服务器模式(C/S:client/server)r对等模式(P2P:PeerToPeer)r混合体:客户-服务器和对等体系客户-服务器(C/S)体系结构r服务器:m一直运行m固定的IP地址和周知的端口号(约定)m扩展性:服务器场•对数据中心进行扩......
  • 计算机网络 笔记
    五层网络协议应用层(applicationlayer):直接为应用进程提供服务。应用层协议定义的是应用进程间通讯和交互的规则。不同的应用有着不同的应用层协议,如HTTP协议(万维网服务)、FTP协议(文件传输)、SMTP协议(电子邮件)、DNS(域名查询)等。运输层(transportlayer):报文段(TCP)/用户数......
  • 计算机网络助教总结
    一、助教工作的具体职责和任务协助老师完成实验,给同学们排错协助老师进行课程改革进行课程作业设计,发布作业,批改作业以及平时成绩登记协助组织第二课堂活动,进行相关资料的收集和整理改革:协助老师进行短视频制作取消线下作业讲评环节,改为线上答疑并落实相关作业订正。将正......
  • 传输层协议
    一、TCP协议1.什么是TCP传输控制协议(TCP,TransmissionControlProtocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议由IETF的RFC793定义。TCP旨在适应支持多网络应用的分层协议层次结构。连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠......
  • 计算机网络自顶而下第一章笔记记录
    计算机网络节点主机及其上运行的应用程序(能接入互联网的任何终端)(端点)路由器,交换机等网络交换设备。(其中,路由器与交换机的工作层次不同,路由器在网络层工作,交换机在链路层工作)边 通信链路(按接入设备的不同)接入网链路,主机连接到互联网的链路(只要有端点即可)主干链路:路由器......