
计算机网络
文章平均质量分 84
Currybeefer
理想是条不归路,不下战场才能赢
展开
-
【网络是怎样连接的】第六章 请求到达服务器以及响应给客户端(完结)
1.服务器架构当网络包到达Web服务器后,服务器就会接收这个包并进行处理。服务器有很多种类,其硬件和操作系统与客户端相比是不一样的。但是网络相关的部分,如网卡,协议栈,Socket库什么的和客户端却别无二致。无论硬件还是OS如何变化,TCP和IP的功能都是一样的。(当然Socket库的用法以及服务器程序的结构还是不同的)服务器的程序结构如图,我们可以把程序分为两个模块,等待连接模块a以及负责与客户端通信的模块b。当服务器启动的时候就会运行等待连接模块a,这个模块负责创建套接字,然后进入等待连接的暂停状态。原创 2022-07-02 08:47:35 · 590 阅读 · 0 评论 -
【网络是怎样连接的】第五章 探索服务器
1.Web服务器部署的位置Web服务器可以部署在公司里,也可以直接放在网络运营商管理的数据中心里,或者直接租用运营商提供的服务器。放在公司里,服务器可以从互联网直接访问。这种情况下,网络包通过最近的POP中的路由器、接入网以及服务器端路由器之后,就直接到达了服务器。以前这样的服务器部署方式很常见,但现在已经不是主流方式了。这里有几个原因。第一个原因是IP 地址不足。这样的方式需要为公司网络中的所有设备,包括服务器和客户端计算机,都分配各自的公有地址。然而现在公有地址已经不够用了,因此采用这种方式已经不现实原创 2022-07-02 08:43:30 · 242 阅读 · 0 评论 -
【网络是怎么连接的】第四章 探索接入网和网络运营商
1. 互联网和家庭局域网的区别与联系互联网虽然是一个遍布世界的巨大的系统,但基本工作方式和我们的家庭局域网没什么区别,都是通过路由器进行包的转发。我们可以把互联网想象成家庭局域网的放大版。但是互联网相比之下还是有一点点区别的,数据包传输距离的不同和路由的维护方式, 就是互联网与家庭、 公司网络之间最主要的两个不同点。我们上一章讲过,网络包经过交换机和路由器一步一步地接近互联网,最终会经过互联网接入路由器进入互联网。 互联网接入路由器和以太网路由器基本相同,简单来说,就是根据IP头部钟大哥接收方IP地址在路由原创 2022-07-02 08:40:23 · 1476 阅读 · 0 评论 -
【网络是怎么连接的】第三章 探索集线器,交换机和路由器
计算机发出的网络包都会通过集线器,路由器等设备转发,最终到达目的地。这些设备在转发包的时候只会查看包头部的控制信息,然后就会将包送到下一个目的地。本章我们将探索一个网络包经历集线器,交换机以及路由器最终进入互联网的过程。1. 双绞线究竟是干什么用的在这之前,我们先看看常说的网线究竟是什么。上一章说到,我们的网络包通过层层包装,最后由网卡的PHY模块将包转换成电信号,这些信号就会通过RJ-45接口进入双绞线。RJ-45接口就是这个东西但是信号到达集线器的时候会和出发时不一样,主要原因是能量衰减和噪声的原创 2022-06-29 06:01:57 · 493 阅读 · 0 评论 -
【网络是怎么连接的】第二章(下):一个网络包的接收
之前讨论了一个网络包的发送,现在我们来看看一个计算机或服务器收到一个网络包后会怎么做。在一台半双工模式的以太网中,一个设备发送的包会被连接在集线器上的所有设备接收,所以接收操作会接收到很多可能不是发给自己的包。首先PHY(MAU)模块先将信号转为通用格式然后发给MAC模块,MAC模块通过读取报头的同步时钟和起始帧分界符,将分节符后边的东西都转化为数字信息,再检查尾巴的FCS看看这个包有没有出错,出错的话就直接丢弃。如果FCS校验没错,MAC模块就要查询MAC头部中接收方的MAC地址与自己网卡的MAC地址是否原创 2022-06-25 12:07:11 · 403 阅读 · 0 评论 -
【网络是怎么连接的】第二章(中):一个网络包的发出
1. 关于网络包的基本知识一个网络包是由头部和数据两部分组成的。头部里放着目的地址等控制信息,数据则就是我们要传送的东西。如图所示控制信息(头部)用来在传输过程中告诉转发设备们,我要去往哪里。这就类似于快递包裹上的快递单一样。2. 网络包传输的过程对于一个TCP/IP协议产生的网络包,结构也是如此,具体长这样其中TCP头部我们在上一节讲过了,是由协议栈中的TCP模块加上去的。图中的IP头部和MAC头部则是由TCP下层的IP协议模块加上去的。IP协议在在添加头部的过程中,会将要访问的服务器的IP地址写入I原创 2022-06-25 12:03:17 · 737 阅读 · 0 评论 -
【网络是怎么连接的】第二章(上): 建立连接,传输数据,断开连接
1. 协议栈以下是操作系统中的网络控制软件,也就是我们说的协议栈的内部示意图。这张图只是显示总体规则,并不涉及细节,仅供参考。我们从上往下看,最上层的网络应用程序就是我们日常使用的比如浏览器,电子邮件等程序。这些应用程序会将收发数据的操作交给下层处理。应用程序下层就是socket库,这是一种链接库。在linux下,socket库有动态库也有静态库。库中包含之前提到过的解析器(用于向DNS服务器发出查询)。然后就到操作系统内部了,这里也是协议栈的位置。其中TCP协议程序部分和UDP协议程序部分都依赖于下原创 2022-06-25 11:58:51 · 698 阅读 · 0 评论 -
【网络是怎么连接的】第一章:浏览器生成消息
1.输入网址后发生了什么在最开始,我们如果要访问一个网页,就需要在浏览器的输入框内输入网址。例如www.baidu.com之类的东西。但是实际上你按下回车后,我们输入的地方的内容就变了,它会变成https://www.baidu.com/ 这样的东西。这个东西实际上叫做URL。我们可以发现URL是在我们输入的网址前边添加了”http”,”ftp:”,”file:“这样的东西。实际上URL开头的这些文字都表示了浏览器应该使用的访问方法。访问web服务器就应该用HTTP协议,访问FTP服务器就应该使用FTP协议原创 2022-06-20 05:17:10 · 212 阅读 · 0 评论