网络是这个时代最神奇的东西,是它将人类联系在了一起。
一共有三种主要的网络模型,分别是OSI七层模型,TCP/IP五层模型和TCP/IP 四层模型。 # 0x01 网络模型
Seven Layers of OSI Model:
7.Application Layer 6.Presentation Layer 5.Session Layer 4.Transport Layer 3.Network Layer 2.Data Link Layer 1.Physical Layer
Five Layers of TCP/IP Model:
5+6+7.Process&Application Layer 4.Transport Layer 3.Network Layer 2.Data Link Layer 1.Physical Layer
Four layers of TCP/IP Model:
5+6+7.Process&Application Layer 4.Transport Layer 3.Network Layer 1+2.Physical Layer
Five Layers of TCP/IP | Protocol |
---|---|
Process&Application Layer | Message(报文):SMTP,FTP,TELNET,DNS,TFTP,RPC.... |
Transportation Layer | Communications Protocol(传输协议):TCP,UDP |
Network Layer | IP Datagram(IP 数据报):IP(ICMP...),ARP,RARP |
Data Link Layer | Frame(帧) |
Physical Layer | Ethernet,Token-Ring,X.25,FDDI |
接下来介绍一下在OSI模型中各个layer的用处。
1. Physical Layer(物理层)
物理层用来激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。为上层协议提供一个可靠的物理媒体。物理层确保数据可以在各种物理媒体上传输。
重要设备 * Repeater(中继器) * Hub(集线器)
2. Data Link Layer(数据链路层)
数据链路层将源自网络层来的数据可靠地传输到相邻节点的网络层。因此,数据链路层拥有这样的一些主要功能: 数据成帧(frame-数据链路层的基本数据传送单位),物理地址寻址,流量控制,数据检错、重发。
重要设备 * Bridge(网桥) * Switch(交换机)
主要协议 * Ethernet(以太网协议)
3. Network Layer(网络层)
网络层用来实现两个端系统之间的数据透明传送。网络层拥有这样的一些主要功能: 寻址,路由选择,连接的建立、保持和终止。
主要协议 * Internet Protocol(因特网互联协议) * Internet Control Message Protocol(因特网控制报文协议) * Address Resolution Protocol (地址解析协议) * Reverse Address Resolution Protocol(逆地址解析协议)
重要设备 * Router(路由器)
4. Transportation Layer(传输层)
传输层负责将数据可靠的传送到相应的端口,并利用子网的特性为会话层提供建立、维护和取消传输链接的功能。传输层还要处理端口到端口的差错控制和流量控制问题。
数据传送的协议数据单元称为datagram(段、报文)
主要协议 * Transmission Control Protocol(传输控制协议) * User Datagram Protocol(用户数据报协议)
重要设备 * 网关
5. Session Layer(会话层)
会话层管理主机之间的会话进程,校验数据的同步
6. Presentation Layer(表示层)
表示层保证一个主机应用层的信息可以被另一个主机的应用层理解。表示层用数据的加密、压缩、格式转换等来对数据包进行转化。
7. Application Layer(应用层)
为操作系统和应用程序提供访问网络服务的接口。
重要协议 in Session Layer、Presentation Layer、Application Layer * FTP(文件传送协议) * Telnet(远程登录协议) * DNS(域名解析协议) * SMTP(邮件传送协议) * POP3(邮局协议) * Hyper Text Transfer Protocol(超文本传输协议)
0x02 IP地址
IP地址是四串用"."连接起来的数字。例如192.156.122.122。转化为二进制便是8*4位。
每个ip地址便有网络标识段和主机标识段构成。
在二进制下,当主机号全为0,则代表了网络号所代表的网络。
在二进制下,当主机号全为1,则向网络号所代表的网络中发放广播。改网络内的所有主机都能收到广播信息。这样的地址被称为Broadcast Address(广播地址)
255.255.255.255为受限的广播地址。受限广播地址只能用于本地网络,不能跨子网传播。
0.0.0.0常用与寻找自己的IP地址
127.0.0.0/8(/8为子网掩码)被用作回环地址。回环地址表示本机的地址,常用与对本机的测试。
A、B、C、D类地址
A类地址以0开头(二进制下),第一个字节(二进制下的前八位数字)作为网络标识段,地址范围为:0.0.0.0~127.255.255.255
B类地址以10开头(二进制下),前两个字节作为标识段(二进制下的前十六位数字),地址范围是:128.0.0.0~191.255.255.255
C类地址以110开头(二进制下),前三个字节作为标识段(二进制下的前二十四位数字),地址范围是:192.0.0.0~223.255.255.255
D类地址以1110开头,地址范围是224.0.0.0~239.255.255.255,D类地址作为Multicast Address(组播地址)(一对多的通信)
A、B、C、D类私有地址(Private Address)
Private Address 也叫专有地址,只具有本地意义。 A类私有地址:10.0.0.0/8,范围是:10.0.0.0~10.255.255.255 B类私有地址:172.16.0.0/12,范围是:172.16.0.0~172.31.255.255 C类私有地址:192.168.0.0/16,范围是:192.168.0.0~192.168.255.255
子网掩码以及网络划分
随着网络应用的扩大,由于IPv4网络标识段太长,而主机标识段太短的弊端暴露了出来。即主机地址越来越少。因此人们采用子网即对一个高类别的IP地址进行再划分,以形成多个子网,提供给不同规模的用户群使用。。
如何计算子网掩码呢,例如 192.168.0.5/24。 24 在在这意味着IP地址(二进制下)前24位为网络标识段,之后的8位为主机标识段。 子网掩码便是24个1加8个0.即为255.255.255.0 在一个/24的子网下共可以容纳2**8-3个主机(减去网关地址,广播地址以及网络地址)。
ARP 协议
即根据IP地址获取物理地址(MAC地址)
TCP 协议
TCP是面向连接的,可靠的字节流服务 TCP的三次握手和四次挥手
UDP 协议
DP是面向无连接的,不可靠的数据报服务。 UDP与TCP位于同一层。它是面向无连接的通讯协议。UDP不管数据包的顺序、错误或重发。所以UDP用于面向查询应答的服务,只需交换较小信息量的服务。
DNS协议
Domain Name System(DNS) 用来将url转换为IP地址。
NAT协议
NAT网络地址转换(Network Address Translation)是一种将私有(保留)地址转化为合法IP地址的转换技术。例如现在运营商运用NAT技术,一个小区同用一个出口IP。
DHCP协议
DHCP动态主机设置协议(Dynamic Host Configuration Protocol)用来动态地给内部网络或网络服务供应商自动分配IP