网络通信
概念:两台设备之间通过网络实现数据传输
网络通信:将数据通过网络从一台设备传输到另外一台设备
主要包:java.net包下提供一些列的类和接口
网络
概念:两台或者多台设备通过一定物理设备连接起来构成了网络
分类
局域网:覆盖范围小,仅仅覆盖一个教室一个机房
地域网:覆盖范围大,可以覆盖一个城市
广域网:覆盖面积最大,可以覆盖全国,甚至全球,万维网是广域网的代表
IP地址
概念:是唯一标识主机
查看ip的地址:ipconfig
ip表示:
对于IPv4
4个字节(32位)表示
一个字节的范围是0~255
IPv6 使用128位表示地址
16个字节是Ipv4的四倍
域名
概念:将Ip地址映射成域名
举例:www.baidu.com
好处:为了方便记忆,解决记Ip的困难
端口
概念:用于标识计算机技术上某个特定的网络程序
表示形式:以整数形式,端口范围0~65535(两个字节表示端口)
注意:0~1024已经被占用 比如ssh ftp
一个端口是一个网站上的一个功能,想要进行调用ip+端口
网络通信协议
理解:人与人进行交流 依靠语言(中文 英语 日语 ) 语言本身就是一种协议
程序QQ 发送 到另外一个程序QQ 网络,在网络编程中数据的组织形式就是协议
回复数据 也是需要按照规定好的协议方式
TCP协议:传输控制协议
使用TCP协议前,先进行建立TCP连接,形成通道
传输前,采用三次握手的方式 是可靠的
TCP协议进行通信的两个应用的进程:客户端,服务端
UDP协议:用户数据协议
将数据,源,目的,封装成数据包,不需要建立连接
每一个数据报的大小限制在64k内,不适合传输大量数据
因无需连接,故是不可靠的
发送数据结束时无需释放资源(因为不是面向连接的),速度快
举例:厕所通知:发信息
什么是 三次握手??
第一次握手:你好
第二次握手:你好
第三次握手:开始传输数据吧
数据传输中........
四次挥手???
第一次挥手:我们不合适
第二次挥手:分手吧
第三次挥手:分手吧
第四次挥手:应同陌路,不再相识
OSL七层模型
1.应用层:用户的App的数据,图片 声音 文字
2.表示层:对App数据进行编码
用BMP或JPEG编码 来表示图片数据
用WAV或MP3编码 来表示声音数据
用WMV或AVL编码 来表示视频数据
独创一套编码方式,只有自己人知道编码方法,则可以实现数据解密
3.传输层:建立TCP或UDP连接
文件传输对数据完整性要求高,传输中如果丢失数据
会导致整个文件损坏打不开
所以传输层会针对文件传输类的工作,选用TCP协议
4.网络层基于IP地址进行路由的转发
抖音客户端--路由器--路由器--路由器--抖音服务器
路由技术是网络工程师核心技术之一,直接影响各个互联网App的应用体验
5.数据连接层:
抖音客户端--路由器--路由器--路由器--抖音服务器
802.11协议 ppp协议 帧中协议 以太网协议
6. 数据链路层:控制网络与物理之间的通信
7.物理层:比特流传输