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

TCP/IP 5层协议簇:网络层(IP数据包的格式、路由器原理)

目录

1. TCP/IP 5层协议簇

2. IP 三层包头协议

3. 路由器原理

4. 交换机和路由的对比


1. TCP/IP 5层协议簇

如下:

2. IP 三层包头协议

数据包如下:IP包头不是固定的,每一个数字是一个bit

其中数据部分是上层的内容,IP包头最小长度是20字节,最长是60字节【一般都是20字节,可选项用不到】

【版本号】目前都是ipv4,而非ipv6,常见都是0100

首部长度】表示IP包头的长度是多少,因为包含可选项,所以ip包头长度不固定。1111,每一个1代表32比特,也就是4字节,那么(1111)15 * 4 = 60字节。常见都是0101,ip包头20字节

【优先级和服务类型】前三个比特代表优先级,中间四个比特代表服务类型,最后一个比特没有被启用。这个正常用不到

总长度】和首部长度对应,首部长度表示IP包头的长度;总长度表示ip包的长度,3+4+5层的数据长度,不包括帧。 

段偏移量】分片后,每个ip包的偏移位置,也就是完整IP被被切分后的先后顺序,要么0,要么1480的倍数【因为帧MTU是1500,减去ip包头的20,就是1480

标志位目前只有前两位有意义,最后一位没有使用(未启用XX)标志字段的最低位是 MF (More Fragment),MF =1 表示后面还有分片;MF=0 表示最后一个分片。标志字段中间的一位是 DF (Don't Fragment) 只有当 DF =0 时才允许分片。

标识符】对分片进行分类,例如A、B两个数据都被分片了,区分分片是属于A还是B,同一类的分片里面的标识符是一样的

【TTL】生存时间,经过最多路由器的个数。经过一个路由器就会-1,TTL为0被丢弃,并且路由器会发送报文给主机。防止数据一直在网络上运行。一般Windows设置大于100,Liunx设置小于100

请求超时可能路由器做了设置。

windows系统:

【协议号】协议字段指出封装上层的数据采用什么协议进行传输。TCP(6)、UDP(17)、ICMP(1)

【首部检验和】只校验IP头部20字节的位置。

3. 路由器原理

工作在网络层的设备:路由器

路由:路由器为IP包选择路径的过程

路由器转发的依据:路由表【有就转发,没有就干掉】

ip 10给70 发包,经过第一个路由器。路由器生成路由表,知道 f0/0 连接的网段是10.1.1.0/24的网络【C代表直连】。配置好f0/1后,路由表生成。

因为路由表不完整,没有70,把包干掉,发送ICMP协议回馈机制,目标主机不可达。

配置S 静态路由,只需要告诉路由下一跳的IP地址就行了。

完整的路由表(路由条目)如下:

这样配置静态路由表很慢,于是手工配置的默认路由。

这个适合配置默认路由,因为它是边缘路由器,只有进和出两个端口

直连路由、静态路由、默认路由

4. 交换机和路由的对比


http://www.kler.cn/a/566724.html

相关文章:

  • 滑动验证组件-微信小程序
  • Nginx系列06(Nginx 缓存配置、SSL/TLS 配置)
  • 使用 pytest-mock 进行 Python 高级单元测试与模拟
  • Vue 路由基础:Vue 2 和 Vue 3 的比较与使用
  • openinstall支持鸿蒙App Linking:赋能系统级深度链接能力
  • UniApp 使用 u-loadmore 完整步骤
  • Elasticsearch:过滤 HNSW 搜索,快速模式
  • AI岗位面试指南:高频文档问题解析与应答策略
  • VMWare虚拟机Ubuntu Desktop怎么共享文件夹
  • Spring Boot 整合 Apollo 配置中心实战
  • react 路由跳转的几种方式
  • element-ui infiniteScroll 组件源码分享
  • 三轴加速度推算姿态角的方法,理论分析和MATLAB例程
  • Linux网络数据包接收:原理、流程与优化策略
  • Linux:同步
  • 【微知】git log如何将每次提交按照一行查看?(git log --oneline)
  • unity lua属性绑定刷新
  • C++ 设计模式 十一:代理模式 (读书 现代c++设计模式)
  • MySQL 和 Elasticsearch 之间的数据同步
  • docker里面pgadmin4自动备份pg数据库操作