TCP/IP笔记 三.运输层(1)——UDP,TCP
1. 运输层
1.1 两种协议:TCP和UDP。
(1)TCP:提供了一种可靠的数据传输服务,TCP是面向连接的,只有链接建立起来后才能通信。
(2)UDP:是把数据直接发出去,而不管对方是不是在收信,就算是UDP无法送达,也不会产生ICMP差错报文。
1.2 上下层
(1)TCP,UDP不知道数据在信道中经过了哪些路由器,
(2)网络层(那些路由器)不知道TCP,UDP是否建立了链接
1.3 端口
端口是用来标志应用层的进程。
端口用一个 16 bit 端口号进行标志。
端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联系的
2. UDP
2.1 概述
(1)UDP 只在 IP 的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能
(2)优点
》发送数据之前不需要建立连接
》UDP 的主机不需要维持复杂的连接状态表。
》UDP 用户数据报只有8个字节的首部开销。
》网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。》1 vs 1, 1 vs 1+, 1+ vs 1, 1+ vs 1+
2.2 数据包首部
3. TCP
3.1 优点
(1)面向连接
(2)可靠
(3)全双工
(4)面向字节流
3.2 格式
序号:本报文的ID号(TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号)
确认号:下一报文的序号
URG = 1 :紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)
ACK = 1 : 确认号字段才有效
PSK = 1 :尽快交付给接受进程
RST = 1 :严重错误,重新连接
SYN = 1 :链接请求
FIN = 1 :链接结束
选项字段:长度可变。TCP 只规定了一种选项,即最大报文段长度 MSS (Maximum Segment Size)。MSS 告诉对方 TCP:“我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字节。”
TCP/IP笔记 三.运输层(1)——UDP,TCP的更多相关文章
- TCP/IP笔记 三.运输层(2)——TCP 流量控制与拥塞控制
TCP 的流量控制与拥塞控制可以说是一体的.流量控制是通过滑动窗口实现的,拥塞避免主要包含以下2个内容: (1)慢开始,拥塞避免 (2)快重传,快恢复 1.流量控制——滑动窗口 TCP采用大小可变的滑 ...
- TCP/IP笔记 三.运输层(4)——TCP链接管理与TCP状态机
1. 建立连接 三次握手 (1)A 的 TCP 向 B 发出连接请求报文段,其首部中的同步比特 SYN 应置为 1,并选择序号 x,表明传送数据时的第一个数据字节的序号是 x. (2)B 的 TCP ...
- TCP/IP笔记 三.运输层(3)——TCP超时重传算法
TCP 每发送一个报文段,就对这个报文段设置一次计时器.只要计时器设置的重传时间到但还没有收到确认,就要重传这一报文段 1. 平均往返时延RTT 往返时延:一个报文段发出的时间,以及收到相应的确认报文 ...
- TCP/IP笔记(三)数据链路层
数据链路的作用 数据链路层的协议定义了通过通信媒介互连的设备之间传输的规范.通信媒介包括双绞线电缆.同轴电缆.光纤.电波以及红外线等介质.此外,各个设备之间有时也会通过交换机.网桥.中继器等中转数据. ...
- Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手)
Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手) 一丶CS/BS 架构 C/S: 客户端/服务器 定义: ...
- TCP/IP协议栈与数据包封装+TCP与UDP区别
ISO制定的OSI参考模型的过于庞大.复杂招致了许多批评.与此对照,由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用.如图2-1所示,是TCP/IP参考模型和OSI参考模型的对比示意图. T ...
- TCP/IP的三次握手协议
关于TCP/IP的三次握手协议,这篇文章中有详细的介绍,很通俗易懂,什么时候忘了,都可以过来瞧两眼,保证很快就明白了. 首先TCP/IP协议分为三个阶段:建立连接(握手阶段),数据传输阶段,连接终止阶 ...
- TCP/IP笔记(1)
TCP/IP 背景和介绍 上世纪 70 年代,随着计算机技术的发展,计算机使用者意识到:要想发挥计算机更大的作用,就要将世界各地的计算机连接起来.但是简单的连接是远远不够的,因为计算机之间无法沟通.因 ...
- TCP/IP协议三次握手与四次握手流程解析
原文链接地址:http://www.2cto.com/net/201310/251896.html TCP/IP协议三次握手与四次握手流程解析 TCP/IP协议的详细信息参看<TCP/IP协议详 ...
随机推荐
- [Jobdu] 题目1516 : 调整数组顺序使奇数位于偶数前面
void diffOddAndEven(int a[], int n) { , high = n - ; int pivot; while (low < high) { == && ...
- 「Foundation」集合
一.NSArray和NSMutableArray (一)NSArray不可变数组 (1)NSArray的基本介绍 NSArray是OC中使用的数组,是面向对象的,以面向对象的形式操纵对象,是不可变数组 ...
- 【原创】MapGIS K9 三维二次开发入门
开发语言:C# 平台版本:MapGIS K9 SP3 MapGIS K9三维平台也提供了接口和组件以实现二次开发.用户可以根据提供的接口和组件进行二次开发,也可以借助MapGISK9数据中心框架,可以 ...
- sicily9162. RAZLIKA
9162. RAZLIKA 限制条件 时间限制: 2 秒, 内存限制: 256 兆 题目描述 Mirko's newest math homework assignment is a very dif ...
- 转: ajax跨域之JSONP
事件背景: 某个站点分为静态产品介绍页面(或由于某原因需要静态化),和一个独立的在线应用程序.静态产品页面属于www.a.com下,而在线应用程序作为一个相对独立的系统存在于app.a.com上. 在 ...
- EAN 通用商品条形码
商品条形码是指由一组规则排列的条.空及其对应字符组成的标识,用以表示一定的商品信息的符号.其中条为深色.空为纳色,用于条形码识读设备的扫描识读.其对应字符由一组阿拉伯数字组成,供人们直接识读或通过键盘 ...
- c++ 实现将数字转换为中文数字输出
实现如下函数: void printInChinese(int num); 这个函数输入一个小于100000000(一亿)的正整数,并在屏幕上打印这个数字的中文写法. 例如: 17 -> 一十七 ...
- for循环语句之棋盘放粮食、百鸡百钱、纸张的折叠问题
1.棋盘放粮食 ; ; i < ; i++) { ; ; j <= i; j++) { x = x * ; } lszl = lszl + x; } double zl = lszl * ...
- 内核printk打印等级
为了确认内核打印等级以及prink 参数对打印的分级,在led驱动初始化代码[以及exit出口]加入如下代码. 每次insmod .rmmod led模块时,根据打印等级的设置,得到不同的打印结果: ...
- 深入理解GCD ( 二 )
转自@nixzhu的GitHub主页(译者:Riven.@nixzhu),原文<Grand Central Dispatch In-Depth: Part 2/2> 欢迎来到GCD深入理解 ...