5.2 传输层和应用层 之间的关系
http=TCP+80
https=TCP+443
DNS= UDP+53 or TCP+53
ftp=TCP+21
STMP=TCP+25
POP3=TCP+110
SQL=TCP+1433
应用层协议和服务之间的关系 :
服务运行后在TCP或UDP 的某个端口侦听客户端的请求
查看自己计算机的服务 netstat -an
测试远程计算机打开端口
telnet 10.7.1.53 21
**端口扫描工具**
端口代表服务
更改端口增加服务器安全 例如将 80 改成21 端口
Window 防火墙的作用
如果保证安全 1) 把不用的端口关掉
防火墙把 所有端口都关掉
你可以ping 通别人 ,别人ping 不 通你 说明自己起了防火强
防火墙 无法控制木马程序
IPsec 可以控制端口 只允许某种端口通过
5.3 UDP 协议
UDP 在传输数据之前不需要建立连接.对方的运输层在给出报文后,不需要给出确认. UDP提供不可靠的交付
TCP 则提供面向连接的服务.不提供广播多播服务.由于TCP提供 可靠的面向连接的运输服务,因此不可避免增加了许多开销,还要占用许多处理资源
UDP 报文
TCP 协议
TCP 是面向连接的传输协议
每一条TCP只能有两个端点,只能是点对点的
TCP 提供可靠的交互服务
面向字节流
ip + 端口=socket
TCP 如何实现可靠传输
1) 停止等待协议 确认丢失 (b) 确认迟到
通过重传机制,我们可以在不可靠的传输的网络上实现可靠的通信
这种 可靠协议常称为自动重载请求ARQ
ARQ 表明重传的请求是自动进行 ,接受 方不需要请求重传某个出错的部分 分组
停止等待协议 缺点 : 信道利用率低
流水线发送
流水线 如何实现可靠传输 : 采用滑动窗口的方法
每次收到确认之后,将窗口向后移动
累计确认 实现 可靠传输
TCP 如何实现流量控制
访问一个网站的 步骤
第一步 : ARP 解析mac 地址
第二部 : UDP 进行域名解析
第三步 : TCP 进行数据传输
抓包分析
建立绘画时 不仅进行了三次链接 还协商了一些事情
比如 最大 win 窗口数据(最多缓存字节 6240) 和 MSS (一个数据包最多有多少字节)
TCP 报文段首部
利用TCP 进行公斤
SYN 攻击
通过构造虚拟IP 地址 ,建立TCP 链接造成 电脑资源浪费
LAND 攻击
目标地址 和源地址是同样的
二进位 紧急模式URG ACK syn PSH (此标志位 直接 进行接收,不用进缓存区 )
RST =1 出现紧急情况 异常中断
FIN 结束字段
TCP 窗口占两个字节 缓存区域的大小
TCP 实现可靠传输
- 以字节为单位的滑动窗口技术
这个时候 确认号是7 有个选择性确认 sack 告诉 A 端丢失 ,这时候A 只发 确实的部分
超时重传时间选择 每发送一端报文都有设置一次计时器 . 重传时间选择比较 重要
5.4 TCP 如何避免网络拥塞
拥塞控制 是针对的全部的计算机以及网络信道路由器等所有可能有关的因素
流量控制 针对的是发送端和接受端点对点的通信 一般通过调整发送数据的速率来实现
满开始算法的原理 得寸进尺2^n
cwnd 窗口 每次都要试探
慢开始和拥塞避免算法
慢开始门限 拥塞避免 “加法增加 1个1个加”
当出现第一次丢包后 , 新的慢开始慢开始门限 成为 拥塞值的一半 .
拥塞控制 是指将增长控制在线性增长而不是指数增长.
新的算法 快重传
B 计算机发了快重传 然后A 迅速重新发丢掉的包
快恢复
从收到连续三个重复确认转入拥塞避免 快恢复算法 : 直接从新的慢开始门限进行线性计算
5.5 TCP传输连接管理
TCP 的连接都是客户端发起的
TCP 释放