1.数据在进行二层和三层封装之前,主机需要了解哪些信息?
主机在封装数据包之前,必须要知道,必须要知道去往目的网络的路由以及下一跳的MAC地址。目的端IP地址
2.当数据帧发送到非目的主机时,非目的主机将会如何处理?
如果主机接收到一个不是发往自己的数据帧,在检验帧头中的目的MAC地址之后会丢弃该帧。
3.传输层如何能够准确的将数据交给特定应用?
传输层会检查TCP或UDP报文头中的目的端口号,以此来识别特定应用。
4.当两台主机同时访问服务器的HTTP服务,该服务器如何区分数据属于哪个会话?
服务器可以只通过源IP地址识别两台主机的HTTP流量,另外TCP报文头中包含的源端口也可以被用来区分同一台主机通过不同的浏览器发起的不同的会话。例如,两个来自源IP为10.1.1.1的HTTP流量使用的目的端口号都是80,但源端口号为1028和1035。
数据转发过程:PCA—>RTA—>RTB—>RTC—>PCB
PCA发送数据帧到共享以太网中,由RTA接收后,会检查帧中的目的MAC地址,如果帧中的目的MAC地址与自己的MAC地址不同,设备将丢弃帧,如果相同,则会继续处理,查看帧中的目的IP地址,根据目的IP地址查看路由表,查看是否具有到达目的网络的路由条目,如有,则为数据包进行重封装并转发,该帧的头部源MAC地址和源IP地址为PCA,目的MAC地址为RTA,目的IP地址为PCB,(如果当前路由不知道下一跳的MAC地址,将会使用ARP来获得。),后由RTB接收后,会检查帧中的目的MAC地址,如果帧中的目的MAC地址与自己的MAC地址不同,设备将丢弃帧,如果相同,则会继续处理,查看帧中的目的IP地址,根据目的IP地址查看路由表,查看是否具有到达目的网络的路由条目,如有,则为数据包进行重封装并转发,该帧的头部源MAC地址和源IP地址为PCA,目的MAC地址为RTB,目的IP地址为PCB,同理,RTC以主机B的MAC地址作为目的MAC继续转发。PCB检查数据包的目的IP地址,发现目的IP与自己的IP地址相同。PCB剥掉数据包的IP头部后,会送往上层协议TCP继续进行处理,PCB检查TCP头部的目的端口,然后将数据段发送给应用层的HTTP协议进行处理。