计算机网络应用层
背景知识:
C/S模式的维护成本高,因为一台服务器要维持服务于千万台客户端的通信,如果服务端平台崩了,整个通信过程就全无;其次服务器端离客户端远,有可能会跨越多个国家进行反复传,导致有时延;最后当客户端线性增多,服务器无法扩展;
所以有了P2P模式,百度,迅雷在通讯方面使用了P2P,服务器端一直运行,当客户端开启时,自动告诉服务器端我有什么资源,多个客户端开启形成网状结构,当我需要资源时,我充当了客户端,为我提供资源的是服务端;当别人需要资源时,别人是客户端,而我是服务器端。
好比QQ注册,当我们第一次注册时把所有信息(如user、password、ip、post)都给了服务器端,下次登录时服务器可以把所有关于我的信息都给我,免去输入密码;当多个qq用户登录时,他们都把信息给了服务器端,同时,我也可以知道他们的ip地址,好比映射。
分布式进程通信
问题:
- 如何标识和寻址?
- 传输层--应用层之间如何服务? --->socketAPI
- 应用需要传输层什么服务实现报文交换?-->协议
解决:
- 用端节点SAP标识;寻址:①我在哪 ②我是在TCP还是UDP上 ③我端口号多少
- 传输层提供的服务需要穿过什么样的信息:报文SDU;端口;对方端口。封装报文:头+数据
TCP socket
socket对象:源 IP,源端口,目标IP,目标端口。故socket把四个对象封装成一个,即四元组在传输层和应用层之间进行解析和包装,好比映射,我的主机的应用层把四个源封装为socket交给传输层,通过通讯交给对方主机上的传输层,传输层根据socket表数字代表的含义进行理解该数字的含义,然后服务于应用层。
-
数据丢失率 吞吐 延迟 安全性
但传输层没有保证安全性,故使用SSL套在TCP上实现加密,后续在了解SSL。
比任何人都要努力
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)