Java网络01基本网络概念

协议 Protocol:明确规则

(1)地址格式;

(2)数据如何分包;

  ...


TCP/IP四层模型:

应用层  HTTP SMTP POP IMAP

传输层  TCP UDP

网际层  IP

主机网络层 host to host layer 数模、模数转换


被称为网关(getway)的特殊设备可将信息从一种数据链路层(以太网)转换为另一种数据链路层(令牌环)。


OSI七层模型

应用层

表示层

会话层

传输层

网际层

数据链路层  MAC地址  Media Access Control

物理层


硬件MAC地址

全球唯一,烧录在网卡Network Interface Card  NIC

48bit  6字节

0~23  组织唯一标志符  Organizationally Unique Identifier,是识别LAN(局域网)节点的标识

24~47  由厂家自己分配

40位  组播地址标志位

在物理传输过程中,通过物理地址来识别主机。


网际层  network layer

IP协议是Java唯一理解的网络层协议

数据位和字节如何组织为更大的分组——包。

不同计算机的寻址模式

包中通过网际层发送的数据称为数据报(datagram)

IP数据报:

首部:20~60字节

有效载荷:65515字节 


首部必选20字节:




网络字节序为big-endian。

big-endian:低位字节存于内存高地址

little-endian:低位字节存于内存低地址


传输层  transport layer

TCP  Transmission Control Protocol    reliable

UDP  User Datagram Protocol    unreliable

Java唯一支持的应用层协议:TCP UDP

可以在IP之上运行其他协议,如ICMP(Internet Control Message Protocol)

如Ping程序:使用原始IP数据报在主机之间传递错误消息。


应用层 application layer

HTTP  HyperText Transfer Protocol

SMTP  Simple Mail Transfer Protocol

POP  Post Office Protocol

IMAP  Internet Mail Aceess Protocol


IPv4  4字节  199.1.32.90

IPv6  16字节  

FEDC:BA98:7654:3210:FEDC:BA98:7654:3210

FEDC:0000:0000:0000:00DC:0000:7076:0010    可简写为  FEDC::DC:0:7076:10

IPv4和IPv6混合网络,IPv6最后4个字节有时写为IPv4的点分四段(dot quad)地址。

FEDC:BA98:7654:3210:FEDC:BA98:7654:118.84.50.16


端口(port):

TCP  1~65535

UDP 1~65535

1~1023已分配给已知的服务

在Linux中,/etc/services为端口分配列表


Internet  世界上最大的基于IP的网络

地址分类

A类  指定第一字节  18.            >=1600万个结点空间

B类  指定前两字节  167.1.       65024个  256个C类*254个主机

C类  指定前三字节  199.1.32    254个  0和255为保留地址


无类别域间路  Classless Inter-Domain Routing  CIDR

基于前缀位的寻址模式

/nn  指定地址中前nn位固定

/24  前24位不变,留下后八位区别各个结点  与C类相同

/19  确定19位,留下13位区别各个结点,相当于32个C类或1/8个B类

/28  留下4位区别本地结点,最多可操作16个结点


特殊地址块:

10.

172.16.~172.31.

192.168.

上述地址段未在Internet中分配,用于内部网络,不能进入Internet。

127. 

本地回路 127.0.0.1  local lookback address   localhost

IPv6回路 ::1      0:0:0:0:0:0:0:1

0.0.0.0  指向最初主机,用于源地址。


网络地址转换  NAT  Network Address Translation

ISP提供的地址216.254.85.72

通过ISP卖给的路由器,可将内部的设备连入互联网

内部设备在同一局域网中,192.168.254.xxx。

即将内部地址转换为外部地址。


防火墙(firewall)

位于Internet和本地网络之间,检查所有进出的数据以保证其合法性的软件和硬件。

防火墙通常是连接本地与更广阔Internet的路由器的一部分,还可执行网络地址转换。

防火墙也可以是单独的机器。

监视传入或传出其网络接口的每个包,根据一些规则接收或拒绝这些包。


代理服务器(Proxy server)

如果防火墙阻止网络主机与外界的直接连接,则代理服务器起到中间人的作用。

优势:外部主机只能看到代理服务器,不会知道内部机器主机名和IP地址。

用途:

(1)监控内部访问    代理客户端

(2)实现本地缓存  local caching  代理服务器端


可通过HTTP作为通道建立新的协议,如SOAP,Simple Object Access Protocol,简单对象访问协议。


客户/服务器模型

文件服务器

数据库服务器

应用程序服务器:对数据进行处理后,将结果发送给客户端。


IETE  Internet Engineering Task Force  TCP/IP  MIME  SMTP

W3C  World Wide Web Consortium  HTTP  HTML  XML


HTML 称为超文本标记语言的原因:它包括一种方法,可以指定到其它文档(URL)的链接。


计算机网络应用的是分组交换技术。--Internet

服务器端等待客户请求的到来,这个过程为监听。

服务器监听功能是在特定的IP地址和端口上进行的。



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/387196.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

apache的产品分类说明

分类 项目名 说明 开发语言 服务器(共20) Apache HTTP Server全球第一HTTP服务器C/CTomcatJava的Web服务器JavaJames邮件服务器JavaSpamAssassin反垃圾邮件C/CPerlApache的Perl编程语言支持C/CTclTCL脚本语言C/CDirectory Server超级目录服务器JavaAxisW…

Java网络02基本Web概念

URI Uniform Resource Identifier 同一资源标识符 以特定语法标识一个资源的字符串 绝对URI:URI模式模式特有部分 scheme:scheme-specific-part scheme分为: data file本地文件系统 ftp http telnet urn 统一资源名 scheme-specific-part为&am…

解决自建ca认证后浏览器警告

前一篇讲解了基本的建立证书的过程,但是建立后总是会在浏览器那里警告: 此链接不是私密链接 --谷歌浏览器 此证书颁发机构不可信 此证书不是这个网站的 --ie浏览器 总之证书是生成成功了,但是其中的内容填写错误了&a…

设计模式学习(三)——单例模式

在Java开发过程中,很多场景下都会碰到或要用到单例模式,在设计模式里也是经常作为指导学习的热门模式之一,相信每位开发童鞋都用到过。我们总是沿着前辈的足迹去做设定好的思路,往往没去探究为何这么做,所以这篇文章对…

Java网络03流

网络程序所做的很大一部分工作只是输入和输出:从一个系统向另一个系统移动数据。 输出流 Java的基本输出流类是java.io.OutputStream: public abstract class OutputStream 这个类提供了写入数据所需的基本方法,包括: public abstract vo…

基于微信小程序开发的仿微信demo

(本文参考自github/liujians,地址:https://github.com/liujians/weApp) 作者声明: 基于微信小程序开发的仿微信demo 整合了ionic的样式库和weui的样式库 使用请查看使用必读! 更新日志请点击这里 目前功能 查看消息 网络请求获取数据(download示例server…

设计模式之六大原则

设计模式之设计原则 这软件设计过程中,有六大设计原则: 单一职责原则里氏替换原则依赖倒置原则接口隔离原则迪米特法则开闭原则由于软件开发过程中,根据业务不同等因素形成了各种复杂的而不可预料的需求,遵守原则,让项…

安装配置tengine

安装tengine 1、依赖gcc openssl-devel pcre-devel zlib-devel 安装:yum install gcc openssl-devel pcre-devel zlib-devel 2、解压tengine压缩包,并进入目录; 3、./configure --prefix/usr/tengine 4、make && make install 5…

使用springboot集成jseesite

请访问 开源中国下的https://git.oschina.net/wolfking/wolfking-jeesitehttps://www.oschina.net/p/wolfking-jeesite?fromerr6Iie3qZt 下载源码,按照如下的运行使用 springboot 改造 jeesite,只保留最简单的系统配置 。 介绍 1、运行主类,…

解决idea 中web项目无法正常显示的问题

转载于:https://www.cnblogs.com/nulijiushimeili/p/10575364.html

Hadoop小知识点

hdfs命令行 上传 hadoop fs -put 文件名 hdfs://主机名:9000/... 下载 hadoop fs -get hdfs://主机名:9000/... 文件名 /hadoop/share/hadoop/mapreduce 文件夹下有测试程序 提交MapReduce任务命令 #hadoop jar hadoop-mapreduce-examples-2.4.1.jar pi 5 5 hadoop fs -m…

copy 扩展名 包含子文件夹 文件 到某个 文件夹

比如我在d:\fff下面有很多子文件夹,子文件夹里还有子文件夹,里面有些文件夹里有.ppm.bz2的后缀的文件,需要把他们找出来复制到d:\fff2里面,应该怎么用批处理写?最佳答案1234echo offfor /r d:\fff %%a in (*.ppm.bz2) …

在线视频常见加密方式及安全性透析

信息化时代,多媒体的应用日渐成为人们生活中不可或缺的部分,无论是获取最新资讯还是教育学习,视频都是直观高效的媒介之一。 基于互联网的快速传播,众多培训机构也逐渐将线下原创版权课程迁移到在线平台中,一方面可以更…

分享一个前后端分离的web项目(vue+spring boot)

Github地址:https://github.com/smallsnail-wh 前端项目名为wh-web后端项目名为wh-server项目展示地址为我的github pages(https://smallsnail-wh.github.io)用户名:admin,密码admin(第一次启动会比较慢&am…

部署php项目到linux

服务器:39.106.26.67rootBayou2009 数据库:rootbayou2009 项目文件夹路径:/home/www/项目文件夹名称:education.bayou-tech.cn 绑定域名:education.bayou-tech.cn 绑定域名: 用ftp把配置文件下班到windows修…

ionic最新安装教程

公司最近开发webapp,研究了一下ionicangularjs开发。 安装过程中碰到许多问题,发现网上有好多资料都已经过时,在这里把最新的流程记录一下。 首先是安装node.js,通过nodejs官网下载,没什么问题。npm已经默认安装&#…

ZooKeeper安装配置

配置 1、在conf目录下创建一个配置文件zoo.cfg tickTime2000 dataDir.../zookeeper/data dataLogDir.../zookeeper/dataLog clientPort2181 initLimit5 syncLimit2 server.1server1:2888:3888 server.2server2:2888:3888 server.3server3:2888:3888 •tickTime&#…

1.1 算法编译与调试

编程要保持简单(KISS, keep it simple and stupid)。 算法竞赛中的输入输出框架: 输入数据保存在文件中,输出数据也保存在文件中。 几乎所有算法竞赛的输入数据和标准答案都是保存在文件中的。 使用文件最简单的方法是使用输入…

ionic2开发的仿外卖点餐系统(Ionic2+Angular2

github上的项目源码 Run this Project(运行该项目) first(首先): make sure your computer install ionic 确保你的电脑安装了ionic2,不懂自行百度 second(其次):$ ionic start wechat_restaurant tutorial…

Container Injection

Container的历史: 2000 年的时候 FreeBSD 开发了一个类似于 chroot 的容器技术 Jails,这是最早期,也是功能最多的容器技术。Jails 英译过来是监狱的意思,这个“监狱”(用沙盒更为准确)包含了文件系统、用户…