[na]tcp&udp层各协议小结
TCP和UDP
传输层功能:
可靠性:序列号、确认号&flag位
有效性:win滑动窗口 这篇目录索引:
Tcp可靠性
Tcp流控
Tcp拥塞控制
Tcp运输连接管理

TCP的可靠性和流控
为何需要可靠传输?
一个网页可能很大,一个数据包传不过来,就需要分段传输。
网络可能拥塞,某段可能丢失。那必须有人监管,tcp就能发现是否丢包。如果丢了一段,所有包就必须重传。
可靠性:Tcp传输数据前,先建立会话,且维持回话,直到数据传输完成。实现可靠传输。

考虑2个问题: 1,数据包为何最大65535个字节? 2,何为分片?
TCP的流控
如果web服务器发的很快,客户pc接收不过来,客户端就告诉服务器慢点发。
总结:
TCP发的数据太大,需要分段传输。如FTP,SMTP,QQ传文件。
UDP一个数据包就能完成数据通信。不需要分段,不需要建立会话,不需要流控。不可靠传输。如DNS,QQ聊天信息。例如: 屏幕广播,多播,广播。

TCP会话(查木马+状态)
netstat –n #显tcp会话连接状态
netstat –nb #显示进程名



端口号-传输层和应用层之间的关系

共享文件夹: tcp+445
http: https
smtp: tcp25
pop3: tcp110
telnet: tcp23
ftp: tcp21
sqlserver: tcp1433
dns: udp53
RDP: tcp3389
查看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提供全双工通信
面向字节流

TCP实现可靠传输
停止等待协议 VS 超时重传机制


总结:只要你没告诉我收到了,我就要重传。
特点:信道利用率太低。
信道利用率

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,还没收到确认,就不能发了。
在未收到确认前,窗口中的数据不允许清除。
发送的数据快逐渐增大。
[na]tcp&udp层各协议小结的更多相关文章
- 涨知识-VI 基于TCP/UDP的应用层协议
基于TCP/UDP的应用层协议: 基于TCP: Telnet(Teletype over the Network, 网络电传),通过一个终端(terminal)登陆到网络 FTP(File Trans ...
- 什么是TCP, UDP, HTTP, HTTPS协议?
TCP 传输控制协议是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC793定义. TCP主要特点: 1. 面向连接: (1)应用程序在使用TCP协议之前,必须先建立TCP连接. ...
- [na]tcp&udp扫描原理(nmap常用10条命令)
nmap软件使用思路及常见用法 Nmap高级用法与典型场景 namp -sn 4种包 使用nmap -sn 查询网段中关注主机或者整个网段的IP存活状态 nmap -sn nmap针对局域网和广域网( ...
- TCP/UDP 协议,和 HTTP、FTP、SMTP,区别及应用场景
一.OSI 模型 OSI 模型主要作为一个通用模型来做理论分析,而TCP/IP 协议模型是互联网的实际通讯协议,两者一般做映射分析,以下不做严格区分和声明(好吧,比较懒): OSI 整个模型层次大致可 ...
- TCP模型及其重点协议总结
概述 TCP/IP协议族,作为最早的协议模型(后来OSI七层也是在该基础上细分而来),每层都有一些重点的协议,面试时也会被询问,快要找工作,得做一些总结了 [1]TCP4层协议模型概述 [2]各层重点 ...
- TCP/UDP端口列表
http://zh.wikipedia.org/wiki/TCP/UDP%E7%AB%AF%E5%8F%A3%E5%88%97%E8%A1%A8 TCP/UDP端口列表 本条目可通过翻译外语维 ...
- TCP/UDP 常用端口列表
计算机之间依照互联网传输层TCP/IP协议不同的协议通信,都有不同的对应端口.所以,利用短信(datagram)的UDP,所采用的端口号码不一定和采用TCP的端口号码一样.以下为两种通信协议的端口列表 ...
- TCP/UDP端口列表(WIKIpedia)
计算机之间依照互联网传输层TCP/IP协议不同的协议通信,都有不同的对应端口.所以,利用短信(datagram)的UDP,所采用的端口号码不一定和采用TCP的端口号码一样.以下为两种通信协议的端口列表 ...
- 传输层中的协议 TCP & UDP
面向连接的TCP协议 “面向连接”就是在正式通信前必须要与对方建立起连接.比如你给别人打电话,必须等线路接通了.对方拿起话筒才能相互通话.TCP(Transmission Control Protoc ...
随机推荐
- java 判断String字符串是不是json数据
java 判断String字符串是不是json数据 CreationTime--2018年8月24日18点23分 Author:Marydon JSONObject jo = null; try ...
- java json与map互相转换(一)
java json与map互相转换(一) CreationTime--2018年7月16日 Author:Marydon 1.准备工作 所需jar包:json-20180130.jar impor ...
- python之实现ftp上传下载代码(含错误处理)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之实现ftp上传下载代码(含错误处理) #http://www.cnblogs.com/kait ...
- 转 CentOS下php安装mcrypt扩展
(以下步骤均为本人实际操作,可能与你的安装方法有所区别,但我会尽量排除疑惑) 大致步骤(1)安装mcrypt,(2)安装php对mcrypt的扩展,(3)重启apache (1).确认你的linux没 ...
- 微信小程序支付(java后端)
第一步 进入小程序,下单,请求下单支付,调用小程序登录API来获取Openid(https://mp.weixin.qq.com/debug/w ... .html#wxloginobject), ...
- webview中事件的用法
封装 MBProgressHud ==================================== #import "MBProgressHUD.h" @interface ...
- Centos7-Lvs+Keepalived架构
Centos7-Lvs+Keepalived架构 LVS+Keepalived 介绍 1 . LVS LVS 是一个开源的软件,可以实现 LINUX 平台下的简单负载均衡. LVS 是 Lin ...
- 树莓派进阶之路 (025) - ubuntu下使用VNC连接树莓派raspberry(转)
转载:http://www.embbnux.com/2014/03/24/on_ubuntu_use_vnc_connect_raspberry/ 参考: http://elinux.org/R ...
- HDU 2492 Ping pong (数状数组)
Ping pong Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- 简单的zip压缩和解压缩
其实像这样的php拓展很多,只是项目中没怎么用到: <?php $zip = new ZipArchive(); $filename = "./test112.zip"; / ...