昨天实在是忙的昏天黑地,完全没时间发文
昨晚没睡好,但是今早却强行5点起床,不禁让我想到最近的一个梗
科比退役后,一位苦逼的程序员问科比:你为何如此成功?
Kobe:你见过凌晨4点点纽约吗?
"🐒":没有,我那时候一般都没下班,你问这个干吗?
Kobe:.......没有,随便问问。。。。。
生活的残酷,阻碍不了我们对知(zi)识(shi)的渴望
-亚历山大.尼古拉斯.麦克劳林.胡索
今天继IP后了解一下相关的协议
OSI (Open System Interconnection) 开放式系统互联(模型)
- 根据ISO(国际标准化组织)的标准,OSI把网络通信的工作分为7层
可以理解为某公司的7个部门 - 看官有个大致印象就好,说实在我也没搞懂
具体7层 | 数据格式 | 功能与连接方式 | 典型设备 |
---|---|---|---|
应用层 Application | 数据Data | 网络服务与应用间的接口 | 终端设备(PC、手机、平板等) |
表示层 Presentation | 数据Data | 数据表示、安全、压缩 | 终端设备(PC、手机、平板等) |
会话层 Session | 数据Data | 会话层连接到传输层的映射;会话连接的流量控制;数据传输;会话连接恢复与释放;会话连接管理、差错控制 | 终端设备(PC、手机、平板等) |
传输层 Transport | 数据段Segment | 用一个寻址机制来标识一个特定的应用程序(端口号) | 终端设备(PC、手机、平板等) |
网络层 Network | 数据包Packet | 基于网络层地址(IP地址)进行不同网络系统间的路径选择 | 路由器 |
数据链路层 Data Link | 数据帧Frame | 在物理层上建立、撤销、标识逻辑链接和链路复用 以及差错校验等功能。通过使用接收系统的硬件地址或物理地址来寻址 | 网桥、交换机、中继器 |
物理层 Physical | bit(位)流 | 建立、维护和取消物理连接 | 光纤、同轴电缆、双绞线、网卡 |
TCP/UDP 同属一上面的传输层
- 每个部门都有每个部门的工作指南或要求,这俩协议就是让传输层去实现它的功能
- TCP (Transmission Control Protocol)传输控制协议
- TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换
应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分区成适当长度的报文段
之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体[1] 的TCP层
TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK)(acknowledge);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传
TCP是因特网中的传输层协议,使用三次握手协议建立连接:如图
*终止连接还得多一个步骤,就不列出了。
- UDP (User Datagram Protocol)用户数据报协议
- 其实功能和TCP差不多,只不过它不需要像TCP那样需要建立连接
- UDP协议的主要作用是将网络数据流量压缩成数据包的形式。一个典型的数据包就是一个二进制数据的传输单位。每一个数据包的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据
- UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点
- 也就是说就像是*某某某政的平邮,把东西寄出去不管对方有木有收到,收到的东西玩不完整
- 在网络质量令人十分不满意的环境下,UDP协议数据包丢失会比较严重。但是由于UDP的特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点
- 所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。比如我们聊天用的ICQ和QQ就是使用的UDP协议