网络编程01_01是什么

2022-09-22 14:31:22 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

网络编程

1.1概述

网络编程的目的:

信息传递,数据交换,通信。

实现网络的条件:
  1. 如何准确定位网络上的一台主机?
    • IP地址 端口号
    • 定位到这台计算机上的某个资源
  2. 找到了这个主机,如何传输数据?——硬件传输介质
  3. 网络通信的规则:协议——UDP,TCP ​ TCP/IP参考模型

Javaweb——网页编程——B/S架构(Browser/Server,浏览器/服务器模式)

网络编程——TCP/IP


C/S架构(Client/Server,服务器-客户机模式)

1.2 IP

IP地址类:InetAddress

IP唯一定位网络上一台主机

本机localHost

IP地址的分类——命令ipconfig

  • 按照IP地址分类:ipv4/ipv6 IPV4:127.0.0.1 一共32位,由4个字节组成,用点隔开,十进制表示,每个字节范围0-255,大概42亿个(30亿北美,4亿亚洲),2011年用尽 IPV6:fe80::f139:56e1:af51:acc8(对19取了模,并不完整) 一共128位,由8个无符号整数组成,用冒号隔开,十六进制表示(足够多,用不完)
  • 按照公网(互联网)-私网(局域网)分类
    • ABCD类地址
    • 192.168.XXX.XXX专门给组织内部使用

域名:解决记忆IP问题,ip比较难记,域名类似www.baidu.com这样

代码语言:javascript复制
package study1118_net;

import java.net.InetAddress;
import java.net.UnknownHostException;

//测试IP
public class TestInetAddress { 
     
    public static void main(String[] args) { 
     
        try { 
     
            //查询本机地址
            InetAddress inetAddress1 = InetAddress.getByName("127.0.0.1");
            InetAddress inetAddress3 = InetAddress.getByName("localhost");
            InetAddress inetAddress4 = InetAddress.getLocalHost();
            System.out.println(inetAddress1);  // /127.0.0.1
            System.out.println(inetAddress3);  // localhost/127.0.0.1
            System.out.println(inetAddress4);  // DESKTOP-V1GKSNM/192.168.255.1

            //查询网站ip地址
            InetAddress inetAddress2 = InetAddress.getByName("www.baidu.com");
            System.out.println(inetAddress2); //www.baidu.com/39.156.66.18

            //常用方法


        } catch (UnknownHostException e) { 
     
            e.printStackTrace();
        }
    }
}

1.3 端口

端口主要用于表示计算机上的一个程序的进程(PID-进程ID)

  • 不同的进程有不同的端口号,不能冲突,用于区分软件
  • 端口规定数量0-65536
  • TCP端口和UDP端口各有65535,同一个协议中端口号不能冲突
  • 端口分类
    • 公有端口0-1023,专用
    • 常见端口
      • HTTP:80
      • HTTP:443
      • FTP:21
      • Telent:23
    • 程序注册端口:1024-49151,分配给用户或者程序
      • Tomcat:8080
      • MySQL:3306
      • Oracle:1521
    • 动态、私有:49152-65535,尽量不使用

常见的网络相关的DOS命令

代码语言:javascript复制
netstat  -ano  //查看所有端口
netstat  -ano|findstr "5900"   //查看具体端口

打开任务管理器可以查看进程号ctrl shift esc


1.4 通信协议

协议:约定。

网络通信协议:速率,传输码率,代码结构,传输控制…

TCP/IP协议簇

传输层协议:TCP,UDP

网络层协议:IP…

  • TCP:用户传输协议(类似打电话)
  • UDP:用户数据报协议(类似发短信)
  • IP:网络互联协议

TCP与UDP对比

TCP:打电话

  • 连接,稳定
  • 三次握手,四次挥手 建立连接——最少三次: A你瞅啥? B瞅你咋地? A干一场? 释放连接——四次(抽空看看谢仁希的书) A我要走了 B好的我知道了 ——–等待——- B你真的要走了吗 A我真的要走了
  • 客户端,服务端
  • 传输完成,释放连接,效率低

UDP:发短信

  • 不连接,不稳定
  • 客户端,服务端:没有明确的界限
  • 不管对方收不收,直接发

1.5 TCP

  • 客户端
  • 服务器

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168481.html原文链接:https://javaforall.cn

0 人点赞