HTTP客户端
- 解析URL
- 生成HTTP报文
DNS(获取IP地址)
- 查询服务器域名对应的IP地址
TCP(可靠传输)
- TCP三次握手
- 如果超过MSS则分片
- TCP报文
IP(指路)
- IP报文生成
MAC(两点传输)
-
生成MAC报文
- ARP协议根据IP找到MAC地址
网卡(出口)
-
添加报头和起始帧分界符
- 起始帧分界符是⼀个⽤来表示包起始位置的标记
-
在末尾添加⽤于检测错误的帧校验序列
- 末尾的 FCS (帧校验序列)⽤来检查包传输过程是否有损坏
-
将数字信息转换为电信号
报头和起始帧分界符
交换机(交换机本身没有MAC地址)
- 电信号到达⽹线接⼝,交换机⾥的模块进⾏接收
- 将电信号转换为数字信号
- 进行差错检测,没问题则放到缓存区
- 查询包的接收方MAC地址
- 根据交换机的MAC地址表进行转发
- 如果没有找到,则每个端口都发,只有相应的接收者才接收包,⽽其他设备则会忽略这个包。如果有端口响应了,则返回该将该端口MAC地址写入交换机MAC表
路由器(出境大门)
- 路由器有自己的IP和MAC地址,可以作为以太网包的接收方和发送方
接收
- 信号转换:将电信号转换数字信号
- 差错检错
- 检查MAC头部中的接收方是否是自己的MAC地址,如果是就放入缓冲区,不是就丢弃
发送
准备阶段
- 查询路由表确定输出端口
- 完成接收操作后,路由器会去掉包开头的
MAC头部
- 根据
IP头部
查看路由器的路由表 - 如果匹配到路由,则选择匹配到的路由,如果匹配不到则选择默认路由
发送阶段
- 知道对方的IP后,通过ARP协议查询MAC地址,并将结果作为接收方的MAC地址,MAC头部的发送地址则为路由器的地址
图解
引用
- 本篇文章图一、图二来自《图解网络-小林》