美文网首页
网络基础

网络基础

作者: 夜雨聲煩_ | 来源:发表于2018-05-21 10:54 被阅读0次

分层

应用层-传输层-网络层-链接层-实体层

实体层

是电脑和电脑链接的物理手段,负责传送1、0的电信号

链接层

确定1、0分组和解读方式。
确定以太网协议:一组电信号构成一个数据包,叫做帧,每一帧有标头和数据。
标头包括发送者接受者数据类型等,数据就是具体的数据内容
发送者和接受者是如何识别的。所有接入网络的设备都必须有网卡,网卡的地址就是接受发送地址,叫做mac地址
每块网卡都有独一无二的12位16进制编码
具体由发送者传递给接受者的传送方式是广播,多台设备同时接受,根据标头中的地址是否一致判断是否接收处理
有了数据包的定义、网卡的MAC地址、广播的发送方式,"链接层"就可以在多台计算机之间传送数据了。

网络层
由来

广播的方式适用于处于同一个子网络下,但实际上并不处于子网络。
由此诞生网络层,引进一套新的地址来区分计算机是否处于同一子网络,这套地址为网络地址,即网址。
由此计算机有两种地址,mac地址(绑定网卡)和网址(管理员分配),随机组合。
根据网址找到子网络,再根据mac地址找到具体计算机。

IP协议

规定网络地址的协议叫IP协议,所定义的地址被称为IP地址32位2进制位组成,实际用4段十进制数表示,范围为0.0.0.0-255.255.255.255。
IP地址分为两部分,前一部分代表网络,后一部分代表主机,但是两者长度不定,因此不好区分是否在同一子网络。
出现子网掩码,用1规定网络部分,例如255.255.255.0,前24位为网络部分,后8位为主机地址。
例如IP地址172.16.254.1和172.16.254.233的子网掩码都是255.255.255.0,可以明显看出网络部分为前24位,处于同一网络。

IP数据包

根据IP协议发的送数据,叫IP数据包,也是由标头和数据组成。标头包括IP地址等信息,会插入到以太网数据包的标头中。同时IP数据包较大,如果超过以太网数据包会分多条发送。

ARP协议

因为IP数据包是放在以太网数据包中发送的,所以必须知道mac地址。但是知道对方IP不知道对方mac地址。

  • 第一种情况,在同一子网络下,由IP地址对同一子网络发送广播,IP地址相同响应mac。
  • 第二种情况,不在同一自网络下,需用到网关。
传输层
由来

由上根据IP地址与mac地址能在互联网上建立任意两台计算机间的联络通信。
接下来的问题是同一台计算机多个软件使用网络,网页、聊天、游戏等。
也就是说,需要另一个参数来表示哪个程序使用该数据包--端口。每一个使用网卡程序的编号,主机加端口把数据传到指定程序中。
端口为16位2进制数,0到65535,其中0到1023系统占用。
这样看来,相比于网络层建立的主机到主机间的通信,传输层建立的是端口到端口间的通信。所以,只要确定了主机+端口,就能实现程序间的交流,因此,Unix系统把主机+端口称为“嵌套字”,也就是所谓的“Socket”。

UDP协议

现在我们需要再IP数据包中加入端口信息,这需要新的协议,也就是UDP协议。只是简单的在IP数据包的标头中又加入了端口信息。

TCP协议

简单的UDP协议会有一个问题,不知道对方是否收到,可能会造成丢包。因此产生了TCP协议,较为复杂和好资源。但是能确认对方是否收到数据包,通过重新发送确保数据不会丢失。
TCP协议的三次握手。

应用层

应用程序收到"传输层"的数据,接下来就要进行解读。由于互联网是开放架构,数据来源五花八门,必须事先规定好格式,否则根本无法解读。"应用层"的作用,就是规定应用程序的数据格式。

对于计算机用户而言

上网之前需要进行网络配置,使用静态的IP地址由于太专业且不灵活,故使用动态IP地址。

动态IP与DHCP协议

动态IP地址使用DHCP协议,新加入的电脑向DHCP服务器发送请求,收到对方响应后获取自己的IP地址、子网掩码、网关地址、DNS地址。

DNS地址

当我们访问谷歌输入www.google.com时,需要知道其IP,DNS协议帮我们实现此功能。我们向DNS服务器地址8.8.8.8发送一个数据包,收到返回得到其IP地址为172.194.72.105。

子网掩码

接下来我们使用子网掩码判断是否在一个子网络。子网掩码为255.255.255.0,本机IP为192.168.1.100,可以看到我们的IP网络部分为192.168.1.0,谷歌为172.194.72.0,明显不在一个自网络中。必须通过网关192.168.1.1转发,找到谷歌子网络。

服务器响应

服务器收到我们多个以太网数据包,拼接成完整的TCP数据包,读出其中的HTTP请求并作出响应。

相关文章

  • Linux学习第8周基础网络知识

    运维基础网络知识概述网络基础通讯原理介绍网络基础设备概念知识a 什么是交换机b 什么是路由器网络基础设备配置过程 ...

  • Linux网络基础

    Linux网络基础 这是Linux网络基础的笔记,首先介绍了计算机网络的基础知识,然后是Linux的网络设置 参考...

  • 网络基础

    分层 应用层-传输层-网络层-链接层-实体层 实体层 是电脑和电脑链接的物理手段,负责传送1、0的电信号 链接层 ...

  • 网络基础

    一、网络概论 1、何为网络? 网络的定义:网络就是一群通过一定形式连接起来的电脑。 什么是局域网?一个网络可以由两...

  • 网络基础

    一、什么是HTTP协议 答:hypertext transfer protocol(超文本传输协议),TCP/IP...

  • 网络基础

    OSI模型的七层结构 OSI参考模型中每个层的作用: TCP/IP协议分层模型 网络协议划分物理层:以太网 · 调...

  • 网络基础

    获取网络数据 python中使用第三方库requests来获取网络数据import requests 确定请求的地...

  • 网络基础

    3次握手 4次挥手 采用三次握手是为了防止失效的连接请求再次被接收,因而产生错误。如第一次连接请求SYN=1由于网...

  • 网络基础

    http三次握手 第一次握手:客户端发送了一个带有SYN(建立连接)的Tcp报文到服务器,表示客户端想要和服务端建...

  • 网络基础

    OSI参考模型 OSI参考模型是国际标准化组织分析计算机通信,把计算机通信进行的规范和标准化分成了7层:1)应用层...

网友评论

      本文标题:网络基础

      本文链接:https://www.haomeiwen.com/subject/sntfjftx.html