TCP/IP协议
TCP/IP协议是一个协议集合,HTTP协议,IP协议,TCP协议,DNS协议等都属于TCP/IP协议。 TCP/IP协议是为了保证全球亿万台计算机能准确、无误的通信。TCP/IP中分层是很重要的概念,每层完成不同的功能。分为应用层,传输层,网络层,数据链路层。分层的目的是为了层级之间的功能相对队里,互不影响。TCP/IP通信数据流HTTP是基于TCP/IP协议的应用层协议,它不涉及数据包的传输,主要规定了客户端和服务器端的通信协议,默认端口是80IP协议的作用是将各种数据包准确无误的传递给对方,其中重要的条件是IP地址和MAC地址。由于IP地址是稀有资源,不可能每个人都有一个IP地址,所以我们通常的IP地址都是路由器给我们生成的IP地址,路由器里面会记录我们的MAC地址,而MAC地址是唯一的。IP实现的两个基本功能:寻址和分段寻址功能就是原地址和目标地址之间建立连接,需要使用ARP协议(Address Resolution Protocol),IP协议就是找到一条连接两台电脑的路径,从而完成数据的交互。地址解析协议,ARP协议,是根据IP地址获取物理地址的一个TCP/IP协议。IP间的通信依赖MAC地址。在进行中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标,这时就会采用ARP协议,根据通讯放的IP地址就可以反查出对应的MAC地址,从而进行精确的定位,完成寻址的功能。分段功能是为了适应不同网络对包的要求,对数据进行重新组装。TCP协议就是将数据包安全的给对方,IP协议是找到对方的详细地址,分工不同,互不冲突。TCP属于传输层,提供可靠的字节流服务。字节流类似于数据切割,为了方便传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。可靠的传输服务是指,能够把数据准确可靠的传给对方。TCP协议为了更容易的传输大数据才将数据进行分割,而且TCP协议能够确认数据最终是否送达对方。为了确保信息准确无误的送达,TCP采用了三次握手策略(three-way-handshaking)。TCP建立连接时需要三次握手,在关闭连接时还需要四次握手。 这部分占用了http请求过程的中大量时间,在高并发时,可以考虑优化这部分。和HTTP协议一样是处于应用层的服务,提供域名到IP地址之间的解析服务。1、可缓存:get请求能缓存,post请求不能;响应报文的状态码是可缓存的,包括:200, 203, 204, 206, 300, 301, 404, 405, 410, 414, and 501。2、get是获取资源,post用于传输实体主体。3、参数:get请求的参数在url里面,会被浏览器保存历史记录,post的请求数据在数据包里面,同时因为url只支持ASCII码,因此get的参数如果存在汉字就要先进性编码,post请求支持更多的编码类型且不对数据类型限制;post传输的数据比get的多;url的长度有限制,会影响get请求;4、安全的HTTP方法不会改变服务器状态,也就说是只读的。所以get是安全的,post不是安全的。5、幂等性:get是幂等的,post不是幂等的。6、XMLHttpRequest: 在使用XMLHttpRequest时,post请求发送时,浏览器会先发送header再发送Data;get请求header和data一起发送。XMLHttpRequest 是一个 API,它为客户端提供了在客户端和服务器之间传输数据的功能。它提供了一个通过 URL 来获取数据的简单方式,并且不会使整个页面刷新。这使得网页只更新一部分页面而不会打扰到用户。XMLHttpRequest 在 AJAX 中被大量使用。200 OK,表示从客户端发来的请求在服务器端被正确处理。204 No content,表示请求成功,但是想要报文不包含实体的主体部分。206 Partial Content ,进行范围请求。301 moved permanently 永久性重定向,表示自愿一杯分配了新的URL。302 found 临时性重定向,表示自愿临时被分配了新的URL。303 see other 表示资源存在着另一个URL,应使用GET方法获取资源。和 302 有着相同的功能,但是 303 明确要求客户端应该采用 GET 方法获取资源。注:虽然 HTTP 协议规定 301、302 状态下重定向时不允许把 POST 方法改成 GET 方法,但是大多数浏览器都会在 301、302 和 303 状态下的重定向把 POST 方法改成 GET 方法。304 not modified 表示服务器允许访问资源,但因发生请求未满足条件的情况。307 temporary redirect,临时重定向,和302含义相同。但是 307 要求浏览器不会把重定向请求的 POST 方法改成 GET 方法。400 bad request 请求报文存在语法错误401 unauthorized 表示没有权限403 forbidden 表示对请求资源的访问被服务器拒绝404 not found 表示在服务器上没有找到请求的资源500 internal sever error 表示服务器端在执行请求时错误503 service unavailable 表明服务器暂时处于超负载或正在停机维护,无法处理请求HTTPS是HTTP建立在SSL/TLS安全协议上的。在IOS中,客户端本地会存有CA证书,在HTTPS请求时,会首先向服务器获取公钥,获得公钥后会使用本地的CA证书验证公钥的正确性,然后通过正确的公钥加密信息发送给服务器,服务器会使用私钥解密信息。SSL/TSL握手阶段分为五步:HTTP和HTTPS的对比:HTTP:无状态,协议对客户端没有状态存储;无连接,每次请求都会和服务器重新建立连接;基于请求和响应,由客户端发起,服务端响应;简单快速,灵活;使用明文,请求和响应不会对通信方进行确认,无法保证数据的完整性。 HTTPS:内容加密,采用混合加密技术,中间者无法直接查看明文内容;验证身份,通过证书认真客户端访问的是自己的服务器;保护数据完整性,放置传输的内容被中间人冒充或篡改。

IP协议的主要功能是什么?
其中包括两个部分: (1)寻址与路由。(a)用IP地址来标识Internet的主机:在每个IP数据报中,都会携带源IP地址和目标IP地址来标识该IP数据报的源和目的主机。IP数据报在传输过程中,每个中间节点(IP网关)还需要为其选择从源主机到目的主机的合适的转发路径(即路由)。IP协议可以根据路由选择协议提供的路由信息对IP数据报进行转发,直至抵达目的主机。(b)IP地址和MAC地址的匹配,ARP协议。数据链路层使用MAC地址来发送数据帧,因此在实际发送IP报文时,还需要进行IP地址和MAC地址的匹配,由TCP/IP协议簇中的ARP(地址解析协议)完成。(2)分段与重组。(a) IP数据报通过不同类型的通信网络发送,IP数据报的大小会受到这些网络所规定的最大传输单元(MTU)的限制。

IP协议的主要功能是什么?
其中包括两个部分: (1)寻址与路由。(a)用IP地址来标识Internet的主机:在每个IP数据报中,都会携带源IP地址和目标IP地址来标识该IP数据报的源和目的主机。IP数据报在传输过程中,每个中间节点(IP网关)还需要为其选择从源主机到目的主机的合适的转发路径(即路由)。IP协议可以根据路由选择协议提供的路由信息对IP数据报进行转发,直至抵达目的主机。(b)IP地址和MAC地址的匹配,ARP协议。数据链路层使用MAC地址来发送数据帧,因此在实际发送IP报文时,还需要进行IP地址和MAC地址的匹配,由TCP/IP协议簇中的ARP(地址解析协议)完成。(2)分段与重组。(a) IP数据报通过不同类型的通信网络发送,IP数据报的大小会受到这些网络所规定的最大传输单元(MTU)的限制。

ip协议中的三个基本功能
ip协议中的三个基本功能是:IP编址方案、分组封装格式及分组转发规则。1、IP分组的转发规则路由器仅根据网络地址进行转发。当IP数据包经由路由器转发时,如果目标网络与本地路由器直接相连,则直接将数据包交付给目标主机,这称为直接交付;否则,路由器通过路由表查找路由信息,并将数据包转交给指明的下一跳路由器,这称为间接交付。2、IP分片一个IP包从源主机传输到目标主机可能需要经过多个不同的物理网络。由于各种网络的数据帧都有一个最大传输单元(MTU)的限制,如以太网帧的MTU是1500;因此,当路由器在转发IP包时,如果数据包的大小超过了出口链路的最大传输单元时,则会将该IP分组分解成很多足够小的片段,以便能够在目标链路上进行传输。这些IP分片重新封装一个IP包独立传输,并在到达目标主机时才会被重组起来。3、IP分组结构一个IP分组由首部和数据两部分组成。首部的前20字节是所有IP分组必须具有的,也称固定首部。在首部固定部分的后面是一些可选字段,其长度是可变的。扩展资料:五种地址等级在设计IP时,着眼于路由与管理上的需求,因此制定了5种IP地址的等级。不过,一般最常用到的便是A、B、C类这三种等级的IP地址。5种等级分别使用不同长度的网络地址,因此适用于大、中,小型网络。IP地址的管理机构可根据申请者的网络规模,决定要赋予哪种等级。传统IP地址的运行方式,由于以等级来划分,因此称为等级式的划分方式。相对的,后来又产生了无等级的划分方式,也就时CIDR。
IP协议是TCP/IP的核心协议之一,其作用主要是用于主机与网关、网关与网关、主机与主机之间的通信。功能包括IP的寻址、面向无连接数据报传送和数据报路由选择等。

IP协议基本知识
IP 协议是基于 IP 地址将数据包发送给目的主机,能够让互联网上任何两台主机进行通信。他位于七层通信协议中的第三层(网络层)。网络层的主要作用是实现终端节点之间的通信。这种终端节点之间的通信,也叫点对点通信。主机:配置有IP地址,不进行路由控制的设备。路由器:既有IP地址又具有路由控制功能的设备。节点:主机和路由器。数据链路层实现两个直连设备之间的数据传输,网络层的IP协议实现没有直连的两个网络之间的数据传输。在TCP/IP通信中使用IP地址识别主机和路由器。IP地址是逻辑地址,需要手工配置或自动获取,为了保证正常通信,每个设备必须配置IP地址。IP地址由网络号(网段地址)和主机号(主机地址)两部分组成。IP 地址分为四类,分别是 A类、 B类、 C类、 D类(还有一个保留的E类)。A类IP地址是首位以“ 0 ”开头的地址。从第1位到第8位是它的网络号,网络号的范围是 0 ~ 127 。其中0和127属于保留地址,减去两个保留地址,因此有126个可用的A类地址。B类IP地址是前两位以“ 10 ”开头的地址。从第1位到第16位是它的网络号,网络号的范围是128.0 ~ 191.255 。其中128.0和191.255属于保留地址,减去两个保留地址,因此有16382个可用的B类地址。C类IP地址是前三位以“ 110 ”开头的地址。从第1位到第24位是它的网络号,网络号的范围是192.0.0 ~ 223.255.255 。其中192.0.0和223.255.255属于保留地址,减去两个保留地址,因此有2097150个可用的C类地址。D类IP地址是前四位以“ 1110 ”开头的地址。从第1位到第32位是它的网络号,网络号的范围是 224.0.0.0 ~ 239.255.255.255 。D类地址没有主机号,用于组播。当主机号全为 0 时,表示的是网段地址,非主机地址。当主机号全为1时是广播地址,也不是主机地址。因此在分配IP地址过程中,需要排除这两个地址。例如一个C类地址192.168.1.0/24最多只有254个可用主机地址,而不是256个(192.168.1.0和192.168.1.255保留)。例如:一个 B 类主机地址172.20.1.100的广播地址是 172.20.255.255。组播使用 D 类地址。因此 IP 地址前四位是“ 1110 ”开头的,就是组播地址。剩下的 28 位就是组播的组编号。组播的地址范围是 224.0.0.0 ~ 239.255.255.255 ,其中 224.0.0.0 ~ 224.0.0.255 既可以在同一个网段内实现组播,又可以跨网段给全网所有组员发送组播包。解决 IP 地址浪费问题,除了使用子网掩码,还使用了 CIDR 和 VLSM 技术。CIDR ,即无类域间路由,采用任意长度分割 IP 地址的网络号和主机号。它有两个作用:把多个网段聚合到一起,生成一个更大的网段。汇总路由表 IP 地址,分担路由表压力。CIDR 是主机号向网络号借位,目的是把几个网络汇总成一个大的网络,增加子网主机数量。VLSM ,即可变长子网掩码,它可以对 A 、 B 、 C 类地址再进行子网划分,以达到充分利用 IP 地址的目的。VLSM 是网络号向主机号借位,目的是把一个标准的网络划分成几个子网,减少子网主机数量。IP 地址分为公网地址和私有地址。公网地址是在互联网上使用的,私有地址是在局域网中使用的。公网地址由 Internet NIC 负责分配,通过它直接访问互联网。私有地址是一段保留的 IP 地址。只在局域网中使用,无法在互联网上使用。但是私有地址可以通过 NAT 技术,将私有地址转换为公网地址接入互联网。IP路由是设备根据IP地址对数据进行转发的操作。当一个数据包到达路由器时,路由器根据数据包的目的地址查询路由表,根据查询结果将数据包转发出去,这个过程就是IP路由。路由表的生成方式有两种:一种是手动设置,也叫静态路由。另一种是路由器之间通过交换信息自动刷新,也叫动态路由。只要确定了IP地址,就可以向这个目标地址发送IP数据报文。但是在进行实际通信时,还要知道每个IP地址所对应的MAC地址。地址解析协议,简称ARP协议。是根据目的设备的IP地址来查询对应 MAC 地址的协议。当主机A向同一个网段内的主机C发送数据,但是不知道主机C的MAC 地址。ARP请求:主机A以主机C的IP地址为目的IP地址,以广播MAC地址为目的MAC地址,在同网段内发送这个广播报文,这个报文就叫ARP请求报文。二层交换机不查看IP地址,根据目的MAC地址将报文除接收端口外的所有端口发送。1)主机A使用主机C的IP地址查询ARP,ARP发现主机C不在同一个网段,需要通过默认网关(即默认路由的下一跳地址),但是没有网关MAC地址。2)主机A先将发送给主机C的数据放入缓存中,然后发送ARP请求报文,主机A以网关IP地址为目的IP地址发送ARP广播请求报文。3)路由器收到ARP广播请求报文后,将主机A的MAC地址和对应端口添加到自己的 MAC表中,然后查看目的IP地址发现是请求自己的MAC地址,于是单播发送ARP响应报文。4)主机A收到ARP响应报文后,将发送给主机C的数据封装网关MAC地址为目的 MAC地址进行发送。5)路由器收到报文后,查看目的IP地址,是发送给主机C的,于是查询路由表从相应端口发送数据。由于没有主机C的MAC地址,路由器发送ARP请求报文,源MAC地址和源IP地址替换为发送端口的MAC地址和IP地址。6)主机C收到ARP请求报文后,添加路由器的端口和MAC地址到MAC地址表,单播发送ARP响应报文。7)路由器收到主机C的MAC地址后,将其添加到MAC地址表中。将主机A发送给主机 C的报文重新封装,以自己的MAC地址为源MAC地址,以主机C的MAC地址为目的 MAC地址,发送给主机C。8)主机C收到主机A发送的数据,发送过程结束。当主机C向主机A发送回复报文时,同主机A向主机C发送数据的步骤一致。如果ARP请求是从一个网络的主机发往同一网段却不在同一物理网络上的另一台主机,那么连接它们的具有代理ARP功能的设备就可以回答该请求,这个过程称作代理 ARP 。免费ARP是一种特殊的ARP请求,它并非通过IP找到对应的MAC地址,而是当主机启动的时候,发送一个免费ARP请求,即请求自己的IP地址的MAC地址。与普通ARP请求报文的区别在于报文中的目标IP地址。普通ARP报文中的目标IP地址是其它主机的IP地址;而免费ARP的请求报文中,目标IP地址是自己的IP地址。免费ARP有以下一些作用:1)起到一个宣告作用。它以广播的形式将数据包发送出去,不需要得到回应,只为了告诉其它主机自己的IP地址和MAC地址。2)与普通ARP请求报文的区别在于报文中的目标IP地址。普通 ARP 报文中的目标 IP 地址是其它主机的IP地址;而免费ARP的请求报文中,目标IP地址是自己的IP地址。3)可用于更新其它主机的 ARP 缓存表。如果该主机更换了网卡,而其它主机的 ARP缓存表仍然保留着原来的MAC地址。这时,通过免费的ARP数据包,更新其它主机的ARP缓存表。IP提供尽力而为的服务,指为了把数据包发送到目的地址尽最大努力。它并不做对端目的主机是否收到数据包的验证,无法保证服务质量。ICMP(互联网控制消息协议)是提供这类功能的一种协议。ICMP的主要功能包括,确认IP包是否成功送达目的地址,通知发送过程中IP包被丢弃的原因。ICMP报文像TCP/UDP 一样通过IP进行传输,但是ICMP的功能不是传输层的补充,应该把它当做网络层协议。ICMP头部封装字段如下图。通过类型字段和编码字段的取值判断这个ICMP消息的类型。常见的ICMP消息所对应的类型和编码值如下图。ping工具就是通过 ICMP 消息测试网络层连通性的。源主机发出 Echo request 消息,目的主机回应 Echo reply 消息,则两台主机间的网络层通信正常。也可以通过 ping命令来判断目标主机是否启用。

本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/306392.html。