文章目录

  • IP协议
    • IP协议介绍
    • IP基础知识:
      • IP分包和组包
    • IP属于面向无连接型

IP协议

TCP/IP四层模型

​ 很多人都以为TCP/IP是指TCP与IP两种协议。实际中有时也指这两种协议,因为TCP和IP协议在TCP/IP协议簇中最具代表性。然而在大多数情况下,它只是利用IP进行通信时所必须用到的协议群的统称。IP与ICMP、TCP与UDP、TELNET或FTP、以及HTTP等都属于TCP/IP的协议。它们与TCP和IP的关系紧密,时互联网必不可少的组成部分。TCP/IP泛指这些协议,因此,也称TCP/IP为网络协议簇。

IP协议介绍

​ IP是Internet Protocol(网际互连协议)的缩写,是TCP/IP体系中的网络层协议。设计IP的目的是提高网络的可扩展性:一是解决互联网问题,实现大规模、异构网络的互联互通;二是分割顶层网络应用和底层网络技术之间的耦合关系,以利于两者的独立发展。根据端到端的设计原则,IP只为主机提供一种无连接、不可靠的、尽力而为的数据包传输服务。

​ IP作为整个TCP/IP中至关重要的协议,主要负责将数据包发送给最终的目标计算机(复杂的网络环境中)。因此,IP能够让世界上任何两台计算机之间进行通信。

​ 网络层的下一层----数据链路层的主要作用是在互连同一种数据链路层的节点之间进行包传递。而一旦跨越多种数据链路,就需要借助网络层。网络层可以跨越不同的数据链路,即使是在不同的数据链路层上也能实现两端节点之间的数据包传输。

主机与节点:

​ 在互联网世界中,将配有IP地址的设备叫做“主机”,主机可以是大型计算机,也可以是个人计算机等,细化的话,主机的定义应该是“配有IP地址,但是不进行路由控制的设备”。

​ 既配有IP地址又具有路由控制能力的设备叫做“路由器”,跟主机有所区别,而节点则是主机和路由器的统称。在IPv4中的规范RFC791中,将具有路由控制功能的设备叫做“网关”。

ps:路由控制(Routing)是将分组数据发送到最终目标地址的功能。即
使网络非常复杂,也可以通过路由控制确定到达目标地址的通路。一旦这
个路由控制的运行出现异常,分组数据极有可能“丢失”,无法到达目标地
址。因此,一个数据包之所以能够成功地到达最终的目标地址,全靠路由控制。

IP基础知识:

​ IP大致分为三大作用模块:IP寻址、路由(最终节点为止的转发)以及IP分包与组包。

  • IP地址属于网络层地址

​ 在链路层标识同一个链路中不同计算机的一种识别码是MAC地址,网络层标识的地址信息叫做IP地址,IP地址用于在“连接到网络中的所有主机中识别出进行通信的目标地址”。

  • 路由控制(Routing)

    路由控制(Routing)是将分组数据发送到最终目标地址的功能。即使网络非常复杂,也可以通过路由控制确定到达目标地址的通路。一旦这个路由控制的运行出现异常,分组数据极有可能“丢失”,无法到达目标地址。因此,一个数据包之所以能够成功地到达最终的目标地址,全靠路由控制。

    ​ 跳(Hop),它是指网络中的一个区间。IP包正式在网络中一个跳间被转发。因此IP路由也叫多跳路由。在每一个区间内决定着包在下一跳被转发的路径。下图为多跳路由图:

在下一跳选择时会使用到ARP(Address Resolution Protocol)地址解析协议:是根据IP地址获取物理地址的一个TCP/IP协议,主要作用:解决下一跳跳哪的问题

      一跳(1Hop)是指利用数据链路层以下分层的功能传输数据帧的一个区间。以太网等数据链路中使用MAC地址传输数据帧。此时的一跳是指从源MAC地址到目标MAC地址之间传输帧的区间。也就是说它是主机或路由器网卡不经其他路由器而能直接到达的相邻主机或路由器网卡之间的一个区间。在一跳的这个区间内,电缆可以通过网桥或交换集线器相连,不会通过路由器或网关相连

​ 多跳路由是指路由器或主机在转发IP数据包时只指定下一个路由器或主机,而不是将到最终目标地址为止的所有通路全部指定出来。因为每一个区间(跳)在转发IP数据包时会分别指定下一跳的操作,直至包达到最终的目标地址。

​ 都应该看过小说,小说里面有什么修炼等级,最厉害的比如天帝,天帝就可以作为我们的最终的目标地址,想要修炼到天帝境界,中间肯定有很多很多个小境界,这些小的境界制成表我们可以看作是路由控制表(Routing Table),因为想要修练至天帝境界,中间的境界都需要走过一遍才可以(这里其实不恰当,因为路由选择是偶然性的不确定的,我们不知道下一跳会跳到哪,但是修炼是规定好的)。

​ 众所周知,必须要修炼到一个境界的瓶颈之后,才能突破至下一个境界,在我们这里突破的功法就是ARP,他会指引我们从这个瓶颈突破至下一个境界,在到了下一个境界之后,经过一段时间的修炼(将IP包装入数据链路层的数据帧,经过寻址后传出去,以以太网为例,目标MAC地址就是下一个路由器的MAC地址),查找修炼等级表确定我们下一步要突破到什么境界,这个过程反复多次,直到修练至天帝境界(数据包就被发送到最终的目标节点)。

IP分包和组包

​ IP是实现多个数据链路之间通信的协议。不同数据链路有个最大的区别,就是它们各自的最大的传输单位(MTU:Maxi-mum Transmission Unit)不同。就像寄快递有大小限制一样。

​ 源于图解TCP/IP书,有需要的同学可以私信我哦。

​ MTU的值在以太网中是1500字节,在FDDI中是4352字节,而ATM则为9180字节。IP的上一层可能会要求传送比这些MTU更多字节的数据,所以必须在线路上传送比包长还要小的MTU。

​ 为了解决这个问题,IP进行分片处理(IP Fragmentation)。分片处理就是把较大的IP包分成多个较小的IP包。注意:IP数据报在传送中可能被多次分片,但分片的数据报仅在目的主机才被重装回原来的数据报从IP的上层看,它完全可以忽略数据包在途中的各个数据链路上的MTU,而只需要按照源地址发送的长度接收数据包。IP就是以这种方式抽象化了数据链路层,上层只使用下层提供的服务即可。更多的信息会在IP数据报首部进行解释。

IP属于面向无连接型

​ 为什么IP要采用面向无连接呢?

  • 简单化
  • 高速化

为了提高可靠性,由上层的TCP采用面向连接型,TCP/UDP协议

IP提供尽力服务(Best Effort),意指“为了把数据包发送到最终目标地址,尽最大努力”。然而,它并不做“最终收到与否的验证”。IP数据包在途中可能会发生丢包、错位以及数据量翻倍等问题。如果发送端的数据未能真正发送到接收端目标主机会造成严重的问题。比如北约发送邮件给普京,原意大概是同意俄入北约,不过有条件巴拉巴拉,最后说了一句,如果不同意,就刀兵相向之类的话,但是不幸的是传送过程丢包了,导致接收到的邮件的只有刀兵相向这一句,那结局肯定是Good Game。那这样肯定是不行的

​ 因此提高通信的可靠性很重要。TCP就提供这种功能。如果说IP只负责将数据发给目标主机,那么TCP拥有一套保证数据可靠传输的机制负责保证接收端主机确实接收到完整数据。

IP(Internet Protocol)网际协议相关推荐

  1. IP(Internet Protocal) 地址 说明

    IP(Internet Protocol: 网络之间互连的协议)地址就是给每个连接在Internet上的主机分配的一个32bit地址.按照TCP/IP协议规定,IP地址用二进制来表示,每个IP地址长3 ...

  2. 网际协议(IP,Internet Protocol)

    网际协议(IP)是开放系统互联模型(OSI model)的一个主要协议,也是TCP/IP中完整的一部分.尽管"因特网"(Internet)这个词在协议的名字里出现,但其使用范围却超 ...

  3. TCP/IP协议(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)

    TCP/IP协议 TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇.T ...

  4. Ad Hoc Networks TOPIC THREE <IP Addressing and Internet Protocol>【Personal Notes】

    Ad Hoc Networks TOPIC THREE Classful IP Address Structure Private IP addresses Router--connect diffe ...

  5. Internet Protocol Version 6 (IPv6) / IP Next Generation (IPng)

    The TCP/IP Guide - Internet Protocol Version 6 (IPv6) / IP Next Generation (IPng)http://www.tcpipgui ...

  6. 论文阅读2018:Internet Protocol Cameras with No Password Protection: An Empirical Investigation

    Internet Protocol Cameras with No Password Protection: An Empirical Investigation 作者 知识点 insecam.org ...

  7. 三、IPSec(Internet Protocol Security,互联网安全协议)

    3 IPSec(Internet Protocol Security,互联网安全协议) 3.1 概念 IPSec(Internet Protocol Security,互联网安全协议),是一组基于网络 ...

  8. ISO 13400 DoIP车载以太网标准各Part部分修订和发布状态汇总(Road vehicles-Diagnostic communication over Internet Protocol)

    <ISO 13400_Part1_2_3_4_DoIP汽车车载以太网(新旧)标准_高清非扫描>下载路径(单击下方文字,进行下载): ISO 13400-1-2011;ISO 13400-2 ...

  9. ip (internet protocol)

    ip协议实现数据平面的转发 IP数据报格式 较大数据报分片 IP地址 ip标识接口 主机的多个网卡可以配置多个ip,同一个网卡也可以配置不同的虚拟ip. 子网 ip地址前缀一致 子网的主机发送和接收一 ...

最新文章

  1. 5.3 使用tensorflow搭建GoogLeNet网络 笔记
  2. 为什么我喜欢EJB 3.0并且尤其喜欢EJB 3.1
  3. povray[1] = 天空
  4. 1个月教你学会用Python实现机器学习
  5. 在JVM中记录世界停顿
  6. 为什么大家拍摄视频不用摄像机,反而选用单反照相机呢?
  7. js object转数组_const 和 Object.freeze() 的区别 ?
  8. js制作带有遮罩弹出层实现登录小窗口
  9. 《测绘程序开发实习》导线网平差 C++上机实验报告 CSU
  10. Windows 10 KB3124200补丁无法安装的临时解决方案
  11. QT学习回顾(二)界面布局及其控件设计
  12. 最详细的vue安装教程
  13. paypal 付款、支出接入文档及官方示例
  14. 同款视频一键制作生成微信小程序源码下载恶搞视频,特效视频,唯美视频等等
  15. 大小写转换(金额转换)
  16. 今天花了点时间详细了解了一下WiFi
  17. CentOS 7 搭建CA服务器 实现HTTPS取证
  18. 银行卡诈骗新花样升级来袭
  19. linux usb摄像头驱动程序,Linux系统下USB摄像头驱动开发
  20. python中随机生成数字方法

热门文章

  1. 无泪的眼神---上海街头真实的一幕!(转自 燕南社区)
  2. legacy引导gpt分区_支持win10的传统legacy启动无损转换为UEFI GPT启动
  3. java实现通过图片的URL地址下载图片
  4. golang 下载图片
  5. Lua环境搭建 Win10
  6. edgeR/limma/DESeq2差异基因分析→ggplot2作火山图→biomaRt转换ID并注释
  7. 记一次面试的尴尬,说说作为数据库工程师,学好英语的重要性
  8. 无障碍服务(AccessibilityService)
  9. 顺丰下单后处理接收到的xml
  10. 数据分析师对年龄有限制吗,是不是靠青春吃饭?