文章目录

  • 网络协议
    • 常用网络协议族(簇)(protocol)
    • 端口(port)
    • 常见知名端口
    • 动态端口
  • IP地址
    • IP地址分类
    • IPv4的分类
    • IPv6
    • 子网掩码

网络协议

是为计算机网络中进行数据交换而建立的规则、标准或约定的集合。为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络,国际标准化组织(ISO)在1978年提出了“开放系统互联参考模型”,即著名的OSI/RM模型(Open System Interconnection/Reference Model)。它将计算机网络体系结构的通信协议划分为七层,自下而上依次为:物理层(Physics Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)。

常用网络协议族(簇)(protocol)

TCP/IP协议簇毫无疑问是这三大协议中最重要的一个,作为互联网的基础协议,没有它就根本不可能上网,任何和互联网有关的操作都离不开TCP/IP协议。NetBEUI即NetBios Enhanced User Interface ,或NetBios增强用户接口。它是NetBIOS协议的增强版本,曾被许多操作系统采用,例如Windows for Workgroup、Win 9x系列、Windows NT等。NETBEUI协议在许多情形下很有用,是WINDOWS98之前的操作系统的缺省协议。NetBEUI协议是一种短小精悍、通信效率高的广播型协议。

端口(port)

端口"是英文port的意译,可以认为是设备与外界通讯交流的出入口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。电话使用RJ11插口也属于物理端口的范畴。
我们网络编程协议中说的是虚拟端口。端⼝就好⼀个房⼦的⻔,是出⼊这间房⼦的必经之路。

如果⼀个进程需要收发⽹络数据,那么就需要有这样的端⼝。在linux系统中,端⼝可以有65535(2的16次⽅减1)个之多!既然有这么多,操作系统为了统⼀管理,所以进⾏了编号,这就是端⼝号 。

常见知名端口

80端⼝分配给HTTP服务
21端⼝分配给FTP服务
443 端口分配给HTTPS服务

动态端口

动态端⼝的范围是从1024到65535,之所以称为动态端⼝,是因为它⼀般不固定分配某种服务,⽽是动态分配。
动态分配是指当⼀个系统进程或应⽤程序进程需要⽹络通信时,它向主机申请⼀个端⼝,主机从可⽤的端⼝号中分配⼀个供它使⽤。当这个进程关闭时,同时也就释放了所占⽤的端⼝号。

IP地址

IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。作用:用来在网络中标记一台网络设备的数字,具有唯一性。

IP地址分类

早期的IP地址主要是IPv4,但是随着网络的发展IPv4的数量已经不能满足我们的需要了,于是有了IPv6的出现。

IPv4的分类

每一个IP地址包括两部分:网络地址和主机地址。

A类IP地址:⼀个A类IP地址由1字节的⽹络地址和3字节主机地址组成,⽹络地址的最⾼位必须是“0”。地址范围1.0.0.1-126.255.255.254,可⽤的A类⽹络有126个,每个⽹络能容纳1677214个主机。
B类IP地址:⼀个B类IP地址由2个字节的⽹络地址和2个字节的主机地址组成,⽹络地址的最⾼位必须是“10”, 地址范围128.1.0.1-191.255.255.254。可⽤的B类⽹络有16384个,每个⽹络能容纳65534主机。
C类IP地址:⼀个C类IP地址由3字节的⽹络地址和1字节的主机地址组成,⽹络地址的最⾼位必须是“110”, 范围192.0.1.1-223.255.255.254。C类⽹络可达2097152个,每个⽹络能容纳254个主机。
D类地址⽤于多点⼴播:D类IP地址第⼀个字节以“1110”开始,它是⼀个专⻔保留的地址,它并不指向特定的⽹络,⽬前这⼀类地址被⽤在多点⼴播(Multicast)中多点⼴播地址⽤来⼀次寻址⼀组计算机。地址范围224.0.0.1-239.255.255.254
E类IP地址:以“1111”开始,为将来使⽤保留。E类地址保留,仅作实验和开发⽤
私有ip:在这么多⽹络IP中,国际规定有⼀部分IP地址是⽤于我们的局域⽹使⽤,也
就是属于私⽹IP,不在公⽹中使⽤的,它们的范围是:
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
特殊IP地址:IP地址127.0.0.1~127.255.255.255⽤于回路测试。如:127.0.0.1可以代表本机IP地址,⽤ http://127.0.0.1 就可以测试本机中配置的Web服务器。

IPv6

IPv6是Internet Protocol Version 6的缩写,其中Internet Protocol译为“互联网协议”。IPv6是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议,号称可以为全世界的每一粒沙子编上一个网址。
由于IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。

子网掩码

用来指定IP地址哪些位是⽹络号、哪些是主机号。
⼦⽹掩码只有⼀个作⽤,就是将某个IP地址划分成⽹络地址和主机地址两部分⼦⽹掩码的设定必须遵循⼀定的规则。
与IP地址相同,⼦⽹掩码的⻓度也是32位,
左边是⽹络位,⽤⼆进制数字“1”表示;
右边是主机位,⽤⼆进制数字“0”表示。
假设IP地址为“192.168.1.1”⼦⽹掩码为“255.255.255.0”。
其中,“1”有24个,代表与此相对应的IP地址左边24位是网络号;
“0”有8个,代表与此相对应的IP地址右边8位是主机号。
这样,子网掩码就确定了⼀个IP地址的32位⼆进制数字中哪些是网络号、哪些是主机号。
这对于采⽤TCP/IP协议的⽹络来说⾮常重要,只有通过子网掩码,才能表明⼀台主机所在网络

Java网络编程--网络基础相关推荐

  1. java 编程原理_Java网络编程 -- 网络编程基础原理

    Hello,今天记录下 Java网络编程 --> 网络编程基础原理. 一起学习,一起进步.继续沉淀,慢慢强大.希望这文章对您有帮助.若有写的不好的地方,欢迎评论给建议哈! 初写博客不久,我是杨展 ...

  2. Java网络编程(网络基础(IP端口号网络通信协议)、TCP编程、UDP编程和URL编程原理以及常用方法的实例)

    网络编程 网络基础概述 计算机网络:   把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大.功能强的网络系统,从而使众多的计算机可以方便地互相传递信息.共享硬件.软件.数据信息等 ...

  3. 高等学校计算机科学与技术教材:tcp/ip网络编程技术基础,TCP/IP网络编程技术基础...

    TCP/IP网络编程技术基础 语音 编辑 锁定 讨论 上传视频 <TCP/IP网络编程技术基础>是2012年北京交通大学出版社出版的图书,作者是王雷. 书    名 TCP/IP网络编程技 ...

  4. python六十七课——网络编程(基础知识了解)

    网络编程: 什么是网络编程? 网络:它是一种隐形的媒介:可以将多台计算机使用(将它们连接到一起) 网络编程:将多台计算机之间可以相互通信了(做数据交互) 一旦涉及到网络编程,划分为两个方向存在,一方我 ...

  5. python网络编程知识_python六十七课——网络编程(基础知识了解)

    网络编程: 什么是网络编程? 网络:它是一种隐形的媒介:可以将多台计算机使用(将它们连接到一起) 网络编程:将多台计算机之间可以相互通信了(做数据交互) 一旦涉及到网络编程,划分为两个方向存在,一方我 ...

  6. 网络游戏《丛林战争》开发与学习之(一):网络编程的基础知识

    <丛林战争>是一款完整的网络游戏案例,运用U3D开发客户端,Socket开发服务端,其中涉及到了网络编程.数据库和Unity的功能实现,之前通过U3D开发了一个单机游戏<黑暗之光&g ...

  7. 学习笔记:Java 并发编程①_基础知识入门

    若文章内容或图片失效,请留言反馈. 部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 视频链接:https://www.bilibili.com/video/av81461839 视频下载: ...

  8. Java编程语言学习:Java语言编程的基础知识之Java的变量与数据类型、符号、运算符、数组Array总结之详细攻略

    Java编程语言学习:Java语言编程的基础知识之Java的变量与数据类型.符号.运算符.数组Array总结之详细攻略 目录 Java语言编程的基础知识之Java的变量与数据类型.符号.运算符.数组总 ...

  9. 深入分析websocket协议,从3个方面设计网络应用层协议丨网络编程|网络IO|epoll|socket|网络协议丨c/c++linux服务器开发

    深入分析websocket协议,从3个方面设计网络应用层协议 视频讲解如下: 深入分析websocket协议,从3个方面设计网络应用层协议丨网络编程|网络IO|epoll|socket|网络协议丨c/ ...

  10. epoll原理剖析以及reactor模型应用丨网络编程|网络IO|select|poll|socket|reactor多核实现丨c/c++linux服务器开发

    epoll原理剖析以及reactor模型应用 视频讲解如下,点击观看: epoll原理剖析以及reactor模型应用丨网络编程|网络IO|select|poll|socket|reactor多核实现丨 ...

最新文章

  1. 软件可读性和效率取舍_网络通信设计中的一些限制和取舍:摘要
  2. vue常见问题随笔集
  3. CTFshow 信息收集 web5
  4. Python实现递归算法
  5. Struts2是什么?Struts2的优势有哪些?
  6. VTK:Qt之ShowEvent
  7. java ee maven_针对新手的Java EE7和Maven项目–第7部分
  8. 常见的linux命令及其翻译
  9. python某公司为员工发放奖品_python 练习2
  10. 多态的概念,特点与使用
  11. spring的钩子_模板方法模式——看看 JDK 和 Spring 是如何优雅复用代码的
  12. 删除字符串中指定的字符形成字符串
  13. SpringBoot指南(一)——SpringBoot入门
  14. Ockam为物联网设备带来区块链无服务器身份识别
  15. java线程同步机制,实现同步锁
  16. debian系统离线安装iperf2
  17. Word文档转换:如何使用Aspose.words在Java中将Word和图像转换为PDF
  18. 用Python学《微积分B》(Taylor公式与曲线拟合)
  19. 新媒体运营编辑有出路吗
  20. Echarts 柏拉图

热门文章

  1. 移动端踩坑记---------ios下输入法遮挡input
  2. 2、picodet转onnx裁剪及python onnxruntime推理
  3. usb cdc 协议
  4. 如何用python免费看美剧
  5. java某百货商场_【说明】 某大型商场内安装了多个简易的 - 希赛网
  6. category(类目)的用法,NSDate,NSTimeInterval类的使用
  7. 数能低压 1.5A单通道 LED驱动IC芯片 NU405应用电路
  8. 什么是JavaWeb三剑客?
  9. 华为鸿蒙harmonyos 2.0下载,鸿蒙2.0正式版下载_华为鸿蒙2.0系统下载(HarmonyOS 2.0)_易玩网...
  10. 计算机组成原理的方案,计算机组成原理课程教学改革方案