精华内容
下载资源
问答
  • 计算机网络协议——通信协议综述

    万次阅读 多人点赞 2019-09-03 23:20:58
    通信协议综述概述一、为什么学习网络协议1.1 常见的网络协议二、网络分层的真正含义2.1 为什么网络要分层?2.2 浏览点击请求过程2.3 揭秘层与层之间的关系三、ifconfig 命令行的由来3.1 ip地址3.2 无类型域间选路...

    这个专栏的计算机网络协议,我是在极客时间上学习 已经有三万多人购买的刘超老师趣谈网络协议专栏,讲的特别好,像看小说一样学习到了平时很枯燥的知识点,计算机网络的书籍太枯燥,感兴趣的同学可以去付费购买,绝对物超所值,本文就是对自己学习专栏的总结,评论区可以留下你的问题,咱们一起讨论!


    概述

    本文也是根据专栏里的板块,对通信网络协议做一个综述,共分为四节去进行介绍;

    • 为什么学习网络协议?
    • 网络协议分层的真正含义;
    • ifconfig命令行的背后;
    • DHCP和PXE:ip的由来;

    一、为什么学习网络协议

    协议

    协议的三要素是:语法、语义、顺序
    连通互联网世界,只教给一台电脑做什么是不够的,需要教会一大片机器做什么,这就是网络协议。只有通过网络协议,才能够使得一大片机器互相协作、共同完成一件事。

    1.1 常见的网络协议

    采用一个下单购物的场景,看看整个过程运用了哪些网络协议。


    首先,在浏览器中输入一个网址www.taobao.com URL,浏览器只知道名字是www.taobao.com,但是不知道具体的地点,所以不知道该如何访问;

    于是,打开地址簿去查找,可以使用一般的地址簿DNS去查找,也可以采用更为精确的地址簿查找协议HTTPDNS

    无论哪一种查找,最后都会得到一个地址:106.114.134.24(任意赋值),这个是IP地址,相当于你在互联网世界中的“门牌号”。知道了目标地址,浏览器开始打包他们的请求。对于普通的浏览请求,往往会采用HTTP协议;但是对于购物的请求,往往需要进行加密传输,因而使用HTTPS协议。无论是什么协议,里面都会声明“你要买什么和买多少”。HTTP头中包含了请求的信息:

    HTTP
    DNS、HTTP、HTTPS所在的层为应用层;


    经过封装以后,浏览器会将应用层的包交给下一层去完成,然后通过socket编程来实现。下一层是传输层,传输层有两种协议:

    • 无连接的协议UDP
    • 面向连接的协议TCP

    对于支付来说,往往采用TCP协议,所谓的面向连接就是,TCP会保证这个包能够到达目的地。如果不能到达,就会重新发送,直至到达;TCP协议中有两个端口,一个是浏览器监听的端口,一个是电商服务器监听的端口。操作系统往往通过端口来判断,它得到的包应该给哪个进程;
    TCP协议


    传输层封装完之后,浏览器会将包交给操作系统的网络层。网络层的协议是IP协议,在IP协议里面会有源IP地址,即浏览器的所在的机器的IP地址和目标IP地址,也就是电商所在的IP地址
    IP地址
    目标IP就是电商地址的门牌号,操作系统知道了目的地的门牌号,就要想着该如何找到目的地;

    首先先判断,目的地是在本地还是在外地;电商系统一般都在那遥远的地方,就比如你到国外要去海关一样,去外地就要经过网关。操作系统启动以后,就会被DHCP协议配置IP地址,以及默认的网关IP地址192.168.1.1;

    如果是本地通信就是靠吼——ARP协议,操作系统大吼一声,谁是192.168.1.1啊?网关会回答它,我就是。这个本地地址就是MAC地址,吼靠的就是ARP协议;

    IP包

    于是操作系统将IP包交给了下一层,也就是MAC层。网卡再将包发出去,包里面包含MAC地址,因此可以到达网关。网关收到包以后,会根据自己的知识,判断下一步该怎么走。网关往往是一个路由器,到了某个IP地址应该怎么走,这个叫作路由表

    路由器就像唐僧西天取经路过的一个个国家之间的城关,每个城关都连接着两个国家,每一个国家都相当于一个局域网,每个国家的内部都可以使用MAC地址进行通信;

    一旦跨越城关,就需要拿出IP头来,里面记录着IP源地址(东土大唐),欲前往西天拜佛取经(目的IP地址),路过宝地,借宿一晚,请问接下来该如何走?
    在这里插入图片描述
    城关与城关之间的沟通协议叫做路由协议,常用的由OSPF和BGP

    城关与城关之间是一个国家,网络包知道了要去哪个城关的时候,还是要使用国家内部的MAC地址,通过下一个城关的MAC地址,找到下一个城关,然后在问下一步该怎么走,一直走到最后一个城关。最后一个城关知道这个网络包要去的地方。于是,对着这个国家吼一声,谁是目标IP啊?目标服务器就会回复一个MAC地址。网络包过关后,通过这个MAC地址就能找到目标服务器;


    目标服务器发现MAC地址对上了以后,取下MAC头来,发送给操作系统的网络层,发现IP地址对上了,在取下IP头。IP头里会写上一层封装的TCP协议,然后交给传输层,即TCP层

    在这一层中,对于收到的每个包,都会有一个回复说明收到了。这个回复的包绝非这次单次请求的结果,例如购物是否成功,扣了多少钱等,而仅仅是TCP层的一个说明,即收到之后的回复。当然这个回复,会沿着刚才来的方向走回去,报个平安,防止在传输过程中造成的丢包等。

    如果过一段时间还没有收到的话,发的端TCP层会重新发送这个包,还是上面的请求,直到收到平安到达的回复。这个重试绝非你的浏览器重新将下单这个动作重新请求一次。对于浏览器来讲,就发送了一次下单请求,TCP层不断自己闷头重试。除非TCP这一层出了问题,例如连接断了,才轮到浏览器的应用层重新发送下单请求。

    当网络包平安到达TCP层之后,TCP头中有目标端口号,通过这个端口号,可以找到电商网站的进程正在监听这个端口号,假设一个Tomcat,将这个包发给电商网站。

    电商网站的进程得到的是HTTP请求知道要买什么东西,买多少。往往一个电商网站最初接待请求的这个Tomcat只是个接待员,负责统筹处理这个请求,而不是所有的事情都自己做。例如,这个接待员要告诉专门管理订单的进程,登记要买某个商品,买多少,要告诉管理库存的进程,库存要减少多少,要告诉支付的进程,应该付多少钱,等等。

    如何告诉相关的进程呢?往往通过RPC调用,即远程过程调用的方式来实现。远程过程调用就是当告诉管理订单进程的时候,接待员不用关心中间的网络互连问题,会由RPC框架统一处理。RPC框架有很多种,有基于HTTP协议放在HTTP的报文里面的,有直接封装在TCP报文里面的。

    当接待员发现相应的部门都处理完毕,就回复一个HTTPS的包,告知下单成功。这个HTTPS的包,会像来的时候一样,经过千难万险到达你的个人电脑,最终进入浏览器,显示支付成功;

    看到这里相信你对于自己之前学过的计算机网络知识有一个连串的感觉了吧,很多公司的面试题都会问在浏览器中输入一个URL的整个过程? 把这一连串说完,相信你的面试官也会觉得你学的很扎实;
    网络协议

    二、网络分层的真正含义

    计算机网络知识点需要背诵,但是更是要理解透彻;

    2.1 为什么网络要分层?

    因为不同层次之间有不同的沟通方式,叫做协议。就像一家公司也是分“层次”,分为总经理、经理、组长、员工,每个人之间都有不同的沟通方式;

    因为复杂的程序都要分层,想象网络包就是一段Buffer,或者一块内存,是有格式的。同时,想象自己是一个处理网络包的程序,而且这个程序可以跑在电脑上,可以跑在服务器上,可以跑在交换机上,也可以跑在路由器上。你想象自己有很多的网口,从某个口拿进一个网络包来,用自己的程序处理一下,再从另一个网口发送出去;

    当然网络包的格式很复杂,这个程序也很复杂,复杂的程序都要分层,这是程序设计的要求。

    2.2 浏览点击请求过程

    浏览点击请求过程如下所示:
    在这里插入图片描述
    在这里插入图片描述
    假设你发现这个包的MAC地址和你的相符,那说明就是发给你的,于是需要调用process_layer3(buffer):这个时候,Buffer里面往往就没有二层的头了,因为已经在上一个函数的处理过程中拿掉了,或者将开始的偏移量移动了一下。在这个函数里面,摘掉三层的头,看看到底是发送给自己的,还是希望自己转发出去的;

    如果IP地址不是自己的,那就应该转发出去;如果IP地址是自己的,那就是发给自己的。根据IP头里面的标识,拿掉三层的头,进行下一层的处理,到底是调用process_tcp(buffer)呢,还是调用process_udp(buffer)呢?

    假设地址是TCP,就会调用process_tcp(Buffer)。这时候,Buffer里面没有三层的头,就需要查看四层的头,看这是一个发起,还是一个应答,又或者是一个正常的数据包,然后分别由不同的逻辑进行处理。如果是发起或者应答,接下来可能要发送一个回复包;如果是一个正常的数据包,就需要交给上层了。交给谁呢?是不是有**process_http(buffer)**函数呢?

    如果你是一个网络包处理程序,你不需要有process_http(buffer),而是应该交给应用去处理。交给哪个应用呢?在四层的头里面有端口号,不同的应用监听不同的端口号。如果发现浏览器应用在监听这个端口,那你发给浏览器就行了。至于浏览器怎么处理,和你没有关系;

    浏览器是解析HTML,显示出页面来。当你再次点击鼠标,点击动作被浏览器捕获,于是浏览器知道又会发起另一个HTTP请求了,于是使用端口号,将请求发送给你。

    你应该调用send_tcp(buffer)。不用说,Buffer里面就是HTTP请求的内容。这个函数里面加一个TCP的头,记录下源端口号。浏览器会给你目的端口号,一般为80端口;

    然后调用send_layer3(buffer)。Buffer里面已经有了HTTP的头和内容,以及TCP的头。在这个函数里面加一个IP的头,记录下源IP的地址和目标IP的地址;随后调用send_layer2(buffer),**Buffer里面已经有了HTTP的头和内容、TCP的头,以及IP的头。这个函数里面要加一下MAC的头,记录下源MAC地址,得到的就是本机器的MAC地址和目标的MAC地址。**不过,这个还要看当前知道不知道,知道就直接加上;不知道的话,就要通过一定的协议处理过程,找到MAC地址。反正要填一个,不能空着;

    2.3 揭秘层与层之间的关系

    现实生活中,往往是员工说一句,组长补充两句,然后经理补充两句,最后总经理再补充两句。但是在网络世界,应该是总经理说话,经理补充两句,组长补充两句,员工再补充两句。

    TCP在三次握手时,TCP每一个消息都会带着IP层和MAC层。因为,TCP每次发送一个消息,IP层和MAC层的所有机制都要重新运行一次,所以TCP在三次握手时,IP和MAC也运行了好久。

    只要是在网络上跑的包,都是完整的。可以有下层没上层,绝对不可能有上层没下层;如果一个HTTP协议的包跑在网络上,它一定是完整的。无论这个包经过哪些设备,它都是完整的。所谓的二层设备、三层设备只是跑在设备上的程序不同;

    • 二层设备:只把MAC头摘下来,看看到底是丢弃、转发,还是自己留着;
    • 三层设备:把MAC头摘下来之后,再把IP头摘下来,看看到底是丢弃、转发,还是自己留着;

    三、ifconfig 命令行的由来

    ifconfig是linux系统中查询ip地址的一个命令,windows是ipconfig;

    3.1 ip地址

    IP地址是一个网卡在网络世界的通讯地址,相当于我们现实世界的门牌号。
    例如:10.100.122.2就是一个IP地址,地址被分为四个部分,每个部分8个bit,所以IP地址总共是32位;

    IP地址被分成了5类,A-E类
    IP地址
    在网络地址中,A、B、C类主要分为两个部分,前一部分是网络号,后一部分是主机号。大家都是六单元1001号,你是小区A的,我是小区B的;

    ip地址范围

    3.2 无类型域间选路(CIDR)

    无类型域间选路,简称CIDR,将IP地址一分为二,前面是网络号,后面是主机号。10.100.122.2/24,这个IP地址中有一个斜杠,斜杠后面有个数字24,这种地址表示形式,就是CIDR,后面24的意思是,32位中,前24位是网络号,后8位是主机号。

    伴随着CIDR存在的,一个是广播地址,10.100.122.125,如果发送这个地址,所有10.100.122网络内的机器都可以收到,另一个是子网掩码,255.255.255.0

    将子网掩码和IP地址按位计算AND,就可以得到网络号,那么上面的ip地址与子网掩码按位取AND,网络号就是10.100.122.0;(1和任意数值取AND,值不变;0和任意数值取AND,即为0);

    3.3 公有IP地址和私有IP地址

    在这里插入图片描述
    平时我们在办公室、学校、家里的IP地址,一般都是私有IP地址,因为这些地址,允许组织内部的IP地址自己管理、自己分配,因此可以重复。就比如你们学校可能由六单元一号,我们学校可能也有六单元1号。

    但是,一旦离开学校就需要使用公有IP地址,就像上海市南京西路88号,这个是国家同统一分配的。公有IP地址,由相关的组织去分配,如果使用,需要购买。

    192.168.0.x,是最常见的私有IP地址,家里有wifi,对应就有一个ip地址,但是一般家庭中的上网设备不会超过256个,所以/24基本就够用了。

    举例:CIDR中容易犯错的点
    16.158.165.91/22,这个CIDR,求网络中的第一个地址、子网掩码和广播地址
    16.158的部分不会动,它占了前16位。中间的165,变为二进制为‭10100101‬。除了前面的16位,还剩6位。所以,这8位中前6位是网络号,16.158.<101001>,而**<01>.91是机器号**;所以第一个地址是16.158.<101001><00>.1,即16.158.164.1,子网掩码是255.255.<111111><00>.0,即255.255.252.0,广播地址是16.158.<101001><11>.255,即16.158.167.255.

    这五类地址中,还有一类D类是组播地址,使用这一类地址,属于某个组的机器都能够收到,这就有点类似于公司中大家加入了一个邮件组,发送邮件,加入这个组的大家都能收到;

    IP地址的后面有个scope对于eth0这张网卡来讲,是global,说明这张网卡是可以对外的,可以接收来自各个地方的包。对于lo来讲,是host,说明这张网卡仅仅可以供本机相互通信;

    lo又被称为loopback,又称环回接口,往往会被分配到127.0.0.1这个地址,这个地址可以用于本机通信,经过内核处理以后直接返回,不会在任何网络中出现;

    3.4 MAC地址

    在IP地址的上一行是link/ether fa:16:3e:c7:79:75 brd ff:ff:ff:ff:ff:ff,这个被称为MAC地址,是一个网卡的物理地址,用十六进制,6个byte表示。既然已经知道了MAC地址,是不是意味着直接可以通过MAC地址进行通信啊?

    个网络包要从一个地方传到另一个地方,除了要有确定的地址,还需要有定位功能。 而有门牌号码属性的IP地址,才是有远程定位功能的。

    比如:你要去某某大学某某学院找小明,你在路上问,有些人不知道某某学院,但是可以给你说某某学校在哪里,但是你直接根据 小明的身份证号 问别人知不知道他在哪个学院,那么肯定没人知道;

    MAC地址更像是身份证,是一个唯一的标识。它的唯一性设计是为了组网的时候,不同的网卡放在一个网络里面的时候,可以不用担心冲突。从硬件角度,保证不同的网卡有不同的标识

    MAC地址是有一定的定位功能的,你可以根据ip地址找到某某学校某某学院某号楼某个实验室,当你到了以后,大吼一声,小明 是哪位,那么他听到了 就会回应你;

    MAC地址的通信范围比较小,局限在一个子网里面。例如,从192.168.0.2/24访问192.168.0.3/24是可以用MAC地址的。一旦跨子网,即从192.168.0.2/24到192.168.1.2/24,MAC地址就不行了,需要IP地址起作用了

    总结:

    • ip是地址,有定位功能;MAC是身份证,无定位功能;
    • CIDR可以用来判断是不是本地人;
    • IP分为公有地址IP和私有地址IP

    四、DHCP和PXE:ip的由来

    只要是在网络上跑的包可以有下层没上层,但是不可以有上层没下层;当一个数据包有自己的ip地址,有目的地的ip地址,但是包发不出去的原因是因为,MAC层还没有填写。

    Linux的默认逻辑是,如果是一个跨网段的调用,它便不会将包直接发送到网络上,而是企图将包发送到网关。网关要和当前的网络至少一个网卡是同一个网段;

    4.1 动态主机配置协议(DHCP)

    动态主机配置协议(Dynamic Host Configuration Protocol),简称DHCP

    有了这个协议,网络管理员就轻松多了。他只需要配置一段共享的IP地址。每一台新接入的机器都通过DHCP协议,来这个共享的IP地址里申请,然后自动配置好就可以了。等人走了,或者用完了,还回去,这样其他的机器也能用。

    如果是数据中心里面的服务器,IP一旦配置好,基本不会变,这就相当于买房自己装修。DHCP的方式就相当于租房。你不用装修,都是帮你配置好的。你暂时用一下,用完退租就可以了。

    4.2 解析DHCP的工作方式

    当一台机器加入一个新的网络的时候,只知道自己的mac地址,先吼一句,有人吗?这一步就是DHCP Discover

    新来的机器使用IP地址0.0.0.0发送了一个广播包,目的IP地址为255.255.255.255。广播包封装了UDP,UDP封装了BOOTP。其实DHCP是BOOTP的增强版,但是如果你去抓包的话,很可能看到的名称还是BOOTP协议;

    在这个广播包里,新人喊一句:我是新来的(Boot request),我的MAC地址是多少,但是我还没有ip地址,谁能给我一个?
    在这里插入图片描述
    网络管理员在网络配置了DHCP server,就相当于IP管理员,MAC地址是其唯一的身份。只有MAC地址唯一,IP管理员才能知道这是一个新人,需要租给它一个新的IP地址,这个过程就是DHCP Offer.

    DHCP Offer格式如下:
    里面会有给新人分配的地址;
    DHCP Offer
    DHCP Server仍然使用广播地址作为目的地址。如果同时收到多个IP地址,那么会选择最先到达的DHCP Offer,并且会向网络发送一个DHCP Request广播数据包,其中包含客户端的MAC地址、接受的租约中的IP地址,提供租约的DHCP服务器地址等,并且告诉所有的DHCP Offer,它将接受哪一台服务器所提供的IP地址,感谢其他DHCP服务器,并且请求撤销他们提供的ip地址,以便提供给下一个租用者。

    在这里插入图片描述
    由于还没有收到DHCP server的最后确认,客户端依然使用自己的源ip地址0.0.0.0、255.255.255.255为目标地址进行广播。在BOOTP里面,接受某个DHCP Server的分配 ip;

    当DHCP Server接收到客户机的DHCP request之后,会广播返回给客户机的一个DHCP ACK消息包,表明已经接受客户机的选择,并且将这一IP地址合法租用信息和其他的配置信息都放到该广播包中,发送给客户机,欢迎它加入网络大家庭;

    在这里插入图片描述
    租约达成以后,还是要广播一下,让大家都知道呢

    ip地址的收回和续租

    如果需要续租的话,需要提前租期的50%,客户机会在租期过去50%的时候,直接向为其提供ip地址的DHCP Server发送DHCP Request消息包,客户机收到该服务器的DHCP ACK消息包之后,会根据包中提供的新的租期,以及其他的已经更新的TCP/IP参数更新自己的配置,这样,ip的租用更新就已经完成了。

    网络管理员不仅能自动分配IP地址,还能帮你自动安装操作系统;

    4.3 预启动执行环境(PXE)

    普通的笔记本一般不会有这种雪球,已经预装好了操作系统。但是数据中心的管理员,可能一下子拿到了几百台空的机器,一台一台装就累死了。

    管理员们不仅希望可以分配好ip地址,还可以自动安装系统,装好系统之后会自动分配IP地址,直接启动最好了。

    安装操作系统的过程,只能插在BIOS启动之后了。因为没安装系统之前,连启动扇区都没有。因而这个过程叫做预启动执行环境(Pre-boot Execution Environment),简称PXE。

    默认的DHCP Server是需要配置的,无非是我们配置IP的时候所需要的IP地址段、子网掩码、网关地址、租期等。如果想使用PXE,则需要配置next-server,指向PXE服务器的地址,另外要配置初始启动文件filename。

    这样PXE客户端启动之后,发送DHCP请求之后,除了能得到一个IP地址,还可以知道PXE服务器在哪里,也可以知道如何从PXE服务器上下载某个文件,去初始化操作系统。

    解析PXE的工作过程

    首先是启动PXE客户端第一步是通过DHCP协议告诉DHCP Server,我啥都没有,DHCP Server便租给它一个ip地址,同时给他PXE服务器的地址、启动文件pexlinux.0;

    其次,PXE客户端知道要去PXE服务器下载这个文件后,就可以初始化机器。于是便开始下载,下载的时候使用的是TFTP协议。所以PXE服务器上,往往还需要有一个TFTP服务器。PXE客户端向TFTP服务器请求下载这个文件,TFTP服务器说好啊,于是就将这个文件传给它;

    然后,PXE客户端收到这个文件后,就开始执行这个文件。这个文件会指示PXE客户端,向TFTP服务器请求计算机的配置信息pxelinux.cfg。TFTP服务器会给PXE客户端一个配置文件,里面会说内核在哪里、initramfs在哪里。PXE客户端会请求这些文件;

    最后,启动Linux内核,一旦启动了操作系统,啥都好办。

    在这里插入图片描述

    总结


    本文是对通信协议综述的总结,共分为四节去介绍:

    1. 为什么学习网络协议?
      通过一个简简单单的下单过程,中间牵扯到这么多的协议,展开介绍;

    2. 网络协议分层的真正含义
      始终想象自己是一个处理网络包的程序:如何拿到网络包,如何根据规则进行处理,如何发出去;
      始终牢记一个原则:只要是在网络上跑的包,都是完整的。可以有下层没上层,绝对不可能有上层没下层;

    3. ifconfig命令行的背后;
      IP是地址,有定位功能;MAC是身份证,无定位功能;
      CIDR可以用来判断是不是本地人;
      IP分公有的IP和私有的IP。后面的章节中我会谈到“出国门”,就与这个有关。

    4. DHCP和PXE:ip的由来;
      DHCP协议主要是用来给客户租用IP地址,和房产中介很像,要商谈、签约、续租,广播还不能“抢单”;
      DHCP协议能给客户推荐“装修队”PXE,能够安装操作系统,这个在云计算领域大有用处;

    展开全文
  • 网络协议类型、优缺点、作用

    万次阅读 2018-04-01 09:36:05
    一、网络协议的定义  ● 网络协议是一种特殊的软件,是计算机网络实现其功能的基本机制  ● 网络协议的本质是规则,即各种硬件和软件必须遵循的共同规则  ● 网络协议并不是一套单独的软件,他融合于其他所有...

    一、网络协议的定义

         ● 网络协议是一种特殊的软件,是计算机网络实现其功能的基本机制

         ● 网络协议的本质是规则,即各种硬件和软件必须遵循的共同规则

         ● 网络协议并不是一套单独的软件,他融合于其他所有软件系统中,协议在网络中无所

            不在

    二、常用的网络协议

           TCP  UDP     HTTP   HTTPS    FTP  DNS  Telnet    TCP/IP    SSL/TLS   websocket

    1、TCP协议,(transmission control protocol),传输控制协议。

          定义:TCP协议是一种面向连接的、可靠的、传输速度慢、基于字节流传输层通信协议

                   在简化的计算机网络OSI模型中完成第四层传输层所指定的功能。

     

    提供可靠的端到端的通信,可以保证接收方收到的数据与发送方发送的数据完全一致,能够保证数据不丢失、无差错,同时还有流量控制和拥塞控制的功能,所以TCP协议比较复杂,能够为要求可靠性的应用层协议提供服务,如文件传输、邮件收发、网页浏览、远程登录等等

     

     

          作用:主要用于在主机间建立一个虚拟连接,以实现高可靠性的数据包交换

     

         IP协议的作用:可以进行IP数据包的分割和组装

         IP协议的缺点:但是通过IP协议并不能清楚的了解到数据包是否顺利的发送给目标计算机

         TCP的特点

    (1)面向连接的

    (2)提供可靠的数据传输服务

    (3)提供流量控制。TCP能够控制进程发送数据的速率,保证另一端不被大量的数据“淹没”而出现溢出。

    (4)提供拥塞控制。当网络出现拥塞的时候,TCP能够减小向网络注入数据的速率和数量,缓解拥塞。

    (5)提供全双工通信。TCP提供双向的数据传输服务。TCP允许通信双方的应用进程在任何时候发送数据。TCP连接的两端都设有发送缓存和接收缓存,用来临时存放双向通信的数据。

    (6)TCP是面向字节流的。TCP中的“流”是指流入到进程或从进程流出的字节

     

    2、UDP协议

    用户数据包协议(User Datagram Protocol)

    UDP协议不能保证数据不丢失、无差错,也不能保证接收方收到数据的顺序和发送方发送数据的顺序一样。UDP协议比较简单,但效率比较高,能为对可靠性要求不高,对实时性要求比较高的应用提供服务,如传输音频和视频。

    定义:UDP协议是OSI(Open System Interconnection,开放式系统互联)模型中的一种

    无连接的、简单不可靠的、传输速度快、面向事务的传输层通信协议。

    UDP协议的特点

     

    (1)无连接的。

    (2)UDP是一种尽力而为的服务方式,不提供可靠的数据传输服务(比如数据的丢失、重复和无序)。

    (3)UDP是高效的传输协议。

    (4)UDP没有拥塞控制和流量控制。

     

    TCP和UDP协议的区别

     

    A、TCP面向连接(打电话要先拨号建立连接);

          UDP是无连接的(发送数据之前不需要建立连接)。

    B、TCP提供可靠的服务(通过TCP连接传送的数据,无差错、不丢失、不重复、按序到达);

          UDP尽最大努力交付,不保证可靠交付。

    C、TCP基于字节流(实际上是TCP把数据看成一连串无结构的字节流)。

          UDP是基于报文的,UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低

         (对实时应用很有用,IP电话,实时视频电话)。

    D、TCP保证数据正确性;

          UDP可能丢包。

    E、TCP保证数据顺序;

          UDP不保证。

    F、每一条TCP连接只能是点到点的;

         UDP支持一对一、一对多、多对一、多对多的交互通信

    G、TCP的逻辑通信信道是全双工的可靠信道

          UDP则是不可靠信道

    H、TCP的首部开销20字节

           UDP的首部开销8字节

    I、TCP要求系统资源较多,UDP较少

     

    3、TCP/IP协议

         实质: TCP/IP其实就是TCP和IP等协议的组合,即传输控制协议/互联网协议。

        应用场景:主要用于在安装了不同硬件和不同操作系统的计算机之间,实现可靠的网络通

                         信。TCP协议可以保证数据包传输的可靠性;IP协议可以保证数据包被传输到

                        目标计算机上。

    4、FTP协议

         文件传输协议(File Transfer Protocol)。

         用途:主要用于在两台计算机之间实现文件的上传与下载,其中一台计算机作为FTP的客

                    户端,另一台作为FTP的服务端。通过FTP协议可以上传、下载几乎所有的文件类

                    型,比如txt  exe  doc  pdf   mp3  zip rar等

    5、Telnet协议

          定义:远程登录协议,是Internet上普遍采用的仿真网络协议,同时Telnet也是从远程

                    位置登录常用的程序。

          作用:通过Telnet程序登录远程Telnet计算机。一般采用授权的用户名和密码登录。登录

                    之后就如同使用本地计算机一样,使用远程计算机的的硬盘、运行应用程序等。

    6、DNS协议

    DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。

    作用

    ● 该协议主要负责将域名转换成网络可以识别的IP地址(www.cce.com.cn转换成221.122.32.15),域名和IP地址是一一对应的。

    ● 因为访问网站的时候,最终都是转换成IP地址进行访问的

    ● 直接设置DNS服务器。可以提高网络的访问速度,保证访问的正确性

     

    DNS的两种查询方式:递归查询和迭代查询

    a)递归解析
    当局部DNS服务器自己不能回答客户机的DNS查询时,它就需要向其他DNS服务器进行查询。此时有两种方式,如图所示的是递归方式。局部DNS服务器自己负责向其他DNS服务器进行查询,一般是先向该域名的根域服务器查询,再由根域名服务器一级级向下查询。最后得到的查询结果返回给局部DNS服务器,再由局部DNS服务器返回给客户端。

    b)迭代解析

    当局部DNS服务器自己不能回答客户机的DNS查询时,也可以通过迭代查询的方式进行解析,如图所示。局部DNS服务器不是自己向其他DNS服务器进行查询,而是把能解析该域名的其他DNS服务器的IP地址返回给客户端DNS程序,客户端DNS程序再继续向这些DNS服务器进行查询,直到得到查询结果为止。也就是说,迭代解析只是帮你找到相关的服务器而已,而不会帮你去查。比如说:baidu.com的服务器ip地址在192.168.4.5这里,你自己去查吧,本人比较忙,只能帮你到这里了。

     

    7、HTTP协议

         超文本传输协议( Hyper Text Transfer Protocol )

        定义:● 是用于从万维网(www)服务器传输超文本到本地浏览器的传送协议

                  ● 是 基于TCP/IP通信协议来传递数据(HTML、图片、查询结果等)的协议

                  ● 是一个属于应用层的、面向对象的协议

                  ● 由于其简捷、快速的适用于分布式超媒体信息系统

        工作原理:HTTP协议工作在客户端-服务端架构上。

                        浏览器作为HTTP客户端通过URL向HTTP服务端(即WEB服务器)发送请求,

                        WEB服务器根据接收到的请求后,向客户端发送响应信息。

        HTTP请求/响应的步骤:

                   A、客户端连接到web服务器:一个HTTP客户端通常是浏览器,与web服务器的

                        HTTP端口(默认为80)建立一个TCP套接字连接

                   B、发送HTTP请求:通过TCP套接字,客户端向web服务器发送一个文本的请求

                        报文,一个请求报文由请求行、请求头部、空行和请求数据组成

                   C、服务器接收请求并返回HTTP响应:WEB服务器解析请求,定位请求资源。服

                         务器将资源副本写到TCP套接字,由客户端读取。一个响应由状态行、响应头

                         部、空行、响应数据组成

                   D、释放TCP连接:若connection模式为close,则服务器主动关闭TCP连接,客户

                         端被动关闭连接,释放TCP连接;若connection模式为keepalive,则该连接

                         会保持一段时间,在该时间内可以接着接收请求

                    E、客户端(浏览器)解析HTML内容:客户端首先解析状态行,查看表明请求是

                         否成功的状态代码  ;然后解析每一个响应头,向应头告知以下为若干字节的

                          HTML文档和文档的字符集。客户端读取响应数据HTML,根据HTML的语法

                          对其进行格式化,并在浏览器窗口中显示

         特点:● 无连接:其含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收

                       到客户的应答后,断开连接,可以节省传输时间

                   ● 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。

                                   缺少状态意味着如果后续处理需要前面的信息,则必须重传。这可能导致

                                   每次连接传送的数据量增大。但是在服务器不需要先前信息时,他的应答

                                   就较快

                    ● 简单快速:客户向服务器发送请求时,只需传送请求方法和路径。

                                       请求方法常用POST  GET  HEAD,每种方法规定了客户与服务器联系的

                                       类型不同。

                                       HTTP协议简单,似的HTTP服务器的程序规模小,因而通信速度快

                     ● 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type

                                  标记

                     ● 支持B/S   C/S模式

        HTTP请求方法:HTTP1.0定义三种方法,即POST   GET   HEAD

                                  HTTP1.1新增5种方法,OPTIONS   PUT  DELETE  TRACE  CONNECT

                     ● GET:请求指定页面信息,并返回实体主体

                     ● POST:向指定资源提交数据进行处理请求(例如提交表单、上传文件)

                     ● HEAD:类似GET请求,只不过返回的响应中没有具体的内容,用于获取报头

                     ● PUT:从客户端向服务器传送的数据取代指定的文档的内容

                     ●  DELETE:请求服务器删除指定的页面

                     ●  CONNECT:HTTP/1.1协议中预留给能够将连接改为管道式的代理服务器

                     ●  OPTIONS:允许客户端查看服务器的性能

                     ● TRACE:回显服务器收到的请求,主要用于测试或诊断

        POST和GET的区别

                     ● GET提交的数据会显示在地址栏中(即数据放在URL之后,以?分割URL和传输的

                        数据,参数之间以&相连);

                       POST提交的数据放在HTTP包的body中,因此地址栏不会显示提交的数据

                     ● GET提交的数据大小有限制(因为浏览器对URL的长度有限制);

                        POST提交的数据没有限制

                     ● GET方式提交数据会带来安全问题,比如登录页面,通过GET方式提交数据时,

                        用户名和密码会出现在地址栏上,如果页面可以被缓存或者其他人可以访问这台

                        机器,就可以从历史记录获得该用户的用户名和密码。

                         POST不存在安全问题

                    ● GET方式需要使用Request.QueryString来取得变量的值

                        POST通过Request.Form来取得变量的值

    8、SSL/TLS协议

         ● SSL(Secure Sockets Layer),安全套接层。上世纪90年代由网景公司设计。原先互

             联网使用的HTTP协议是明文的,存在很多缺点(传输内容会被偷窥(嗅探)和篡改)。

             SSL就是为了解决这些问题

          ● 到了1999年,SSL因为广泛应用,已经成为互联网上的事实标准。IETF就在那一年把

              SSL标准化,标准化名称改为TLS(Transport  Layer  Security),传输层安全协议

           ● SSL和TLS是同一个东西的不同阶段

    9、HTTPS协议

         定义:HTTPS协议是HTTP协议和SSL/TLS协议的组合

       为什么要设计HTTPS成这样:

              ● 兼容性:基于TCP传输;单独使用新的协议将HTTP,把HTTP协议包裹起来

              ● 可扩展性

              ● 保密性(防泄密)

              ●  完整性(防篡改)

              ● 真实性(防假冒)

              ● 性能

       加密和解密的定义:

             “加密”的过程,就是把“明文”变成“密文”的过程。“解密”的过程就是将“密文”

              变成“明文”的过程。在这两个过程中,都需哟啊“密钥”。

       对称加密:“加密”和“解密”使用“相同密钥”

       非对称加密:加密”和“解密”使用“不同密钥”

       对称加密和非对称加密的优缺点

             ● ”非对称加密“的功能比”对称加密“的功能要多

             ● ”非对称加密“涉及复杂的数学问题,所以其性能相对”对称加密“要差

     

    10、websocket协议

    1)WebSocket 是Web应用程序的传输协议,是一个Html5协议,它提供了双向的,按序到达的数据流

    2)WebSocket的连接是持久的,他通过在客户端和服务器之间保持双工连接,服务器的更新可以被及时推送给客户端,而不需要客户端以一定时间间隔去轮询 

    3)WebSocket 连接允许客户端和服务器之间进行全双工通信,以便任一方都可以通过建立的连接将数据推送到另一端。

    4)WebSocket 只需要建立一次连接,就可以一直保持连接状态,这相比于轮询方式的不停建立连接显然效率要大大提高

     

    11、RPC( Remote Procedure Call,远程过程调用 )协议与HTTP协议的区别

    远程过程调用直观说法就是A通过网络调用B的过程方法

    首先了解OSI网络七层模型

    • 第一层:应用层。定义了用于在网络中进行通信和传输数据的接口;
    • 第二层:表示层。定义不同的系统中数据的传输格式,编码和解码规范等;
    • 第三层:会话层。管理用户的会话,控制用户间逻辑连接的建立和中断;
    • 第四层:传输层。管理着网络中的端到端的数据传输;
    • 第五层:网络层。定义网络设备间如何传输数据;
    • 第六层:链路层。将上面的网络层的数据包封装成数据帧,便于物理层传输;
    • 第七层:物理层。这一层主要就是传输这些二进制数据

    五层协议结构里面是没有表示层和会话层的。应该说它们和应用层合并。

     

    1)最本质的区别,就是RPC主要是基于TCP/IP协议的,而HTTP主要是基于HTTP协议的,HTTP协议是在传输层协议TCP之上的应用层,效率上,RPC当然是要更胜一筹

    2)一般来说,RPC服务主要是针对大型企业的,而HTTP服务主要是针对小企业的,因为RPC效率更高,而HTTP服务开发迭代会更快

     

    RPC服务

    从三个角度来介绍RPC服务:RPC架构,同步异步调用、流行的RPC框架

    1)RPC架构

    包含了四个核心的组件,分别是Client ,Server,Client Stub以及Server Stub,这个Stub大家可以理解为存根。分别说说这几个组件:

    • 客户端(Client),服务的调用方。
    • 服务端(Server),真正的服务提供者。
    • 客户端存根,存放服务端的地址消息,再将客户端的请求参数打包成网络消息,然后通过网络远程发送给服务方。
    • 服务端存根,接收客户端发送过来的消息,将消息解包,并调用本地的方法

    2)流行的RPC框架

    (1)gRPC是Google最近公布的开源软件,基于最新的HTTP2.0协议,并支持常见的众多编程语言

    (2)Thrift是Facebook的一个开源项目,主要是一个跨语言的服务开发框架

    (3)Dubbo是阿里集团开源的一个极为出名的RPC框架,在很多互联网公司和企业应用中广泛使用

     

     

     

     

    展开全文
  • 五层网络协议层功能,层协议

    万次阅读 多人点赞 2018-05-11 11:21:01
    一、OSI七层模型OSI七层协议模型主要是:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)。三、五层...

    一、OSI七层模型

    OSI七层协议模型主要是:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)。

    三、五层体系结构

    五层体系结构包括:应用层、运输层、网络层、数据链路层和物理层。 
    五层协议只是OSI和TCP/IP的综合,实际应用还是TCP/IP的四层结构。为了方便可以把下两层称为网络接口层。

    三种模型结构: 
    这里写图片描述

    这里写图片描述

    四、各层的作用

    1、物理层:比特

    主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。   

    2、数据链路层:帧

    定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。   

    3、网络层:数据报

    在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层。   

    4、运输层:报文段/用户数据报

    定义了一些传输数据的协议和端口号(WWW端口80等),如: 
    TCP(transmission control protocol –传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据) 
    UDP(user datagram protocol–用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。 主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做段。   

    5、会话层:

    通过运输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)   

    6、表示层:

    可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换。   

    7.应用层:报文

    1 第五层——应用层(application layer) 

    • 应用层(application layer):是体系结构中的最高。直接为用户的应用进程(例如电子邮件、文件传输和终端仿真)提供服务
    • 在因特网中的应用层协议很多,如支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,支持文件传送的FTP协议,DNS,POP3,SNMP,Telnet等等。

    2. 第四层——运输层(transport layer)

    • 运输层(transport layer):负责向两个主机中进程之间的通信提供服务。由于一个主机可同时运行多个进程,因此运输层有复用和分用的功能
    • 复用,就是多个应用层进程可同时使用下面运输层的服务。
    • 分用,就是把收到的信息分别交付给上面应用层中相应的进程。
    • 运输层主要使用以下两种协议: 
      (1) 传输控制协议TCP(Transmission Control Protocol):面向连接的,数据传输的单位是报文段,能够提供可靠的交付。 
      (2) 用户数据包协议UDP(User Datagram Protocol):无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能提供“尽最大努力交付”。

    3. 第三层——网络层(network layer)

    • 网络层(network layer)主要包括以下两个任务:
    • (1) 负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报,或简称为数据报。
    • (2) 选中合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机。
    • 协议:IP,ICMP,IGMP,ARP,RARP

    4. 第二层——数据链路层(data link layer)

    • 数据链路层(data link layer):常简称为链路层,我们知道,两个主机之间的数据传输,总是在一段一段的链路上传送的,也就是说,在两个相邻结点之间传送数据是直接传送的(点对点),这时就需要使用专门的链路层的协议。
    • 在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点之间的链路上“透明”地传送帧中的数据。
    • 每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。典型的帧长是几百字节到一千多字节。
    • 注:”透明”是一个很重要的术语。它表示,某一个实际存在的事物看起来却好像不存在一样。”在数据链路层透明传送数据”表示无力什么样的比特组合的数据都能够通过这个数据链路层。因此,对所传送的数据来说,这些数据就“看不见”数据链路层。或者说,数据链路层对这些数据来说是透明的。 
      (1)在接收数据时,控制信息使接收端能知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。 
      (2)控制信息还使接收端能检测到所收到的帧中有无差错。如发现有差错,数据链路层就简单地丢弃这个出了差错的帧,以免继续传送下去白白浪费网络资源。如需改正错误,就由运输层的TCP协议来完成。

    5. 第一层——物理层(physical layer)

    • 物理层(physical layer):在物理层上所传数据的单位是比特。物理层的任务就是透明地传送比特流。

    6. 数据在各层之间的传递过程

    这里写图片描述



    展开全文
  • OSPF协议的四种网络类型

    千次阅读 2019-03-24 19:53:36
    OSPF的网络类型-----OSPF协议在不同的网络类型下的不同工作方式 查看OSPF接口网络类型:r1#show ip ospf interface s1/1 接口网络类型 ospf工作方式 环回 loopback ,无hello包,以32位的主机...

    OSPF的网络类型-----OSPF协议在不同的网络类型下的不同工作方式
    查看OSPF接口网络类型:r1#show ip ospf interface s1/1

    接口网络类型ospf工作方式
    环回loopback ,无hello包,以32位的主机路由发送更新
    点到点(HDLC/PPP/GRE)POINT_TO_POINT ,hello time10s;不选DR/BDR,自动建立关系
    BMA(以太网)BROADCAST ,hello time10s;选DR/BDR,自动建立关系
    NBMA(MGRE)默认为POINT_TO_POINT

    MGRE上运行OSPF问题:
    注:在普通GRE中,点到点的工作方式没有任何问题;但在MGRE这种NBMA网络中,若依然使用默认的点到点工作方式,将由于点到点仅支持一个邻居关系,而出现邻居关系翻滚现象

    解决方法:①修改接口工作为点到多点
    r1(config-if)#ip ospf network point-to-multipoint

    点到多点工作方式:不是设备的默认工作方式,必须通过手工配置完成;不选DR,hello time为30s
    缺点不进行DR选举,故在全连网状结构中,将出现重复更新

    ②也可修改工作方式为 BROADCAST
    r1(config-if)#ip ospf network broadcast
    切记:若为BROADCAST,需要考虑拓扑类型问题;
    1、中心到站点(星型、轴辐状态)
    2、部分网状—非全连,但排除了星型
    3、全连网段
    BROADCAST在中心到站点、星型拓扑中,均需要考虑DR位置问题;

    另:在全连网状结构中若接口工作方式为点到多点,将由于不进行DR/BDR选举,导致重复更新;

    总结:在NBMA网络中,部分网状和星型接口修改工作方式为点到多点,在全连网状使用广播,正常进行DR选举

    展开全文
  • EAP协议类型

    万次阅读 2016-05-17 17:13:11
    EAP协议类型 ——*——Stonex CWNP无线网络 可扩展身份认证协议(Extensible Authentication Portocol,EAP)最早定义在RFC2284中,是一种支持多种认证方法的认证框架,而不是一个认证机制。EAP最初被设计用于PPP...
  • 常见网络协议汇总

    千次阅读 多人点赞 2021-08-06 15:03:27
    常用网络协议前言TCP/IP五层网络模型回顾应用层协议DNS协议:HTTP协议HTTPS协议传输层协议UDP协议TCP网络层IP协议ICMP协议数据链路层ARP协议物理层整体的网络传输流程 前言 本篇博客将对基于 TCP/IP的五层网络模型 ...
  • 网络协议中端口类型及分类

    万次阅读 2017-05-21 14:46:44
    端口:在网络技术中,端口有两层意思:一个是物理端口,即物理存在的端口,如:集线器、路由器、交换机、ADSL Modem等用 于连接其他设备的端口;另一个就是逻辑端口,用于区分服务的端口,一般用于TCP/IP中的端口,...
  • 原文链接:网络层次划分及网络协议 1 OSI七层模型、TCP/IP四层模型、TCP/IP五层模型 不管是OSI七层模型还是TCP/IP的四层、五层模型,每一层中都要自己的专属协议,完成自己相应的工作以及与上下层级之间进行沟通。 ...
  • Linux网络编程——网络协议入门

    万次阅读 多人点赞 2015-03-13 16:19:35
    我们每天使用互联网,你是否想过,它是如何实现的?全世界几十亿台电脑,连接在一起,两两通信。北京的某一块网卡送出信号,深圳的另一块网卡居然就收到了,两者实际上...理解了这些协议,就理解了网络的原理。因为...
  • 常见网络协议

    万次阅读 多人点赞 2019-03-26 13:32:50
    一、网络协议 二、TCP(Transmission Control Protocol,传输控制协议)       TCP头格式      TCP协议中的三次握手和四次挥手      TCP报文抓取工具三、...
  • 常见的网络安全协议

    万次阅读 2019-09-25 20:38:04
    常见的网络安全协议 网络认证协议Kerberos Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客户机 / 服务器应用程序提供强大的认证服务。该认证过程的实现不依赖于主机操作系统的认证,无需基于主机...
  • OSPF协议简介: O SPF O = open 开放 SPF = shortest path first 最短路径优先 cost=metric OSPF = 开放性的最短路径优先协议 如果到达一个目的地有多条路径,那么它会计算出一个最优最短的路径 OSPF的特点 它是...
  • 计算机网络协议总结

    万次阅读 多人点赞 2019-05-12 16:35:29
    计算机网络协议全面总结 一、OSI七层协议 物理层: 很久很久以前,那时候还没有现在的外星人超级电脑,或者华为的P30。比较调皮的小明想要把自己机器上写好的一些个人游戏心得(如何玩好王者农药)发给小红(校花)...
  • 网络协议详解(主要是IP协议、ICMP协议和ARP协议) 一、网络层的功能 定义了基于IP协议的逻辑地址; 连接不同的媒介类型; 选择数据通过网络的最佳路径。 二、IP数据包格式 第一层 版本:该字段包含的是IP的版本...
  • 网络协议极简总结

    万次阅读 多人点赞 2021-02-03 09:15:49
    一、网络分层 1.1OSI七层模型 由国际标准化组织提出的一种概念模型。该模型将通信系统中的数据流划分为七个层,每个中间层为其上一层提供功能,其自身功能则由其下一层提供。OSI将计算机网络体系结构划分为以下七...
  • 网络协议逆向分析

    万次阅读 2017-03-19 21:07:42
    网络协议逆向分析
  • 网络协议介绍

    万次阅读 2018-08-30 13:03:24
    网络协议类型 网际层:IP ARP RARP ICMP IGMP 运输层:TCP UDB 应用层:HTTP DNS SMTP POP FTP SMB TeInet SSH 请求方法 GET POST HEAD PUT DELETE TRACE CONNECT OPTION 状态码 100继续 201创建 203非...
  • 计算机网络协议层次

    万次阅读 多人点赞 2016-11-16 14:54:15
    本文介绍了计算机网络协议层次划分
  • 计算机网络协议(四)——HTTP、HTTPS、P2P协议

    万次阅读 多人点赞 2019-09-04 16:08:17
    这个专栏的计算机网络协议,我是在极客时间上学习 已经有三万多人购买的刘超老师的趣谈网络协议专栏,讲的特别好,像看小说一样学习到了平时很枯燥的知识点,计算机网络的书籍太枯燥,感兴趣的同学可以去付费购买,...
  • 网络协议分析总结

    千次阅读 多人点赞 2020-12-06 16:31:59
    TCP/IP协议簇的层次及OSI/RM模型的网络层次及层的主要作用及层的主要协议 TCP/IP协议簇的层次 物理层: 为传输数据所需要的物理链路创建、维持、拆除,提供物理条件保证传输过程数据的安全性 数
  • 网络传输协议总结

    千次阅读 2014-04-05 13:51:29
    TCP/IP是目前最实用的网络协议体系,其同样有对应的安全协议体系。IP协议用于网络接口层,最常用的在于传输层(TCP\UDP—SSL\TLS),应用层(HTTP—-HTTPS, Socket,T3)注意HTTP基于TCP协议上,socket针对两类TCP\...
  • 网络协议学习笔记

    万次阅读 2016-10-26 22:40:59
    网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。 网络协议主要由三个要素组成:语义、语法及时序;语义表示要做什么,语法表示要怎么做,时序表示做的顺序。 网络协议是网络上所有设备(网络...
  • 蓝牙协议与普通网络协议的对比

    千次阅读 2016-09-10 10:49:41
    网络协议与蓝牙协议的一种对比
  • 网络通信协议

    万次阅读 多人点赞 2018-07-27 15:33:22
    一般地,关注于逻辑数据关系的协议通常被称为上层协议,而关注于物理数据流的协议通常被称为低层协议。 IEEE802就是一套用来管理物理数据流在局域网中传输的标准,包括在局域网中传输物理数据的802.3以太网标准。...
  • 无线mesh网络路由协议分类

    千次阅读 2017-08-19 22:19:23
    目前有超过70种路由协议被提出应用于无线Mesh网络,这些路由协议大致可以分为三类:先验式(表驱动)路由协议,反应式(按需)路由协议以及混合式路由协议,见下图。 无线Mesh网络路由协议分类图 先验式路由协议又...
  • 网络协议篇之SNMP协议(一)——SNMP报文协议

    万次阅读 多人点赞 2017-08-12 19:45:02
    前言:最近工作中遇到大量的网络协议开发,现就其中一些网络协议的基础知识进行整理,文中借鉴了一些大神的整理,后面会贴上链接,如侵删)
  • 目录 1.前言 1.1 为什么需要了解网络协议? 1.2 OSI七层模型与TCP/IP四层概念模型 ... 2.2 网络协议类型 2.3 TCP协议 2.4UDP协议 2.5HTTP协议 2.5.1 http与RPC的区别 2.6HTTPS协议...
  • 计算机网络——3.网络协议工作原理

    千次阅读 2016-02-27 21:36:34
    网络协议是网络技术学习的基础和根本,它是为计算机网络中数据交换建立的某种规则、标准以及相关的约定。本文将讲解数据链路层协议ARP、网络层协议IP、传输层协议TCP和UDP、应用层协议HTTP、FTP、POP3等常用协议。
  • 应用层的各种网络应用程序基本上都是通过 Linux Socket 编程接口来和内核空间的网络协议栈通信的。Linux Socket 是从 BSD Socket 发展而来的,它是 Linux 操作系统的重要组成部分之一,它是网络应用程序的基础。从...
  • 常见网络协议报头格式

    千次阅读 2017-04-23 12:03:27
    网络协议,报头格式

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 592,941
精华内容 237,176
关键字:

网络各协议类型