一、基础知识
1.什么是计算机网络?
1.定义: 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备 ,通过通信线路连接起来,在网络操作系统,网络管理软件以及通信协议的管理和 协调下,(实现资源共享和信息传递的计算机系统).
2.网络编程的目的?
1.传递信息 2.数据交换 3.通信
3.如何准确的定位网络上的一台主机?
ping 域名
1.如何准确的定位网络上的一台主机 (1).本地Ipv4 (cmd > ipconfig) (2).端口号 (3).计算机上的某个资源 2.定位了网络上的一台主机,如何传输数据? (1).javaweb 网页编程 (架构 B/S >浏览器) (2).TCP/IP 网络编程 (架构 C/S >客户端(QQ软件))
4.网络通信的要素
1.如何使新网络的通信 (1).通信双方的地址: ip 与 端口号 (2).网络通信的协议: http,ftp,tcp,udp... TCP/IP参考模型
5.OSI七层参考模型
重点学习的是 IP .UDP .TCP
应用层: 比如QQ等,应用
传输层: 比如:通信
网络层: 比如 :封包
数据链路层: 比如:具体传输
二、IP详解
1.IP详解
(1).IP的用处:
唯一定位一台网络上的计算机
(2).本机IP(localgost)
127.0.0.1
(3).IP的分类
1.通过ip的地址进行分类 (1).ipv4地址: ipv4 127.0.0.1,四个字节组成,每个字节的长度为0~255,一共42亿个,(2011) (2).ipv6地址: ipv6 ,128位,8个无符号整数组成 2.通过ip的公网和私网进行分类 (1).公网---互联网 (2).私网---局域网 eg: 192.168.xx.xx 专门给组织内部使用的 (3).ABCD类地址
ABCD类的地址分类: (折半操作)
(4).域名:
1.主要目的:是为了记忆域名
2.Java 获取IP地址
基本思路: 1.InetAddress 没有构造器不能new 只能进行调用 InetAddress.getByName("www.baidu.com"); //获取域名和地址 2.获取域名(网站)的ip地址 (1).InetAddress.getByName(域名); 3.获取本机的ip地址 (1).InetAddress.getByName("127.0.0.1"); (2).InetAdress.getLocalHost();
package com.Kuangstudy.Net; import javax.swing.*; import java.net.InetAddress; import java.net.UnknownHostException; public class Test { public static void main(String[] args) { //因为inetAddress是没有构造器的,所以new不了 try { //获得百度的IP地址。 InetAddress byName_address1 = InetAddress.getByName("www.baidu.com"); System.out.println("百度 "+byName_address1); // System.out.println(byName_address1.getAddress()); //获得规范的名字 也就是ip System.out.println(byName_address1.getCanonicalHostName()); //获得主机的名字 还是ip System.out.println(byName_address1.getHostAddress()); //获得域名 System.out.println(byName_address1.getHostName()); } catch (UnknownHostException e) { e.printStackTrace(); } } }