计算机网络协议第七章,IP协议基础
来源:互联网 发布:阿里云rds连不上 编辑:程序博客网 时间:2024/05/24 01:38
IP协议作为计算机网络协议核心,本章将介绍IP协议的首部,IP网络划分和子网划分,然后是IP选路。关于IP协议的讲解,莫过于《TCP/IP详解》卷一描述得最为经典,本章主要依据卷一的分析,并加以理解,希望能够将IP协议的功能阐述清楚对我也算大有收获了。
通过第一部分“IP协议背景”的介绍,主要交代IP协议历史背景,以理解IP协议的诞生原因。通过分析IP协议的主要功能和职责,为下一部分做好知识铺垫。第二部分“IP协议详解”实际上是对第一部分的具体化,通过具体化的协议对IP的设计进行剖析。了解IP协议是如何定义和实现它的主要功能的。
IP协议背景
引言
IP历史
IP协议和计算机网络都由ARPANET发展而来,ARPANET的基石NCP协议就是TCP/IP协议的前身,于1981年由Jon Postel 在RFC791将IP协议详细定义下来,即IPV4。ARPANET由美国军方研究和率先使用,后来开放应用于商业及高校等民用方向。随着计算机组网的趋势和个人电脑的迅猛发展,TCP/IP协议成为后来Internet的重要基石。
早期军方研究ARPANET之时,最主要解决计算机互联,解决数据共享问题,出于冷战时期的军事目的。后来转向商用和高校与APPANET纯军事的网络进行分离,建立NSFnet网络,现代Internet就是基于NSFnet发展而形成的。
IP的顶层设计
了解历史背景之后来看IP协议的诞生和发展。在没有IP协议之前,试想下三台处于不同物理网络环境(PPP,X25等不同物理链路的意思)的机器应该如何互联和数据共享呢。我们知道数据的传输最终由物理层发送电平信号进行传输,不同的物理网络环境定义的数据格式不同(参加第二章链路层协议),并且识别机器的唯一标识物理地址都可能定义不同,因此要将这些网络环境进行组网,不仅网络物理连接上繁琐,上层使用者也是十分繁琐,因此为IP协议诞生就是解决这些问题的。
我们知道各种网络环境的物理地址标识方法有所不同,并且物理地址也没有规律可寻,如果4台机器需要组网就必须使用6(3+2+1)根物理连线进行连接,试想100台机器甚至更多机器应该如何互联?因此IP协议统一了物理机器的唯一标识,并且提出网络划分的概念,可以将同一网络的主机IP的网络号设置相同,并且由一个路由器作为该网络唯一的数据中转站,使得主机连接线大大减少,并且组网环境简单很多。
由于IP地址的出现,统一不同网络环境的物理地址标识,并且进行网络划分,使得多台机器共享一个网络,通过IP地址有规律可寻,大大降低组网环境复杂的,我认为这是以IP地址进行组网的最重要的优势。这是IP协议的核心功能。
由于IP协议基于不同的物理层,因此需要遵从物理层的限制,也就是数据不可靠和MTU等等特性。由于物理层MTU限制,因此IP协议定义了分片机制。由于物理层的数据不可靠性传输导致IP协议设计了校验和容错。
由于起初IP协议定义了A,B,C,D,E类的网络划分,特别是A,B类网络的主机号过多,没有充分得到利用,后来定义子网概念,将网络划分为网络,子网,主机三层结构。随着网络环境组网的复杂,对路由器的提出更多要求,特别是安全因此的考虑,继而出现路由表,NAT,防火墙,DMZ等等相关技术。
IP及网络层主要功能
通过上述的讲解,基本勾勒了IPV4设计的主要考量,通过对比IP协议首部基本上可以了解大概,IP协议作为网络层的基石,下面对网络层主要职责进行罗列。
1)通过IP地址,以区分网络所有物理主机。
2)通过IP网络划分和将物理机器进行有序的组织,是路由实现的基石。
3)利用路由器将不同网络进行组网,作为同一网络内数据的出口和入口,使得计算机组网大大简化。
4)提供数据分片和组装工作,使得上层协议无需关心底层细节。
5)通过子网的划分,可以将内部网络进行再次划分,使得路由效率和网络管理更为灵活,并且能够最大的利用IP地址。
6)利用路由表和IP头部选路选项对IP数据报进行有选路。
7)维护路由表。分为静态路由管理和动态路由管理。
IP协议详解
IP地址
IP首部字段讲解
子网划分
IP选路
路由基础
Destination Gateway Genmask Flags MSS Window irtt Ifacedefault 192.168.182.2 0.0.0.0 UG 0 0 0 eth0192.168.182.0 * 255.255.255.0 U 0 0 0 eth0这台机器是一个ubuntu虚拟机,地址为192.168.182.128。只有一个网卡eth0。
选路规则
小结
参考
修订
- 计算机网络协议第七章,IP协议基础
- 计算机网络基础之TCP/IP网络协议
- 计算机网络协议第八章,TCP协议基础
- 计算机网络 TCP/IP协议
- 计算机网络---TCP/IP协议
- 第七章 TCP/IP协议及应用
- 计算机网络之IP协议族
- 计算机网络之网际IP协议
- 计算机网络之tcp/ip协议
- 计算机网络之IP协议族
- 计算机网络2--网络协议基础
- 第05章 计算机网络 之 TCP/IP协议族
- TCP/IP协议基础
- TCP/IP协议基础
- TCP/IP 协议基础
- TCP/IP基础协议
- Ip协议基础
- TCP/IP基础协议
- [转]正则表达式详解
- Ubuntu导学
- CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 7.1
- sdutoj 3011 数格子算面积
- Java中的单例模式
- 计算机网络协议第七章,IP协议基础
- C# 如何用ILMerge为应用程序打包
- 裁切出一张圆形的头像图片
- StringBuilder的用法及和String的区别
- JavaScript语言基础8
- Getting Started
- StringBuilder用法
- HDU 5104 Primes Problem
- Hdu 1172 猜数字