2020-08-21 网络分层以及TCP与UDP通信流程与特点

网络分层模型
             OSI七层模型
                   作用:为了方便大家去理解网络通信的整个流程,人为地把计算机网络划分为七个层次
                   划分标准:
                          应用层    开发面向用户的应用程序,需要用到这个层次中对应的通信协议
                                       http协议(超文本传输协议,开发网页)   ftp协议(文件传输协议)  telnet协议(远程登录)
                          会话层    主要功能是定义数据格式及加密
                                            
                          表示层    建立会话
                          传输层    用来传输数据    tcp协议   udp协议(掌握的重点)
                          网络层    找到数据传输的最优路径(路由功能)   ip协议(底层通信设备厂商需要掌握)
                          数据链路层  开发网卡的驱动
                          物理层    具体的硬件设备
                   网络协议:
                          老外给七个层次,每个层次都制定了很多通信协议(网络协议,游戏规则) 
           TCP/IP模型
                   把七层模型简化成了四层
                           应用层   
                           会话层   
                           表示层    ---》合并称为应用层
                           传输层    ---》传输层
                           网络层   ---》IP层,网际层
                           数据链路层 
                           物理层   ---》网络接口层

tcp通信:面向连接可靠的通信方式

流程:
    客户端:    创建套接字socket  (SOCK_STREAM)流式        服务器:创建套接字socket   
                      bind                                                                                          bind
                       connect                                                                                   listen
                       send/recv                                                                                accept
                       close                                                                                       send/recv
                                                                                                                       close
        

    TCP客户端在连接服务器的时候,tcp底层会经历三次握手:目的--》通信双方互相确认身份
                                                一次握手:客户端给服务器发送SYN(同步信号)
                                                二次握手:服务器收到客户端发送的SYN信号后,给客户端发送SYN(同步信号)+ACK(应答信号)
                                                三次握手:客户端收到后给服务器发送ACK(应答信号)

    tcp通信双方断开连接的时候:四次握手:
                                        一次捂手:客户端给服务器发送FIN(结束信号)
                                        二次握手:服务器收到后给客户端发送ACK(应答信号)
                                        三次握手:延时一段时间后,服务器继续给客服端发送FIN(结束信号)
                                        四次握手:客户端收到后给服务器发送ACK(应答信号)
                                            
                               
   可靠:tcp协议支持错误重传,校验数据,不容易丢失数据包
   应用场合:通信要求比较高,传输账号密码
   
   
UDP无连接的不可靠的通信方式:

 通信的流程
         udp谁先发送谁就是发送端
             发送端                                                   接收端
             socket(SOCK_DGRAM)                                socket(SOCK_DGRAM)
             bind()                                                              bind()
             收发信息(sendto/revefrom)                        收发信息(sendto/revefrom)
             close()                                                             close()
                    无连接:没有三次握手的过程
                    不可靠:网络状况不好的时候,容易丢失数据包
                    应用场景:比如视频点播,udp占用带宽资源比较少

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值