网络编程:OSI七层协议 tcp/udp协议区别
1.OSI的七层协议
互联网协议(OSI七层协议): - OSI七层协议: - 应用层 - 会话层 - 表示层 - 传输层 - 网络层 - 数据链路层 - 物理层 - 此时需要关注的是5层: 由下到上记 - 应用层 - 传输层 - 网络层 - 数据链路层 - 物理层 - 1)物理层: - 获取到对象计算机的电信号数据 0101010111 010: 你 1011: 爱 101: 我 问题: 无法获取具体数据内容,将电信号数据扔给数据链路层 - 2)数据链路层: - 我要知道数据是什么? - 我要知道数据是给谁的? - “以太网协议”: 1)规定一套分组的方式: 获取电信号真实数据。 电信号是一个数据包。 head: 18个字节 - 6: 发送者 - 6: 接收者 - 6: 数据类型 data: - 电信号具体的数据 2) 每一台电脑必须要有一个网卡(电脑插入网线的地方): - 每一块网卡都会有一串世界上独一无二的数字: - 12位16进制的数字,称之为 "mac地址" : - 前6位: 产商号 - 后6位: 流水号 mac地址作用(*******): 标识全世界上一台独一无二的计算机。 “以太网协议”: - 工作的方式: - 单播: - 广播: 缺点: - 广播风暴 - 只能在局域网内实现通信, 无法跨局域实现通信 总结: - mac地址: 标识全世界上一台独一无二的计算机。 3) 网络层: - 实现全世界某一台计算之间的通信 - ip地址(ip协议): - 点分十进制的数字组成 - 180.101.49.11 - 最小范围: 0.0.0.0 - 最小范围: 255.255.255.255 - ip的版本: - IPV4: - IPV6: - ip的作用:(*******) 用于表示全世界某一台计算机的位置,局域网的位置。 总结: ip地址 + mac地址:(*******) 标识全世界某一个局域网内的,某一台计算机。 4) 传输层: tcp与udp都是基于 “端口” 实现通信的。 - TCP协议: - UDP协议: 主要是软件与软件之间进行通信。 - port端口: 用于标识计算机中某一个独一无二软件。 总结: mac地址 + ip地址 + port端口: 标识的是全世界范围内某一个局域网内某一台计算机上的某一个软件。 5) 应用层: - 大佬们定制好的一套牛X的协议 - http协议 - ftp协议 - 自定义的协议
2.网络传输原理:
客户端向服务端发送数据的过程:
客户端:通过应用层将数据(http,ftp)打包 == > 传输层 继续将端口号(port) 打包进去 ==> 网络层将IP地址打包进去 ==> 数据链路层将MAC地址==> 转化成物理 层的电信号数据 ==> 通过网络传输给服务器
服务端:物理层接收到电信号数据 一层一层解包 应用层得到客户端应用层发过来的数据
3.tcp/udp的区别
1、连接方面区别 TCP面向连接(如打电话要先拨号建立连接)。 UDP是无连接的,即发送数据之前不需要建立连接。 2、安全方面的区别 TCP提供可靠的服务,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达。 UDP尽最大努力交付,即不保回证可靠交付。 3、传输效率的区别 TCP传输效率相对较低。 UDP传输效率高,适用于对高速传输和实时性有较高的通信或广播通信。 4、连接对象数量的区别 TCP连接只答能是点到点、一对一的。 UDP支持一对一,一对多,多对一和多对多的交互通信。