网络上两台主机的通信过程
目标:
1:Tcp/ip协议族中的每一层在实际工作中所扮演的角色。 2:数据流是怎么被封装成数据段、数据包、数据帧的。 3:数据流的封装和拆封装的顺序
4:数据段、数据包、数据帧的封装里加入了什么样的信息 5:网络设备如何根据这些信息处理数据包或者数据帧 6:网络上的主机如何区分不同的数据流
Tcp/ip 协议和OSI 协议的不同在于将会话层,表示层,应用层统一规范为应用层。
在同一网段和不同网段的通信过程 (1):在同一网段的通信过程 主机在应用层上的操作:
TCP/IP协议上tcp 的端口对应的各种应用程序,如WWW 对应端口 80, DNS 对应端口 53. 客户机要访问某个应用程序就会要求打开主机的这个固定的端口。而客户机自己会打开一个大于1024的随机端口用来跟对方的主机进行通信。
这些大于1024的端口,我们称为动态窗口,可以自动或手动分配的 上面的图中可以看出,一个端口可以单一的标识一个会话。
一个单一的会话,实际上就是一个主机应用层之间的逻辑的软件连接。
主机在传输层的操作
1:对数据分段(Segment ),添加TCP 报头(包含源端口,目的端口,顺序号等) 分段的原因: (A ):可同时多个应用程序发送数据。 (B ):数据包过大产生错误时,还需重新传送,即占带快又占时间,小数据包对数据流影响就小很多。 (C ):各种网络传输介质有其最大的传输单元限制,不允许在网络上出现巨大的数据包。
主机在网络层的操作
当传输层为数据分段添加了TCP 头之后,将数据下发给网络层处理。
网络层会为传输层传来的数据包添加IP 报头(包含源IP 地址,目的IP 地址)封装成数据包
主机在数链路层的操作
数据链路层在数据包的前面封装上数据帧头,在数据包的后面封装上校验位,从而把数据包封装成数据帧。(添加源MAC 地址和目的MAC 地址)
主机对物理层的操作
将从逻辑链路层发送过来数据帧转换成能在物理线路上传输的电子信号,传递给网络上的转发设备交换机,由交换机进行处理。
交换机对数据帧的处理
交换机接收到数据流后根据发送过来的数据帧的MAC 地址查找目的主机。如发现将数据发送给目的主机。转发过程不改变数据帧结构。
目的主机接收到数据帧的操作
当目的主机接收到数据帧后对比目的MAC ,如是发送给自己的,则拆去数据帧头,发往网络层,网络层对比目的IP ,如相同则拆包发往传输层,传输层再对比目的端口,确认相同则拆去数据段交给应用程进行数据组装。
位于不同网段上的两台主机之间的通信过程
1:主机A 上的工作
由于主机A 和主机B 并不在同一个网段,主机A 是不可能通过ARP 解析到主机B 的MAC 地址的,同时,主机A 也是一个没有路由能力的网络节点,所以主机A 是不可能依靠自己的力量把数据发送到主机B 上去的。
主机A 必须依靠网络中的路由器将数据包路由到相应的目的网络。 主机A 网络配置:
网关:谁为主机提供访问其他网段的可能,默认网关就填谁的IP 地址。(路由器、代理服务器)
DNS :DNS 提供目的地址的域名解析,如在局域网的不同网段内,可填本局域网内的DNS 服务器。如果访问INTERNET 外网的域名,则填写当地运营商的DNS 服务器。
填写了默认网关之后,主机A 通过ARP 解析,就可以知道路由器A 的E0接口的MAC 地址。当主机要向主机B 发送文件时,就可以通过路由器A 将数据包发送到目的地。
例: 主机A 发送数据到其他网段的FTP 服务器过程
应用层数据到传输层被分段,打上TCP 头(含源端口,目的端口(21)),FTP 默认端口为21再向下发给网络层,打上IP 地址(含源IP ,目的IP ), 再向下发送给数据链路层,打上数据帧(含源MAC ,目的MAC ),由于不知道目的MAC ,则在MAC 上打上于路由器E0接口的MAC 地址,发往路由器。
主机A 的数据封装过程及添加信息
交换机B 对数据不做修改传送FTP 服务器B
FTP 服务器接收到数据后对数据拆帧、包,TCP 头,检查其目的地址与校验,重新整合这些数据流之后,将这个数据流传递给应用层的21端口处理。
FTP 服务器B 的数据封装过程及添加信息
网络上两台主机的通信过程
目标:
1:Tcp/ip协议族中的每一层在实际工作中所扮演的角色。 2:数据流是怎么被封装成数据段、数据包、数据帧的。 3:数据流的封装和拆封装的顺序
4:数据段、数据包、数据帧的封装里加入了什么样的信息 5:网络设备如何根据这些信息处理数据包或者数据帧 6:网络上的主机如何区分不同的数据流
Tcp/ip 协议和OSI 协议的不同在于将会话层,表示层,应用层统一规范为应用层。
在同一网段和不同网段的通信过程 (1):在同一网段的通信过程 主机在应用层上的操作:
TCP/IP协议上tcp 的端口对应的各种应用程序,如WWW 对应端口 80, DNS 对应端口 53. 客户机要访问某个应用程序就会要求打开主机的这个固定的端口。而客户机自己会打开一个大于1024的随机端口用来跟对方的主机进行通信。
这些大于1024的端口,我们称为动态窗口,可以自动或手动分配的 上面的图中可以看出,一个端口可以单一的标识一个会话。
一个单一的会话,实际上就是一个主机应用层之间的逻辑的软件连接。
主机在传输层的操作
1:对数据分段(Segment ),添加TCP 报头(包含源端口,目的端口,顺序号等) 分段的原因: (A ):可同时多个应用程序发送数据。 (B ):数据包过大产生错误时,还需重新传送,即占带快又占时间,小数据包对数据流影响就小很多。 (C ):各种网络传输介质有其最大的传输单元限制,不允许在网络上出现巨大的数据包。
主机在网络层的操作
当传输层为数据分段添加了TCP 头之后,将数据下发给网络层处理。
网络层会为传输层传来的数据包添加IP 报头(包含源IP 地址,目的IP 地址)封装成数据包
主机在数链路层的操作
数据链路层在数据包的前面封装上数据帧头,在数据包的后面封装上校验位,从而把数据包封装成数据帧。(添加源MAC 地址和目的MAC 地址)
主机对物理层的操作
将从逻辑链路层发送过来数据帧转换成能在物理线路上传输的电子信号,传递给网络上的转发设备交换机,由交换机进行处理。
交换机对数据帧的处理
交换机接收到数据流后根据发送过来的数据帧的MAC 地址查找目的主机。如发现将数据发送给目的主机。转发过程不改变数据帧结构。
目的主机接收到数据帧的操作
当目的主机接收到数据帧后对比目的MAC ,如是发送给自己的,则拆去数据帧头,发往网络层,网络层对比目的IP ,如相同则拆包发往传输层,传输层再对比目的端口,确认相同则拆去数据段交给应用程进行数据组装。
位于不同网段上的两台主机之间的通信过程
1:主机A 上的工作
由于主机A 和主机B 并不在同一个网段,主机A 是不可能通过ARP 解析到主机B 的MAC 地址的,同时,主机A 也是一个没有路由能力的网络节点,所以主机A 是不可能依靠自己的力量把数据发送到主机B 上去的。
主机A 必须依靠网络中的路由器将数据包路由到相应的目的网络。 主机A 网络配置:
网关:谁为主机提供访问其他网段的可能,默认网关就填谁的IP 地址。(路由器、代理服务器)
DNS :DNS 提供目的地址的域名解析,如在局域网的不同网段内,可填本局域网内的DNS 服务器。如果访问INTERNET 外网的域名,则填写当地运营商的DNS 服务器。
填写了默认网关之后,主机A 通过ARP 解析,就可以知道路由器A 的E0接口的MAC 地址。当主机要向主机B 发送文件时,就可以通过路由器A 将数据包发送到目的地。
例: 主机A 发送数据到其他网段的FTP 服务器过程
应用层数据到传输层被分段,打上TCP 头(含源端口,目的端口(21)),FTP 默认端口为21再向下发给网络层,打上IP 地址(含源IP ,目的IP ), 再向下发送给数据链路层,打上数据帧(含源MAC ,目的MAC ),由于不知道目的MAC ,则在MAC 上打上于路由器E0接口的MAC 地址,发往路由器。
主机A 的数据封装过程及添加信息
交换机B 对数据不做修改传送FTP 服务器B
FTP 服务器接收到数据后对数据拆帧、包,TCP 头,检查其目的地址与校验,重新整合这些数据流之后,将这个数据流传递给应用层的21端口处理。
FTP 服务器B 的数据封装过程及添加信息