龙空技术网

TCP/IP 数据包传输过程

音视频开发老舅 479

前言:

现时你们对“java发送tcp数据包方法”大体比较关切,兄弟们都想要了解一些“java发送tcp数据包方法”的相关资讯。那么小编同时在网络上收集了一些有关“java发送tcp数据包方法””的相关资讯,希望咱们能喜欢,大家一起来学习一下吧!

数据包如何送达主机:IP通过IP地址把数据包发给指定电脑

IP(Internet Protocol):计算机的地址

IP数据包开头信息:IP版本、源IP地址、目标IP地址、生存时间等

网络层:数据包+IP头,拆开数据包的IP头、将数据交给上层

C++音视频开发学习资料点击领取→音视频开发(资料文档+视频教程+面试题)(FFmpeg+WebRTC+RTMP+RTSP+HLS+RTP)

C++Linux服务器开发资料:点击领取→:C++ Linux服务器开发高级架构师资料

主机如何将数据包转交给应用:UDP 通过端口号把数据包分发给正确应用

UDP(User Datagram Protocol):用户数据包协议,IP和应用打交道的协议

传输层:数据包+UDP头,解开UDP头、识别端口、交给上层应用

问题:

UDP传输 容易丢包,不重发大文件会被拆分成小数据包,经过不同路由,不同时间到达接收端,UDP不知道如何组装还原

UDP通信不建立链接,所以传输速度非常快,可以应用在在线视频、互动游戏等

数据是如何被完整地送达应用程序:TCP

TCP(Transmission Control Protocol 传输控制协议):面向连接的、可靠的、基于字节流的传输层通信协议

丢包可以重传引入了数据包排序机制,可以把乱序数据包组合成完整文件

TCP 生命周期

建立连接:三次握手->建立TCP链接的时候,客户端和服务器总共要发送3个数据包以确认连接的建立传输数据:接收端对每个数据包进行确认操作(接收到content-type请求头开始渲染)断开连接:四次挥手总结tcp协议和http协议的关系:http 和 websoket 都是应用层,用来封住请求的文本信息tcp 属于传输层http 协议位于 tcp 上层tcp和udp 都是传输层协议:只能二选一丢包原因:网络波动、物理线路故障、设备故障、恶意程序拦截、网络阻塞等浏览器打开多个页签:每个页签的端口是一样的,网络进程知道每个TCP连接对应的标签是哪一个,接收到数据后,会把数据分发给对应的渲染进程

标签: #java发送tcp数据包方法