IP通信基础课堂笔记----第二章(重点)
TCP报文及传输
TCP报文主要学习的内容包括,报文格式、连接管理、流量控制、差错控制。
TCP报文是由报文头部和数据两个部分组成。占20字节的报文头部包括源端口、位目的端口、序号、、确认号、首部长度、保留、URG、ACK、PSH、RST、SYN、FIN、窗口大小、检验和以及紧急指针。
序号字段的值为本报文段所发送数据的第一个字节序号;确认号字段则是指期望收到对方下一个报文段数据的第一个字节的序号;紧急URG字段表示,当报文URG字段值等于1时,紧急指针字段有效;确认ACK字段表示,当报文ACK字段值等于1时,确认号字段有效;复位RST字段表示,当报文RST字段值等于1时,TCP连接中出现严重错误,必须释放连接,然后再重新建立传输连接;同步SYN字段表示,当报文SYN字段值等于1时,此报文是一个连接请求或连接接受的报文;发送端窗口大小字段值取决于对方设置的发送窗口大小,接收端窗口大小的值取决于接收端的缓冲窗口大小。
TCP建立连接的过程通常被称作三次握手。第一步,客户端的TCP向服务器发出连接请求报文段(SYN=1,seq=x)。第二步,服务器的TCP收到连接请求后,若同意,则发回确认(ACK=1,ack=x+1),同时向客户端发起连接请求(SYN=1,seq=y)。第三步,客户端收到服务器的报文后向服务器给出确认(ACK=1,ack=y+1)。至此,连接已建立。
TCP与UDP的区别在于,UDP报文没有可靠性保证和顺序保证字段,但传输效率比TCP高。例如,在线看直播时出现画面卡顿不会重新加载(类似UDP)看实况时出现的画面卡顿会产生缓冲加载(类似TCP)
IP通信基础课堂笔记----第二章(重点)的更多相关文章
- IP通信基础课堂笔记----第一章(重点)
七层数据传输:应用层.表示层.会话层.传输层.网络层.数据链路层.物理层 1.物理层:设备----集线器.Hub 两台主机的最大跨度----2500m 在物理层工作----(1)所有设备都处于同一冲突 ...
- IP通信基础课堂笔记----第四章(重点中的重点)
IPv4编址方法 一个IPv4地址可表示为一个32位的二进制数. IP地址前面的网络部分表示一个网段,后面部分(主机位)表示这个网段上的一台设备. 常用IP地址分为四类:A.B.C.D. 每类的网络地 ...
- IP通信基础课堂笔记----第三章(自认为的重点)
网络层协议IP IP数据包格式:固定部分 { 标识(16):计数器,源站每发送一个分组,标识+1:源IP地址的标识是全网唯一的. (包含TCP/UDP首部) | 标志(3):当最低 ...
- IP通信基础课堂笔记----关于数链层
课前回顾 IOS从上到下分别有:应用层,传输层,网络层,数链层,物理层. IP是网络层的地址,MAC是数链层的地址,IP必须通过ARP才能转换成MAC地址. 课堂内容 1.如何在数链层实现发送端数据无 ...
- IP通信基础课堂笔记----简答题
1.局域网优点:局域网特点(5) 2.10BASE-T技术特性(8) 3.网桥/交换机的优点(3):缺点(3) 4.虚拟局域网特点(4) *转发表或原MAC地址规则:记录源MAC地址 *VLAN帧格式 ...
- IP通信基础课堂笔记----以太网VLAN
1.以太网与802.3格式差异 2.以太网MAC地址特点 3.以太网MAC帧字节范围:64-1518 4.协议CSMA:载波侦听多路访问 5.碰撞检测 6.网卡(适配器)
- Android群英传笔记——第二章:Android开发工具新接触
Android群英传笔记--第二章:Android开发工具新接触 其实这一章并没什么可讲的,前面的安装Android studio的我们可以直接跳过,如果有兴趣的,可以去看看Google主推-Andr ...
- 《DOM Scripting》学习笔记-——第二章 js语法
<Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...
- The Road to learn React书籍学习笔记(第二章)
The Road to learn React书籍学习笔记(第二章) 组件的内部状态 组件的内部状态也称为局部状态,允许保存.修改和删除在组件内部的属性,使用ES6类组件可以在构造函数中初始化组件的状 ...
随机推荐
- oracle 存储过程(分析理解)
我的理解 比较简单(仅供参考) 存储过程就相当于java里面的方法 简单讲就是一串代码能够实现某个特定的功能,想要使用这个方法直接调用方法名就能够使用他的功能,这就是方法 oracle 存储过程也 ...
- [Linux] 文档编辑搜索
vim filename press / type words which you want to search press Enter Q: How can I search only for wo ...
- mybatis ResultMap详解
前言 MyBatis是基于“数据库结构不可控”的思想建立的,也就是我们希望数据库遵循第三范式或BCNF,但实际事与愿违,那么结果集映射就是MyBatis为我们提供这种理想与现实间转换的手段了,而res ...
- 【官方下载】EasyCMDB官方基础版免费下载使用!
链接
- vue-cli卸载旧版,再重新安装后还显示的是旧的版本
按vue-cli的官方文档中卸载了旧版(2.8.2),然后重装了新版本,之后输入 vue --version还是显示2.8.2,最后发现关闭终端后重新打开终端,再看vue --version显示的是新 ...
- cowboy源码分析(三)
上接 cowboy源码分析(二) 我们接着分析cowboy_protocol.erl的request/7模块 -module(cowboy_protocol). %% API.-export([sta ...
- Vue.js错误: Maximum call stack size exceeded
这几天正自学Vue, 用eggjs + vue 采用前后分离,写一个网站练练手. 增加了一个商品详情页 Detail.vue的时候,点击进入Detail.vue的时候,页面显示空白,打开浏览器调试工具 ...
- C语言博客作业04——数组
1.本章学习总结 1.1思维导图 1.2本章学习体会及代码量 1.2.1学习体会 这几周学习了数组,数组分为三大块:一维数组.二维数组和字符数组.数组相对于之前普通变量的好处就是可以储存数值,方便数据 ...
- 欧姆龙PLC CP1E型号的90,91,190
I/O存储区的CIO区,输入位CIO0-CIO99 对于NA型,模拟输入0和1将分别占用CIO90和CIO91 输出位CIO100-CIO199,对于NA型,模拟输出0将占用CIO190
- 从零开始学Python 三(网络爬虫)
本章由网络爬虫的编写来学习python.首先写几行代码抓取百度首页,提提精神,代码如下: import urllib.request file=urllib.request.urlopen(" ...