zoukankan      html  css  js  c++  java
  • 网络编程part2

    五层协议

    计算机1:                            计算机2:

    应用层                               应用层

    socket                              socket

    传输层                              传输层
    网络层                              网络层
    数据链路层                           数据链路层
    物理层  <===========交互机===========> 物理层


    客户端软件send             服务端软件recv
    操作系统                   操作系统
    计算机硬件<====物理介质=====>计算机硬件
    客户端软件send             服务端软件recv
    操作系统                   操作系统
    计算机硬件<====物理介质=====>计算机硬件



    ethernet头+ip头+tcp头+应用层的头+应用层数据

    一、传输层 tcp/udp协议——基于端口

    端口的范围是0-65535,其中0-1023是系统占用的端口

    所以ip加上port可以标识到世界范围的任意一个基于网络通信的应用程序

    基于ctp协议通信时——必须先建立一个双向通信的链接

    三次握手建立链接:
       建立链接是为了传数据做准备的,三次握手即可

    四次挥手断开链接
        断开链接时,由于链接内有数据传输,所以必须分四次断开

    tcp协议是可靠传输的,发送数据必须等到对方确认后才算完成,才会将自己内存中的数据清理掉,否则重传。

    udp协议是不可靠传输的(不需要确认,所以速度相对快)

    TCP协议的半连接池:

    backlog

    [请求1,请求2,请求3...]

    面对洪水攻击时,理论上的可以扩充backlog应对...

    二、应用层

    可以自定义协议——头部+数据

    注意点:

    1.头部:放对于数据的描述信息(接收方,数据类型,数据长度)

    数据:数据部分

    2.头部长度是固定的(通过头部来获取接收数据的属性)


  • 相关阅读:
    Access导入MSSQL SERVER
    Centos8停用、启用、查看当前启用的端口
    CentOS下使用VI
    CentOS关机与重启命令
    华为云CentOS8安装FTP
    华为云CentOS8安装JDK
    华为云CentOS8安装Nginx
    华为云CentOS8安装Redis
    华为云CentOS8安装MYSQL
    oracle 本地导入imp bat的写法
  • 原文地址:https://www.cnblogs.com/bailongcaptain/p/12726153.html
Copyright © 2011-2022 走看看