三次握手

网络并发面试集锦(1-50)

老子叫甜甜 提交于 2020-02-08 18:50:03
目录 1、python的底层网络交互模块有哪些? 2、简述OSI七层协议 3、什么是C/S和B/S架构? 4、简述TCP协议? 5、什么是arp协议? 6、tcp和UDP的区别?为什么tcp协议更可靠? 7、什么是局域网和广域网? 8、什么是socket?简述基于tcp协议的套接字通信流程? 9、什么是粘包?socket中造成粘包的原因是什么?那些情况会发送粘包现象? 10、IO多路复用的作用? 11、什么是防火墙以及作用? 12、select、poll、epoll模型的区别? 13、简述进程、线程、协程的区别以及应用场景? 14、什么是GIL全局解释器锁? 15、Python中如何使用线程池和进程池? 16、threading.local的作用? 17、进程之间二u和进行通讯? 18、什么是并发和并行? 19、同步和异步,阻塞和非阻塞的区别? 20、路由器和交换机的区别? 21、什么是域名解析? 22、如何让修改本地的hosts文件? 23、生产者和消费者模型应用场景? 24、什么是cdn服务? 25、有A.txt和B.txt两个文件,使用多进程和进程池的方式分别读取这两个文件? 26、那些是常见的TCPFlags? 27、tracerroute--一般使用的是哪种网络层协议? 28、iptabkes只是考察,根据要求写出防火墙规则? 29、socket套接字编程? 30

网络编程

左心房为你撑大大i 提交于 2020-02-08 14:04:18
主要内容 软件架构CS/BS 网络通信三要素 TCP通信 Socket套接字 ServerSocket 学习目标 [ ] 能够辨别UDP和TCP协议特点 [ ] 能够说出TCP协议下两个常用类名称 [ ] 能够编写TCP协议下字符串数据传输程序 [ ] 能够理解TCP协议下文件上传案例 第一章 网络编程入门 1.1软件结构 C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。 B/S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。 两种架构各有优势,但是无论哪种架构,都离不开网络的支持。 网络编程 ,就是在一定的协议下,实现两台计算机的通信的程序。 1.2 网络通信协议 网络通信协议: 通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样。在计算机网络中,这些连接和通信的规则被称为网络通信协议,它对数据的传输格式、传输速率、传输步骤等做了统一规定,通信双方必须同时遵守才能完成数据交换。 TCP/IP协议: 传输控制协议/因特网互联协议( Transmission Control Protocol/Internet Protocol),是Internet最基本、最广泛的协议

TCP/IP协议学习笔记(二)

冷暖自知 提交于 2020-02-08 05:20:40
传输层 TCP协议 本文主要整理TCP协议的知识点 1 前言 尽管TCP和UDP都使用相同的网络层(IP), TCP却向应用层提供与UDP完全不同的服务。TCP提供一种面向连接的、可靠的字节流服务。 TCP具有以下特点 1、面向连接 每个TCP段都包含一个源端口号和目的端口号,用来确定发送端和接收端的应用进程,然后结合IP首部中的源端IP地址和目的端IP地址就能唯一确定一个TCP连接。 2、可靠 TCP协议拥有各种机制来确保数据传送的可靠性,例如超时重传策略,保持首部和数据的校验和,流量控制和校验已收到数据的完整性和正确性等。 2 TCP首部 TCP报文段被封装到IP数据报中,通常是20个字节。 源端口号和目的端口号 :用于寻找发送端和接收端的应用进程,分别是16位 Sequence Number (序列号):报文段中的第一个字节,用于标识发送的数据字节流 Acknowledgment Number (确认号):确认序列号包含发送确认的一端所期望收到的下一个序号,因此,确认序号应当是上次已成功收到数据字节序号加1。不过,只有当标志位中的ACK标志为1时该确认序列号的字段才有效。 Offset(数据偏移 ):给出首部中32 bit字的数目,需要这个值是因为任选字段的长度是可变的。这个字段占4bit(最多能表示15个32bit的的字,即4*15=60个字节的首部长度)

TCP与UDP区别

旧城冷巷雨未停 提交于 2020-02-08 02:21:36
TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。 TCP的缺点: 慢,效率低,占用系统资源高,易被攻击 TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接,事实上,每个连接都会占用系统的CPU、内存等硬件资源。 而且,因为TCP有确认机制、三次握手机制,这些也导致TCP容易被人利用,实现DOS、DDOS、CC等攻击。 UDP的优点: 快,比TCP稍安全 UDP没有TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议,所以它在传递数据时非常快。没有TCP的这些机制,UDP较TCP被攻击者利用的漏洞就要少一些。但UDP也是无法避免攻击的,比如:UDP Flood攻击…… UDP的缺点: 不可靠,不稳定 因为UDP没有TCP那些可靠的机制,在数据传递时,如果网络质量不好,就会很容易丢包。 基于上面的优缺点,那么: 什么时候应该使用TCP: 当对网络通讯质量有要求的时候,比如:整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用,比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议。

网络编程并发编程面试题

泄露秘密 提交于 2020-02-07 23:47:48
网络编程,并发编程 面试题1. 简述 OSI 七层协议。应用层与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序员就需要实现OSI的第7层。示例:TELNET,HTTP,FTP,NFS,SMTP等。表示层这一层的主要功能是定义数据格式及加密。例如,FTP允许你选择以二进制或ASCII格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容。如果选择ASCII格式,发送方将把文本从发送方的字符集转换成标准的ASCII后发送数据。在接收方将标准的ASCII转换成接收方计算机的字符集。示例:加密,ASCII等。会话层它定义了如何开始、控制和结束一个会话,包括对多个双向消息的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的,在某些情况下,如果表示层收到了所有的数据,则用数据代表表示层。示例:RPC,SQL等。传输层这层的功能包括是否选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。示例:TCP,UDP,SPX。网络层这层对端到端的包传输进行定义,它定义了能够标识所有结点的逻辑地址

wireshark抓包分析---TCP/IP协议

孤者浪人 提交于 2020-02-07 21:20:41
当我们需要跟踪网络有关的信息时,经常会说“抓包”。这里抓包究竟是什么?抓到的包又能分析出什么?在本文中以TCP/IP协议为例,简单介绍TCP/IP协议以及如何通过wireshark抓包分析。 Wireshark 是最著名的网络通讯抓包分析工具。功能十分强大,可以截取各种网络封包,显示网络封包的详细信息。 Wireshark下载安装,略。注意,若在Windows系统安装Wireshark,安装成功后可能会出现Wireshark的两个图标,一个是Wireshark(中文版);另外一个是Wireshark Legacy (英文版)。下面的内容会以Wireshark Legacy为例介绍。 打开Wireshark,开始界面如下: Wireshark捕获的是网卡的网络包,当机器上有多块网卡的时候,需要先选择网卡。开始界面中的Interface List,即网卡列表,选择我们需要的监控的网卡。点击Capture Options,选择正确的网卡,然后点击"Start"按钮, 开始抓包。 我们打开浏览器输入任意http网址,连接再关闭,比如:http://blog.csdn.net。然后,我们回到Wireshark界面,点击左上角的停止按键。查看此时Wireshark的抓包信息。在看抓包信息之前,先简单介绍下Wireshark界面的含义。其中,封包列表的面板中显示编号、时间戳、源地址、目标地址

TCP和UDP头部格式的了解?

▼魔方 西西 提交于 2020-02-07 09:37:49
tcp头部格式如下图所示: 1.源端口号,16位,发送方的端口号。 2.目标端口号,16位,发送方的目标端口号。 3. 32为序列号,sequence number,保证网络传输数据的顺序性。 4. 32位确认号,acknowledgment number,用来确认确实有收到相关封包,内容表示期望收到下一个报文的序列号,用来解决丢包的问题。 5. 头部大小,4位,偏移量:最大值为0x0F,即15, 单位为32位(bit),单位也就是4个字节,给出头部占32bit的数目。没有任何选项字段的TCP头部长度为20字节;最多可以有60(15*4)字节的TCP头部。 6. Reserved 4位 ,预留字段,都为0 7. TCP标志位 (1)CWR:Congestion window reduced,拥塞窗口减少。拥塞窗口减少标志被发送主机设置,用来表明它接收到了设置ECE标志的TCP包。拥塞窗口是被TCP维护的一个内部变量,用来管理发送窗口大小。 (2)ECN-Echo:显式拥塞提醒回应。当一个IP包的ECN域被路由器设置为11时,接收端而非发送端被通知路径上发生了拥塞。ECN使用TCP头部来告知发送端网络正在经历拥塞,并且告知接收端发送段已经受到了接收端发来的拥塞通告,已经降低了发送速率。 (3)URG:为1时,紧急指针(urgent pointer)有效,配合紧急指针使用 (4)ACK

基础 | 网络编程

╄→尐↘猪︶ㄣ 提交于 2020-02-07 07:16:57
一、计算机网络的相关概念 1.计算机网络 通过传输介质、网络协议和通信设施,将分散在不同位置的计算机互连,实现资源共享和数据传输的系统。 计算机网络的功能: 1.资源共享 2.信息传输与集中处理 3.均衡负荷与分布处理 4.综合信息服务 2.网络编程 又称Socket编程,是指在操作系统,网络管理软件,网络通信协议的管理和协调下,使用计算机编程语言来实现计算机之间的资源共享和信息传递。 二、计算机网络的三要素: 1.IP地址 IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址。指的是计算机在网络中的唯一标识,IP地址的长度为32个比特位(4字节),一般用“点分十进制”表示。 分类 首字节开始位 首字节数值范围 网络格式地址 最大网络个数 每个网络最多主机个数 A类 0 0-127 网络.主机.主机.主机 127 16777214 B类 10 128-191 网络.网络.主机.主机 16384 65534 C类 110 192-223 网络.网络.网络.主机 2097152 254 D类 1110 224-239 用于在 IP 网络中的组播,不再分配 E类 1111 240-255 保留作研究之用,不再分配 2.端口号: 端口号用于标识进程的逻辑地址;其有效端口的范围是从 0到65535,其中 0-1024 系统使用或保留端口。注意

网络知识

一世执手 提交于 2020-02-07 03:11:54
网络知识开篇介绍 运维网络知识结构 基础部分 网络通讯原理 路由(IP地址 路由表 路由协议) 交换(MAC地址 mac表 广播域与冲突域) OSI7层模型 网络通讯数据包分装过程 进阶部分 TCP/IP模型(TCP/IP协议簇) TCP三次握手/四次挥手状态集转换 深入部分 IP地址分类 IP地址子网划分原理 DNS协议原理 ARP协议原理 操作部分 与系统相关网络操作命令 网络知识学习路径 路由交换部分 网络安全部分 网络运营商部署部分 无线网络技术 语音网络技术 网络基础知识概念 网络通讯原理 到底什么是网络:实现通讯的技术 网络诞生第一步:网络主机 至少两台有通讯需求的主机才能构建网络 网络诞生第二步:硬件网卡 主机之间实现网络通讯需要有硬件支持,网卡就是实现通讯的硬件 网络诞生第三步:传输介质 实现网络通讯还需要有传输介质,常见的传输介质为网线、管线、wifi无线等 网络诞生第四步:数据传输 通过网卡将计算机可以识别的二进制信息转换为电压信息进行传输 调制解调的过程 网络诞生第五步:传输问题 通过网卡和传输介质,定义1个bit传输的单位时间,从而分辨连续相同的信号 网络诞生第六步:传输依赖 在网络数据传输过程中,影响传输速率主要是通讯双方的网卡和传输介质 网络拓扑架构构建   以上就是一个网络拓扑图 网络拓扑==网络设备连接图   做网络拓扑图有助于我们检查问题、解决问题