那个企业建网站好,go语言怎么搭建网页,福建就福建省住房与城乡建设厅网站,上海网络维护服务目录
一、什么是端口号?
二、TCP协议
2.1 TCP报文格式
2.2 三次握手
2.3 四次挥手
2.4 窗口流量控制
三、UDP协议
3.1 UDP报文格式
3.4 传输过程 一、什么是端口号?
我们自己的一台电脑上有时可能会同时运行多个进程软件来进行上网。那么当网络上的服务器响应我们电…
目录
一、什么是端口号?
二、TCP协议
2.1 TCP报文格式
2.2 三次握手
2.3 四次挥手
2.4 窗口流量控制
三、UDP协议
3.1 UDP报文格式
3.4 传输过程 一、什么是端口号?
我们自己的一台电脑上有时可能会同时运行多个进程软件来进行上网。那么当网络上的服务器响应我们电脑进程的请求并回复数据包发给我们电脑时我们电脑从网卡中收到数据帧后应该将数据包交给电脑中那个正在运行的进程软件进行处理呢 此时端口号就派上用场了端口号的作用就是用来区分主机上正在运行的不同服务软件这也就是为什么网络服务端与客户端的通信数据帧在运输层都会包含一个源目端口号的原因就是为了方便目地主机知道要将收到的数据包交给上层的那个正在运行的服务进行处理。
端口号范围1-65535
1~1024称为知名端口号或固定端口号这些端口号默认被永久分配给某个应用使用。如 80端口代表http、 telnet为23端口、 ssh为22端口、ftp为20/21号端口等。
1024以上的端口号被称为高位端口号或随机端口号一般供用户自定义分配服务程序使用。 二、TCP协议
2.1 TCP报文格式 Seq序列号------每发一个报文就会产生一个的序列号---1.2.3...6...
Ack: 对序列号确认----表明我收到了此个报文
HL:头部长度
SYN请求建立连接
FIN : 请求断开连接
RST 请求重新建立连接
ACK确认、对标识位的确认
windows: 窗口流量 2.2 三次握手
TCP建立连接向对方发送数据前先给对方打声招呼协商下通信参数、看双方通信链路是否稳定。
主机A 10.11.12.13 ….
主机B 100.101.102…. 主机A和主机B要建立TCP连接
ack表示对方的确认大ACK表示同意请求小ack表示对对方包的确认收到。
1.主机A发送TCP连接 ---SYN1 请求建立连接 seq10 包序列标号
2.主机B同意主机A与其建立连接 ACK1 ack11(表示收到了主机A的报文、可以发送下一个11报文了)、同时由于数据传输是双向的此时主机B也需要与主机A建立连接请求。SYN1 seq100。所以综合起来报文包含ACK1 ack11, SYN1 seq100。
3.主机A收到主机B的请求建立连接、同意与其建立连接。ACK1同意 ack101(表示收到主机B的请求报文了、主机B可以发送下个101报文给我了) seq11(表示主机A发送的第二个报文)。综合起来报文包含ACK1 ack101 seq11。 2.3 四次挥手 TCP关闭连接
场景主机A数据传输完毕但服务器向主机A响应的数据并没有发送完毕。
1.主机A数据传输完毕 FIN1请求断开连接seq表示此次发送的是第几个包 ack 表示对服务器上次发来的包的确认。
2.服务器同意主机A向自身发送流量的方向断开连接 ACK1
以上过程、主机A就完成了断开连接无法再向服务器发送连接以下过程结束双向连接断开会话结束。
3.过了一会服务器向主机A发送流量结束请求断开连接 FIN1 seq表示现在发送的是第几个数据包 ack表示对主机A上次发送给自己的一波报文流量的确认。
4.主机A同意服务器与自己断开连接 ACK1。 2.4 窗口流量控制 window窗口字段用于标识本机缓存区的大小 。缓存区有多大就表明自身可以储存多少流量以及每次可以发送多少流量出去。通过丢包确认机制互相协调彼此之间缓存区的大小来调整彼此之间每次可以接收和发送多少流量。 三、UDP协议
3.1 UDP报文格式
在向目的主机发送数据信息时不需要给对方事先打招呼就直接将数据帧发送给目的主机。同时数据包在传输过程中有丢失就丢失了源主机并不会在重新发送一份给目的主机。这样以来由于通信双发不需要事先发送数据报文建立连接、协商参数、也没有丢包重传机制所以使用UDP进行通讯传输处理效率会很高但无法保证通信的可靠性因此对时延比较敏感的数据一般选择UDP。如语音、视频。 3.4 传输过程 由于UDP协议没提供数据确认重传机制因此只能由使用UDP协议的主机上的应用程序来提供报文的确认、排序、流控等操作。 声明“山月润无声”博主知识水平有限以上文章如有不妥之处欢迎广大IT爱好者指正小弟定当虚心受教