前言
比起君子讷于言而敏于行,我更喜欢君子善于言且敏于行。
目录
TCP/IP协议族的传输协议主要有两个,一个TCP:传输控制协议 另一个UDP:用户数据报协议
一.TCP协议
数据连接状态established,TCP协议在建立连接和断开连接的时候要进行握手和挥手~
1.TCP协议的三次握手和四次挥手
第一次握手:客户端发送SYN=1(发送连接请求),和一个随机的数seq=x给服务端
第二次握手:服务端发送SYN=1(代表同意连接),一个应答码(ack=上一级的x+1),一个自己生成的随机数(seq=y)
第三次握手:客户端发送应答码(ack=y+1)给客户端 双方此时都达到数据连接状态,可进行数据传输
第一次挥手:客户端给服务端发送FIN=1(发送断开的请求),一个自己的随机数seq=x,上一次的应答码ack
第二次挥手:服务端发送应答码ake=x+1 此步骤完成后客户端只能等候服务端检查传输是否完成。
第三次挥手:服务端发送FIN=1(同意断开) ,一个随机码seq=y
第四次挥手:客户端发送应答码 ack=y+1 给服务端
报文类型 | 含义 | 状态 |
SYN | 发起一个新连接 | 1表示发起连接 |
FIN | 释放一个连接 | 1表示结束连接 |
ACK | 确认序号有效 | 1表示序号有效 |
seq | 随机序号 | 随机数 |
ack | 随机序号回复 | ack=seq+1 |
如果上面的描述让你觉得枯燥无趣很不好理解且无法印象深刻,那好叭,我们来听一个故事。
茫茫人海之中有一个男主一个女主,男主至今单身,于是他写了很多信给很多女孩子。有一天,他写了一封信给这个女主,信上交代了自己的标记x,表达了自己想要与她继续沟通,最后跟女主约定,让女主回复的时候带上标记y,这样呢男主就能区分是不是女主回的消息,万一是别的女孩子发的呢那岂不是很尴尬。女主收到信以后呢,对男主很感兴趣,于是带上了y标记回复给了男主,感觉男主名字很好听,就在信里+1的念叨了一下他的名字,表示她同意继续交往。男主回信,喃喃到女主的名字+1。最终两人建立恋爱关系,牵手成功!
如果还是觉得很乱....那再来一次,男主表白,我叫pp,我喜欢你。女主问,pp?pp!你喜欢我?那你叫我hh叭,我也喜欢你。男主说,hh!hh!真好听的名字,女朋友,你好。三次握手,恋爱成立。
男主跟女主去信,回忆了曾经的美好,铺垫一下,然后说我们分手吧,带了一个自己的标记a。女主收到信之后,万念俱灰。去信说,我知道了先考虑一下,这件事太突然了。(此时没有表示可以分手,只是回复了男主的标记+1)。过了几天后,女主想明白了,分就分,三条腿的蛤蟆不好找,两条腿的男人一抓一大把。于是乎,去信,好的,我同意分手!(明确自己的态度,可以分手了)。最终男主回复,我们的爱无期限下架了。
简单再来一次,分手叭。我纠结一下。行分就分吧。再见,曾经的爱情。
2.TCP的特点
(1)面向连接的 可靠的 进程到进程的 协议
(2)提供 全双工 服务 即数据可在同一时间双向传输
(3)将若干个字节构成一个分组,此分组成为 报文段
(“全双工(Full Duplex)是通讯传输的一个术语。通信允许数据在两个方 向上同时传输,它在能力上相当于两个单工通信方式的结合。全双工指可以同时(瞬时)进行信号的双向传输(A→B且B→A)。指A→B的同时B→A,是瞬时同步的。单工就是在只允许甲方向乙方传送信息,而乙方不能向甲方传送 。(比喻汽车的单行道。)”)
3.常用的UDP端口号及其功能
端口 | 协议 | 说明 |
21 | FTP | FTP服务器所开放的控制端口 |
23 | TELNET | 用于远程登录,可以远程控制管理目标计算机 |
25 | SMTP | SMTP服务器开放的端口,用于发送邮件 |
80 | HTTP | 超文本传输协议 |
110 | POP3 | 用于邮件的接收 |
二.UDP协议
1.UCP协议的特点:
缺点:无连接 不可靠
优点:首部结构简单 在数据传输时能实现最小的开销
发出去就行了,根本不管对方收不收的到,反正我自己发出去了。就好像qq,微信这样的。才不管好友在不在线,反正我把自己想说的说完了。即使你不在线,也不妨碍我发消息啊。等你上线了再回不就得了嘛。所以才有了UDP协议的存在。
2.常用的UDP端口号及其功能
端口 | 协议 | 说明 |
69 | TFTP | 简单文件传输协议 |
111 | RPC | 远程过程调用 |
123 | NTP | 网络时间协议 |
三.端口
一组数字表示的号码 (虚拟端口只会出现在防火墙上,类似于墙上各种拱门,每一个门都有数字标号,就是端口。)
每一个进程,如果需要接受外部数据,那么,在进程启动的时候都会通知防火墙打开一个对应的 门。并且进程会设定这个门的门牌号。当有数据从这个么门进来的时候,打开这个门的进程就会直接接收。(qq发消息,qq接收,微信接收不了)