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协议详 ...
随机推荐
- floyed算法
Floyed算法(实际是动态规划问题) 问题:权值矩阵matrix[i][j]表示i到j的距离,如果没有路径则为无穷 求出权值矩阵中任意两点间的最短距离 分析:对于每一对定点u,v看是否存在一个点w使 ...
- 纯css画哆啦A梦
今天有点无聊,照着网上的图写了个哆啦A梦,无技术可言,纯考耐心. <!doctype html> <html lang="en"> <head> ...
- 三个C++资源链接(大量)
https://github.com/fffaraz/awesome-cpp http://blog.jobbole.com/78901/ https://github.com/programthin ...
- stackoverflow,stackexchange,zhihu,ilewen,segmentfault,answerhub,question2answer,,
http://stackexchange.com/ http://question2answer.org/ http://answerhub.com/qa/ http://segmentfault.c ...
- A. Liserious战队
Liserious战队是一支活跃在京沪地区的著名密室逃脱战队,在优秀的队长Liserious和芳姐的带领下,打遍天下大大小小的密室逃脱,攻无不克,战无不胜,上天入地无所不能. 世界密室逃脱委员会以IS ...
- (Java随机数举例)随机扔一千次硬币的正反次数
方法一: public class coin{ public static void main(String args[]){ int n = 0; int m = 0; int len = 1000 ...
- JS,Jquery - 三元运算符
在javascript中使用三元运算符. 要使用 " [] " ,对运算式进行包裹.
- 【JavaScript】history.back() 网页已过期
使用history.back()进行返回时,有时会提示“网页已过期”, 多数是因为目标页面的form为post提交方式,而且是表单已经提交后的响应页面,无法找到form中的具体参数,而“报错”. 具体 ...
- 【centos6 , 6】linux 查看帮助文档:
1. 使用 命令 -h 或 命令 --help , 例: ls -h 2. man命令 : man 命令 例:man ls 3.info命令: ...
- 使用SourceTree Push 出现 POST git-receive-pack (chunked) 的解决方法
在使用SourceTree上传资料的时候,遇到 POST git-receive-pack (chunked) 从 stackoverflow 看到这样一则 This is a bug in Git; ...