计算机网络
幸运小猴子
这个作者很懒,什么都没留下…
展开
-
修改hosts文件在本地使域名解析到指定IP
修改hosts文件在本地使域名解析到指定IP# Copyright (c) 1993-2009 Microsoft Corp.## This is a sample HOSTS file used by Microsoft TCP/IP for Windows.## This file contains the mappings of IP addresses to host names. Each# entry should be kept on an individual line. The原创 2020-09-04 12:01:21 · 1165 阅读 · 0 评论 -
HTTP
1.输入一个网址:(1)DNS将域名解析为IP地址(浏览器缓存->操作系统缓存->路由器缓存->ISP缓存->递归查询)(2)封装HTTP包(3)封装TCP报文,三次握手建立连接(4)发送请求消息给服务器(5)服务器回复响应(6)服务器四次挥手断开连接(7)客户端收到响应后解析报文,解析HTML,渲染。2.HTTPS:(1)首先建立SSL层连接,客户端将SSL版本号和加密组件发给服务器,服务器根据SSL版本号和加密组件进行匹配,同时将CA证书和公钥发送给客户端。(原创 2020-09-01 18:02:05 · 385 阅读 · 0 评论 -
TCP/IP
1.TCP三次握手:(1)服务端调用socket创建套接字,bind绑定端口,listen被动打开,再调用accpet阻塞,等待客户端连接。客户端调用socket创建套接字,connect主动打开发起连接。(2)客户端发送连接请求报文段给服务端,将SYN位置为1,sequence number为x,客户端进入SYN_SEND状态,等待服务端的确认;(3)服务端收到syn包后,需要对这个SYN报文段进行确认,设置ACK Num为x+1,同时自己还要发送SYN请求信息,将SYN位置1,sequence n原创 2020-09-01 16:35:21 · 135 阅读 · 0 评论 -
TCP 如何保证可靠性
1.校验和:校验范围包括TCP首部和数据部分。在发送方将整个报文段分为多个16位的段,然后将所有段进行反码相加,将结果存放在校验和字段中,接收方用相同的方法进行计算,若最终结果为校验字段所有位是全1则正确(UDP中为0是正确),否则出现错误。若校验出包有错,则丢弃报文段并且不给出响应,这时TCP发送数据端超时后会重发数据。2.确认应答与序列号:TCP将每个字节的数据都进行了编号,这就是序列号。序列号的作用是(1)保证可靠性(当接收到的数据总少了某个序号的数据时,能马上知道);(2)保证数据的按序原创 2020-08-06 14:35:15 · 405 阅读 · 0 评论 -
计算机网络高频
1. TCP头大小,包含字段?三次握手,四次断开描述过程,都有些什么状态。状态变迁图。TCP/IP收发缓冲区(2次)头部大小是20字节,包含数据如下:三次握手:四次释放:状态变迁图:收发缓冲区:2. 使用udp和tcp进程网络传输,为什么tcp能保证包是发送顺序,而 udp无法保证?因为TCP发送的数据包是按序号发送,有确认机制和丢失重传机制,而udp是不可靠的发送机制,发送的对应端口的数据包不是按顺序发送的。3. epoll哪些触发模式,有啥区别?(必须非常详尽的解释水平触发和边缘触发的区原创 2020-07-04 21:16:48 · 217 阅读 · 0 评论 -
ping telnet traceroute top netstat
ping ip/域名:用来测试网络速度和目标主机的连通性:工作原理:利用ICMP协议包来侦测另一个主机是否可达。用类型码为0的ICMP发请求,收到请求的主机则用类型码为8的ICMP回应。telnet ip port:查看某个机器上的某个端口是否可以访问网络性能问题测试命令:traceroute(windows为tracert) ip/域名:查看本机到该ip的路径中经过的路由器。工作原理:利用ICMP协议和TTL。首先给目的主机发送一个TTL=1的UDP数据包,经过第一个路由器时TTL值减1变0,路原创 2020-06-24 16:07:37 · 299 阅读 · 0 评论 -
DNS
DNS域名服务系统:层次树状结构:三级域名.二级域名.顶级域名域名服务器可以划分为以下四种不同类型:根域名服务器;顶级域名服务器;权限域名服务器;本地域名服务器域名解析的过程使用两种域名查询方式:(1)递归查询;(2)迭代查询为了提高DNS的查询效率,并减轻根域名服务器的负荷和减少因特网上DNS查询报文数量,在域名服务器和主机中广泛地使用了高速缓存。...原创 2020-06-24 10:05:02 · 69 阅读 · 0 评论 -
流量控制和拥塞控制
流量控制根据对端的处理能力控制向对端发送消息的速率。静态流控和动态流控静态流控是在配置server的时候就直接指定向该server发送消息的速率。智能流控可以动态计算对端的处理能力。给定一个初始wal(windows access limit)值,在每个周期统计该周期内对端server对请求消息的响应情况,无响应/响应忙,都认为对端处理能力低。在每个周期结束的时候,根据消息的发送情况和响应情况,上调wal值或者下降wal值。在下个周期内均按照新的wal值来控制发送速率。WAL算法是基于队列的流控算原创 2020-06-22 20:36:38 · 417 阅读 · 0 评论 -
python使用多线程实现UDP聊天器
import socketimport threadingdef send_msg(udp_socket, dest_ip, dest_port): """发送数据""" while True: send_data = input("请输入要发送的数据:") udp_socket.sendto(send_data.encode("utf-8"), (dest_ip, dest_port))def recv_msg(udp_socket):原创 2020-06-02 00:15:18 · 298 阅读 · 0 评论 -
计算机网络常见面试题
https://www.cnblogs.com/inception6-lxc/p/9152691.html转载 2020-05-23 16:10:04 · 128 阅读 · 0 评论 -
网络基础
http和https的区别(1)http是http协议运行在tcp之上,所传输的内容都是明文,客户端和服务器端都无法验证对方的身份。(2)https是http协议运行在SSL/TLS之上,SSL/TLS运行在tcp之上。所有传输的内容都经过加密。加密采用对称加密,但对称加密的秘钥用服务器方的证书进行非对称加密,此外客户端可以验证服务器端的身份,如果配置了客户端验证,服务器方也可以验证客户端的身份。(3)https协议需要到CA申请证书,一般免费证书很少,需要缴费;(4)http是超文本传输协议,信息原创 2020-05-22 17:05:30 · 128 阅读 · 0 评论 -
IP&MAC
IP地址(逻辑地址)本质是重点地址,它在跳过路由器的时候并不会改变。但是MAC地址(物理地址)则是下一跳的地址,每跳过一次路由器都会改变。MAC地址记录了下一跳的信息。原创 2020-05-22 12:02:10 · 155 阅读 · 0 评论 -
网络编程学习笔记--socket编程
1.网络中进程之间如何通信?本地的进程间通信(IPC)有很多种方式,总结为4类:消息传递(管道、FIFO、消息队列)同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量)共享内存(匿名的和具名的)远程过程调用在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是不可以的。TCP/IP协议族帮我们解决了这个问题,网络层的“IP地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用程序(进程)。这样利用三元组(ip地址、协议、端口)就可以标识网络的进程了。使用原创 2020-05-17 23:41:48 · 179 阅读 · 0 评论