网络协议从入门到底层原理

  • 网络层
  • 网络层首部 - 版本、首部长度、区分服务
  • 网络层首部 - 总长度
  • 网络层首部 - 标识、标志
  • 【实践】ping 的几个用法、wireshark抓包
  • 网络层首部 - 片偏移
  • 网络层首部 - 生存时间
  • 【实践】根据TTL追踪经过路由器
  • 网络层首部 - 协议、首部校验和
  • 【实践】Wireshark 完整网络层首部

【网络协议从入门到底层原理】学习笔记汇总

网络互联模型:

请求过程:

网络分层:

网络层

网络层数据包(IP数据包,Packet)由 首部、数据 两部分组成
数据:很多时候是由传输层传递下来的数据段(Segment)

网络层首部 - 版本、首部长度、区分服务

版本(Version)

  • 占4位
  • 0b0100:IPv4
  • 0b0110:IPv6

首部长度(Header Length)

  • 占4位,二进制乘以4才是最终长度
  • 0b0101:20(最小值)
  • 0b1111:60(最大值)

区分服务(Differentiated Services Field)

  • 占8位
  • 可以用于提高网络的服务质量(QoS,Quality of Service),这个了解即可

网络层首部 - 总长度

总长度(Total Length)

  • 占16位
  • 首部 + 数据的长度之和,最大值是 65535

    由于帧的数据不能超过1500字节,所以过大的IP数据包,需要 分片(fragments) 传输给数据链路层,每一片都有自己的网络层首部(IP首部)

网络层首部 - 标识、标志

标识(Identification)

  • 占16位
  • 数据包的ID,当数据包过大进行分片时,同一个数据包的所有片的标识都是一样的
  • 有一个计数器专门管理数据包的ID,每发出一个数据包,ID就加1

标志(Flags)

  • 占3位
  • 第1位(Reserved Bit):保留
  • 第2位(Don’t Fragment):1代表不允许分片,0代表允许分片
  • 第3位(More Fragments):1代表不是最后一片,0代表是最后一片

【实践】ping 的几个用法、wireshark抓包

ping /? 查看ping的用法
ping ip地址 -l 数据包大小 发送指定大小的数据包(ping www.baidu.com -l 1400)
ping ip地址 -f 不允许网络层分块 (ping www.baidu.com -l 2000 -f)


通过 Wireshark 抓包查看 ping www.baidu.com 发送的包

通过 ping 命令,实际上发送了4次 ICMP数据包:

通过 Wireshark 可以证实:

网络层首部 - 片偏移

片偏移(Fragment Offset)

  • 占13位
  • 片偏移乘以8:字节偏移(wireshark显示的是字节偏移)
  • 每一片的长度一定是8的整数倍

ping ke.qq.com -l 4000 以前可以往腾讯课程发长度为4000的数据包,现在似乎不行了。。

网络层首部 - 生存时间

生存时间(Time To Live,TTL)

  • 占8位
  • 每个路由器在转发之前会将TTL减1,一旦发现TTL减为0,路由器会返回错误报告
  • 观察使用 ping 命令后的TTL,能够推测出对方的操作系统、中间经过了多少个路由器

    Wireshark:

【实践】根据TTL追踪经过路由器

ping ip地址 -i TTL 设置TTL的值
通过 tracertpathping 命令,可以跟踪数据包经过了哪些路由器


ping baidu.com -i 1 经过1次就消亡,显然由网关回复。

通过 ping baidu.com -i 1ping baidu.com - i 2ping baidu.com -i 3 … 可以追踪发包到百度经过的路由器。


tracertpathping 命令实际上更简单也可以追踪路由器:

tracerrt baidu.com

pathping baidu.com

网络层首部 - 协议、首部校验和

协议(Protocol)

  • 占8位
  • 表明所封装的数据是使用了什么协议

首部校验和(Header Checksum)

  • 用于检查首部是否有错误

Wireshark:

【实践】Wireshark 完整网络层首部

网络协议从入门到底层原理(4)网络层(版本、首部长度、区分服务、总长度、 标识、标志、片偏移生存时间、协议、首部校验和)相关推荐

  1. 网络协议从入门到底层原理(10)WebSocket、WebService、RESTful、HTTPDNS、FTP文件传输协议、邮件相关协议、IPv6

    其他协议 WebSocket WebSocket - 建立连接 WebService RESTful HTTPDNS FTP文件传输协议 邮件相关的协议(SMTP.POP.IMAP) POP vs I ...

  2. 网络协议从入门到底层原理(11)网络爬虫、无线网络、HTTP缓存、即时通信、流媒体

    补充知识 网络爬虫 网络爬虫的简易实例 robots.txt 无线网络 HTTP 缓存(Cache) 缓存 - 响应头 缓存 - 请求头 缓存的使用流程 即时通信(IM) XMPP MQTT 流媒体 ...

  3. 网络协议从入门到底层原理(9)HTTP/1.1的升级改进(HTTP/2、HTTP/3)

    HTTP的升级改进 HTTP/1.1协议的不足 SPDY 协议 HTTP/2 HTTP/2的特性 - 二进制格式 HTTP/2基本概念 - 数据流.消息.帧 HTTP/2的特性 - 多路复用(Mult ...

  4. 网络协议从入门到底层原理(8)HTTPS(成本、通信过程、TLS1.2的连接,配置服务器HTTPS)

    HTTPS SSL / TLS OpenSSL HTTPS的成本 HTTPS的通信过程 TLS 1.2 的连接(ECDHE密钥交换算法) ① Client Hello ② Server Hello ③ ...

  5. 网络协议从入门到底层原理(7)网络安全 - 常见攻击、单向散列函数、对称加密、非对称加密、混合密码系统、数字签名、证书

    网络安全 网络层 - ARP欺骗 DoS.DDoS 介绍与防御 传输层 - SYN洪水攻击(SYN flooding attack) 传输层 - LAND攻击 应用层 - DNS劫持.HTTP劫持 H ...

  6. 网络协议从入门到底层原理(6)应用层 - 域名、DNS、DHCP、HTTP(ABNF、HTTP报文格式、请求方法、头部字段、状态码、跨域)、代理、CDN

    应用层 域名( Domain Name)- 顶级域名.二级域名 DNS - DNS服务器.常用命令 DHCP(DISCOVER.OFFER.REQUEST.ACKNOWLEDGE) HTTP HTTP ...

  7. 网络协议从入门到底层原理(5)传输层(UDP、TCP - 可靠传输、流量控制、拥塞控制、建立连接、释放连接)

    传输层( Transport) 传输层( Transport) UDP 协议(数据格式.检验和) 端口(Port) TCP TCP - 数据偏移.保留 TCP - 检验和( CheckSum) TCP ...

  8. 网络协议从入门到底层原理(3)网络互联模型、物理层、数据链路层(CSMA/CD协议、Ethernet V2帧、PPP协议)

    网络协议从入门到底层原理 网络互联模型(了解请求过程.网络分层) 物理层(Physical) 数字信号.模拟信号 数据通信模型 信道(单工.半双工.全双工) 数据链路层(Data Link) 封装成帧 ...

  9. 网络协议从入门到底层原理(2)路由、网络常见概念(因特网, ISP, 接口, 上网方式)、公网私网、NAT

    网络协议从入门到底层原理 路由 实践1 - 让4台主机之间可以互相通信 实践2 - 让4台主机之间可以互相通信 数据包的传输过程(简) 第一个包的丢失 网络 (Network).互联网 (intern ...

  10. 【网络协议从入门到底层原理】【06】数据链路层

    持续学习&持续更新中- 学习态度:守破离 [网络协议从入门到底层原理][06]数据链路层 数据链路层 3个基本问题-封装成帧 3个基本问题-透明传输 3个基本问题-差错检验 CSMA/CD协议 ...

最新文章

  1. ps-axure学习之感受
  2. python 写创建和追加一个文件
  3. 【Python】学习笔记五:缩进与选择
  4. REALTEK 2.5G PCIE网卡 RTL8125BG-CG支持PXE免驱简介
  5. 常用的简单排序之插入排序,冒泡排序,选择排序,希尔排序
  6. [Unity] ACT 战斗系统学习 8:使用 ScriptableObject 制作角色属性 3
  7. 后副车架焊接机器人_焊接机器人的工装设计和工装的使用方法
  8. 的ppt_PPT模板中国风PPT模板
  9. /dev/null脚本中作用
  10. NUXT.JS原理简述
  11. android图片添加多行文字,Android使用SpannableString实现多行文字开头放置标签图案...
  12. 十大最受欢迎蓝牙耳机品牌推荐,学生党打工人平价蓝牙耳机
  13. 哨兵卫星影像数据Sentinel-1基本参数
  14. 七个技巧!Godaddy域名安全指数提高N倍
  15. XCTF-攻防世界CTF平台-Web类——19、mfw(.Git源代码泄露、php的assert断言)
  16. aisell_EasyPOI 数据导入导出
  17. win7共享打印机设置
  18. 计算机共享不了,电脑的共享开不了怎么办
  19. proto3字段值为空时被忽略问题
  20. uefi怎么念_UEFI是什么,看完您就全明白了

热门文章

  1. PS笔刷优质系列,300款精选笔刷合集
  2. ORA-28003: password verification for the specified ORA-20001
  3. mesos+marathon+docker
  4. C# 文件操作,查看所有的文件夹和文件
  5. 百度绿萝算法2.0更新 外链数降低分析
  6. 网络不再是“口水歌”的天下 巨一清《一朝芳草碧连天》网络受宠
  7. 科大讯飞智能录音笔SR502轻松解决办公问题
  8. 周末反省自己 Java
  9. 小米蓝牙耳机持续白灯_小米AirDots蓝牙耳机指示灯代表什么?小米Air蓝牙耳机指示灯颜色介绍...
  10. 24 solar terms隐私条款