1.tcp协议 三次握手建链接 四次挥手断开链接 tcp协议的状态 syn洪水攻击与半连接池 互联网协议详解 3. socket介绍 4. 基于socket来编写C/S架构的软件

    网络=底层的物理连接介质+互联网协议(就是计算机界的英语)

OSI七层

应用层(应用层\表示层\会话层):http,ftp    传输层:tcp/udp    网络层:ip    数据链路层:ethernet    物理层:发送电信号

1、 互联网协议,可看作是一个安装在计算机上的包

2、 交换机:有mac地址学习功能

3、 ARP(地址解析协议),可将IP地址转成mac地址,mac地址转成IP地址

4、 IP+端口可锁定一架计算机上的某个应用程序

5、 IP 和子网掩码-》局域网地址(子网地址)

6、  TCD又称好人协议,可靠协议,需要三次握手建立链接

7、 标志位:sgn=1请求信息,ack=1 确认信息,seq=’ ’序列号,ack=1+x(序列号)

8、 在创建链接时如果并发少,基本看不多SYN—REVD。但如若受到洪水攻击(高并发)系统会出现SYN—REVD状态

9、 TCD需要四次挥手以断链接。谁先发完信息,谁先发出断链接请求。通常是SERVER端先发出,但不一定。

10、fin=1 断链接请求,ack=1 确认信息

11、Fin_WAIT_1 为主动断链接的一方

12、在断链接时如果并发少,基本看不多TIME—WAIT。但如若高并发,系统会出现TIME—WAIT状态,需要监查内存

13、TCP,需要建链接,又称可靠传输,相对安全但效率低,一般用于转账

14、UDP,不需要建链接,又称不可靠传输,效率高,但安全性较低,一般用于聊天(QQ)和查询

15、套接字有被称作IP和端口

16、AF_INET (AF:address family 套接字类型,INET:基于网络)

17、TCP 被称为流式协议,SOCK_STREAM

18、UDP 被称为数据报协议,SOCK_DGRAM

19、127.0.0.1 指本机,主要用于调试

20、端口0-65535,0-1024被系统使用,其他号码可选用

21、phone.listen(5): 5指的是同时最多可以用多少个请求,而不是连接数

22、conn.recv(1024):1024为最大限制的字节数

23、conn为套接字对象,为三次握手的产物,可收可发

24、conn.close():回收系统资源

服务端:

import socket

#1.买手机phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #SOCK_STEAM=>TCP流式协议,print(phone) #是用来接收链接请求,从而建立链接的

# phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)# print(phone)

#2.插手机卡phone.bind((‘127.0.0.1‘,8080)) #0-65535

#3.开机phone.listen(5) # 同一时刻最大请求数为5个

print(‘start....‘)#4.等待电话请求conn,client_addr=phone.accept() #(双向链接的套接字对象,存放客户端ip和端口的小元组)# print(conn) # conn代表双向链接,用来收发消息# print(client_addr)

#5.收\发消息data=conn.recv(1024) #1024接收的最大字节数bytesprint(‘收到客户的数据‘,data)conn.send(data.upper())

#6.挂电话链接conn.close()

#7.关机phone.close()

客户端:

import socket

#1.买手机phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #SOCK_STEAM=>TCP流式协议,

#2.拨号phone.connect((‘127.0.0.1‘,8080))

#3.发\收消息phone.send(‘hello‘.encode(‘utf-8‘)) # 只能发bytes类型data=phone.recv(1024)print(‘收到服务端的消息: ‘,data)

#4.挂电话链接phone.close()

原文地址:https://www.cnblogs.com/huangchaonan/p/9556644.html

时间: 2024-10-10 08:03:46

1.tcp协议 三次握手建链接 四次挥手断开链接 tcp协议的状态 syn洪水攻击与半连接池 互联网协议详解 3. socket介绍 4. 基于socket来编写C/S架构的软件的相关文章

Tcp三次握手连接和四次挥手断开过程详解

TCP的连接建立是一个三次握手过程,目的是为了通信双方确认开始序号,以便后续 通信的有序进行.主要步骤如下: 1. 连接开始时,连接建立方(Client)发送SYN包,并包含了自己的初始序号a: 2. 连接接受方(Server)收到SYN包以后会回复一个SYN包,其中包含了对上一个a包 的回应信息ACK,回应的序号为下一个希望收到包的序号,即a+1,然后还包含 了自己的初始序号b: 3. 连接建立方(Client)收到回应的SYN包以后,回复一个ACK包做响应,其中包含了 下一个希望收到包的序号

TCP三次握手建立链接与四次挥手断开链接

防伪码:从基础开始,一步一个脚印 先简单介绍一下TCP协议. TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层协议.很复杂,但属于不论程序员还是运维人员都必会的基本功. 面向对象的--连接双方在通信前需要预先建立一条连接,这犹如实际生活中的打电话,电话必须拨通了以后才能交流. 可靠的--TCP协议中有诸多的规则来保障通信链路的可靠性,含应用数据分隔.重传机制.对首部和数据校验.对收到的数据进行排序,然后交给应用层.接收

socket中TCP的三次握手连接和四次握手释放

三次握手连接 A: 我进来了啊 B:(有人来了安排个位子)回复:好的你进来吧 A:好的: 客户端向服务器发送一个SYN J 服务器向客户端响应一个SYN K,并对SYN J进行确认ACK J+1 客户端再想服务器发一个确认ACK K+1 四次握手释放 A: 我要走了 B:好的 B:(收回位子)回复:你走吧 A:88 某个应用进程首先调用close主动关闭连接,这时TCP发送一个FIN M: 另一端接收到FIN M之后,执行被动关闭,对这个FIN进行确认.它的接收也作为文件结束符传递给应用进程,因

TCP中三次握手建立和四次握手释放以及相关问题

本文基于个人所学和网上博文所整理,若有不妥处,欢迎留言指出 TCP连接过程中标志位的意义: 字符缩写 描述 SYN 同步序号,表示此报文是一个连接请求或连接接受报文 ACK 确认位,对接收到的报文的确认 FIN 终止位,表示发送方完成数据发送,用来释放一个连接 RST 复位连接,表示TCP连接中出现严重错误 PSH 推送位,尽可能快递将数据送往接受进程 一.三次握手建立 1.三次握手建立连接详解 TCP建立连接要进行"三次握手",即交换三个分组.大致流程如下: (1)客户端向服务器发送

利用tcpdump监控tcp连接三次握手和关闭四次握手

学习网络编程最主要的是能理解底层编程细节,一开始看<UNIX网络编程卷1:套接字联网API>的时候搞不懂什么seq.ack到底是什么东西,最近了解了tcpdump的一些用法后感觉两者结合起来还是比较容易理握手过程的.以下就通过tcpdump工具来监控相关内容,并和书本上的流程进行对比介绍,希望对入门的童靴有些帮助吧 服务端代码如下: #include <sys/socket.h> //socket listen bind #include <arpa/inet.h> /

TCP/IP协议三次握手与四次握手流程解析

原文链接地址:http://www.2cto.com/net/201310/251896.html TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图 上图中有几个字段需要重点介绍下:   (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记.   (2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1.   (3)标志位:共6个,即URG.ACK.PSH.RST

TCP/IP协议 三次握手与四次挥手

一.TCP报文格式 TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图: 图1 TCP报文格式 上图中有几个字段需要重点介绍下:        (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记.        (2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1.        (3)标志位:共6个,即URG.ACK.PSH.RST.SYN.FIN等,具体含

面试官求你了,别再问我TCP的三次握手和四次挥手

少点代码,多点头发 本文已经收录至我的GitHub,欢迎大家踊跃star 和 issues. https://github.com/midou-tech/articles 三次握手建立链接,四次挥手断开链接.这个问题算非常经典的问题,也是面试官非常喜欢问的问题. 不夸张的说,龙叔在校招面试的时候每一家公司都问到过关于三次握手和四次挥手相关的问题,相信大家也都差不多被面试官各种怼. 这个问题的重要性,已经意识到.不说废话了,接下来就是听龙叔给你安排的明明白白. 先画个图,看下TCP的建立连接 和

TCP/IP三次握手与四次挥手(转)

一.TCP报文格式        TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图: 图1 TCP报文格式 上图中有几个字段需要重点介绍下:        (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记.        (2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1.        (3)标志位:共6个,即URG.ACK.PSH.RST.SYN.F