香港数码挂牌

Java网络编程基础篇

添加时间:2018-11-18

ip层的包最后会被转换为数据链路层的数据包帧,在帧的头部会新增当前主机网卡mac地址和下一跳的主机的Mac地址,留心这里不是目的主机的mac地址,因为在源主机跟目的主机之间很可能有好多路由器,这时候下一跳的mac地址就是当前主机连接的路由器的Mac地址。

翟陆续(加多),资深Java , 著Java并发编程之美 ,民众号:技能原始积累 一、前言

然后运输层的包会被作为数据包的数据部分,然后在数据部分前面增加ip层的头部部分,头部里面会含有当前主机的ip 和目的地址的ip组成ip层的包

image.png

那么当主机A上的微信誉户给主机B上的微信用户发送消息时候,发送的新闻内容要首先经过程序把要发送的数据转换为自己的应用层协议格式的数据,把消息转换为运用层包是在用户程序代码里面做的。做完这些后网卡驱动程序会接着把应用层包转换为运输层的tcp包或者udp包,在运输层会把利用层包作为数据,而后在数据包前增添协议头组成运输层包,协定头里面会包含目标地址的网络端口号。

网络通信在系统交互中是必不可少的一局部,无论是笔试还是工作中都是绕不过去的一部门,本节咱们来谈谈Java网络编程中的一些常识 二、 网络通讯基础常识

最后数据链路层的数据帧会被转换会在物理层通过二进制流利过网络传递到网络上,网络流经过路由器时候路由器会首先把二进制流转换为数据链路层的数据帧,然后转换为网络层的ip数据包,然后读取目的地址的ip,而后查找路由表进行路由取舍,然后把ip数据包从新转换为数据链路层的帧,这时候数据帧里面的目的Mac地址是路由决定的主机的Mac地址,然后把数据帧通过物理层透明的把二进制传布递到下一站,如果下一站就是目的ip所在主机,则网卡驱动会吧二进制流依次转换为 数据链路层数据帧、ip包、传输层tcp包或者udp包,最后交给应用程序进程进行处理,应用程序转换包为具体数据然落伍行处置。

如上图主机A跟B上面有好多进程,比喻QQ进程,手淘进程,微信进程,浏览器进程等等。

image.png

这里假如进程1为微信进程,在应用层微信断定自己约定了本人的应用成层协议(比如商定协议包为协议头+消息内容)。

标签 应用层 网络通讯 主机 二进 网络编程

网络通讯的本质用一句话来说是处于两个主机上的两个进程之间进行通讯,如下图:


友情链接:
Copyright 2018-2021 今期香港正版挂牌彩图 版权所有,未经授权,禁止转载。