TCP/IP协议模型详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP/IP协议模型详解相关的知识,希望对你有一定的参考价值。
一、网络协议模型
1.OSI七层网络协议模型
OSI七层协议(Open System Interconnection):将网络连接过程分成数个层次(layer),每个层次负都有特定的独立功能,且每个层次的程序代码可以独立撰写,每个层次间的功能不会相互干扰。
说明:
1)越接近硬件的层次为底层(layer1),越接近应用程序的则为高层(layer7)
2)接收端或者发送端,每一层只认识对方的同一层次的数据
3)每层都有其独特的头部数据header,告知对方信息,其后的数据为真实数据
(1)物理层Physical Layer
定义传输设备的电压与信号等,连接数据帧转换成比特流的编码方式,最后连接实际传输介质发送/接收比特信号
(2)数据链路层Data-Link Layer
下层为实体的定义,上层为软件封装的定义。数据链路层又可分为两层:
偏向硬件介质:MAC数据帧,media Access Control frame,网络接口所能处理的主要数据包裹,被物理层编码成比特流
偏向软件层面:逻辑链路层(Logical Link Control)多任务处理来自上层的数据包数据并转换成MAC格式
信息交换、流量可控制、数据问题处理
(3)网络层Etwork Layer
定义IP(Internet Protocol)和路由概念,计算机间的连接建立、终止和维持,数据包的传输路径选择
(4)传输层Transport Layer
发送端和接收端连接技术,如TCP、UDP… 包括数据包格式、数据包发送、流程的控制、传输过程的帧检测与重新传送
(5)会话层Session Layer
定义两个四肢间的连接信道的连接与中断,在确定网络服务建立连接的确认
也可以建立应用程序的会话、提供其他加强型服务
(6)表示层Presentation Layer
网络服务(或程序)之间的数据格式转换:将来自本地端应用程序的数据格式转换或重新编码成网络的标准格式
加密解密技术
(7)应用层Appliation Layer
应用程序并不属于应用程序本身,用来同一管理调度数据对应其发送和接收的应用程序
定义应用程序如何进入该层的沟通接口,以将数据接收或发送给应用程序,最终展示给用户
2.TCP/IP协议
TCP/IP协议在OSI七层协议的观念上进行简化为四层结构,在结构上没OSI七层协议严谨,但时程序撰写上会容易得到广泛使用。
TCP/IP协议将应用层、表示层、会话层整合为应用层
应用层:将数据封装一个TCP/IP协议组内某个特定使用到的协议,交由传输层处理
传输层:放入TCP封装内,并给予TCP封装的首部报文,交由网络层处理
网络层:封装IP数据包内,给予IP首部,交由网络接口层处理
网络接口层:MAC封装,比特流传输
3.网络模型对应层级关系
OSI七层协议只是一个参考模型,过于详细阐述网络出书各方面情况,实际生产中为TCP/IP协议
二、网络层:IP协议
1.IP协议
(1)IP协议版本
IPv4:32bits分为四段,点分十进制表示,8bits.8bits.8bits.8bits
每8bits表示用以数字0-255标识
00000000.00000000.00000000.00000000 ===》 0.0.0.0
11111111.11111111.11111111.11111111 ===》 255.255.255.255
IPv6:128bits二进制
(2)IP(Internet protocol)地址:网络号+主机号
在同一物理网段内,主机的IP具有相同的网络号,并具有独特的主机号;同一网段内的主机其主机号不能相同
注意:
1) 同一网段内,网络号不变,主机号不能重复
2)全0表示为整个网段的地址,全1表示为广播地址
(3)IP地址分类:
A类:
第一段为网络号,后三段为主机号
网络号:0 000 0000 - 0 111 1111:1-127
网络数量:126,127
每个网络中的主机数量:2^24-2
默认子网掩码:255.0.0.0,/8
用于与IP地址按位进行“与”运算,从而取出其网络地址;
1.3.2.1/255.0.0.0 = 1.0.0.0
1.3.2.1/255.255.0.0= 1.3.0.0
私网地址:10.0.0.0/255.0.0.0
B类:
前两段为网络号,后两段为主机号
网络号:10 00 0000 - 10 11 1111:128-191
网络数:2^14
每个网络中的主机数量:2^16-2
默认子网掩码:255.255.0.0,/16
私网地址:172.16.0.0-172.31.0.0
C类:
前三段为网络号,最后一段为主机号
网络号:110 0 0000 - 110 1 1111:192-223
网络数:2^21
每个网络中的主机数量:2^8-2
默认子网掩码:255.255.255.0, /24
私网地址:192.168.0.0-192.168.255.255
D类:组播的特俗公用
1110 0000 - 1110 1111:224-239
E类:保留
240-255
总结:
Class A:0.xx.xx.xx ~ 127.xx.xx.xx,私有地址10.0.0.0 ~ 10.255.255.255
Class B:128.xx.xx.xx ~ 191.xx.xx.xx,私有地址172.16.0.0 ~ 172.31.255.255
Class C:192.xx.xx.xx ~ 223.xx.xx.xx,私有地址192.168.0.0 ~ 192.168.255.255
Class D:224.xx.xx.xx ~ 239.xx.xx.xx
Class E:240.xx.xx.xx ~ 255.xx.xx.xx
注意:Loopback IP网段
lo网络,当初被用来作为测试操作系统内部循环所用的一个网络,同时还能提供系统内部原本就需要使用网络接口的服务所使用。为内部循环网络,无需安装网卡使用,其地址号为127.0.0.0/8,默认的主机IP是127.0.0.1,即为localhost
2.Netmask子网掩码
将一个大的网段地址划分成更小的网络地址,减少网段内的主机数量,使得更加方便管理,以及广播时效率提高
方式:通过将一位或多位主机号当做网络号来使用,将网络号全部表示为1,主机号全部用0标识来进行子网划分
3.ip报文首部( 每行占用的位数为32bits)
(1)IP Version:声明ip数据包的版本,ipv4、ipv6
(2)IHL:Internet Header Length,ip报文首部长度,以4字节为一个单位来记录IP报头的长度
(3)TOS:Type Of Service,服务类型,通过定义来标识IP数据包的优先级、延迟、传输以上是关于TCP/IP协议模型详解的主要内容,如果未能解决你的问题,请参考以下文章