No.28TCP&UDP
Posted elliottwave
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了No.28TCP&UDP相关的知识,希望对你有一定的参考价值。
No.28
今日概要
网络概念
- TCP协议
- 协议的特点
- 三次握手
- 四次挥手
- UDP协议
- 协议的特点
- OSI七层模型
- 每一层的物理设备
- 每一层的常见协议
Socket
- 介绍Socket
- 使用Socket完成tcp协议的web通讯
- 使用Socket完成udp协议的web通讯
内容回顾
网络概念
- 网络架构
- C/S client - server
- 客户端
- B/S browser -server
- web服务
- B/S 是特殊的 C/S
- C/S client - server
- 物理设备
- 网卡
- mac地址:全球唯一物理地址
- 交换机
- 完成局域网内的多台机器之间的通讯
- 只能识别mac地址
- 通讯方式:单播、组播、广播
- arp协议(地址解析协议)
- 通过一台机器的IP地址获取它的mac地址
- 由交换机完成:广播 单播
- 路由器
- 完成局域网与局域网之间的联系
- 能识别IP地址
- 网段
- 网关IP
- 访问局域网外部服务的一个出口IP
- 网卡
- IP地址/端口
- 通过IP地址在网络上定位一台机器
- ipv4
- ipv6
- 通过port能够在网络上定位一台机器上的一个服务
- 端口范围:0 ~ 65535
- 通过IP地址在网络上定位一台机器
内容详细
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代码
- 传输层 四层路由器,四层交换机
- TCP、UDP、端口
- 网络层 路由器(三层路由器)三层交换机
- IP地址:ipv4、ipv6
- 数剧链路层 网卡、交换机(二层交换机)
- mac地址:arp协议
- 物理层
- 进制转换
5.Socket
Socket是工作在应用层和传输层之间的抽象层,帮助我们完成了所有信息的组织和拼接。对于程序员而言,Socket已经是网络操作的底层了。
Socket历史
- 同一台机器上的两个服务(程序)之间的通信
- 基于文件
- 基于网络的多台机器之间的多个服务通信
Python中借用Socket模块完成Socket的功能
- 参数相关
- 三次握手
- 使用Socket完成tcp协议的web通讯
- 使用Socket完成udp协议的web通讯
以上是关于No.28TCP&UDP的主要内容,如果未能解决你的问题,请参考以下文章