新手友好大师:5分钟弄懂tcp

今天我想用一种通俗易懂的方式给非计算机专业的同窗解释好tcp通信
咋们就先拿现实中的地图举例子,首先你们都知道tcp通信中必须严格区分,服务器端
和客户端。
cs架构
当咱们做为客户端的时候,咱们要链接服务器端,怎么链接呢,咱们首先得找到服务器的位置,在地图中找位置,是否是就得要用到坐标,ip地址就是一台计算机在网络地图中的坐标,
ipv4地址
有了这个坐标,咱们就能够将它做为终点导航过去。
地图导航可是导航过去又有一个问题了,那么多人都去那个地方,服务器怎么知道是否是我呢,因而这时,服务器想出一个办法,端口号氤氲而生,服务器说,作摩托来的,就是个人客户端。这里的摩托,就是端口号。
IP地址加上端口号,成为咱们所说的套接字,有了这个套接字才有咱们的socket通信,网络编程。
套接字
对于计算机系统来讲,1到1000的端口号均被用于电脑须要网络的基础服务。以下,
0 端口:无效端口,一般用于分析操做系统
1 端口:传输控制协议端口服务多路开关选择器
2 端口:管理实用程序
3 端口:压缩进程
5 端口:远程做业登陆
7 端口:回显
9 端口:丢弃
11 端口:在线用户
13 端口:时间
17 端口:每日引用
18 端口:消息发送协议
19 端口:字符发生器
20 端口:FTP 文件传输协议(默认数据口)
21 端口:FTP 文件传输协议(控制)
22 端口:SSH 远程登陆协议
23 端口:telnet(终端仿真协议),木马 Tiny Telnet Server 开放此端口
24 端口:预留给我的用邮件系统
25 端口:SMTP 服务器所开放的端口,用于发送邮件
27 端口:NSW 用户系统 FE
29 端口:MSG ICP
31 端口:MSG 验证,木马 Master Paradise、HackersParadise 开放此端口
33 端口:显示支持协议
35 端口:预留给我的打印机服务
37 端口:时间
38 端口:路由访问协议
39 端口:资源定位协议
41 端口:图形
42 端口:主机名服务
43 端口:who is 服务
44 端口:MPM(消息处理模块)标志协议
45 端口:消息处理模块
46 端口:消息处理模块(默认发送口)
47 端口:NI FTP
48 端口:数码音频后台服务
49 端口:TACACS 登陆主机协议
50 端口:远程邮件检查协议
51 端口:IMP(接口信息处理机)逻辑地址维护
52 端口:施乐网络服务系统时间协议
53 端口:dns 域名服务器
54 端口:施乐网络服务系统票据交换
55 端口:ISI 图形语言
56 端口:施乐网络服务系统验证
57 端口:预留我的用终端访问
58 端口:施乐网络服务系统邮件
59 端口:预留我的文件服务
60 端口:未定义
61 端口:NI 邮件
62 端口:异步通信适配器服务
63 端口:whois++
64 端口:通信接口
65 端口:TACACS 数据库服务
66 端口:Oracle SQL*NET
67 端口:引导程序协议服务端
68 端口:引导程序协议客户端
69 端口:小型文件传输协议
70 端口:信息检索协议
71 端口:远程做业服务
72 端口:远程做业服务
73 端口:远程做业服务
74 端口:远程做业服务
75 端口:预留给我的拨出服务
76 端口:分布式外部对象存储
77 端口:预留给我的远程做业输入服务
78 端口:修正 TCP
79 端口:查询远程主机在线用户等信息
80 端口:http,用于网页浏览,木马 Executor 开放此端口
等:
就这样,咱们找到了服务器,并与它深情握手,互赠礼物,就完成了两台设备间的tcp通信。
当咱们做为服务器端的时候,咱们要作什么呢,咱们是否是得把咱们的坐标,告诉客户端,这里还有一点,很是好理解,是否是不少人均可以同时来找你,可是他们若是要跟你互赠礼物,是否是只找你,因此咱们的服务器能够被多个客户端链接,可是一个客户端只能链接一台服务器。咋们把坐标告诉客户端,还得约定一种交通方式把,这人来人往的,好,如今坐飞机的,5555(端口号)是个人客户端,坐飞机来找到个人,就能够链接我,跟我握手互换礼物。在这里还得提一下,咱们做为客户端,地址坐标发出来以后,我不能换个地方吧(更换ip,在网络地图上的位置就会更改),那到我原位置的客户端还能找到我吗,显然是不能的,那更加不能跟我互换礼物,这样就不能做为一次成功的tcp通信。我也不能睡着了吧(服务器关机),就算它坐飞机到达个人位置,他也发现不了我,也不能正常给我送礼物。
因此说,一次正常的tcp通讯流程须要什么,首先服务器打开,选择端口号。
而后客户端打开,确认服务器的ip,和协商好的端口号,而后就开始导航过去,
找到了服务器端以后,先握3次手(3次握手),这是为了安全起见,你看如今在疫情期间,出门洗手,回来洗手,这不也是为了安全吗。而后便开始互赠礼物(传输数据)。握手·
附录:在实际链接过程当中,端口号决定了你的数据发送给对方机器的哪个程序,只有端口号对应,才能在相应程序中接受到数据。腾讯qq的端口号是8000,咱们挂着qq,而后声明服务器端,端口号8000是不能成功的,会显示,端口号被占用,由于一个联网的程序使用的端口号是惟一的,不能重的。
毒口号占用
今天就到这,你们好好看看代码。




















































































数据库

相关文章
相关标签/搜索