本文共 1106 字,大约阅读时间需要 3 分钟。
TCP的特点: 面向连接,可靠,时延大,适用于大文件。 UDP特点,无连接,不可靠,时延小,适用于小文件下面内容,请全文背诵:
1.传输层的寻址与端口 1.复用: 应用层所有的应用进程都可以通过传输层再传输到网络层。 2.分用: 传输层从网络层收到数据后交付给指定的应用进程复用:就是说 所有的进程,都会经过传输层。多对一
分用: 一对多,数据从传输层来找到对应端口的进程,发给这个进程。端口号只有本地意义,在因特网中不同计算机的相同端口号是没有联系的。
端口号的 长度只有 16bit, 能表示65535 个不同的端口号
套接字socket=(主机ip地址,端口号)
在网络中,采用发送方和接收方的套接字组合来识别端点,套接字唯一标识了网络中的一个本机和它上面的一个进程
UDP 的使用场景:
1.适合一次性传输少量数据的网络应用 2. UDP无阻塞控制,适合很多实时的应用比如IP电话,或者视频会议 等等。要求源主机以恒定的速率发送,不能有太大的延迟。
不管应用层多大的报文,UDP照样发送,一次一个完整的报文。 UDP首部开销小,8个字节。TCP连接建立相关原理
假设运行在一台主机(客户)上的一个进程想与另一台主机(服务器) 上的一个进程建立一条连接,客户应用进程首先通知客户TCP,他想建立一个与客户服务器上某个进程之间的连接,客户中的 TCP会用一下步骤与服务器TCP连接
1: 首先,客户端发送连接请求报文,没有应用层的数据!!!
SYN=1,seq=x(随机) ( 注意:SYN 是连接同步位 ,英文是 sync大概的意思)2:服务器收到了,(服务器自己)为该TCP连接分配缓存和变量,并且向客户端返回确认报文段,允许连接,无应用层数据.
( SYN=1 , ACK=1, seq=随机), ack = x+1 ) 同步位只是用于确认连接请求的,ACK是确认位,客户端为该TCP连接分配缓存和变量,并且向服务器返回确认的确认,可以携带数据(应用层数据)
SYN=0,ACK=1,seq=x+1,ack=y+1 (期望收到y+1)TCP连接的释放
参与一条TCP连接的两个进程中的任何一个都能终止该连接,连接结束后,主机中的“资源" (缓存和变量) 都将被释放。转载地址:http://fquzi.baihongyu.com/