三次握手

第三次实验报告:使用Packet Tracer分析TCP连接建立过程

喜欢而已 提交于 2020-01-30 00:57:16
/*--> */ /*--> */ 姓名:张杰 班级:计算1812 学号:201821121055 1 实验目的 使用路由器连接不同的网络 使用命令行操作路由器 通过抓取HTTP报文,分析TCP连接建立的过程 2 实验内容 使用Packet Tracer,正确配置网络参数,通过抓取HTTP数据包,分析TCP连接建立过程。 建立网络拓扑结构 配置参数 抓包 分析数据包 建立网络拓扑结构: /*--> */ /*--> */ 配置参数: 客户端的IP地址为 192.168.1.55 服务器端IP地址为 192.168.2.55 路由器参数配置及 命令详解: 配置并激活端口: ●Router>enable #进入特权执行模式●Router#configure terminal #进入全局配置模式 ●Router(config)#hostname R #将路由器名称配置为R 配置Gig0/0/0接口: ●R(config)#interface Gig0/0/0 ●R(config-if)#ip address 192.1 68.1.80 255.255.255.0 ●R(config-if)#no shutdown #激活接口 (同样方式对Gig0/0/1设置ip为 192.168.2.80 ) /*--> */ /*--> */ 配置路由算法: ●启用动态路由 ●R(conf)#

计算机网络基础知识简答

孤人 提交于 2020-01-29 22:30:13
Http和Https的区别 Http协议(超文本传输协议)运行在TCP之上,明文传输,无状态,客户端与服务器端都无法验证对方的身份;Https是由SSL协议和Http协议构建的可进行加密传输,身份认证的网络协议。二者之间存在如下不同: 端口不同:Http与Http使用不同的连接方式,用的端口也不一样,前者是80,后者是443; 资源消耗:和HTTP通信相比,Https通信会由于加减密处理消耗更多的CPU和内存资源; 开销:Https通信需要证书,而证书一般需要向认证机构购买; Https的加密机制是一种共享密钥加密和公开密钥加密并用的混合加密机制。 对称加密与非对称加密 (我要和你建立链接,你真的要和我建立链接么,我真的要和你建立链接,成功) 对称密钥加密是指加密和解密使用同一个密钥的方式,这种方式存在的最大问题就是密钥发送问题,即如何安全地将密钥发给对方;而非对称加密是指使用一对非对称密钥,即公钥和私钥,公钥可以随意发布,但私钥只有自己知道。发送密文的一方使用对方的公钥进行加密处理,对方接收到加密信息后,使用自己的私钥进行解密。 由于非对称加密的方式不需要发送用来解密的私钥,所以可以保证安全性;但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。 三次握手过程(我要和你建立链接,你真的要和我建立链接么

TCP三次握手建立过程

我的梦境 提交于 2020-01-29 16:09:11
大家都知道,计算机与网络设备要相互通信,双方就必须基于相同的方法,不同的硬件、操作系统间的通信,这一切都需要一种规则。我们把这种规则称为协议。 TCP/IP是互联网中相关各类协议族的总称。TCP/IP是指TCP和IP这两种协议。TCP/IP是在IP协议的通信过程中使用到的协议族的统称。 附:计算机访问互联网的过程 可以看到,在利用TCP/IP协议族访问网络时,会通过分层的顺序与对方进行通信。 顺序: 发送端:应用层(HTTP客户端)→传输层(TCP)→网络层(IP)→数据链路层 服务器端:数据链路层→网络层(IP)→传输层(TCP)→应用层(HTTP服务器端) TCP (Transmission Control Protocol 传输控制协议 ) 是一种面向连接的、可靠的、基于字节流的传输层通信协议 。 好了,现在我们回归正题,TCP三次握手的具体过程是怎样的呢 由于 TCP 只存在请求和响应,请求和响应都是数据包。为了更好的理解TCP三次握手的过程,我们需要先了解TCP的报文 其中比较重要的字段有: 序号(sequence number):Seq 序号,占 32 位,用来标识从 TCP 源端向目的端发送的字节流,发起方发送数据时对此进行标记。 确认号(acknowledgement number):Ack 序号,占 32 位,只有 ACK 标志位为 1 时,确认序号字段才有效

Java - 网络编程完全总结

雨燕双飞 提交于 2020-01-29 05:37:33
本文主要是自己在网络编程方面的学习总结,先主要介绍计算机网络方面的相关内容,包括计算机网络基础,OSI参考模型,TCP/IP协议簇,常见的网络协议等等,在此基础上,介绍Java中的网络编程。 一、概述 二、计算机网络 1.网络协议 2.网络体系结构 三、OSI参考模型 四、TCP/IP参考模型 五、常见网络协议 1.TCP协议 2.UDP协议 3.HTTP协议 六、计网常见问题 七、Java网络编程 一、概述 计算机网络是通过传输介质、通信设施和网络通信协议,把分散在不同地点的计算机设备互连起来,实现资源共享和数据传输的系统。网络编程就就是编写程序使联网的两个(或多个)设备(例如计算机)之间进行数据传输。Java语言对网络编程提供了良好的支持,通过其提供的接口我们可以很方便地进行网络编程。下面先对网络编程的一些基础知识进行介绍,最后给出使用Java语言进行网络编程的实例。 二、计算机网络 计算机网络20世纪60年代出现,经历了20世纪70年代、80年代和90年代的发展,进入21世纪后,计算机网络已经成为信息社会的基础设施,深入到人类社会的方方面面,与人们的工作、学习和生活息息相关。 网络协议 如同人与人之间相互交流是需要遵循一定的规矩一样,计算机之间能够进行相互通信是因为它们都共同遵守一定的规则,即网络协议。 网络体系结构 计算机网络是个复杂的系统,按照人们解决复杂问题的方法

计算机网络

こ雲淡風輕ζ 提交于 2020-01-29 01:43:04
计算机网络 层次划分为 七层 (自上而下): 物理层(Phycics Layer)、数据链路层(DataLink Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Persentation Layer)、应用层(Application Layer) TCP协议 TCP:即(Transmission Control Protocol)可靠的、面向连接的协议。 TCP协议 特点 :数据安全,速度略低。分为客户端和服务端。 使用TCP的应用:Web浏览器;电子邮件等程序。 TCP的三次握手和4次挥手 三次握手 : 三次握手就是客户端和服务器进行通信的时候有三次交流。 例如如下: 第一次:客户端问服务端你准备好了吗 第二次:服务端告诉客户端装备好了,并且问客户端你准备 好了吗 第三次:客户端说我准备好了 第一次握手:是客户端让服务器准备好资源。 第二次握手:服务端资源准备好了并且服务端问客户端资源有没有准备好。 第三次握手:客户端资源也准备好了。接下来才真正的发生数据。 如图: 四次挥手: 来源: CSDN 作者: 曲小兜 链接: https://blog.csdn.net/qq_44619595/article/details/103810774

TCP三次握手

流过昼夜 提交于 2020-01-28 21:06:48
TCP建立连接过程 小明打电话给小红 第一次握手 小明拨小红号码,此时处于等待接听状态 客户端发送SYN包至服务器,此时处于SYN_SEND状态 第二次握手 小红看到小明来电,接通并确认“喂,我是小红,听得到么?”,此时处于信号确认状态 服务器收到SYN包,确认并告知客户,发送SYN+ACK包,此时处于SYN_RECV状态 第三次握手 小明听到小红语音,回复“喂,好的,我听得到。小红,我想跟说个事儿……”,此时信号确认完毕,进入正常通话状态 客户端收到SYN+ACK包,确认并告知服务器,发送ACK包,此时处于ESTABLISHED状态 来源: CSDN 作者: Angryshark_128 链接: https://blog.csdn.net/weixin_42078760/article/details/104101045

Socket、TCP和UDP协议、端口含义

一曲冷凌霜 提交于 2020-01-28 17:00:30
1、如何理解Socket 两台计算机相互通讯靠的就是Socket,类似于2个人通讯要靠电话,也就是说Socket就是程序之间的电话。Socket英文意思是孔、插座,作为进程通讯机制,取后一种意思,通常也成为套子节,用于描述IP地址和端口。IP地址指向某台服务器,端口用于连接到某一个应用程序。 socket在通讯过程中所处位置(作用)理解: 比如上图所示: 男生要到女生宿舍找自己女朋友出去玩,不能直接进入女生宿舍去找,要经过宿管大妈,由宿管大妈打电话告知你的女朋友,电话打通后你们之间再进行通话了。这里宿管大妈就是负责监听的Socket,如果有男生(客户端发送请求)来了就创建一个负责通信的socket(电话机),从而使该男生(客户端)与对应女生(服务端某应用程序)可以通信了。socket开始就是服务器端负责监听的(相当于宿管大妈),看有没有客户端发送请求到服务器端,有的话就创建一个负责通信的Socket。Socket接口是TCP/IP网络最为通用的API,也是在INTERNET上进行应用开发最为通用的API。 2、TCP协议和DUP协议 协议 :类似于两个人打电话有一个默认协议就是都说普通话,如果大家都说家乡话,可能都听不懂,在网络中常用的协议有:UDP和TCP协议。 TCP/IP协议 :Transmission Control Protocol/Internet Protocol

TCP协议随笔

走远了吗. 提交于 2020-01-28 11:31:05
相关知识点记录: listen中blog参数介绍 listen_blog介绍 /* limit the "backlog" parameter to fit in an u8_t */ backlog = LWIP_MIN ( LWIP_MAX ( backlog , 0 ) , 0xff ) ; err = netconn_listen_with_backlog ( sock -> conn , ( u8_t ) backlog ) ; 1、其backlog是一个建议值,用于指定内部的队列大小,以控制同时建立的连接请求数量。 2、针对控制连接这个需求,有两种方法实现这个backlog: (1)单一队列来控制连接。队列中既包含了SYN_RCVD的状态,也包含了ESTABLISHED状态。accept只处理后面一种状态。如果三次握手中的ACK到来,则会在队列中直接改其状态。显然,这时backlog为这一队列的长度。 (2)两个单独队列来控制。两种状态分别实现单独的队列。显然这种情况下,两个队列都必须有明确的大小限制,backlog只能限制其中一个。 tcpip协议栈相关知识链接: lwip socket探秘之listen lwip socket探秘之bind lwip socket探秘之socket创建 lwip socket探秘之accept lwip socket探秘之recv

Linux上的TIME_WAIT和tcp_fin_timeout

落爺英雄遲暮 提交于 2020-01-28 07:50:14
当Linux服务器的TIME_WAIT过多时, 通常会想到去修改参数降低TIME_WAIT时长, 以减少TIME_WAIT数量,但Linux并没有提供这样的接口, 除非重新编译内核。 Linux默认的TIME_WAIT时长一般是60秒(等于2MSL), 定义在内核的include/net/tcp.h文件中: #define TCP_TIMEWAIT_LEN (60*HZ) /* how long to wait to destroy TIME-WAIT state, * about 60 seconds */ #define TCP_FIN_TIMEOUTTCP_TIMEWAIT_LEN /* BSD style FIN_WAIT2 deadlock breaker. * It used to be 3min, new value is 60sec, * to combine FIN-WAIT-2 timeout with * TIME-WAIT timer. */ 注意tcp_fin_timeout不是TIME_WAIT时间(吴功宜审校的W.Richard Stevens和Kevin R.Fall所著《TCP/IP详解 卷1:协议》中文第二版第13.5.2节称net.ipv4.tcp_fin_timeout为2MSL值): # cat /proc/sys/net/ipv4/tcp

tcp连接过程中的三次握手和四次挥手

随声附和 提交于 2020-01-27 22:19:34
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手握手建立连接 @第一次握手: 建立连接是,客户端A发送SYN包到服务器B,并进入SYN_SEND状态,等待B确认。 @第二次握手: 服务器B收到SYN包,必须确认客户A的SYN(ACK=j+1),同时自己也发送一个SYN包,此时服务器B也进入SYN_RECV状态。 @第三次握手: 客户端A收到服务器B的SYN包,向服务器B发送确认包ACK,此包发送完毕客户端A和服务器B进入ESTABKISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据 由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这个原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。 (1)客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送。 (2)服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1(报文段5)。和SYN一样,一个FIN将占用一个序号。 (3)服务器B关闭与客户端A的连接,发送一个FIN给客户端A(。 (4)客户端A发回ACK报文确认,并将确认序号设置为收到序号加1 图2 TCP四次挥手关闭连接 1