栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

[Java Web] 网络原理基础知识

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[Java Web] 网络原理基础知识

1.理解网络

纯硬件角度:

网卡(network interface)

数据的发送:首先需要填充数据,然后经过把数字信号转化为物理信号后,把数据发送出去。

数据的接收:先接受数据,中断通知有数据到达了,数据复制


2.数据在我们主机内部是怎么被处理的(发送、接收)

进程控制的内存 -> 网卡

网络分层:学院派:OSI 7层

实际派:TCP/IP 5层:应用层、传输层、网络层、数据链路层、物理层

3.局域网(Local Area Network LAN)

国家 省 市

集线器(hub)

数据的完整复制

hub:只负责进行数据的复制,所有主机都会收到。为了让只有目标主机收到数据。我们需要在数据中携带 关于 目标主机的信息(协议)

协议是在数据链路层使用的

hub:不知道数据链路层的数据格式,所以是工作在数据链路以下的——物理层

(1)基于网线的直连

(2)基于集线器组建 

 数据冲突:在线路上同时有多条数据在发送,就会出现冲突

冲突避让:一个一个来,如果在线路上发现有数据在发送了,那么就随机休眠一段时间,重新发送

存在冲突的区域叫冲突域

(3)基于交换机组建

 交换机 是知道数据发给谁 —— 工作在数据链路层

这样就避免了冲突

使用 hub、switch 实现 LAN 的组网工作

数据链路层:实现了一个 LAN 内部的主机通信

( 4 )基于交换机和路由器组建

 路由是划分 LAN 的设备,路由同时属于多个 LAN

路由器工作在网络层:实现了跨LAN 的主机和主机之间进行通信

应用层处理具体的业务商家
传输层跨 LAN 进程 to 进程快递公司
网络层路由器跨 LAN 主机 to 主机物流公司、运输公司
数据链路层交换机LAN 内部 主机 to 主机物流公司、运输公司
物理层集线器解决传输介质通信的问题修路

4.广域网(Wide Area Network WAN)

通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网。广域网内部的局域网都属于其子网。

5.网络通信基础

MAC 地址:硬件地址,网卡生产中绑定的一个地址  物理地址。数据链路层在使用

IP 地址:网络层在使用  软件地址  在一个网络中,主机的 ip 地址唯一

端口(port):主机内部的,唯一标识

一个网络中,MAC 和 IP 绑定唯一的主机

ip 在网络中,唯一确定了一个主机

port 在一个主机中,唯一确定一个进程

ip + port : 网络中的唯一一个进程

当一个东西发送到另一个地方时:会有来源IP、来源port、目标IP、目标port。四个信息可以唯一确定网络中的一个通信线路(带着方向) 

四元组信息:传输

传输层:UDP/TCP

四元组 + 协议 = 五元组

ip 工作在网络层,只有网络层 + 网络层以上的设备有ip(路由器和主机)

交换机、集线器没有ip地址

一个进程可以绑定多个port。一个端口只能被一个进程绑定。(是进程不是程序)

      一些协议:(⭐)
应用层:HTTP/HTTPS/DNS
传输层:UDP/TCP
网络层:IP/ICMP/ARP
6.分层总结
应用层 HTTP/HTTPS/DNS用户态用户业务问题
传输层 UDP/TCP内核态进程 to 进程端口(port)
网络层 IP内核态跨LAN 的 主机 to 主机路由器IP
数据链路层内核态LAN 内部的 主机 to 主机交换机MAC
物理层硬件物理介质上的传输集线器
7.封装和分用/解包

封装:

分用/解包: 

 数据链路层/以太网:把数据称为帧

网络层/IP:把数据称为包

传输层:

  • UDP:报文         
  • TCP:段

应用层:

  • 请求-响应模型        发送请求的角色——客户端        发送响应的角色——提供服务(服务器)客户端主导
  • 订阅-推送模型         客户端(订报纸)- 服务器(推送新消息)服务器主导

1.数据,在线路中任意设备都可以看到,理论都可以修改。可以被监听、篡改。

2.数据发送过程中,不可靠。对方不一定收到;即使收到,数据能保证没被修改。

3.网络层,去的路和回来的路不一定是同一条路。


8.数据传输:

(1)一个局域网:

 主机1这里有人要发送一个消息(“hello”)给主机3的人

主机1经过应用、传输、网络、链路层层封装之后把数据传给集线器,集线器再把数据分别给主机2和主机3

主机2去读取链路层数据时,发现这个数据不是发给他的,就会把数据丢弃

主机3发现这个数据就是发送给自己的,因此主机3进行解包的过程:链路层的数据拆下来,剩余的送给上一层网络层,同理一直解包。

(2)跨局域网:

 ​​​

 要从乾县去大荔,虽然不知道是怎么走的,但是肯定不是去泾阳,所以小明先去咸阳。

到咸阳之后,可以问咸阳的人,咸阳的人可以读取数据,看是不是发给自己的,如果是,咸阳的就可以根据长期目标来设定此时新的短期目标。然后新的短期目标去西安,到了西安之后,西安收到消息,得出新的目标,去大荔,如此就成功的传送了数据。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/892057.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号