
网络编程与原理
文章平均质量分 89
不懒女士
莫愁前路无知己,天下谁人不食菌
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
TCP的“可靠性”(下)——三次握手四次挥手
完全可以有一个数据包,第五位和第二位都是 1,此时这个数据包就同时起到了两个作用,既能够应答上个请求,也能发起 syn。这个操作实际上在第一次握手的时候就完成了,但是最终确立出这个连接要建立,确立出后续要进行通信,还是得所有的流程都走完)如果实际通信过程中,ack 和第二个 fin 时间间隔比较长,此时就无法进行合并了,就分成两次来传输。等到终于到了对端的时候,已经改朝换代了,之前的连接早都没了,现在是新的连接了!第一次连接的过程中,传输的有一个数据包,在路上堵车了,迟迟没有到达对端。原创 2024-12-05 19:05:39 · 1551 阅读 · 0 评论 -
TCP的“可靠性”(上)
整个网络中,就可能存在,某个路由器/交换机,某个时刻,突然负载量很高,短时间内可能有大量的数据包要几个这个设备转发。这个时候,如果瞬间的高负载超出了这个设备能转发的数据量的极限,多出来的部分,就无了,就被设备丢包了。上述谈到的,ack,重传,保证顺序,自动去重,都是 TCP 内置的。这个说法是很不准确的,因为三次握手四次挥手只有初次建立连接的时候才会,但是可靠性是整个过程都可靠,那靠的什么呢?此处可靠性,只能“退而求其次”,只要尽可能的去进行发送了,发送方能够指定对方是否收到,就认为是可靠传输了。原创 2024-12-05 18:50:15 · 1870 阅读 · 0 评论 -
TCP连接过程中涉及到的状态转换
TCP 服务器和客户端都要有一定的数据结构来保存这个连接的信息。在这个数据结构中其中就有一个属性叫做 “状态”操作系统内核根据状态的不同,决定了当前应该干什么。(不会迷茫也不会混乱)LISTEN状态,表示服务器这边,创建好 serverSocket 了,并且绑定端口号完成。ESTABLISHED已确立的。客户端和服务器连接已经建立完毕 (三次握手握完了)谁被断开连接,谁进入 CLOSE_WAIT。原创 2024-12-05 18:18:03 · 1049 阅读 · 0 评论 -
初识TCP(编写回显服务器)
客户端请求到达之后,sanner.hasNext返回,继续执行,读取请求,根据请求计算响应,返回响应给客户端…serverSocket整个程序只有唯一一个对象,并且这个对象的生命周期很长是要跟随整个程序的,这个对象无法提前关闭,只要程序退出,随着进程的销毁一起被释放即可(不需要手动进行)Socket 就如同那个购房洽谈室,是服务器(售楼处)和客户端(购房者)交流互动的专属空间,双方在这里收发信息,像在洽谈室里商量买房的各种事儿一样,完成数据通信。所谓回显服务器就是客户端发起什么请求,就返回什么响应。原创 2024-12-04 19:46:12 · 1902 阅读 · 0 评论 -
初识UDP(编写一个回显服务器)
服务器往往是7*24小时运行的,要持续不断地运行下去,这里的while(true)也没有退出的必要,如果你确实想重启服务器咋办,可以直接杀进程即可。通过网卡发送数据,就是写socket文件,通过网卡接收数据,就是读socket文件)、接下来要操作网卡,操作网卡都是通过socket对象来完成的(socket对象是在内存中,针对这个内存进行操作就能影响到网卡)想必大家应该听说过 UDP的特点:无连接,不可靠传输,面向数据报,全双工。对于服务器来说,需要不停的收到请求,返回响应,收到请求,返回响应。原创 2024-12-03 20:51:48 · 1982 阅读 · 0 评论 -
初识交换机和路由器
lan口可以有多个,用来连接家庭网络设备,比如台式机,手机,笔记本,其中手机和笔记本是通过WiFi连接到路由器的设备,也相当于连接到了lan口上。如果集线器能智能一点,把信息只发给对的计算机就好了,于是发明了交换机,交换机就是在集线器的基础上更加智能一点了,能把信息只发给对应的 计算机。的设备,有很多接口,当一台计算机A想发消息给计算机B,消息到达集线器,集线器就无脑把信息广播给所有连接它的计算机BCDEF…真实情况下,两个主机不是通过网线直连的,而是通过一系列的交换机或路由器来进行数据转发的。原创 2024-12-03 19:44:56 · 2208 阅读 · 0 评论 -
五层网络协议(封装和分用)
一个协议太复杂太庞大,非常不利于学习和维护,需要把一个高大全的协议,拆分成多个功能更单一,“小而美”的协议。网络通信过程中,需要涉及到的细节,其实是非常非常多的,如果要有一个协议来完成网络通信,就需要约定好方方面面的内容,非常多的细节,导致这个协议非常复杂。【交给下层,指的是,下层协议提供一组API(函数),上层调用这个API,并且把刚才构造好的数据通过参数传过去,下层协议就可以来处理这个数据了】OSI七层网络协议,最初大佬们设计的时候,给出的方案,后来在实施过程中,太麻烦了,就简化成了五层。原创 2024-12-02 21:58:01 · 2816 阅读 · 0 评论