![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机网络
文章平均质量分 94
喜欢敲代码的Apollo
应届毕业生,蚂蚁金服JAVA后端工程师,欢迎小伙伴们一起交流!
展开
-
Tomcat到Servlet再到DispatcherServlet
前言写这篇文章的初衷其实是上一篇文章之后的想法,在TCP/IP五层模型视角下的浏览器请求中我以TCP/IP五层模型的视角分析了浏览器请求的传输过程,浏览器输入的url经过http封装后到达服务端TCP层后,得到的是个http请求,那么在服务端怎么对这个消息进行处理并返回响应?先上结论,Tomact的Connector会监听端口,接受TCP请求并产生一个线程来处理这个请求,把产生的 Request 和 Response 对象传给后续步骤,最后Connector会返回HttpServletResponse,原创 2021-03-30 11:13:31 · 3093 阅读 · 2 评论 -
TCP传输的数据切片与ACK介绍
前言写这篇文章的初衷是为了总结TCP传输过程,利用Socket抓包进行测试。、重点探讨了传输层的数据切片以及接受包后的ACK机制。TCP传输示例上方是三次握手建立连接红框为传数据下方四次挥手断开连接注意传输的TCP数据部分最大即1460字节,因为在传输层进行了分片。MTU为1500,考虑到数据链路层传输限制,要保证最大长度为MTU - IP首部(20) - TCP首部(20)。IP数据包分片参考文献https://my.oschina.net/xinxingegeya/blog/48原创 2021-03-28 17:16:24 · 6620 阅读 · 0 评论 -
TCP/IP五层模型视角下的浏览器请求
浏览器请求的传输过程前言以应用层、运输层、网络层、链路层、物理层的视角,详细分析了浏览器请求到服务端的传输过程,其中特意区分了网络层与链路层的区别。浏览器输入网址在浏览器中输入一个网址www.taobao.com应用层1.DNS解析域名,得到ip地址2.HTTP或HTTPS封装传输层其实传输控制层的作用主要是产生包。产生握手包,数据切片包,挥手包等,怎么发不归他管,归网络层链路层物理层。TCP或UDP协议,若是TCP则进行三次握手连接。同时在传输层通常会对数据报文进行切片,去掉TCP头原创 2021-03-28 17:00:20 · 679 阅读 · 0 评论 -
BIO/NIO/多路复用/Selector/select/poll/epoll
前言进行总结的初衷是没搞明白linux下的select/poll/epoll与java下nio的selector多路复用器的关系,于是对知识点进行了梳理。先上结论,selector多路复用器算是对linux下的select/poll/epoll进行封装,selector可以i有多种实现,linux系统下默认使用epoll的实现方式。BIO模型https://www.jianshu.com/p/138847d5cafdBIO即为阻塞IO的意思,通常我们讲BIO的时候都会和服务器模型配合着讲,在实际应原创 2021-03-27 19:27:40 · 1719 阅读 · 4 评论 -
TCP滑动窗口
TCP滑动窗口参考https://blog.csdn.net/yao5hed/article/details/81046945https://blog.csdn.net/ligupeng7929/article/details/79597423https://blog.csdn.net/h2604396739/article/details/85239439概述滑动窗口实现了TCP流控制。首先明确滑动窗口的范畴:TCP是双工的协议,会话的双方都可以同时接收和发送数据。TCP会话的双方都各自维护一原创 2021-02-18 15:15:21 · 1733 阅读 · 0 评论