Java教程

网络通信

本文主要是介绍网络通信,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

Client<======>Server
客户端和服务端

 Brower<======>Server
#浏览器和服务端

 

网络通信:
跨地域数据传输--->通信
网络=物理链接的介质(交换机,线缆,中转站等)+互联网通信协议

 

互联网通信协议:

应用层,传输层,网络层,数据链路层,物理层
协议:规定的数据组织格式:头部+数据部分

物理层:负责发送电信号,一般物理层的数据称为:位,需要队数据进行分组

数据链路层:Ethernet以太网协议,一组数据称为一个数据帧,分为头+数据,头中包含了源地址和目标地址,数据包含了网络层所有的数据

      凡是接入互联网的主机必须有一块网卡,每块网卡出厂时规定了全世界独一无二的地址,MAC地址(计算机身份证)

      主要的工作方式--广播,在同一个局域网(同一个网关,或者网络,如同一个WiFi)中可以直接接受到数据

网络层:IP协议,一组数据称为一个数据包,分为头+数据,头中包含了源地址和目标地址,该地址是IP地址,数据包含了传输层所有的数据

    ipv4=IP地址/子网掩码地址(区别广播域)

    划分广播域

    如果与外部(广播域)通信,需要一个网关(出口),把数据发送到公网

    网关与外部的通信,路由协议

数据打包

(源MAC地址,目标MAC地址)(源IP地址,目标IP地址) 数据  在物理层转成二进制,通过交换机给到目标计算器

事先知道的对方的IP地址,但是计算机底层是通过以太网协议进行通信的,所以需要一个可以把IP地址解析成Mac地址的协议----ARP协议

在数据传输的时候,会调用ARP协议,通过IP和掩码判断是否在一个局域网中。

  在一个局域网中,目标计算机相应,返回目标Mac地址,直接通信,如果不在一个局域网中,需要把数据包交给网关

  不在一个局域网中,发送的数据包中,携带目标的Mac地址,目标网关相应,解析得到目标IP地址,相应,返回目标MAC地址

  有了IP地址,可以找到计算机

 

传输层:tcp协议,udp协议,基于端口(CS)

    IP+端口:标识全世界独一无二的网络通信的应用程序

    端口范围:0-65535,0-1023为系统占用端口

tcp协议:

    主体:头部+数据(头部长度固定,数据称为段)

    基于tcp协议通信之前,必须建立一个双向通道的链接,三次握手建立链接,四次挥手断开链接

    B------>C

    C<------B

 

这篇关于网络通信的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!