• 对网络通讯的一些学习和总结


    今天特意看了下网络通讯,想多了解下网络通讯的底层知识,下面写了些自己的了解和网上的一些总结:

    1、网路基础:IP & 端口

    IP【主机名】,网络中设备的标识;本地IP(127.0.0.1)主机名:localhost ;表示连接那台设备

    格式:(0~255.0~255.0~255.0~255)ipv4,有4个G的ip地址,大概42亿

    每一个终端设备(计算机)在互联网上都有一个独立的IP

    端口:用于标识进程的逻辑地址,不同进程的标识;有效端口:0~65535;其中0~1024由系统使用或者保留端口,开发中不要使用1024以下端口; 表示连接改设备的某个服务(比如:电子邮件服务,传输文件服务等)

     

    2、TCP/UDP协议详解

    TCP:类似电话,打过去必须确认对方是否在线,有三次握手和四次端口的过程,安全可靠,但效率低。下载文件或者视频就是典型的TCP案例

    UDP:类似短信,发送过去后无需确认对方是否收到,连接不安全,但效率高。常见的案例有播放视频、英雄联盟等

    TCP连接三次握手,UDP断开四次握手:

    3、socket基本概念

    socket在网络层和连接层之间,他的英语翻译就是插座的意思,顾名思义,通过确定两端的ip和端口,然后对插,从而连接。也可以理解为 ip&端口 == socket。

    流程图:

     

    附上代码:

    最后来点小知识:

    终端操作:$ nc -lk 123456(终端命令停下来:contr+C)

    代表始终监听本地计算机123456端口的数据

    ping,给某个地址发数据包,看能不能发的通(如果ping 127.0.0.1不通,说明网卡有问题,如果网卡没问题,再ping自己设备的地址,如果ping不通,那么就是路由器的问题)

    Netcat:(很有用,如果服务器说没有收到你的数据,那么可以通过这个进行测试,在本地搞个服务器,玩一下)

    1、是终端下用于调试和检查网络的的工具包

    2、用于创建TCP/IPl连接

  • 相关阅读:
    开源魔兽世界私服搭建
    centos7 普通用户无法使用ssh登录其他服务器
    Java时间格式大全
    C#中的线程之Abort陷阱
    C# 多线程学习系列四之ThreadPool取消、超时子线程操作以及ManualResetEvent和AutoResetEvent信号量的使用
    C# ThreadPool类(线程池)
    VS2019输出信息到调试控制台
    Stream/Bytes[]/Image对象相互转化
    Asp.NetCore 读取配置文件帮助类
    Java SpringBoot使用126邮箱发送html内容邮件,带附件
  • 原文地址:https://www.cnblogs.com/includeao/p/9020345.html
Copyright © 2020-2023  润新知