网络编程

计算机网络

计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件以及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

网络通信的要素

地址:ip和端口

规则:网络通信协议

alt

ip

分类:

  • 公有ip
    • IPv4 :4个字节 ----》42亿 0.0.0.0
    • IPv6 : IPv6采用128位地址长度 2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b
  • 私有ip
类别 ip范围 子网掩码
A 1.0.0.0------127.255.255.255 255.0.0.0
B 128.0.0.0---191.255.255.255 255.255.0.0
C 192.0.0.0---223.255.255.255 255.255.255.0
D 224.0.0.0---239.255.255.255 用于多播,组播
E 240.0.0.0---255.255.255.255 用于多播,组播

端口

端口表示计算机上的一个程序的进程:

  • 不同进程有不同的端口号!用来区分软件!

  • 规定 0-65535*2

  • TCP、UDP都是65535,端口号不能冲突

  • 端口分类

    • 公有端口

      • HTTP 80
      • HTTPS 443
      • FTP 21
      • Telent 23
    • 程序注册端口:1024-49151

      • tomcat 8080
      • oracle 1521
      • mysql 3306
    • 动态、私有:49152-65535

      netstat -ano | findstr "6666" #查看端口为6666的进程信息 windows
      tasklist | findstr "6666"## 通信协议
      

通信协议

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

TCP/IP协议簇

  • TCP:用户传输协议
  • UDP:用户数据报协议
  • IP:网络互联协议

TCP和UDP区别

  • TCP面向连接,而UDP是无连接的
  • TCP提供的服务更可靠,换句话说,通过TCP连接传输的数据无差错、不丢失、不重复,并且能够按序到达,而UDP不保证可靠交付
  • TCP面向字节流,也就是说TCP处理数据时,看成一连串无结构的字节流,而UDP则面向报文的,TCP连接只能是点到点的,但UDP不但支持一对一,还可以一对多、多对一和多对多的交互通信,UDP的首部开销8个字节比TCP的20字节要小

URL

统一资源定位符

格式为: 协议://ip地址:端口/项目名/资源