主机通信有两种情况,即同网段和不同网段,现假设A主机要与B主机通信:
一、在同一网段的通信过程
- A主机在应用层产生通信需要的数据,并打开发送接收的端口(TCP/IP协议上TCP的端口对应不同的应用程序);
- 到达传输层后,数据被分段处理(Segment),添加TCP报头(包含源端口,目的端口,顺序号等等);
- 将数据下发给网络层,网络层会对该数据包添加IP报头(包含源IP地址,目的IP地址)封装成数据包;
- 数据包传到数据链路层,数据链路层在数据包前封装上数据帧头,在数据包后封装上校验位,从而把数据包封装成数据帧。(添加源MAC地址和目的MAC地址,若主机A不知道主机B的MAC地址则向交换机发送ARP广播来得到主机B的MAC地址);
- 将从数据链路层发送来的数据帧转换成在物理层物理线路上传输的电子信号,向网络上的转发设备交换机传递,由交换机进行处理(交换机工作在第二层,也就是数据链路层);
- 传输结束后,将物理介质中传输的电子信号转化成数据帧给交换机,交换机根据数据帧中的MAC地址查找主机B,把数据发送给主机B,转发过程不改变数据帧结构(转化成电子信号通过物理介质传输);
- 主机B在