计算机-底层-1

计算机-底层-1

osi七层协议,tcp/udp五层协议

五层协议:应用层,传输层,网络层,数据链路层, 物理层。

物理层。
就是传输的设备
数据链路层,
以太网协议规定,连入网络的每一个计算机都会有网卡接口,每一个网卡都会有一个唯一的地址,这个地址就叫做 MAC 地址。在链路层据定义了多少电信号为一组,这一组电信号构成了一个数据包,称之为帧。一个帧分为head以及data两个部分,head中存储了一系列的参数MAC地址就是其一,data存储了计算机之间交互的数据。
网络层,
对与相同子网的计算机可以数据交互之后,对与不同子网的计算机我们应该怎么办呢?
在网络层引入了三个协议:IP协议,ARP协议,路由协议
P协议:IP协议长4个字节,它的范围:0.0.0.0~255.255.255.255,分为两个部分:网络部分 + 主机部分,这两个部分的长度根据子网掩码决定。例如前24位时网络号,后8位为主机号。
ARP协议:即地址解析协议,是根据IP地址获取MAC地址的一个网络层协议。其工作原理如下:
ARP首先会发起一个请求数据包,数据包的首部包含了目标主机的IP地址,然后这个数据包会在链路层进行再次包装,生成以太网数据包,最终由以太网广播给子网内的所有主机,每一台主机都会接收到这个数据包,并取出标头里的IP地址,然后和自己的IP地址进行比较,如果相同就返回自己的MAC地址,如果不同就丢弃该数据包。ARP接收返回消息,以此确定目标机的MAC地址;与此同时,ARP还会将返回的MAC地址与对应的IP地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
路由协议:简单理解就是不同子网与子网间的通行必须通过网关的多次转发,最终找到目标IP所在的子网。
传输层,
上面已经实现了互联网中两台计算机的数据传输交互,但是如何确保数据被准确的分配给请求的接口呢?
端口号
在传输层使用的两个重要协议:TCP协议,UDP协议
TCP:在数据传输前进行3次握手,确定数据的传输是可靠有效的。TCP是面向连接的
UDP:UDP则是不会理会传输的成功与否,它在乎的仅仅是把数据发出去,接受端能否收到数据,它是不会管的。也就是说UDP面向无连接的

应用层,
注意常见的有 HTTP、FTP、SMTP 等,HTTP 是一种比较常用的应用层协议,主要用于B/S架构之间的数据通信。
服务端收到请求以后,就能正确的解析客户端发来的数据,当请求处理完以后,再按照客户端要求的格式返回,客户端收到结果后,按照服务端返回的格式进行解析。
所以应用层的主要工作就是定义数据格式并按照对应的格式解读数据。

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100222.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jenkins+SVN配置「建议收藏」

    jenkins+SVN配置「建议收藏」开发项目,版本控制必不可少,我用的版本控制软件为SVN,那么如何把jenkins和SVN结合,使得SVN源码一有上传更新,jenkins就马上构建项目呢?下面说一下配置过程1)首先要在jenkins中添加svn的用户名和密码:打开“Credentials”界面进行添加,如下图2)配置项目工作空间3)配置项目:源码管理选择SVN,如下图:4)配置项目:设置构建触发器…

    2025年11月2日
    4
  • intellij idea javaweb_数据库系统原理教程

    intellij idea javaweb_数据库系统原理教程一,简介Eclipse/MyEclipse确实用起来诸多不爽,准备切换IntelliJIDEA,本篇介绍如何配置IDEA并使用IDEA开发一个Web应用。二,软件下载与安装1,首先下载安装JDK并配置环境变量。JDK安装目录D:\Java\jdk1.7.0_79新建环境变量JAVA_HOME,其值为D:\Java\jdk1.7.0_79环境变量PATH中添加%JAVA_HOME%\bin

    2025年5月24日
    5
  • Word2007怎样从随意页開始设置页码 word07页码设置毕业论文

    Word2007怎样从随意页開始设置页码 word07页码设置毕业论文

    2021年11月15日
    37
  • Origin | 堆叠柱状图 | 多列(分组)堆积柱状图[通俗易懂]

    Origin | 堆叠柱状图 | 多列(分组)堆积柱状图[通俗易懂]origin8.0画stackcolumn图(堆叠柱状图)origin画多列(百分比)堆积柱状图用origin绘制多分类(多组)堆叠柱状图

    2022年9月30日
    5
  • mysql 修改字段类型

    mysql 修改字段类型mysql修改字段长度altertablenews modifycolumntitlevarchar(130);altertable表名modifycolumn字段名类型;如:news表里的title 字段原来长度是100个字符,现长度要改成130个字符mysql修改字段类型altertablenews mo

    2022年4月29日
    40
  • 数独解法Java实现「建议收藏」

    数独解法Java实现「建议收藏」数独问题描述标准的数独游戏是在一个9X9的棋盘上填写1–9这9个数字,规则是这样的:棋盘分成上图所示的9个区域(不同颜色做背景标出,每个区域是3X3的子棋盘),在每个子棋盘中填充1–9且不允许重复,下面简称块重复每一行不许有重复值,下面简称行重复每一列不许有重复值,下面简称列重复如上红色框出的子区域中的亮黄色格子

    2025年5月24日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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