TCP
网络通信模式
作用:指导网络设备的通信;
OSI七层模型:
7.应用层:由应用层协议(http、FTP、Telnet.)为应用程序产生对应的数据;
6.表示层:将应用层产生的数据转换成网络设备看得懂的语言
5.会话层:为应用数据产生一个独立的会话,放置不同数据之间的相互干扰
4.传输层:为应用数据封装一层传输层头部,用于为数据提高传输服务;
TCP--可靠、传输效率慢;
UCP--不可靠、传输效率高;
文字、文件--采用TCP封装
语音、视频--采用UDP封装
3.网络层:为数据封装网络层头部:
封装sip以及dip;
sip:发送端的ip地址;
dip:目的端的ip地址;
2.数据链路层:为数据封装数据链路层头部
一般会封装smac、dmac;
smac:发送端的mac地址;
dmac接收端的mac地址;
1.物理层:将已经打包好的数据转换成适合在物理链路上进行传递的信号进行发送;
应用层
HTTP(Hypertext Transfer Protocol,超文本传输协议):用来访问在网页服务器上的各种页面。
FTP(File Transfer Protocol,文件传输协议):为文件传输提供了途径,它允许数据从一台主机传送到另一台主机上。
DNS(Domain Name Service,域名称解析服务):用于实现从主机域名到IP地址之间的转换。
传输层
TCP (Transmission Control Protocol,传输控制协议) :为应用程序提供可靠的面向连接的通信服务。目前,许多流行的应用程序都使用TCP。
UDP(User Datagram Protocol,用户数据报协议):提供了无连接通信,且不对传送数据包进行可靠性的保证。
网络层
IP(Internet Protocol,互联网协议):将传输层的数据封装成数据包并完成源站点到目的站点的转发,提供无连接的、不可靠的服务。
IGMP(Internet Group Management Protocol,因特网组管理协议):负责IP组播成员管理的协议。它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。
ICMP(Internet Control Message Protocol,网际报文控制协议):基于IP协议在网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈。通过这些信息,使管理者可以对所发生的问题作出诊断,然后采取适当的措施解决。
数据链路层
PPP(Point-to-Point Protocol,点对点协议):一种点对点模式的数据链路层协议,多用于广域网。
Ethernet( 以太网协议 ):一种多路访问广播型数据链路层协议,是当前应用最为广泛的局域网技术。
PPPoE(Point-to-Point Protocol over Ethernet,以太网承载PPP协议):PPPoE提供通过简单桥接访问设备(接入设备)把一个网络的多个主机连接到远程访问集中器的功能。常见的应用有家庭宽带拨号上网。
TCP/IP五层模型
5 应用层:相当于OSI模型中的5~7层的功能; data
4 传输层 段
3 网络层 包
2 数据链路层 帧
1 物理层 bit流
数据发送:将应用层产生的数据,基于TCP/IP五层模型,由上往下进行逐层的封装,然后发送出去的过程
数据接收:网络设备收到数据后,进行基于TCP/IP五层模型,由下往上逐层解除封装,直至看到应用层数据为止的过程
数据转发:数据从发送端发出,到接收端之间,经过的网络设备负责将数据进行转发
其中路由器工作在网络层,根据网络层头部进行转发;
交换机工作在数据链路层,根据数据链路层头部进行转发;
MAC地址(物理地址)
作用:唯一标识一张网卡(全球唯一)
特点:设备天生就有,并且无法后期更改;
格式:十六进制;
大小:48bit
分类:根据通信类型进行分类:
单播mac:用于唯一标识一张网卡,实现1对1通信,二进制角度的第8bit固定为0;
组播mac:用来标识一组设备,实现一对多通信,二进制角度的第8bit固定为1;
广播mac:用于实现1对所有通信,mac地址为F(十六进制角度),在二进制角度全为1
网络层头部(ip头)
封装协议:ip协议
关键内容:
版本:v4、v6、默认为v4
TOS:服务类别,用于对流量进行分类,实现QOS;
分片字段:分片id、flags、偏移量;
分片:当网络设备需要发送的数据大小,超出了接口MTU(最大发送单元,默认为1500B)时,需要将数据分成若干个小的数据发送出去,接收端收到后进行重组;
分片id:用于标记一个数据是否为分片数据,如果是的话,分片id不为0;
flags:其中更多段位用于标识分片是否为最后一个分片,如果不是则为1,如果是则为0,当接收端收到flags位为0的分片时,即可开始进行重组;
偏移量:用于标识分片的重组顺序,以防分片在传输过程中,出现顺序互换,导致数据包错乱的情况,
eg:
4500B数据,分片1 1500B
2 1500B
3 1500B
偏移量: 0 1499 分片1
1500 2999 分片2
3000 4499 分片2
TTL (生存时间)
范围: 0~255,初始值为255;
作用: 1、标识数据包经过了多少台三层设备(路由器、三层交换机、防火墙);
2、防止数据包无限转发,
原理: 当一个数据包被发出时,TTL为255,每经过一台三层设备转发,就会减1
当数据包中的TTL被减为0时,失去被发送的资格;
协议号
作用: 用于标识上层协议类型,
可以实现设备在处理网络层头部时,得知上层协议类型,提前调用对应的协议出来处理数据:
TCP--6
UDP--17
sip:发送端的ip地址
dip:接受端的IP地址