本篇文章目的为编程后期的互联网项目做铺垫 只为对开发涉及到的网络知识进行入门了解
网络概述
计算机网络:
计算机网络(连接分散计算机设备以实现信息传递的系统)锁定
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,
网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
网络编程的目的
传播交流信息、数据交换、通信等
实现目的需要具备的要求
1、怎样在网上定位一台主机 ==》 IP地址:端口,定位到这个计算机的某个资源或者应用
2、找到主机如何传数据呢 ==》
javaweb:网页编程 B/S架构
网络编程:TCP/IP C/S架构
网络通信的要素
通信双方的地址:
1、ip 每台电脑都有自己的ip,ip用于在网上找到一台主机服务器
2、端口号 不同的进程有不同的端口,用来区分软件
端口的分类
1、共有端口 0-1023
例如:http 80 , https 443, ftp 21,telent 23
2、程序注册端口 1024-49151 分配给用户和程序
tomcat 8080,mysql 3306, oracle 1521
3、动态、私有端口 49152-65535
netstat-ano #查看所有的端口
netstat -anolfindstr“5900"#查看指定的端口
规则(网络通信的协议)
TCP/IP参考模型
网络通信协议
网络通信协议:速率,传输码率,代码结构,传输控制…
TCP/IP协议簇 重要:
TCP : 用户传输协议
UDP : 用户数据报协议
TCP与UDP对比
TCP特性: 打电话
连接 稳定 持续
三次握手、 四次挥手
客户端服务端
传输完成释放连接效率低
UDP特性: 发短信
不连接不稳定
客户端服务端没有明显界限
不管准没准备好都发送
DDOS 洪水攻击造成端口阻塞(饱和攻击)
TCP
客户端:
1、连接服务器Socket
2、发送消息
服务器:
1、建立服务的端口ServerSocket
2、等待用户的链接accept