美文网首页
网络相关

网络相关

作者: go_2021 | 来源:发表于2022-02-09 17:50 被阅读0次

治疗焦虑,迷茫,可以用同仁堂的-忙,见效快。

tcp 和 udp的区别?

https://blog.csdn.net/quitozang/article/details/80861376

两者的区别大致如下:

  1. tcp 面向连接,1对1的,3次握手建立连接,而udp是支持1对多。
  2. tcp数据保证顺序,流量控制,拥塞控制。所以是面向字节流,把报文进行拆分,而udp是不会拆报文。
三次握手 4次挥手

https://www.jianshu.com/p/d3725391af59
握手:
1)Client:嘿,李四,是我,听到了吗?
2)Server:我听到了,你能听到我的吗?
3)Client:好的,我们互相都能听到对方的话,我们的通信可以开始了。
挥手:
1)Client:我所有东西都说完了
2)Server:我已经全部听到了,但是等等我,我还没说完
3)Server:好了,我已经说完了
4)Client:好的,那我们的通信结束

拆包粘包

拆包就是把一个报文的 东西分几次传输
粘包就是一此传输 里包含几次的报文内容

  • 如何处理的
    1. 消息定长 发送方不够 加空格(没用)
    2. 包 后加换行符(ftp)
    3. 分消息头 消息体 消息头 定长 并写好 本消息的总大小 (http)
长短链接

短连接就是访问一次就是释放了,长连接是会保持链接,http1.1默认就是长连接,复用链接减少建立销毁链接的开销。

TCP拥塞控制 流量控制

https://mp.weixin.qq.com/s/ALiTd4foUWFoNVE88WWOYw

  • 流量控制 报文大缓冲区小,需要拆包。
  • 拥塞控制 是整个链路的控制 相当与交通指挥 出现阻塞 进行控制 避免路由器


    image.png
io相关概念

同步异步
服务端会不会主动回调。
阻塞非阻塞
是指io流程中第一步是否阻塞让客户端等待。

io流程:
服务端返回给客户端数据,大致分为两步:

  1. DMA从网卡或者硬盘copy到内核 。
  2. 从内核copy到客户端。
java中的nio

https://www.jianshu.com/p/191041073919
selector 监听多个通道上的事件。
channel 一个通道对应一个连接,会有读,写,创建连接等事件。
FileChannel是阻塞的。
buffer 是一个对数据的一个封装。

nio的几种Reactor模式(selector是轮询监听,works是干活的线程)
  • reactor单线程
    一个线程,selector和works的活都是它干。
    代表:node.js redis
  • 主从reactor多线程
    selector分为主从,主负责建立连接,从负责监听channel上后续的读写事件。
    代表:netty tomcat kafka 。。
  • reactor多线程
    没啥好说的。。
异步非阻塞

https://www.jianshu.com/p/df1d6d8c3f9d
AIO又称为NIO2.0,在JDK7才开始支持。
一句话不好用,性能没提升,封装的也不好。

selector poll epoll区别

https://baijiahao.baidu.com/s?id=1611547498841608701&wfr=spider&for=pc

  • selector
    套接字放入一个 集合中1024容量 不断循环 来判断套接字上的事件
  • poll
    不限制集合数量
  • epoll
    不限制集合数量 基于内核的反射回调机制 来实现监听事件 代替循环

相关文章

  • 网络相关

    一.HTTP HTTP是超文本传输协议 1.请求报文的格式 请求行:方法(get、post)、url(请求的地址)...

  • 网络相关

    1.HTTP 超文本传输协议 请求相应报文 连接建立流程 HTTP的特点 (1)请求/响应报文 a.请求报文 b....

  • 网络相关

    随机加密

  • 网络相关

    查看端口是否外网可访问

  • 网络相关

    控制器销毁后一定要释放NSURLSession因为它是单例不会被销毁 所以它所开启的任务也都不会被销毁 要自己手动...

  • 网络相关

    1.GET POSTget是向服务器请求资源,是幂等的。幂等:多次请求同一个URL得到的结果是相同的。post不是...

  • 网络相关

    网络相关 1、为什么TCP是可靠的,UDP早不可靠的?为什么UDP比TCP快? TCP/IP协议高,因为其拥有三次...

  • 网络相关

    网络请求 三次握手 你好,能听到我说话吗 你好,我能听到你说话,你能听到我说话吗 你好,我也能听到你说话,建立连接...

  • 网络相关

    ** TCP/IP四层模型 ** 应用层(HTTP、HTTPS、SMTP、POP3、FTP等) 传输层(TCP、U...

  • 网络相关

    Mars 微信终端跨平台组件 Mars 正式开源! 关于 iOS HTTP2.0 的一次学习实践 AFNetwor...

网友评论

      本文标题:网络相关

      本文链接:https://www.haomeiwen.com/subject/blprkrtx.html