LOADING

加载过慢请开启缓存 浏览器默认开启

图解网络

TCP/IP 网络模型

1.应用层:HTTP、FTP、SMTP、DNS,工作在操作系统中的用户态,传输层则工作在内核态

2.传输层:TCP、UDP,为应用层提供网络支持的

3.网络层:IP,为传输层提供网络支持的。

IP 地址分为两种意义:网络号和主机号,网络号用来标识网络,主机号用来标识主机。IP 地址分为 A、B、C、D、E 五类,其中 A、B、C 三类用于标识主机,D 类用于多播,E 类保留。

子网掩码计算网络地址和主机地址的方法:将 IP 地址和子网掩码转换成二进制,然后将 IP 地址和子网掩码按位与运算,得到的结果就是网络地址。

4.网络接口层:ARP、RARP、ICMP,为网络层提供网络支持的。

DNS 服务器的作用:专门报出来 Web 服务器域名和 ip 地址之间的映射关系,将域名转换成 IP 地址。

协议栈

TCP 报文格式

TCP 分割数据:当 HTTP 请求消息比较长,超过 MSS 的长度,这时 TCP 就要将 HTTP 请求消息分割成多个 TCP 报文段进行传输,这就是 TCP 分割数据。

MTU:链路层的最大传输单元,是链路层所能通过的最大帧的大小,单位是字节。MTU 的大小是固定的,一般为 1500 字节。由 IP 头部和 TCP 头部组成的报文段的长度称为 MSS(Maximum Segment Size,最大分段大小),MSS 的大小是可变的,一般为 1460 字节。TCP 报文段的首部长度是 20 字节,如果 TCP 报文段的 MSS 为 1460 字节,那么 TCP 报文段的长度就是 1480 字节,如果 TCP 报文段的 MSS 为 1000 字节,那么 TCP 报文段的长度就是 1020 字节。

IP 头部

IP 数据包:IP 头部+TCP 头部+HTTP 头部+HTTP 数据

最后实现两边输出还要再封装一层 MAC 头部,MAC 头部是以太网使用的头部,包含接收方和发送方的 MAC 地址,以太网的数据帧格式如下:

使用 ARP 协议实现两点之间的 MAC 地址映射,ARP 协议的工作原理如下:

网络包只是存放在内存中的一串二进制数字信息,没有办法直接发送给对方。因此,我们需要将数字信息转换为电信号,才能在网线上传输,也就是说,这才是真正的数据发送过程。这一过程的实现是由网卡实现的,网卡是计算机的一块硬件,它的作用是将数字信息转换为电信号,然后通过网线发送出去。负责执行这一操作的是网卡,要控制网卡还需要靠网卡驱动程序。

网卡驱动获取网络包之后,会将其复制到网卡内的缓存区中,接着会在其开头加上报头和起始帧分界符,在末尾加上用于检测错误的帧校验序列。

本文作者:GWB
当前时间:2023-11-09 11:11:11
版权声明:本文由gwb原创,本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 国际许可协议。
转载请注明出处!