计算机-底层-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架构之间的数据通信。
服务端收到请求以后,就能正确的解析客户端发来的数据,当请求处理完以后,再按照客户端要求的格式返回,客户端收到结果后,按照服务端返回的格式进行解析。
所以应用层的主要工作就是定义数据格式并按照对应的格式解读数据。

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

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

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

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

(0)


相关推荐

  • 04 能臣之路

    04 能臣之路在上一集我们讲到当时的最有名的人物鉴赏家和品评家许劭,对曹操又一个评价,就说你是治世之能臣,乱世之奸雄。这句话可以有两种解释,一种是处在治世就是能臣,处在乱世就是奸雄;第二种解释,你治理天下就是能臣,扰乱天下就是奸雄。那么曹操到底是做能臣还是做奸雄呢?其实曹操原本是想做能臣的。   公元174年,二十岁的曹操被举为孝廉,担任郎官。孝就是孝子,廉就是廉士,一个人如果被举为孝廉,那么他就有了做官的资

  • python实现——ASCII谢尔宾斯基地毯

    python实现——ASCII谢尔宾斯基地毯目录一、题目内容:二、思路:三、python代码:4、总结一、题目内容:二、思路:看到这个图案,肯定是自相似的,所以肯定用递归解决这个问题。但是具体怎样的呢?(1)这个其实就是二维矩阵,所以是要判断每个位置是不是要填给定字符,如果确定了每个位置填或不填,那不就解决问题了嘛;(2)用两个for循环不就遍历了所有的位置了么,所以这个也简单,现在的难点在于如何知道每个位置要填,所以用一个函数判断;(3)这个判断的函数需要三个参数,一个是边长数,另外两个是坐标。边界条件是n=1就返回T.

  • android项目开发实战(android简单app实例代码)

    项目名:HoseWork完成时间:2018-10-01~2018-10-10性质:个人项目Demo地址:点击:https://github.com/FishInWater-1999/Android-app运行效果:产品介绍:学习星是一款面向广大学生、终生学习者打造的课程类app,集成了C,C++,Java,python,C#,JavaScript等十几种编程语言的学…

  • pidstat_使用pidstat查看进程资源使用情况

    pidstat_使用pidstat查看进程资源使用情况引言在查看系统资源使用情况时,很多工具为我们提供了从设备角度查看的方法。例如使用iostat查看磁盘io统计信息:linux:~#iostat-d3Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtnsda1.670.0040.000…

  • IDEA使用教程(一)_idea第一次使用教程

    IDEA使用教程(一)_idea第一次使用教程讲一下:1、CreateNewProject这个就是我们创建新项目的地方,一般出在第一次安装或者没有项目时出现这个。2、ImportProject这个就是引入工程,可以支持eclipse开发的项目(注意修改配置文件,坑很深)以及Maven项目。具体引入流程会在后面的博客中具体涉及。3、Open打开现有项目,别的IDE开发的,拿过来打开4、CheckoutfromVers…

    2022年10月13日
  • Mysql 慢查询优化实践

    Mysql 慢查询优化实践

发表回复

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

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