首页 > 代码库 > 网络基础之网络协议
网络基础之网络协议
网络基础之网络协议
一.网络通信原理
1.互联网的本质就是一系列网络协议
计算机数据是由高低压信号构成的,多个计算机想要联系起来,就必须要统一这个信号的规范,让大
家都能够读懂这些信号的意义,于是乎就产生了各种网络协议。
2.互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层
3.tcp/ip五层模型讲解
我们将应用层,表示层,会话层并作应用层,从tcp/ip五层协议的角度来阐述每层的由来与功能,搞
清楚了每层的主要协议就理解了整个互联网通信的原理。
(1)物理层;电器发送高低电压。
(2)链路层;以太网协议。规定一组信号组成叫“帧”的数据包。
每一数据帧包含包头head和数据data两部分
head包含:(固定18个字节)
发送者/源地址,6个字节
接收者/目标地址,6个字节
数据类型,6个字节
data包含:(最短46字节,最长1500字节)
数据包的具体内容;head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送
以太网协议规定,每个连入互联网的设备都要有一个网卡,而每个网卡都要有一个独一无二的mac地
址,以用于计算机之间的通信。以太网协议采用广播的形式传输。
(3)网络层
为了信息能够准确的传送,引入一套新的地址来区分不同的广播子网,就是网络地址
ip协议:
规定网络地址协议为ip协议,它的地址称为ip地址,由32位二进制表示,通常写成十进制的形式,范围
是0.0.0.0-225.225.225.225
ip之地分为两部分
网络部分:标识子网
主机部分:标识主机
子网掩码:
所谓”子网掩码”,就是表示子网络特征的一个参数。它在形式上等同于IP地址,也是一个32位二进制数
字,它的网络部分全部为1,主机部分全部为0,有了子网掩码,就能够判断任意两个ip地址是否处于
同一个子网。
ip数据包
ip数据包也分为head和data部分,无须为ip包定义单独的栏位,直接放入以太网包的data部分
head:长度为20到60字节
data:最长为65,515字节。
而以太网数据包的”数据”部分,最长只有1500字节。因此,如果IP数据包超过了1500字节,它就需要分割
成几个以太网数据包,分开发送了。
arp协议
arp协议功能:广播的方式发送数据包,获取目标主机的mac地址
(4)传输层
tcp协议:
可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据
包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。
udp协议:
不可靠传输,”报头”部分一共只有8个字节,总长度不超过65,535字节,正好放进一个IP数据包。
(5)应用层
TCP协议可以为各种各样的程序传递数据,比如Email、WWW、FTP等等。那么,必须有不同协议规
定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了”应用层”。
(6)socket
socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应
用层调用已实现进程在网络中通信。
二.网络通信实现
想实现网络通信,每台主机需具备四要素
本机的IP地址
子网掩码
网关的IP地址
DNS的IP地址
获取这四要素分两种方式
1.静态获取
即手动配置
2.动态获取
通过dhcp获取
三.网络通信流程
1.本机获取;获取本机的ip地址、子网掩码、网关ip地址、DNS的ip地址。
2.打开浏览器,访问域名
3.dns协议
4.HTTP部分的内容
5.TCP协议
6.ip协议
7.以太网协议
最后,IP数据包嵌入以太网数据包。以太网数据包需要设置双方的MAC地址,发送方为本机的网卡MAC地
址,接收方网关的MAC地址(通过ARP协议得到)。
经过多个网关的转发,目标服务器收到http请求再做出http响应,通过tcp协议发送回来。
本机收到HTTP响应以后,就可以将网页显示出来
网络基础之网络协议