博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
读阮一峰博客《互联网协议入门》笔记
阅读量:5163 次
发布时间:2019-06-13

本文共 2100 字,大约阅读时间需要 7 分钟。

互联网的核心是一系列协议,总称为“互联网协议”。他们对电脑如何组网和连接,做出了详尽的规定。互联网协议按照理论体系分为多层,不同的理论体系的分层结果不一样,但又大同小异。通常将互联网协议分为四层,也有的分为七层,分为五层比较容易理解。

具体分层情况如下:

 

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

这是台湾的叫法,中国大陆的叫法是:应用层、传输层、网络层、数据链路层、物理层。

五层从上至下,越往下越接近硬件底层,越靠上越与人打交道得多。

为了实现一些功能,每一层都定义了许多协议。

 

一、物理层

  最底层的协议,是连接电脑与电脑的物理手段,负责传送0和1的电信号。光缆、双绞线、无线电波等都属于物理层。

二、数据链路层

  单纯的0和1的电信号没有任何意义,必须规定解读方式,这就是链路层的作用,它位于实体层的上方,规定了0和1电信号的分组方式。

  Ethernet:现在主导的链路层协议是以太网(Ethernet)协议,Ethernet规定了一组电信号即为一个数据包,叫做帧(Frame),每一帧分为两部分:标头  (Head)和数据(Data)。标头包含说明(sender、receiver、dataformat等),数据是具体内容。标头长度固定为18字节,数据长度为46~1500字节。

  MAC地址:网卡的地址,即数据包的发送地址和接收地址,这就叫做MAC地址。每块网卡出厂时,都有一个世界独一无二的MAC地址,长度是48个二进制位,用 12个十六进制位数表示。

  有了网卡地址就可以定位网卡和数据包路径了。

  广播:一块网卡为了知道另一块网卡的MAC地址,会把数据包发送给网络内(子网络)的所有计算机发送,让每台计算机自己判断是否为接收方。子网内的所有计算机,会读取数据包的标头,接到接收方的MAC地址,然后就会与自身比较,如果相同就接收这个包,否则就丢弃,这称为广播(broadcasting)。

  有了数据包的定义、网卡的MAC地址、广播的发送方式,链路层就可以在多台计算机之间传送数据了。

三、网络层

  Ethernet依靠MAC地址发送数据,但是效率比较低,而且局限于发送者所在的子网络,如果两台计算机不在同一个子网络,那么广播传不过去。

  所以必须有一种方法,区分哪些MAC地址在同一个网络,哪些不是。如果是同一个子网络,那么就用广播方式发送,否则采用路由方式。这就导致了网络层的产生,他的作用是引进一套新的地址,使得能够区分不同计算机之间是否处于同一个子网络,这套地址就叫做“网络地址”,简称为“网址”。

  “网络层”出现之后,每台计算机有了两个地址,一个是MAC地址,一个是网络地址。MAC地址绑定在网卡上,将数据包发送到该子网中的目标网卡。网络地址由管理员分配,帮助我们确定计算机所在子网络。

  规定网址的协议,叫做IP协议,所定义的地址叫做IP地址。第四版IPv4,由32个二进制位组成,习惯上用分成四段的十位数表示IP地址,从0.0.0.0~255.255.255.255.

 

  IP地址分为两部分,前一部分代表网络,后一部分代表主机。

  子网掩码:表示子网络特征的一个参数。在形式上等同于IP地址,它的网络部分全部为1,主机部分全部为0。

  

  判断两个IP地址是否在同一个子网络:

    将两个要判断的IP地址分别与子网掩码进行AND运算,结果相同则在同一个子网内,否则不是。

  IP协议的主要作用:

    1.为每一个计算机分配IP地址。

    2.确定哪些网络在同一个子网络内。

  IP数据包:根据IP协议所发送的数据包。包含标头和数据。标头包含版本、长度、IP地址等信息。

 

  ARP协议:从IP地址获取MAC地址。

        1.如果不在同一个子网内,则无法获取。

        2.如果在同一个子网内,那么可以用ARP协议得到对方的MAC地址。

  协议:发出一个数据包(包含在以太网数据包中)数据包中包含要查询主机的IP地址。对方的MAC地址填的是FF:FF:FF:FF:FF:FF,表示这是一个广播地址,子网内的每一台主机都会接收到这个数据包,从中取出IP地址,与自身IP地址比较,如果相同,就作出回复,向对方报告自己的MAC地址,否则丢弃。

 

四、传输层

   指定数据包给哪个程序使用。

  端口(port):使用网卡的程序的编号。

  传输层的功能:建立“端口到端口”的通信。

  网络层的作用:建立“主机到主机”的通信。

  只要确定主机和端口,就能实现程序之间的网络交流。Unix系统把主机+端口叫做“套接字”(socket),UDP/TCP都是传输层端对端协议。

 

五、应用层

  作用:规定应用程序的数据格式。

  电脑上网的首要步骤,确定四个参数:

    1.本机IP地址

    2.子网掩码

    3.网关的IP地址

    4.DNS的IP地址

  另外,DHCP协议用于分配动态IP地址。

转载于:https://www.cnblogs.com/DM428/p/7029467.html

你可能感兴趣的文章
机器学习中的F1-score
查看>>
编译安装php5.5.38
查看>>
常用查找数据结构及算法(Python实现)
查看>>
Scrapy框架-CrawlSpider
查看>>
Django(一)框架简介
查看>>
java.lang.OutOfMemoryError: Java heap space
查看>>
popular short sentences
查看>>
Python操作SQLite数据库的方法详解
查看>>
如何透彻的掌握一门机器学习算法
查看>>
用数据分析进行品类管理
查看>>
实验二:编写输出"Hello World!"
查看>>
cocos2d关于glew32.lib错误(转)
查看>>
菜单和工具条(二)
查看>>
面试经验[all]
查看>>
算法笔记
查看>>
6 行为型模式之 - 命令模式
查看>>
Mvc ModelState.isValid为false时,检查时那个字段不符合规则的代码
查看>>
Python 之 基础知识(三)
查看>>
cluster集群
查看>>
搞JAVA在北京月薪15K的朋友来到厦门却很难找到工作
查看>>