TCP/IP传输协议介绍

323 阅读3分钟

1.NCP网络和新协议

NCP服务包括:文件访问,文件锁定,安全性,资源分配跟踪,时间通知等等

网络版本协议(ipv4) 互联网协议(ipv6)

RFC官方分为四层

微信截图_20220713150634.png TCP/IP通信过程

微信截图_20220713151653.png .相同点

基础都是以协议栈的概念

协议栈的协议都是相互独立的

下层位上层服务

.不同点

OSI是先有模型,TCP/IP是现有协议,后有模型

OSI是国际标准,适用于各种协议栈;TCP/IP实际标准,

只适用于TCP/IP网络

层次数量不同

微信截图_20220713171743.png TCP:可靠,传输速度慢,有连接

UDP:不可靠,传输速度快,无连接

2.TCP特性

微信截图_20220713172007.png 源端口,目端口:

计算机的进程是需要断进行通讯的,在计算机进行通信的时候需要接入一个端口进入进程,这时会有一个端口被占用,所有通过指定的源端口和目端口就可以知道哪两个进程需要通信,源端口,目端口用16位表示可推算计算机的端口个数为2^16个,即 65536 (0-65535)(0也是一个端口)

序列号:报文发送数据的第一个字节的编号

确认号:(ack)接收方期望收到发送方下一段报文段的第一个字节数据编号

数据偏移/首部长度:TCP报文的首部长度共4位,需要指定TCP报文段的长度,4位二进制最大表示15(最大60字节)

控制位: URG(紧急位):报文段发送的数据包是否有紧急的数据(URG=1有效)

ACK(确认位):确认号字段是否有效

PSH(急切位):接收到数据立即从TCP接受缓冲区中读走数据,为后面的数据腾出空间,如果数据为1择上传到上一层,如果程序不接收择会一直停留在TCP缓冲区

RST(重置位):收到的报文RST=1说明主机已经崩溃,必须释放连接,然后重新连接

SYN(同步位):建立连接

FIN(断开位):关闭连接

窗口大小:但报文段的确认号允许对方发送数据量达到一定值,需要ACK确认后才能继续发送后面的数据

效验和:提供额外的可靠性紧急指针

选项部分:最大的长度可更具TCP首部长度进行推算

3.TCP3次握手

微信截图_20220713214958.png

1.报文序号(sep=x)(x是随机的不固定)

第一步:pc1发送报文想与PC2建立连接

第二步:PC2接收到PC1的请求确认与pc1建立连接后并要求pc1下一次发送X+1的序列号报文给PC2作为两者的通讯媒介,

第三步:pc1收到pc2的同意连接的报文后会发送一个x+1的报文,并告诉对象希望你下一次发送y+1的序号报文,最后将ACK封存

UDP协议:

工作早传输层

不可靠

传输率性能高

总结

TCP:可靠,传输速度慢,有连接

UDP:不可靠,传输速度快,无连接

TCP要建立连接:

系统当中 每打开一个进程 会分配 pid(系统中的编号,方便管理),其次会分配一个端口号

  端口号作用:确定进程

三类:

1.规定好的  知名的端口号80  443 人为规定

2.系统随机分配(客户端  去访问服务端    系统会自动随机分配一个端口号给你)

3.人类自由使用  (写)

  微信截图_20220713220145.png

Seq报文序号

ACK(确认位):已建立连接  ack(确认号)

SYN(同步位):请求建立连接  FIN (断开位):断开连接

 URG(紧急位)  PSH(急切位)   RSY (重置位)