本文已参与「新人创作礼」活动,一起开启掘金创作之路。
网络层
IP协议
报头结构
- 版本号(4位):当前只有两个值,4和6。分别表示IPv4和IPv6
- 首部长度(4位):这里的单位是4字节,如果是1111,就表示首部长度是60字节
- 服务类型TOS(8位):说是8位,但是只有4位是有效的,这四位分别表示,最小延迟、最大吞吐、最高可靠性、最小成本,这四个只能选择一个。
- 总长度(16位):最大长度是64K,如果这个时候要构造一个更长的数据报,IP协议会进行分包和组包。
- 标识(16位):用于实现分包和组包,标识相同表示两个包是一起的。
- 标志(3位):用于实现分包和组包,描述这个包是不是最后一个,0表示还有后续,1表示没有后续。
- 片偏移(13位):用于实现分包和组包,用来区分哪个包在前,哪个包在后
- 生存时间TTL(8位):表示一个IP数据报,在网络上存活的转发次数,意思就是说每经过一个路由器,TTL就会减1,如果减到0了,那么接收到的路由器就会把这个包丢弃
- 协议(8位):确定传输层用的是什么协议TCP和UDP都有不同的取值
- 首部校验和(16位):用来校验数据的正确性
- 源IP地址(32位):发件人的地址
- 目的IP地址(32位):收件人的地址
完成两方面工作
1.地址管理
IP地址是一个点分十进制构成的数据
咱们把IP地址分成了两个部分,网络号 + 主机号
网络号表示的是当时网段信息(局域网标识)
主机号是为了分辨局域网内部的各个主机。
用子网掩码来表示有多少个bit位网络号。
IP地址的网段划分,是通过子网掩码来划分的。之前是A类B类等等来划分。
特殊IP地址
- 如果IP的主机号全0,该IP就表示网络号
- 如果IP的主机号全1(255),该IP就表示广播地址,整个局域网里面的机器都能看到
- 如果IP地址是127开头的,该IP就表示“环回IP”,表示主机自己,最经典的是127.0.0.1
- 地址是10、192.168、172.16-172.31、这些开头的都是内网IP 除此之外的都是外网IP
2.路由选择
这个就是规划路径,在两个设备之间找到一条通路,能够完成传输的过程。
数据链路层
最主要的协议是以太网
我们平时用的网线也叫做以太网线
以太网数据帧结构
-
目的地址(6字节)
-
源地址(6字节)
-
类型(2字节):描述后面的数据是什么类型的。
如果是0800那么后面就跟着IP数据报 如果是0806那么后面就是ARP请求/应答 如果是8035那么后面就是RARP请求应答 -
数据(46 - 1500字节)
-
CRC(4字节)基于CRC算法校验和,循环冗余算法