网络编程笔记 2023.2.28---2023.3.10标签:01,Java,--,IP,编程,端口,网络,TCP,0.0 From: https://www.cnblogs.com/CaiDingChao/p/17717090.html
/*
1.1 什么是计算机网络
计算机网络是指将==地理位置不同==的具有独立功能的多台计算机及其外部设备,
通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理协调下,
实现资源互通和信息共享传递的计算机系统
// 打电话 --连接-- 接了--通话 TCP
// 发短信 --发送了就完事了 --接收 UDP
网络编程的目的:
无线电台...传递交流信息,数据交换,通信
想要达到这个效果需要什么:
1.如何准确的定位网络上的一台主机 192.168.1.4:端口,定位到这个计算机上的某个资源,某个软件
2.找到了这个主机,如何传输数据呢?
javaWeb : 网页编程 --B/S架构
网络编程:TCP/IP --C/S架构
1.2 网络通信的要素
如何实现网络的通信?
通信双方地址:
--IP
--端口号
--192.168.1.4:5900
规则:网络通信的协议
TCP/IP 参考模型
OSI 的体系结构(国际)--物链网传会表应、TCP/IP 的体系结构--(应用层、传输层、网际层IP、网络接口层)、五层协议的体系结构--物链网传应
小结:
1.网络编程中有两个主要的问题
(1)如何准确的定位到网络上一台或多台主机 :例:命令行窗口 ping www.baidu.com
(2)找到主机之后如何通信
2.网络编程中的要素
(1)IP和端口号---IP
(2)网络通信协议---udp、tcp
3.万物皆对象---Java
1.3 IP
ip地址:InetAddress --java中表示IP地址的类
(1)唯一定位一台网络上的计算机
(2)127.0.0.1 == 本机(代表)localhost
(3)ip地址的分类
a.ipv4/ipv6
a.1:ipv4 四个字节组成 127.0.0.1,从0~255,总的有42亿多个;30亿都在北美,亚洲4亿,2011年就用尽
a.2:ipv6 2409:8a6c:4c4d:d510:f420:75ff:652c:f11,128位,8个无符号整数!
b.公网(互联网)、私网(局域网)
b.1:192.168.xx.xx —— 专门给组织内部用的
b.2:ABCDE-ip地址的区分:
A、B、C三类及特殊D、E。全0和全1的都保留
A:(1.0.0.0-126.0.0.0)(默认子网掩码:255.0.0.0
网络号取值于1~126
大型网络。
B:(128.0.0.0-191.255.0.0)(默认子网掩码:255.255.0.0
该类IP地址的最前面为“10”,
网络号取值于128~191
中等规模
C:(192.0.0.0-223.255.255.0)(子网掩码:255.255.255.0
该类IP地址的最前面为“110”,
网络号取值于192~223
小型网络。
D:是多播地址。
该类IP地址的最前面为“1110”,所以地址的网络号取值于224~239之间。
用于多路广播用户
E:是保留地址。
该类IP地址的最前面为“1111”,
网络号取值240~255
私有地址
A类:10.0.0.0~10.255.255.255
B类:172.16.0.0~172.31.255.255
C类:192.168.0.0~192.168.255.255
回送地址:127.0.0.1。 也是本机地址,等效于localhost或本机IP。一般用于测试使用。
ping 127.0.0.1来测试本机TCP/IP是否正常。
————————————————
版权声明:本文为CSDN博主「fgh431」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhoutianzi12/article/details/103199111
(4)域名:记忆IP问题!
a.IP:www.vip.com
1.4 端口
端口表示计算机上的一个程序的进程
(1)不同的进程有不同的端口号!用来区分软件!
(2)被规定 0-65535
(3)TCP,UDP:65535*2 tcp:80(用的端口),udp:单个协议下,端口号不能冲突
(4)端口分类
a.公用端口 0-1023
HTTP:80(端口号)
HTTPS:443
FTP:21
Telnet:23
b.程序注册端口:1024-49151,分配用户或者程序
Tomcat:8080
MySQL:3306
Oracle:1521
c.动态、私有端口:49152-65535——尽量不要用这些端口
DOM 命令
netstat -ano #查看所有的端口
netstat -ano|findstr "5900" #查看指定的端口
tasklisk|findstr "8696" #查看指定端口的进程
快捷键打开任务管理器---Ctrl + shift + Esc
idea快捷键:快速补齐方法左边--法1:ctrl + Shift + V/ 法2:ctrl + alt + v
idea快捷键--生成构造器--alt + insert
1.5 通信协议
协议:约定,就好比我们现在说的是普通话
网络通信协议:速率、传输码率、代码结构、传输控制
问题:非常的复杂
大事化小:分层!
TCP/IP协议簇:实际上是一组协议
TCP:用户传输协议
UDP:用户数据报协议
出名的协议:
TCP
IP:网络互连协议
TCP与UDP对比
TCP:打电话
连接:稳定
三次握手,四次挥手---最少需要三次,保证稳定连接
客户端、服务端
传输完成、释放连接、效率低
UDP:发短信
不连接,不稳定
客户端、服务端、没有明确的界限
不管有没有准备好,都可以发给你
DDOS:洪水攻击(饱和攻击)
1.6 TCP
客户端
1.连接服务器 Socket
2.发送消息
服务器
1.建立服务的端口 ServerSocket
2.等待用户的链接 accept
3.接受用的消息
1.7 UDP
发短信,不用连接
1.7 URL
统一资源定位符:定位资源的,定位互联网上某一个资源
DNS:域名解析
*/