当前位置: 首页 > news >正文

TCP PMTU 静态路由

HTTP协议 --- 超文本传输协议

TCP --- 80端口

超文本 --- 包含有超链接link和多媒体元素标记的文本

TCP协议

是一种面向连接可靠性传输协议

面向连接:数据在传输前,收发双方建立一条逻辑通道。

可靠性

确认机制:传输确认,每接受一个数据段,则需要进行一次确认重传机制:保障可靠性的最优机制,当一个数据段中某一个包丢失,会提醒要求重新传输这个报文排序机制:传输一个数据段,被分为多个报文,从不同路径传输,最终到达目的地的顺序会被打乱,所以需要重新进行排序。根据TCP数据包中的序号字段。流控机制:滑动窗口机制 --- 调节窗口大小从而对流量进行控制

MSS=MTU-TCP头部-IP头部(在TCP协议的选项字段)

TCP建立连接的过程

http://yukisnow.top/tcp%e4%b8%89%e6%ac%a1%e6%8f%a1%e6%89%8b%e5%92%8c%e5%9b%9b%e6%ac%a1%e6%8c%a5%e6%89%8b%e8%af%a6%e8%a7%a3/

PMTU --- 路径MTU发现协议

	在IP报头中,有一个字段是DF,该字段表明了IP报文是否允许分片,PMTU功能开启后,会将该字段设置为1,表示不能分片。此时当需要进行分片时,发现该报文不能分片,设备会丢弃该报文,并向发送方发送一个ICMP报文(数据不可达),同时带上当前设备接口的MTU值。发送方接受到该ICMP报文后,因为TCP重传机制,会重新发送一次数据,但是也会根据新的MTU值来生产新的报文进行传输。

图解TCP/IP

应用层

HTTP请求报文---请求方式:GET(用于请求一个网页信息)

传输层

TCP 源端口:随机端口;目的端口:80

网络层

IP协议---源IP:本机电脑;目的IP:web服务器

数据链路层

以太网封装---源MAC:本机MAC;目的MAC:网关MAC地址

GET---请求读取一个web页面

POST---附加一个命名资源(web页面)

PUT---请求存储一个web页面

应用层

HTTP应答报文---应答状态码 200---OK

传输层

TCP协议---源端口号:80;目的:请求方的随机数

网络层

IP协议---源IP:web服务器;目的IP:电脑

数据链路层

以太网封装---源MAC:Web服务器;目的MAC:下一跳设备的MAC地址

静态路由

静态路由的优点

1、选路合理,由网络管理员手工配置
2、安全,动态路由协议的计算是需要路由器之间交互数据报文的
3、不需要额外占用设备资源

静态路由的缺点

1、配置量大
2、无法基于拓扑结构的变化而自动收敛

静态路由基本配置

方法一:

ip route 23.0.0.0 24 12.0.0.2

标记R:该条路由项是由递归计算产生

方法二:

ip route [网段] [掩码] [接口] --- 需要开启ARP代理才能正常通讯。

[接口视角]arp-proxy enable --- 开启代理ARP的方法

数据不通,原因在于此时的数据报文构造中,目的MAC地址被写为目的IP地址所对应的MAC地址。但是,此时的路由器无法获取目的MAC地址。---ARP无法跨广播域解决方法:在下一个路由器的入接口上开启ARP代理功能
代理ARP思路:当接收到ARP数据包后,路由器会查看本地路由表,

方法三:

ip route [网段] [掩码] [接口] [下一跳IP]该方法不需要递归操作。

方法四:

写下两跳的路由,会进行递归查找,但是必须有到达下两跳路由器的路由

静态路由拓展配置

1、负载均衡 --- 当路由器访问同一个目标网段存在多条开销相似的路径时,可以让流量拆分后沿多条路径同时传输,达到叠加带宽的效果。
2、手工汇总 --- 当路由器可以访问多条连续的子网时,若均通过相同的下一跳,则这些网段可以进行汇总计算,之后仅写一条到达汇总网段的路由即可。可以减少路由条目数量,可以提高转发效率
3、路由黑洞 --- 在汇总中,若包含网络内实际不存在的网段时,可能使流量有去无回,浪费链路资源。合理的子网划分和汇总可以减少路由黑洞的产生
4、缺省路由 --- 一条不限定目标的路由条目路由黑洞和缺省路由相遇,将100%出环。
5、空接口路由 --- 防止黑洞和缺省相遇出现环路,在黑洞路由器上配置一条指向汇总网段的空接口路由。1、NULL0 --- 如果路由的出接口指向空接口,则将直接把该数据包丢弃2、路由表的匹配原则 --- 最长匹配原则(精确匹配原则)
6、浮动静态路由 --- 通过修改默认优先级,来实现静态路由的备份效果。
http://www.lryc.cn/news/32515.html

相关文章:

  • Android动画——属性动画
  • 华为OD机试真题Python实现【寻找连续区间】真题+解题思路+代码(20222023)
  • 15. 三数之和
  • 40-Golang中的文件
  • Springboot整合RabbitMQ并使用
  • Java中方法引用(引用静态方法、引用成员方法(引用其他类的成员方法、引用本类的成员方法、引用父类的成员方法)、引用构造方法、其他调用方式、小练习)
  • 整理了100道关于Python基础知识的练习题,记得收藏~
  • OSG三维渲染引擎编程学习之七十七:“第七章:OSG场景图形交互” 之 “7.8 场景交互”
  • 797.差分
  • 为什么说要慎用BeanUtils,因为性能真的拉跨
  • 【项目设计】高并发内存池(六)[细节优化+测试]
  • 同模块设置不同应用主题方案
  • centos7 安装 hyperf
  • RZ/G2UL核心板-40℃低温启动测试
  • PyQt5可视化 7 饼图和柱状图实操案例 ①Qt项目的创建
  • 0104路径搜索和单点路径-无向图-数据结构和算法(Java)
  • Maxscale读写分离实施文档
  • websocket实现一个简单聊天框
  • Docker-安装应用
  • Web3中的营销:如何在2023年获得优势
  • Java中==和equals区别
  • 计算机科学导论笔记(三)
  • Stream——数字类型的字符串排序
  • .NET 8 预览版 1 发布!
  • WebGIS学习路线
  • 【独家】华为OD机试 - 停车场最大距离(C 语言解题)
  • 12.typedef的使用与结构体定义
  • 宝塔+docker+jenkins部署vue项目(保姆级教程)
  • JVM面试总结
  • C语言——文件操作