
计算机网络
C++有点难
记录,总结
展开
-
DNS协议
DNS 服务器DNS服务器,一定要设置成高可用、高并发和分布式的,于是,就有了这样的树状层次结构。根DNS服务器:返回顶级域名DNS服务器的IP地址顶级域DNS服务器:返回权威DNS服务器的IP地址权威DNS服务器:返回相应的主机的IP地址DNS解析过程为了提高DNS解析的性能,很多网络都会就近部署DNS缓存服务器。于是有了以下的DNS解析流程。看图:总结DNS是网络世界的地址簿,可以通过域名查地址,因为域名服务器是按照树状结构组织的,因而域名查找是使用递归的方法,并通过缓存的方原创 2020-07-16 21:10:53 · 130 阅读 · 0 评论 -
HTTP协议&HTTPS协议
HTTP协议HTTP协议是基于TCP协议的,当然是要先建立TCP连接了。目前使用的HTTP协议大部分都是1.1.在1.1的协议里面,默认是开启了Keep-Alive的,这样建立的TCP连接,就可以在多次请求中复用。HTTP请求的构建HTTP的报文大概分成三大部分。第一部分是请求行,第二部分是请求的首部,第三部分才是请求的正文实体。请求行请求行中,URL就是www.baidu.com,版本为HTTP1.1。这里要说一下的,就是方法。方法有几种类型。最常用的类型就是GET,就是去服务器获取一些原创 2020-07-16 18:38:36 · 222 阅读 · 0 评论 -
Socket编程
socket编程进行的是端到端的通信,设置参数也只能是端到端协议之上网络层和传输层的。在网络层,需要指定是IPV4还是IPV6,指定是TCP还是UDP基于TCP协议的Socket程序函数调用过程。TCP要先监听一个端口,一般是先调用bind函数,给这个socket赋予一个IP和端口。然后调用listen函数进行监听。在TCP的状态图里面有一个这个状态,当调用了这个函数之后,服务端就进入了这个状态,这时候客户端就可以发起连接了在内核中为每个socket维护两个队列。一个是已经建立连接的队列,这时候三原创 2020-07-16 14:37:09 · 175 阅读 · 0 评论 -
TCP协议
TCP的包头格式TCP包头格式:源端口和目标端口号包的序号,为了解决顺序的问题确认序号,解决不丢包的问题接下来是一些状态位,SYN 是发起一个连接,ACK 是回复,RST 是重新连接,FIN 是结束连接等。TCP 是面向连接的,因而双方要维护连接的状态,这些带状态位的包的发送,会引起双方的状态变更。窗口大小,TCP是需要做流量控制的TCP还会做拥塞控制TCP的三次握手“请求 -> 应答 -> 应答之应答”### TCP的四次挥手...原创 2020-07-15 21:07:31 · 140 阅读 · 0 评论 -
UDP协议
后端面试灵魂之问:TCP 和 UDP 有哪些区别?TCP是面向连接的,UDP是面向无连接的。什么是面向连接? 在互通之前,面向连接的协议会先建立连接。所谓的建立连接,是为了在客户端和服务端维护连接,而建立一定的数据结构来维护双方交互的状态用这样的数据结构来保证所谓的面向连接性。UDP继承了IP包的特性,不保证不丢失,不保证按顺序到达。TCP是流式套接字,之所以变成流,这也是TCP自己状态维护做的事情。TCP是可以有拥塞控制的,UDP是没有的TCP是一个有状态的服务,UDP是一个没有状态的服务原创 2020-07-15 20:17:08 · 424 阅读 · 0 评论 -
网关和路由器
配置了IP地址和网关,就能够制定目标地址进行访问了,由于在跨网关访问的时候,牵扯到MAC地址和IP地址的变化。下面详述一下MAC地址和IP投的细节。路由器和网关的区别?路由器的每一个口都是一个网关。静态路由是什么?静态路由,其实就是在路由器上,配置一条一条规则。MAC 地址是一个局域网内才有效的地址。因而,MAC 地址只要过网关,就必定会改变,因为已经换了局域网。两者主要的区别在于 IP 地址是否改变。不改变 IP 地址的网关,我们称为转发网关;改变 IP 地址的网关,我们称为NAT (Netwo原创 2020-07-15 18:50:54 · 405 阅读 · 0 评论 -
ICMP与ping
ping 是基于ICMP协议工作的,互联网控制报文协议。ICMP报文是封装在IP里面的。ICMP报文有很多类型,最常用的类型是主动请求(8),主动请求的应答(0)查询报文类型ping使用的是查询报文,标识符(16位)+序号(16位)+数据在选项中ping还会存放发送请求的时间值,来计算往返时间,说明路程的长短差错报文类型Traceroute使用的是差错报文,终点不可达为 3,源抑制为 4,超时为 11,重定向为 5。差错报文的结构相对复杂一些。除了前面还是 IP,ICMP 的前 8 字节不变,原创 2020-07-15 18:11:05 · 553 阅读 · 0 评论 -
网络分层之物理层和数据链路层
物理层需要配置,两台电脑的IP地址、子网掩码、默认网关配置成为一个网络,才能通信。它们之间的网络包,包含mac层,因为IP层要封装了MAC层才能将包放进物理层。两台电脑构成了一个最小的局域网LAN。要将多态电脑连接在一起就要使用Hub,集线器。集线器会将自己收到的每一个字节,都复制到其他端口上去。数据链路层Hub采取的是广播模式,容易出现问题。为了解决这些问题,就需要数据链路层出马,也就是MAC层(媒体访问控制)。大家都在发,会不会产生混乱?有没有谁先发、谁后发的规则?方式一:分多个车道。每个车一原创 2020-07-14 16:36:12 · 587 阅读 · 0 评论 -
网络分层
OSI七层模型是面试中最常问到的问题,理解网络协议的工作模式,有两个小窍门:始终想象自己是一个处理网络包的程序:如何拿到网络包,如何根据规则进行处理,如何转发出去始终牢记一个原则:只要是在网络上跑的包,都是完整的。可以有下层没有上层,绝对不可能有上层没有下层。(都是五证齐全的)什么是二层设备。三层设备??所谓的二层设备、三层设备,都是这些设备上跑的程序不同而已。一个 HTTP 协议的包经过一个二层设备,二层设备收进去的是整个网络包。这里面 HTTP、TCP、 IP、 MAC 都有。什么叫二层设备原创 2020-07-10 11:28:42 · 271 阅读 · 0 评论 -
当我们打开网页时,浏览器做了什么???
问题:请谈谈从浏览器输入URL到拿到网页的整个过程浏览器做了哪些事?内核协议栈做了哪些事?web服务器做了哪些事?CDN加速网络服务。浏览器当你在搜索栏输入https://www.baidu.com/ ,浏览器进行URL解析。看到https,就知道要访问的是web服务器,www.baidu.com是web服务器的名字。根据上面的解析结果生成HTTP请求信息。浏览器生成了HTTP请求之后,需要操作系统把数据发出去,内核协议栈用的是IP,并不是域名,所以要进行域名解析。web浏览器中的g原创 2020-06-30 11:57:59 · 548 阅读 · 0 评论