网络基础之主机通信

简介: 网络通信基础介绍:mac地址,ip地址,以及路由

最近有幸做了几场面试官,基本都会问一下候选人关于主机通信的知识,但基本都答的不好,现在写写我自己的理解。

基础

IP地址:32bit,类似于1.2.3.4
mac地址(网卡地址):48bit,类似于ff:ff:ff:ff:ff:ff

局域网通信

以太网是一种局域网通信协议,主要特点是带冲突检测的载波侦听多路访问(CSMA/CD),即有所谓的退避算法。同时,它是以mac地址用于通信的基础。

以主机A(192.168.0.100)向主机B(192.168.0.101)发送数据为例:

  1. 主机A会查询本地mac地址-ip地址的缓存表中是否有192.168.0.101的记录
  2. 若没有,则主机A会向本局域网发送广播,IP地址为192.168.0.101,mac地址为ff:ff:ff:ff:ff:ff,即向局域网内询问192.168.0.101的mac地址是多少?
  3. 局域网内的主机并不响应这个广播包,只有主机B收到广播包后,回复一个单播包192.168.0.101的mac地址为01:02:03:04:05:06
  4. 主机A收到回复包后,更新自己的本地mac地址-ip地址的缓存表,并开始向mac地址为01:02:03:04:05:06开始发送数据

以上这个简单的例子就是ARP协议

网络通信

讲到网络通信,就必须讲到路由的报文转发了。局域网内的流量只是网络的最后一公里的问题,而更广大的是广域网通信。每个局域网通过路由器连接成一个网,通过路由转发实现局域网A与局域网B的通信

报文转发

路由器将从接口A中接收的报文从接口B中转发出去,这里的关键操作是如何将协议组织好。

  1. 将数据链路层的帧头和帧尾移除,解析出IP报文。
  2. 检查IP报文的目的IP地址,在路由表中查找最佳路由。
  3. 如果路由器找到匹配下一跳,则将IP报文封装到新的数据链路帧中,并将帧转发到输出接口B中,否则路由器会将报文发给自己的默认路由

以主机A(192.168.0.10)向主机B(192.168.4.30)发送数据为例:

  1. 主机A首先判断目的地址192.168.4.30是否在自己的局域网内(子网掩码后判断网络地址是否一致),若一致,则与局域网通信一致
  2. 若不一致,则将报文转发至自己的默认路由192.168.0.1,如何转发至192.168.0.1与局域网通信一致
  3. 路由器R1收到报文后,拆开数据帧后得到目的IP为192.168.4.30,查看自己的路由表,发现其需要从另外一个出口中转发,目的地址为192.168.2.10,因此构造srcIP=192.168.0.10, srcMac=aa:02,dstIP=192.168.4.30,dstMac=bb:01,的数据帧转发至路由器R2
  4. 路由器R2收到报文后,查看路由表,发现需要从192.168.4.1的出口转发,而192.168.4.1192.168.4.30位与同一个局域网中,因此,直接局域网通信转发报文给主机B
  5. 主机B收到报文后,发现目的mac地址与自己一致,并解开目的IP地址也与自己一致,则将ip报文交由上层处理

路由转发

总结

上述只是简单将主机通信的过程描述了一遍,其中的一些细节(IP地址,网络地址,子网掩码,路由表构成)并没有深究,大家感兴趣可以自行研究。

目录
相关文章
|
4月前
|
网络协议 安全 5G
网络与通信原理
【10月更文挑战第14天】网络与通信原理涉及众多方面的知识,从信号处理到网络协议,从有线通信到无线通信,从差错控制到通信安全等。深入理解这些原理对于设计、构建和维护各种通信系统至关重要。随着技术的不断发展,网络与通信原理也在不断演进和完善,为我们的生活和工作带来了更多的便利和创新。
103 3
|
2月前
|
负载均衡 网络协议 算法
不为人知的网络编程(十九):能Ping通,TCP就一定能连接和通信吗?
这网络层就像搭积木一样,上层协议都是基于下层协议搭出来的。不管是ping(用了ICMP协议)还是tcp本质上都是基于网络层IP协议的数据包,而到了物理层,都是二进制01串,都走网卡发出去了。 如果网络环境没发生变化,目的地又一样,那按道理说他们走的网络路径应该是一样的,什么情况下会不同呢? 我们就从路由这个话题聊起吧。
73 4
不为人知的网络编程(十九):能Ping通,TCP就一定能连接和通信吗?
|
3月前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
89 11
|
3月前
|
网络协议
计算机网络与通信
计算机网络基本概念:了解计算机网络的定义、功能、分类和拓扑结构(如总线型、星型、环型、树形、网状等)。 网络通信原理:了解网络通信的基本原理、协议和技术,如TCP/IP协议、网络通信设备等。
40 3
|
3月前
|
算法
数据结构之卫星通信网络(BFS)
本文介绍了卫星通信网络及其重要性,并探讨了广度优先搜索(BFS)算法在其中的应用。卫星通信网络通过在轨卫星提供全球覆盖的通信服务,尤其在偏远地区和紧急救援中发挥关键作用。BFS算法用于网络拓扑分析、路径规划和故障排除,确保通信网络的高效运行。文章还包括BFS算法的工作原理、特点、优缺点及其实现代码示例。
70 1
|
3月前
|
传感器 自动驾驶 物联网
探秘 5G 核心网络之 5G RAN:开启高速通信新时代
探秘 5G 核心网络之 5G RAN:开启高速通信新时代
96 4
|
4月前
|
机器学习/深度学习 人工智能 算法
|
3月前
|
物联网 5G 数据中心
|
3月前
|
网络协议 算法 数据库
OSPF 与 BGP 的互操作性:构建复杂网络的通信桥梁
OSPF 与 BGP 的互操作性:构建复杂网络的通信桥梁
63 0
|
4月前
|
网络协议 安全 数据安全/隐私保护
网络协议:互联网通信的基石
【10月更文挑战第12天】
136 1