Java网络相关知识

一.网络初始

1.网络发展的背景

网络发展背景分为四个阶段分别是:
单机阶段,局域网阶段,广域网阶段,移动互联网阶段

1.局域网LAN
局域网,Local Area Network,简称LAN
Local表示了局域网是本地,局部组建的一种私有网络。局域网内的主机之间可以方便的进行网络通讯,称作内网;局域网和局域网之间在没有连接的情况下是无法通讯的,局域网组建网络的方式有以下几种
(1)基于网络直线
(2)基于集线器组建
(3)基于交换机组建
(4)基于交换机和路由器组建
2.广域网WAN
广域网,Wide Area Network,简称WAN
通过路由器,将多个局域网连接起来,在物理上组织成很大范围的网络,形成了广域网。广域网内部局域网都属于它的子网。
在这里插入图片描述

2.网络通讯基础

了解什么是IP地址?

1.概念:描述一个主机在互联网上的具体位置。
2.格式:IP地址是32位的二进制数,通常被分割为4个“8位二进制”(4个字节)

注意:有一个特殊的IP
127.*的IP地址用于本机唤回测试,通常是127.0.0.1,本机环回主要用于本机到本机的网络通信(系统内部为了性能,不会走网络的方式传输),对于开发网络通信的程序(即网络编程)而言,常见的开发方式都是本机到本机的网络通信。

端口号相关概念

1.概念:区分一个主机上的应用程序,用于定位主机中的进程
2.格式:是0~65535范围的数字,在网络通信中,进程可以通过绑定一个端口号,来发送以及接收网络数据。

注意
两个不同的进程不能绑定同一个端口号,但是同一个进程可以绑定多个端口号。
注意:
一个进程启动后,系统会随机分配一个端口(启动端口)程序代码中,进行网络编程时,需要绑定端口号(收发数据的端口)来发送、接收数据。进程绑定一个端口号后,fork一个子进程,可以实现多个进程绑定一个端口号,但不同的进程不 能绑定同一个端口号。

3.协议

为什么引入协议

虽然我们有了IP地址以及端口号可以定位网络中唯一的进程,但是我们无法知道发送的数据是什么样子的,比如有照片,视频,文字等,所以基于网络数据传输,我们需要使用协议来规定双方的数据格式。

认识协议

1.概念:协议,网络协议的简称,网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。通常由三要素组成:
a:语法,即数据与控制信息的结构或者格式

类似于打电话,要使用相同的语言:中文 或者英文或者方言等

b:语义,发出何种控制信息,完成动作做出的相应

比如询问你在干什么?我需要回复我正在敲代码等

c:时序,事件实现顺序的详细说明

比如描述一件事情发生的经过,从头到尾,按照时间顺序进行描述

协议:最终体现在网络上传输的数据包的格式

网络传输的本质

网络传输的本质是:用网线/光纤/无线电信号或者光信号来进行传输(通过频率和强弱来表示0和1这样的信息)

五元组

在TCP/IP协议中,用五元组来标识一个网络通信
1.源IP:标识源主机
2.源端口号:标识源主机中发送该数据的进程
3.目的IP:标识目标主机
4.目的端口号:标识目的主机中接受该数据的进程
5.协议号:标识发送进程和接受进程双发约定的数据格式

4.协议分层

为什么要协议分层

由于协议很复杂,把协议拆分成多个协议,在存在小的协议时,作用以及定位差不多。针对小的协议进行分类,以及对不同类别的协议进行分层,可以有效地约定层级和层级之间的调用关系。要求上层协议调用下层协议,下层协议给上层协议提供支持,不允许跨层级调用。

分层的优点

1.分层可以降低耦合度,上层协议不必了解下层协议的细节,下层协议也不必了解上层协议的细节
2.方便对某一层协议进行替换

真实的网络分层结构

网络分层结构有两种
(1)OSI七层网络模型(在课本上较为常见)
由上往下:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层
(2)TCP/IP五层(或者四层)网络模型(广泛应用)
由上往下:应用层,传输层,网络层,数据链路层,物理层。

TCP/IP五层模型具体作用

1.应用层:负责应用程序间的沟通。比如电子邮件(SMTP),文件传输协议(FTP),网络远程访问协议(Telnet)等,网络编程主要针对这一层
2.传输层:负责两台主机之间的数据传输,比如传输控制协议(TCP),能确保数据可靠的从源主机发送到目标主机(可以理解成,不考虑中间是如何传输的,只是把数据安全送到目标主机即可)
3.网络层:负责地址管理和路由选择。在IP协议中,IP地址标识一台主机,并且通过路由表的方式规划出两台主机之间的数据传输的路线。**注意:路由器工作在网络层。(可以理解成,淘宝买东西,选择相应的路线)
4.数据链路层:负责设备之间的数据帧的传送和识别。比如网卡设备的驱动。以太网,令牌环网,无线LAN等。注意交换机工作在数据链路层
5.物理层:负责光/电信号的传递方式。比如现在的以太网使用的网线(双绞线)现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输率,传输距离,抗干扰性。注意集线器(Hub)工作在物理层

网络设备所在分层

对于一台主机,它的操作系统内核实现了从传输层到物理层的内容,也即是TCP/IP五层模型的下
四层;
对于一台路由器,它实现了从网络层到物理层,也即是TCP/IP五层模型的下三层;
对于一台交换机,它实现了从数据链路层到物理层,也即是TCP/IP五层模型的下两层;
对于集线器,它只实现了物理层。

5.封装和分用

1.不同的协议层对数据包有着不同的称为,比如:
在传输层叫做:段(segment)
在网络层叫做:数据报(datagram)
在数据链路层叫做:桢(frame)
2.应用层数据通过协议栈发送到网络上,每层协议都要加上一个数据首部(header),称作封装
3.首部信息包括了一些类似于首部有多长,荷载(payload)有多长,上层协议是什么信息等
4.数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值