网络编程
1. 概念
2. 网络模型
-
OSI 7层
-
应用层
-
表示层
-
会话层
-
传输层
-
网络层
-
数据链路层
-
物理层
-
-
TCP/IP 4层
-
应用层
-
传输层
-
网络层
-
网络接口层
-
3. 网络通信三要素
4. 协议:TCP/UDP/IP
-
TCP:传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。数据大小无限制,通过三次握手建立连接,通过四次挥手断开连接。
-
UDP:UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,无连接的
-
IP:IP是Internet Protocol(网际互连协议)的缩写。IP协议主要包含三方面内容:IP编址方案、分组封装格式及分组转发规则。
-
ip地址分类
-
A类:地址范围1.0.0.1到127.255.255.254
-
B类:地址范围128.0.0.1-191.255.255.254
-
C类:地址范围192.0.0.1-223.255.255.254
-
-
特殊IP地址
-
特殊的网址
-
255.255.255.255:子网广播地址。
-
127.0.0.1 本机地址。
-
-
-
域名 domain
-
ipconfig 在cmd 窗口查看本机ip
-
ping x.x.x.x
-
5. 端口号
-
取值范围[0-65535]
-
[0-1023] 分配给了一些常用的应用程序
-
package com.qf.net;
/**
* 网络相关的概念:
* 1:网络,将设备(电脑+手机)通过有线|无线的方式连接在一起。
* 2:网络的分类
* 1:局域网 LAN
* 2:城域网 (校园网)
* 3:广域网 www 万维网
* 3:网络的作用:
* 1:资源共享
* 2:数据传输
*
* 4:java 中的关于网络相关的类:java.net
*
* 5:网络通信参考模型
* 1:OSI 七层参考模型,(理论的)
* 2:TCP/IP 实际的通信模型。
*
* 6:网路通信的三要素:
* 1:ip地址。ip地址决定了和网络中的哪台计算机交互。
* 2:端口号:端口号决定了和计算机中的哪个软件交互。
* 3:通信协议:数据传输的规则。
*
* 7:IP地址:
* PIV4:由4 bytes 构成。使用 三个 . 分开了4bytes。每个字节的取值范围[0-255]
* 0.0.0.0 255.255.255.255
*
* 分类:
* 1:公网地址。
* 可以通过浏览器直接访问的。
* 2:私网地址。
* ipv4不够用了。
* 局域名满足需求。局域网中的电脑的ip地址,就是私网地址。
* 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
*
* 域名:Domain:浏览器输入一个网址,回撤,本质上是访问了网络中的一台主机中的一个文件。
* 如果直接使用ip地址去定位主机。 一般是使用一个域名 (www.baidu.com)来替代ip地址去访问主机。
* 如何将域名和ip地址对应上?域名解析器 DNS。Domain name system
* DNS:域名解析服务器。就是一台电脑。负责将域名解析为 域名对应的ip地址。然后再通过ip地址去访问主机。
*
* 特殊的ip地址:
* 1: 127.0.0.1 本机测试地址。
* 2:localhost 127.0.0.1 ip地址的域名
* 3:255.255.255.255 广播地址。
*
* 8:端口号 port
* 1:就是一个整数。
* 2:取值范围 [0-65535]
* 3: 80 端口 8080 端口 [0-1023]范围的端口是预留的端口,
* 我们可以使用[1024-5000] 范围内的端口号进行通信。
* 4:端口不是一个硬件设备,是一个虚拟的编号。
*
*
* 9:协议: protocol
* TCP协议(掌握)
* 1:传输层协议。
* 2:基于字节流的、面向连接的、可靠的、安全的、全双工的协议。
* 面向连接的:先建立连接然后再传输数据。类似于打电话。
* 可靠的安全的是基于一套机制实现的。
* 全双工:收发数据可以同时进行。
*
* 机制:
* 三次握手:
* 建立连接的过程
* 1:A 给 B :我可以连接你吗?
* 2:B 给 A:可以,来吧。
* 3:A 给 B:好的,我现在就连接你。
* 四次挥手:
*