网络编程概述

来源:互联网 发布:淘宝什么算退款率高 编辑:程序博客网 时间:2024/05/10 17:45

一、网络编程的概述

网络模型:OSI(Open SystemInterconnection)才考模型

TCP/IP参考模型

网络分为7层,分别是:

物理层

         主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等

数据链路层

         主要从物理层接受的数据进行MAC地址的封装与解封装,这一层主要的设备是交换机

网络层

         从下层接受到的数据进行IP地址的封装与解封装,这一层的主要设备是路由器,这一层也常叫为数据包

传输层(JAVA中网络编程主要在这一层)

         定义了一些传输数据的协议和端口号,如TCP、UDP,主要是将从下层接受到的数据进行分段和传输,到达目的地址后再进行重组

会话层

         主要在系统之间发起会话或者接受会话请求

表示层

         主要进行数据的解释、加密、解密、压缩、解压缩(也就是把计算的表示方式转换为人能识别的东西(图片、声音等))

应用层

         主要使一些终端应用,比如FTP、WEB、QQ之类

以面向用户可见为基础,层的排序为:

  应用层---表示层----会话层----传输层-----网络层----数据链路层----物理层

 

发送方:                                                                                                                                                                     接收方:

          ---------------------------------------------->           

                          

上图是一个数据的传输过程,在发送端需求从应用层发出,经过应用层逐层封包传输,到达接收端后,从物理层逐层剥开(解包),最后到应用层时则体现发送端的意图

 

 

二、 网络要素:---IP地址、端口号、传输协议

Ip地址:InetAddress

本地回环地址:127.0.0.1 主机名:localhost

 

端口号:

用于标识进程的逻辑地址,不同进程的标识

有效端口:0~65535,其中0~1024系统保留

 

传输协议:

常见协议:TCP、UDP

UDP:类似于到邮局发包裹:将物品、地址、收件人全部打包好,直接发过去(至于地址、收件人正确与否不重要),也类似于对讲机(QQ,FeiQ)

TCP:类似于打电话,必须对方接通后才能进行通讯,下载数据就是此协议

通讯录的规则:

三、 IP对象:InetAddress对象

Java.net包中包含了常用网络编程类

 

获取本地主机对象:getLocalHost()    他会抛出UnknowHostException异常

获取主机名:getHostName()如果是获取网络中的机器名会较慢

获取主机IP地址:getHostAddress()

获取指定主机的IP地址对象:getByName(“192.168.0.100”)这里传入的可以是IP地址,也可以是计算机名称

 

 

四、 域名解析

DNS:域名解析服务器,对用户输入的网址进行解析,并跳转到相应的IP地址主机上

比如:输入www.baidu.com后通过域名解析服务器查询到发现baidu.com对应的IP是10.1.1.1,此时通过解析器之后会将IP地址转交给浏览器,最后访问这个IP对应的服务器

 

也可以在本机上创建一个域名解析:

打开C:\Windows\System32\drivers\etc\的hosts文件,添加   127.0.0.1      www.chao.com

 

0 0
原创粉丝点击