网络协议是每个前端工程师都必须要掌握的知识,TCP/IP 中有两个具有代表性的传输层协议,分别是 TCP 和 UDP,本文将介绍下这两者以及它们之间的区别. TCP/IP网络模型 计算机与网络设备要相互通信,双方就必须基于相同的方法.比如,如何探测到通信目标.由哪一边先发起通信.使用哪种语言进行通信.怎样结束通信等规则都需要事先确定.不同的硬件.操作系统之间的通信,所有的这一切都需要一种规则.而我们就把这种规则称为协议(protocol). TCP/IP 是互联网相关的各类协议族的总称,比如:T…
0x00.前言 通过本文你将了解到以下内容: 拥塞控制概念以及其背景 流量控制和拥塞控制的区别与联系 拥塞控制主要过程详解 伙伴们认真学习一下,让offer来得更猛烈些吧! 0x01.TCP/IP协议栈简要回顾 来看下维基百科对TCP/IP的一些介绍,笔者做了少量的修改来确保语句通顺: 互联网协议套件是一个网络通信模型以及整个网络传输协议家族,由于该协议簇包含两个核心协议:TCP(传输控制协议)和IP(网际协议),因此常被通称为TCP/IP协议族. TCP/IP协议对于数据应该如何封装.定址.传…
传输层:负责数据能够从发送端传到接收端(只需要关注点对点的传输,中间的传输过程一概不管) UDP和TCP UDP(全双工):1.无连接,2不可靠,3.面向数据报 分别表示UDP源端口号.目的端口号.UDP长度.UDP检验和 端口号在传输层的概念:区分这个数据要交给哪个程序去处理,启动一个服务器,会和一个端口号相绑定,一般HTTP绑定在80端口号,来区分发件人和收件人 UDP的报文长度最多是64k,这是一个比较小的数字,这就限制了应用层协议的数据长度,一旦数据长度超出了UDP的表示范围,就会出现问…
TCP/IP 5层协议簇/协议栈 数据/PDU 应用层 PC.防火墙 数据段/段Fragment 传输层 防火墙 报文/包/IP包packet 网络层 路由器 帧Frame 数据链路层 交换机.网卡 比特bit 物理层 网线 8bit = 1Byte字节 应用层 HTTP80.HTTPS443.SSH22.Telnet23.FTP21/20.DHCP67/68.SMTP25.POP3 110.RDP3389.SMB445.Mysql3306.DNS 53 传输层 TCP/UDP 网络层 ICMP…
ISO规范里定义了7层网络模型,实际常用的仍为TCPIP四层网络模型. 注:本文章插图均来自<图解TCP/IP>. 数据链路层帧格式 经常说的帧格式为以太网帧格式,由于类型和帧长度字段不重复,所以两种类型帧格式易于区分. 常用的上层协议类型为:IPv4(0800),ARP(0806),RARP(8035). IP层协议格式 IPv4首部 IPv6 arp包 传输层协议格式 UDP首部 TCP首部 参考: 1. 基于tcpdump实例讲解TCP/IP协议…
1. 传输层的主要功能是什么?2. 传输层如何区分不同应用程序的数据流?3. 传输层有哪些协议?4. 什么是UDP协议?5. 为什么有了UDP,还需要TCP?6. 什么是TCP协议?7. 怎么理解协议和程序?8. TCP是否真的有链接?9. 链接是如何建立的(逻辑上)?10. 所谓的建立TCP链接开销很大,具体是指什么?11. 三次握手的目的是什么?12. TCP如何提供可靠性?13. 什么是预期确认?什么是肯定确认与重新传输?哪些情况会重传?14. TCP中,序列号和应答号有哪些作用?15. …
传输层-TCP和UDP应用场景 TCP(传输控制协议) 需要将要传输的文件分段传输,建立会话,可靠传输,流量控制 UDP(用户报文协议) 一个数据包就能完成数据通信,不需要建立会话,不分段,不用流量控制,不可靠传输 UDP使用场景 DNS域名解析,QQ聊天,多媒体教室屏幕广播 TCP使用场景 HTTP协议,QQ传文件,邮件传输 1.netstat -nb查看的都是tcp,因为都是会话,udp不建立会话2.tcp和udp加一个端口就是应用层协议了3.DNS协议 既可以用TCP也可以用UDP4.HT…
开启抓包工具抓取一个HTTP的GET请求,我的ip是10.222.128.159    目标服务器ip是140.143.25.27 握手阶段: 客户端 ===> SYN MSS=1460(我能接收的最大数据包是1460字节) ===> 服务器客户端 <=== SYN,ACK MSS=1424(服务器最大数据包是1424字节) WS=7(window) win=3737600(服务器最多缓存3737600字节)<=== 服务器客户端 ===> ACK win=66816(客户端…
TCP提供可靠的通信传输,而UDP则常用于让广播和细节控制交给应用的通信传输. 传输层协议根据IP数据报判断最终的接收端应用程序. TCP/IP的众多应用协议大多以客户端/服务端的形式运行.客户端是请求的发起端,而服务端表示提供服务的意思,是请求的处理端.因此,作为服务端的程序有必要提前启动,准备接收客户端的请求.传输协议根据接收数据中的目标端口号识别目标处理程序. TCP.UDP比较 TCP提供可靠性传输.实行顺序控制或重发控制机制,还有流量控制和拥塞控制,提高网络利用率. UDP是不具备可靠…