传输层协议

1.TCP(Transmission Control Protocol):传输控制协议

     面向连接,提供全双工服务(数据同一时间双向传输),慢,稳定

     特性: 工作在传输层

                 面向连接协议

                 全双工协议

                 半关闭,断开

                 错误检查(校验)

                 将数据打包成段,排序

                 确认机制

                 数据恢复,重传

                 流量控制,活动窗口

   2. TCP 报文段(Segment):将若干个字节构成一个组 分装在IP数据报中)

传输层协议_第1张图片

端口号: 确定应用程序  一个端口对应一个程序(进程)  个数2^16=65536,范围(0--65535),前                 1024知名 如http(80),ssh(20),telnet(23),tftp udp69

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

                客户端端口号:随机的  服务端端口号:一般固定的

                 telnet+ip地址+端口号,检测服务软件是否正常(当禁ping可用)

序号:发送数据编号,由32位表示(每2^32个字节,会轮回从0开始,无限循环)

首部长度:TCP报文段首部长度

 URG(紧急位)

ACK(确认位)

PSH(急切位)

RST(重置位)

SYN(同步位)

 FIN(断开位)

窗口大小:调节每次发送的数据包量

                (服务端与客户端之间,会根据情况自动调节个数)

3.TCP建立连接三次握手

TCP在传输真实数据前,要进行连接测试,如果测试通过,才会发送真实数据

(网络环境复杂为确保数据能够到达,2次不够,4次多余,3次刚好)

过程:

第一步:客户端主动发起请求报文,序号随机产生x,报文控制位SYN=1,代表请求建立连接

第二部:服务端收到请求,回复一个随即序号y, 生成一确认号(客户端请求报文序号+1,即x+1),

              控制位SYN=1 ACK=1,代表同意建立连接

第三步:客户端收到同意报文,回复一个对方要求确认号x+1,生成一确认号(对方报文序号+1,                   即y+1),控制位ACK=1,代表收到对方同意连接的请求

传输层协议_第2张图片

     SYN=1 请求建立连接   SYN=1,ACK=1 同意和你连接

4. TCP断开连接四次挥手

 客户端发送断开请求,服务端进入半关闭状态(收到请求,但我们数据可能没传完),后同意断开,客户端确认

传输层协议_第3张图片 

 

有限状态机

       CLOSED 没有任何连接状态

        LISTEN   监听状态,等待来自远方TCP端口的连接请求

       SYN-SENT 在发送连接请求后,等待对方确认

       SYN-RECEIVED 在收到和发送一个连接请求后,等待对方确认

       ESTABLISHED 代表传输连接建立,双方进入数据传送状态

       FIN-WAIT-1 主动关闭,主机已发送关闭连接请求,等待对方确认

       FIN-WAIT-2 主动关闭,主机已收到对方关闭传输连接确认,等待对方发送关闭传输连接请求

       TIME-WAIT 完成双向传输连接关闭,等待所有分组消失

       CLOSE-WAIT 被动关闭,收到对方发来的关闭连接请求,并已确认

       LAST-ACK 被动关闭,等待最后一个关闭传输连接确认,并等待所有分组消失

       CLOSING 双方同时尝试关闭传输连接,等待对方确认

传输层协议_第4张图片 

 

   5. UDP(User Datagram Protocol):用户数据报协议

       无连接,直接传输数据,不管对面收没收到,快,不稳定

       常用的UDP端口号及功能:

传输层协议_第5张图片 

 

      

   

你可能感兴趣的:(网络,tcp/ip,运维)