网络协议:网络层传输层
目录
网络层
网络层首部
网络层首部--总长度
网络层首部--标识、标志
网络层首部--片偏移
网络层首部--生存时间
ping的几个用法
传输层
UDP
UDP--数据格式
UDP--检验和(Checksum)
端口
网络层
网络层数据包(IP数据包,Packet)由首部、数据两部分组成,数据很多时候是由传输层传递下来的数据段(Segment)
网络层首部
- 版本:占四位。(0b0100:IPv4, 0b0110:IPv6)
- 首部长度(Header Length):占四位,二进制乘以4才是最终长度。(0b0101:20[最小值], 0b1111:60[最大值])
- 区分服务(Differentiated Services Field):占八位,可以用于提高网络的服务质量(QoS, Quality of Service)
网络层首部--总长度
总长度(Total Length):占16位。首部 + 数据的长度之和,最大值是65535
由于帧的数据不能超过1500字节,所以过大的IP数据包,需要分成片(fragments)传输给数据链路层,每一篇都有自己的网络层首部(IP首部)
网络层首部--标识、标志
- 标识(Identification):占16位,数据包的ID,当数据包过大进行分片时,同一个数据包的所有片的标识是一样的,有一个计数器专门管理数据包的ID,每发出一个数据包,ID就加1
- 标志(Flags):占三位。
- 第一位(Reserved Bit):保留
- 第二位(Don't Fragment):1代表不允许分片,0代表允许分片
- 第三位(More Fragments):1代表不是最后一片,0代表是最后一片
网络层首部--片偏移
片偏移(Fragment Offset):占13位。片偏移乘以8:字节偏移。每一片的长度一定是8的整数倍
下图是cmd中ping百度的过程
网络层首部--生存时间
生存时间(Time To Live ,TTL):占8位。每个路由器在转发之前会将TTL减1,一旦发现TTL减为0,路由器会返回错误报告。观察使用ping命令后的TTL,能够推测出对方的操作系统、中间经过了多少个路由器
ping的几个用法
- ping /?:查看ping的用法
- ping ip地址 -l 数据包大小:发送指定大小的数据包
- ping ip地址 -f:不允许网络层分片
- ping ip地址 -i TTL:设置TTL的值
- 通过tracert、pathping命令,可以跟踪数据包经过了哪些路由器
传输层
传输层(Transport)有两个协议:TCP(Transmission Control Protocol),传输控制协议。UDP(User Datagram Protocol),用户数据报协议
UDP
UDP--数据格式
- UDP是无连接的,减少了建立和释放连接的开销
- UDP尽最大能力交付,不保证可靠交付
- 因此不需要维护一些复杂的参数,首部只有8个字节(TCP的首部至少20个字节)
UDP长度:占16位,首部的长度 + 数据的长度
UDP--检验和(Checksum)
检验和的计算部分:伪首部 + 首部 + 数据
端口
- UDP首部中端口是占用2字节,可以推测出端口号的取值范围是:0~65535
- 客户端的源端口是临时开启的随机端口
- 防火墙可以设置开启和关闭某些端口来提高安全性
常用命令行
- netstat -an:查看被占用的端口
- netstat -anb:查看被占用的端口,占用端口的程序,需要管理员权限
- telent 主机 端口:查看是否可以访问主机的某个端口
- 按照telent:控制面板--程序--启用或关闭Windows功能--勾选Telent Client选项
网络协议:网络层传输层相关推荐
- TCP、UDP(网络协议:传输层协议)
面试和笔试中,如果记住下面这张图,基本就能解决网络协议中70%的问题.需要记住: OSI模型和TCP/IP模型每一层名称: 每一层对应有哪些协议,或者说给出该协议要知道对应那一层: 该协议是基于TCP ...
- 网络协议分析 | 传输层 :史上最全UDP、TCP协议详解,一篇通~
文章目录 UDP 概念 格式 UDP如何实现可靠传输 基于UDP的应用层知名协议 TCP 概念 格式 保证TCP可靠性的八种机制 确认应答.延时应答与捎带应答 超时重传 滑动窗口 滑动窗口协议 后退n ...
- 网络协议:传输层(http://java-mzd.iteye.com/blog/1007577)
转载于:https://www.cnblogs.com/balala/p/6474637.html
- 网络层协议和传输层协议
目录 一.网络层功能 二.IP数据包格式 三.ICMP协议 四.ARP协议 五.传输层协议 六.TCP报文段 七.TCP三次握手 八.TCP四次断开 九.常用的TCP端口号及功能 十.UDP协议 十一 ...
- Linux - 第18节 - 网络基础(传输层一)
目录 1.传输层 1.1.再谈端口号 1.2.端口号范围划分 1.3.认识知名端口号 1.4.两个问题 1.5.netstat命令 1.6.pidof命令 2.UDP协议 2.1.UDP协议格式 2. ...
- 网络协议基础01-七层网络协议
前言:为什么学? 1.避不开:几乎所有的程序运行都会涉及到网络协议 2.不过时:越基础知识越不容易过时,值得花时间深入学习和积累. 容器技术.大数据.云计算.人工智能.区块链...等技术更新迭代速度很 ...
- TCP\IP 协议栈中的协议 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层
粉丝不过W 7 层体系的 OSI 参考模型,低层为 1~4 层:面向通信, 高层为 5~7 层:面向信息处理 物理层(Physical Layer) 利用一些物理媒体, 如双纽线. 同轴电缆等 传递信 ...
- 网络编程之 传输层的协议TCP与UDP
传输层协议: TCP和UDP的区别: TCP:面向连接(经历三次握手).传输可靠(保证数据正确性,保证数据顺序).用于传输大量数据(流模式).速度慢,建立连接需要开销较多(时间,系统资源). 服务端和 ...
- 网络基础之传输层协议介绍(“三次握手”和“四次挥手”)
文章目录 一.TCP/IP协议簇的传输层协议: 1.TCP和UDP 2.TCP报文段 二.TCP的"三次握手"和"四次挥手" 1."三次握手" ...
最新文章
- 工业界AI项目落地的繁琐过程
- DSS转发中sdp文件的简化
- python适配器模式角色_python设计模式-适配器模式
- python 获取Dmidecode 输出的系统硬件信息
- Loguru:Python 日志终极解决方案
- 新能源汽车累计补贴审核情况出炉:比亚迪、吉利两家独大
- system.exception所有子类详解
- 解决mysql从windows迁移到centos出现乱码问题
- 第五章 Spring3.0 、Hibernate3.3与Struts2的整合 基于Annotation
- CCRD_TOC_2008年第1期
- 软件测试流程(完整版)
- 打开微信备份文件db_安卓手机微信数据导出方法-adb备份(无需root) - Fenlog软件...
- git 创建邮箱 用户名_初次安装git配置用户名和邮箱及密钥
- redis搭建哨兵天坑
- 如何正确看谷歌文档android,在Android webview中查看google文档中的pdf时“无法预览”...
- 练手小项目——别踩白块小游戏
- JD旗舰店店铺商品详情接口代码对接教程
- PySide2 connect 时指定槽函数的参数
- hiho第三周 KMP
- 2022CVPR:一种用于空间变形的文本注意网络鲁棒场景文本图像超分辨率