计算机-底层-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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker搭建kafka集群「建议收藏」

    docker搭建kafka集群「建议收藏」docker搭建kafka集群我在M1mbp上使用的以下镜像新建文件zk-kafka-docker-compose.ymlversion:”2″services:zookeeper:user:rootimage:docker.io/zookeeperports:-“12181:2181″environment:-ALLOW_ANONYMOUS_LOGIN=yesvolumes:-zoo

    2022年4月25日
    48
  • hdoj 3341 Lost’s revenge 【AC自动机 + 变进制状态压缩dp】

    hdoj 3341 Lost’s revenge 【AC自动机 + 变进制状态压缩dp】Lost’srevengeTimeLimit:15000/5000MS(Java/Others)    MemoryLimit:65535/65535K(Java/Others)TotalSubmission(s):3452    AcceptedSubmission(s):932ProblemDescriptionLostandAe

    2022年7月22日
    10
  • Docker 容器中运行 Docker 命令

    Docker 容器中运行 Docker 命令Docker容器中运行Docker命令在使用GitLab/Jenkins等CI软件的时候需要使用Docker命令来构建镜像,需要在容器中使用Docker命令;通过将宿主机的Docker共享给容器即可在启动容器时添加以下命令:–privileged\-v/var/run/docker.sock:/var/run/doc…

    2022年5月16日
    41
  • 关于机械臂的模仿学习

    关于机械臂的模仿学习文章目录1.关键词2.数据集3.框架4.大会/论坛5.相关论文1.关键词模仿学习:Imitationlearning2.数据集图像识别领域的数据集:ImageNet目标检测的数据集:COCO机器问答的数据集:SQuAD3.框架斯坦福的李飞飞实验室,开源了分布式强化学习训练框架SURREAL,用来加速学习过程。团队还发现,用SURREAL框架搭配上文的RoboTurk…

    2022年9月19日
    1
  • 重绘与回流_html回流重绘

    重绘与回流_html回流重绘文章目录css图层图层创建的条件重绘(Repaint)回流触发重绘的属性触发回流的属性常见的触发回流的操作优化方案requestAnimationFrame—-请求动画帧写在最后css图层浏览器在渲染一个页面时,会将页面分为很多个图层,图层有大有小,每个图层上有一个或多个节点。也就是我们各种各样的Dom标签在渲染DOM的时候,浏览器所做的工作实际上是:1.获取DOM后分割为多个图层2.对每个图层的节点计算样式结果 (Recalculatestyle–样式重计算)3.为每个节点生

    2025年8月5日
    2
  • 2021pycharm最新激活码【2021.7最新】[通俗易懂]

    (2021pycharm最新激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月21日
    59

发表回复

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

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