网络分层架构(七/四层协议)

网络分层架构(七/四层协议)网络分层架构业内普遍的分层方式有两种。OSI七层模型和TCP/IP四层模型。OSI七层模型:物、数、网、传、会、表、应TCP/IP四层模型:链、网、传、应1)物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的…

大家好,又见面了,我是你们的朋友全栈君。

网络分层架构

在这里插入图片描述
业内普遍的分层方式有两种。OSI七层模型 和TCP/IP四层模型。
OSI七层模型:物、数、网、传、会、表、应
TCP/IP四层模型:链、网、传、应
1) 物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。
2)数据链路层:定义了如何让格式化数据以帧为单位进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。如:串口通信中使用到的115200、8、N、1
3)网络层:在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层。
4) 传输层:定义了一些传输数据的协议和端口号(WWW端口80等),如:TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。 主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做段。
5) 会话层:通过传输层(端口号:传输端口接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)。
6)表示层:可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换。
7) 应用层:是最靠近用户的OSI层。这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务。

分层功能示意:
OSI七层模型结构体: 物、数、网、传、会、表、应
TCP/IP 四层模型:数、网、传、应
在这里插入图片描述

链路层:

以太网规定,连入网络的所有设备,都必须具有“网卡”接口。数据包必须是从一块网卡,传送到另一块网卡。通过网卡能够使不同的计算机之间连接,从而完成数据通信等功能。网卡的地址——MAC 地址(全球唯一),就是数据包的物理发送地址和物理接收地址。

链路层速记:ARP(核心协议)
mac —— 目标mac
ARP 协议作用: 借助 IP 获取 mac 地址。

*: MAC 地址是绑定在网卡上的
IP:地址则是管理员分配的

网络层:

网络层的作用是引进一套新的地址,使得我们能够区分不同的计算机是否属于同一个子网络。这套地址就叫做“网络地址”,这是我们平时所说的IP地址。网络层协议包含的主要信息是源IP和目的IP。

网络层速记:IP(核心协议)
源IP —— 目标IP
IP协议的作用: 在 网络环境中唯一标识一台主机。
IP地址本质:2进制数。—— 点分十进制 IP地址 (string)
IP和MAC的作用:
网络地址(IP):帮助我们确定计算机所在的子网络
MAC 地址:则将数据包送到该子网络中的目标网卡。
处理顺序:从逻辑上可以推断,必定是先处理网络地址,然后再处理 MAC 地址

传输层:

端口:确定进程
1, 对于同一个端口,在不同系统中对应着不同的进程
2,对于同一个系统,一个端口只能被一个进程拥有

传输层速记:TCP / UDP(核心协议)
port —— 在 一台主机上唯一标识一个进程。

应用关系:

通过网络层IP确认交互端,通过MAC确认信息发送目标,最终通过端口指定要发生信息交互的程序

在这里插入图片描述

应用层

接到传输层传递过来的数据就要对数据进行解析,应用层就是规定程序的数据格式
应用层速记:ftp、http、自定义
对数据进行封装。 解封装

TCP/IP:TCP/IP协议是一个大家族,不仅仅只有TCP和IP协议,它还包括其它的协议

网络通信过程

数据通信:
封装: 应用层 —— 传输层 —— 网络层 —— 链路层 。 没有经过封装的数据,不能在网
络环境中传递。
解封装 : 链路层 —— 网络层 —— 传输层 —— 应用层

在这里插入图片描述
socket:
套接字。
网络通信过程中,socket 一定是成对出现的。
1,在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程。
2,IP地址+端口号:就对应一个socket。
3,欲建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的socket pair就唯一标识
一个连接。
4,Socket来描述网络连接的一对一关系。
5,常用的Socket类型有两种:流式Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。
a)流式是一种面向连接的Socket,针对于面向连接的TCP服务应用;
b)据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用。
关于通信:

  1. mac地址(不需要用户指定) (ARP 协议)Ip ——> mac
  2. IP 地址 (需要用户指定) —— 确定主机
  3. port 端口号 (需要用户指定) —— 确定程序
  4. 不能使用系统占用的默认端口。 5000+ 端口我们使用 (8080)
  5. 65535为端口上限。

C/S架构设计的优缺点:
优点:1,性能:客户端位于目标主机上可以保证性能,将数据缓存至客户端本地,从而提高数据传
输效率。
2,协议灵活:户端和服务器程序由一个开发团队创作
缺点:1,成本高 客户端服务端都需要独立开发
2,独立安装客户端对用户来说有安全隐患

TCP:CS开发架构(代码层面)

在这里插入图片描述
在这里插入图片描述

TCP通信过程:

三次握手:
	1. 主动发起请求端, 发送 SYN 
	2. 被动建立连接请求端 , 应答ACK 同时 发送 SYN
	3. 主动发起请求端,发送应答 ACK
	* 标志 TCP 三次握手建立完成。 —— server:Accept() 返回 。— client:Dial() 返回。

四次挥手:
	1. 主动关闭连接请求端, 发送 FIN
	2. 被动关闭连接请求端 ,应答 ACK
					标志。半关闭完成。 —— close()
	3. 被动关闭连接请求端 ,发送 FIN
	4.  主动关闭连接请求端,应答 ACK
					标志。四次挥手建立完成。 —— close().

在这里插入图片描述
TCP深入机制
在这里插入图片描述

//三次握手和四次挥手
在这里插入图片描述

TCP转换图解析:

1,主动发起连接请求端口close>完成三次握手>EATABLISEHED(数据通信状态)> Dial()函数返回

2,被动发起连接请求端: CLOSED > 调用Accept()函数>LISTEN 完成三次握手 >ESTABLISEHED (数据通信状态)>Accept()函数返回>数据传递期间 —— ESTABLISEHED (数据通信状态)

主动关闭连接请求端:ESTABLISEHED>FIN_WAIT_2 (半关闭)>TIME_WAIT >2MSL >确认最后一
个ACK被对端成功接收>CLOSE>半关闭、TIME_WAIT、2MSL
>只会出现在 “主动关闭连接请求端”

被动关闭连接请求端:ESTABLISEHED>CLOSE

查看状态命令:
windows:netstat -an | findstr 8001(端口号)
Linux: netstat -apn | grep 8001

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151724.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • python基础(3)列表list「建议收藏」

    python基础(3)列表list「建议收藏」列表列表特点:是一种序列结构,与元组不同,列表具有可变性,可以追加、插入、删除、替换列表中的元素新增元素appendappend添加一个对象,可以是任意类型a=['zhangsa

  • 云服务器和虚拟主机哪个好?两者有什么优缺点?「建议收藏」

    云服务器和虚拟主机哪个好?两者有什么优缺点?「建议收藏」云服务器和虚拟主机哪个好?两者有什么优缺点?想必有好多网站站长和中小型企业都被这个问题所困惑。现在小杜就来讲一讲云服务器和虚拟主机分别的特征和差异,小杜我相信大家看完本文后,就不会再被这样的问题所困惑了。云服务器云服务类似于传统的独立主机一样,它有自身独立的IP和宽带资源的,而且云服务器自身带有防火墙等防御工具。可是它不同于传统的独立主机,它可以按照使用者的需求量来增加或是降低服务器的配置,而且可以按照所需所用租用,而且租用云主机建立网站的成本,比传统独立主机建立要低好多。优点:它有独立的IP,独立

  • strtok函数详解

    strtok函数详解strtok函数

  • SVN—解决冲突

    SVN—解决冲突

  • 5分钟搞定!java免费源码网站

    5分钟搞定!java免费源码网站一、前言最近刚读完一本书:《Netty、Zookeeper、Redis并发实战》,个人觉得Netty部分是写得很不错的,读完之后又对Netty进行了一波很好的复习(之前用springboot+netty+zookeeper模仿dubbo做rpc框架,那时候是刚学netty后自己造的小轮子)。虽然对于Netty的使用已经比较熟悉了,而且还知道它的底层是基于JavaNIO做进一步的封装,使得并发性能和开发效率得到大大的提升。但是,对于同步阻塞、同步非阻塞、异步这

  • window清理系统垃圾文件代码

    window清理系统垃圾文件代码创建一个txt,后缀改为.bat,文件名自己取,但是要知道这个文件是拿来清理系统垃圾的。代码如下:@echooffpauseecho正在清理系统垃圾文件,请稍等……del/f/s/q%systemdrive%\*.tmpdel/f/s/q%systemdrive%\*._mpdel/f/s/q%systemdrive%\*.logdel/f…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号