TCP&UDP协议小结
TCP和UDP
传输层功能
网络安全
Tcp可靠性
Tcp流控
Tcp拥塞控制
Tcp运输连接管理
一个网页可能很大,一个数据包传不过来,就需要分段传输。
网络可能拥塞,某段可能丢失。那必须有人监管,tcp就能发现是否丢包。如果丢了一段,所有包就必须重传。
可靠性:Tcp传输数据前,先建立回话,且维持回话,直到数据传输完成。实现可靠传输。
流控:如果web服务器发的很快,客户pc接收不过来,客户端就告诉服务器慢点发。
总结:
TCP发的数据太大,需要分段传输。如FTP,SMTP,QQ传文件。
UDP一个数据包就能完成数据通信。不需要分段,不需要建立会话,不需要流控。不可靠传输。如DNS,QQ聊天信息。
屏幕广播,多播,广播。
查看建立会话
Netstat –n
Netstat –nb
传输层和应用层之间的关系
共享文件夹:tcp+445
http https
smtp:tcp25
pop3:tcp110
telnet :tcp23
ftp:tcp+21
sqlserver:tcp1433
dns:udp+53
RDP:tcp+3389
Windows安装服务,查看服务
文件共享(内置)
Netstat –a 查看所有会话
Netstat –an 不做域名解析
RDP协议
安装dns、web服务
启动服务,才会侦听端口。
邮件服务的安装:
新建域
客户端配置:
测试收发:
网站和smtp都可以改默认端口
需要重启服务
客户端修改:
修改远程桌面端口
Mstsc
在windows网卡上只开必要的端口:
2003用tcp/ip筛选控制端口
远程桌面写回环地址127.0.0.1不过tcpip筛选,可通
网络层和传输层区别
UDP报文
UDP是无连接的,即发送数据之前不需要建立连接
Udp使用最大努力交付,即不保证可靠传输。同是也不需要流量控制。
Udp是面向报文的。Udp没有拥塞控制,很适合多谜题通信的要求。
Udp支持一对一,一对多,多对一、多对多的交互通信。Tcp只支持一对一。
Udp首部开销小,只有8个字节。
,长度:udp首部+数据
,校验和
伪首部是用以来计算校验和的。伪首部byte+8byte udp头=20个字节。
伪首部用到了网络层的一些东西。
TCP
前言:网络可能拥塞,不稳定等,如何让文件可靠的、一字不落的传给对端。需要一个可靠的协议。
TCP提供可靠的交付的服务
TCP提供全双工通信
面向字节流
- 实现可靠传输
停止等待协议
超时重传机制
总结:只要你没告诉我收到了,我就要重传。
特点:信道利用率太低。
RTT值。
提高效率
流量控制
收到确认后才能清除发送缓存中的数据。
累积确认:
如图,把3号数据包丢了。那B即使收到4号也没用,A收到了2的确认,2以后的所有数据将重传。
- 实现流量控制
- 避免网络拥塞
TCP数据包格式
选项:有些tcp包不是传数据的,是用来商量一些事。
序列号:本数据段的第一个字节,是所有数据的第几个字节。
确认号:
确认号=发送方序列号+1
数据偏移:告知数据包,第多少字节开始就是tcp数据部分了。
1111 四个bit。一个1代表4byte。最长15*4=60byte。
、
Xp是索取者
标志位:
SYN ACL FIN
URG:优先传送。譬如给对端传文件,想中断,crtl+c,这个命令需要紧急传送过去。
PSH:传到对方接受缓存时,需要优先交给app程序处理。
RST:tcp连接收到了严重破坏,必须重新建立才能继续传输数据。
SYN攻击工具:syn攻击器:伪造源ip,给对端发syn包。让对端和这些伪造的ip建立连接,让对端处于syn_wait状态。
Land:发syn包(源ip和目的ip都是对端ip地址让对端自己和自己玩。)。将land放在windows目录下。然后:(可能会有病毒,vm里做)
文件共享。
窗口的作用
告诉对端两件事,1我的接收缓存 2,我支持的最大mss。
校验和:
TCP首部+数据部分。
紧急指针:
指明了紧急数据的尾部,如50,代表1-50部分需要紧急处理。
选项:
通知对方我能够接受最大的MSS。
我是否支持SACK 选择性确认。
详解滑动窗口
首次传送数据需要设定自己的发送窗口大小。以字节为单位。
A如果为20,那窗口中的数据就可以往外发。到了20,还没收到确认,就不能发了。
在未收到确认前,窗口中的数据不允许清除。
发送的数据快逐渐增大。
最新文章
- 攻城狮在路上(陆)-- hadoop分布式环境搭建(HA模式)
- Asp.net 与 jsp 交互 (打开或跳转页面)
- pack布局
- LinkedList原理及源码解析
- python之控制台(console)颜色显示
- 数据挖掘 ID3
- 接口中定义变量必须为public static final的原因
- 帝国CMS备份出现数据恢复不完整的问题
- JVM学习--(五)垃圾回收器
- 第二十节: 深入理解并发机制以及解决方案(锁机制、EF自有机制、队列模式等)
- linux dd命令 创造一个文件
- note 9 列表、时间复杂度、排序
- 跨域的案例 以百度接口/手写接口为例,还有jQuery写法
- Nodejs 菜鸟教程学习-创建第一个应用
- Django使用静态文件
- tableau-交互筛选器
- my docker note
- 在使用add()方法添加组件到容器时,必须指定将其放置在哪个区域中
- LINQ不包含列表
- centos7下javac:未找到命令的问题
热门文章
- Sharepoint学习笔记—习题系列--70-573习题解析 -(Q57-Q59)
- java多线程系列2-线程控制
- Web应用程序系统的多用户权限控制设计及实现-项目架构【3】
- Android直方图递增View
- Effective Java 74 Implement Serializable judiciously
- ASP.NET操作Cookie
- SQL Server服务器名称与默认实例名不一致的修复方法
- 给Apache增加SSI支持(shtml的奥秘)
- python基础入门
- 在 ServiceModel 客户端配置部分中,找不到引用协定“WebServiceTest.WebServiceSoap”的默认终结点元素。这可能是因为未找到应用程序的配置文件,或者是因为客户端元素