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,还没收到确认,就不能发了。
在未收到确认前,窗口中的数据不允许清除。
发送的数据快逐渐增大。
TCP&UDP协议小结的更多相关文章
- TODO:Golang语言TCP/UDP协议重用地址端口
TODO:Golang语言TCP/UDP协议重用地址端口 这是一个简单的包来解决重用地址的问题. go net包(据我所知)不允许设置套接字选项. 这在尝试进行TCP NAT时尤其成问题,其需要在同一 ...
- QQ--基于TCP/UDP协议的通讯原理
QQ是一个基于TCP/UDP协议的通讯软件 发送消息的时候是UDP打洞,登陆的时候使用HTTP~因为登陆服务器其实就是一个HTTP服 务器,只不过不是常用的那些,那个服务器是腾讯自行开发的! 一 ...
- java 通过TCP\UDP 协议实现多人聊天,点对点,文件传送-----分服务器端和客户端
java 通过TCP\UDP 协议实现多人聊天,点对点,文件传送-----分服务器端和客户端 启动界面如下图: 首先启动服务器: 客户端登陆,登陆成功后为: 默认发送是全部用户,是多人发送. 当在边列 ...
- 网络编程—网络基础概览、socket,TCP/UDP协议
网络基础概览 socket概览 socket模块—TCP/UDP的实现 TCP/UDP总结 网络基础概览 osi七层协议各层主要的协议 # 物理层传输电信号1010101010 # 数据链路层,以太网 ...
- TCP/UDP协议简要梳理
TCP/UDP协议简要梳理 TCP TCP,Transmission Control Protocol,传输控制协议是一种面向连接的.可靠的.基于字节流的传输层通信协议.在因特网协议族中,TCP所在的 ...
- Shell 脚本实现TCP/UDP协议通讯
Shell 脚本实现TCP/UDP协议通讯 http://www.cnblogs.com/occult/archive/2012/12/25/2832183.html
- TCP/UDP协议(二)
面试问题:Tcp/Udp协议是什么,各有什么异同点,各自的使用场景? Tcp协议(传输控制协议) tcp是面向连接的协议,在收发数据之前,必须与对方建立可靠的连接: 三次握手:简单形象通俗描述: 主机 ...
- TCP UDP 协议的区别和联系
TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接.一个TCP连接必须要经过三次“对话”才能建立起 ...
- NetworkComms框架介绍 完美支持TCP/UDP协议
NetworkComms网络通信框架序言 英文文章地址 :http://www.networkcomms.net/tcp-udp-connections/ NetworkComs.Net无缝的支持TC ...
随机推荐
- java多线程系列3-线程同步
如果一个资源被多个线程同时访问,可能会遭到破坏,这篇文章介绍java线程同步来解决这类问题 引入问题 某电影院目前正在上映贺岁大片,共有100张票,而它有3个售票窗口售票,请设计一个程序模拟该电影院售 ...
- Oracle学习之简单查询
使用scott用户下的表, 1.查询所有内容SELECT * FROM emp; 2.查询员工信息,包括员工编号,姓名,职位3个信息SELECT empno,ename,job FROM emp; 3 ...
- iOS开发笔记15:地图坐标转换那些事、block引用循环/weak–strong dance、UICollectionviewLayout及瀑布流、图层混合
1.地图坐标转换那些事 (1)投影坐标系与地理坐标系 地理坐标系使用三维球面来定义地球上的位置,单位即经纬度.但经纬度无法精确测量距离戒面积,也难以在平面地图戒计算机屏幕上显示数据.通过投影的方式可以 ...
- Swift面向对象基础(中)——Swift中的存储属性和计算属性
学习来自<极客学院> 1.存储属性:存储在类.结构体里的变量或者常量 2.分为:实例存储属性.类型存储属性 3.所有的存储属性必须显示的指定初始值,在定义时或者构造器当中指定 4.可选类型 ...
- winform dateTimePicker选择时间控件-选择小时、分钟、秒
今天对公司项目进行改版(一个c/s客户端程序),要求dateTimePicker 能够选择小时,分钟.但找了很久,发现没有相关的简化控件,都是web的,没有winform的. 可是功夫不负有心人啊. ...
- javascript 构造函数方式定义对象
javascript是动态语言,可以在运行时给对象添加属性,也可以给对象删除(delete)属性 <html> <head> <script type="tex ...
- hdu 4635 Strongly connected 强连通缩点
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4635 题意:给你一个n个点m条边的图,问在图不是强连通图的情况下,最多可以向图中添多少条边,若图为原来 ...
- TarJan 算法求解有向连通图强连通分量
[有向图强连通分量] 在有向图G中,如果两个 顶点间至少存在一条路径,称两个顶点强连通(strongly connected).如果有向图G的每两个顶点都强连通,称G是一个强连通图.非强连通图有向图的 ...
- git报错 error: cannot stat ‘'web/js': Permission denied
切换分支时报错: error: cannot stat ‘'web/js': Permission denied 解决方法:退出编辑器.浏览器.资源管理器等,然后再切换就可以了.
- linux硬链接与软链接
在linux操作系统中的文件数据除了实际的内容外,还会含有文件权限(rwx)与文件属性(owner,group,other等),文件系统通常会将这两部分的数据存放在不同的区块,文件权限与文件属性放置在 ...