No.28
今日概要
网络概念
Socket
- 介绍Socket
- 使用Socket完成tcp协议的web通讯
- 使用Socket完成udp协议的web通讯
内容回顾
网络概念
- 网络架构
- C/S client - server
- B/S browser -server
- B/S 是特殊的 C/S
- 物理设备
- 网卡
- 交换机
- 完成局域网内的多台机器之间的通讯
- 只能识别mac地址
- 通讯方式:单播、组播、广播
- arp协议(地址解析协议)
- 通过一台机器的IP地址获取它的mac地址
- 由交换机完成:广播 单播
- 路由器
- 完成局域网与局域网之间的联系
- 能识别IP地址
- 网段
- 网关IP
- IP地址/端口
- 通过IP地址在网络上定位一台机器
- 通过port能够在网络上定位一台机器上的一个服务
内容详细
1.TCP协议
- 特点:
- 需建立连接:可靠
- 速度慢
- 能够传递的数据长度几乎没有限制
- 建立连接的时候:三次握手
- 断开连接的时候:四次挥手
- 在建立起连接后:
- 发送的每一条信息都有回执
- 为了保证数据的完整性,还有重传机制
- IO(input,output)操作,输入和输出是相对内存来说的。
- write(send)→ output
- read(recv)→ input
2.UDP协议
- 特点:
- 无需建立连接 :不可靠
- 速度快
- 能够传递的数据长度有限制,是根据数据传递设备的设置有关系。
3.应用场景
- TCP:
- 文件上传/下载相关(发送邮件、网盘、缓存电影)
- 长数据
- 下载看视频
- UDP:
- 即时通信类(qq、微信、飞秋)
- 短数据
- 在线看视频
4.OSI七层模型
- 应用层
- 表示层
- 会话层
- 传输层
- 网络层
- 数剧链路层
- 物理层
简化版▲
osi五层协议(虚构) 物理设备
- 应用层
- http、https、ftp、smtp、python代码
- 传输层 四层路由器,四层交换机
- 网络层 路由器(三层路由器)三层交换机
- 数剧链路层 网卡、交换机(二层交换机)
- 物理层
5.Socket
Socket是工作在应用层和传输层之间的抽象层,帮助我们完成了所有信息的组织和拼接。对于程序员而言,Socket已经是网络操作的底层了。
Socket历史
- 同一台机器上的两个服务(程序)之间的通信
- 基于网络的多台机器之间的多个服务通信
Python中借用Socket模块完成Socket的功能
No.28TCP&UDP
原文:https://www.cnblogs.com/elliottwave/p/12611471.html