iso/osi七层模型
应用层 <-------------------------> 应用层 (APDU)
| |
v v
表示层 -------------------------- 表示层 (PPDU)
| |
v v
会话层 -------------------------- 会话层 (SPDU)
| |
v v
传输层 ---------------------------传输层 (TPDU)
| |
v v
网络层 -------------------------- 网络层 (报文)
| |
v v
数据链路层------------------------ 数据链路 (帧)
| |
v v
物理层 <=========================> 物理层 (比特)
主机A 主机B
- 应用层:用户接口
- 表示层:数据的表示形式、特定功能的实现(如数据加密)
- 会话层:对应用会话的管理、同步(根据应用决定应用数据(字节流)的传输,如加FTP头并传向传输层,或对一般文本编辑保存硬盘)
- 传输层:可靠与不可靠的传输(决定使用TCP或UDP,如有FTP头则加TCP头,在TCP或UDP头中增加源端口号和目标端口号)、传输前的错误检测、流控
- 网络层:提供逻辑地址(源IP地址和目标IP地址,加IP头)、选路
- 数据链路层:成帧、用MAC地址访问媒介、错误检测与修正
- 设备之间的比特流的传输、物理接口、电气特性等
MAC地址负责局域网通信,IP地址复制外网通信
TCP/IP四层模型
TCP/IP模型与OSI模型的对应:
osi七层模型 TCP/IP四层模型
-----------------------------------------------------
应用层 应用层 用户进程
表示层 (HTTP、FTP、Telnet...) ^
会话层 |
===================================================== <====套接字XTI ==========
传输层 传输层(TCP、UDP) |
----------------------------------------------------- v
网络层 网络层(网际互联层)(IPv4、IPv6) 内核
-----------------------------------------------------
数据链路层 网络接口层
物理层 (设备驱动程序与硬件)
-----------------------------------------------------
- 网络接口层与OSI模型中的物理层和数据链路层相对应,它负责监视数据在主机和网络之间的交换。事实上,TCP/IP本身并未定义该层的协议,而由参与互联的各网络使用自己的物理层和数据链路层协议,然后与TCP/IP的网络接入层进行连接。地址解析协议(ARP)工作在此层,即OSI参考模型的数据链路层。
- 网际互连层对于与OSI参考模型的网络层,主要解决主机到主机的通信问题。它所包含的协议设计数据包在整个网络上的逻辑传输。该层有三个主要协议:网际协议(IP)、互联网组管理协议(IGMP)、互联网控制报文协议(ICMP)。
- 传输层对应于OSI参考模型的传输层,为应用实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP)。
- 应用层对应于OSI模型的高层,为用户提供所需的各种服务,例如:FTP、Telnet、DNS、SMTP等。
IP地址
IP地址能够唯一标识主机。
IP地址分类:
-----------------------------------------------------------------------------
网络类别| IP地址范围 | 私有IP地址范围 | 子网掩码
--------+-------------------------+---------------------------+--------------
A | 0.0.0.0~127.255.255.255 | 10.0.0.0~10.255.255.255 | 255.0.0.0
--------+-------------------------+---------------------------+--------------
B |128.0.0.0~191.255.255.255| 172.16.0.0~172.31.255.255 | 255.255.0.0
--------+-------------------------+---------------------------+--------------
C |192.0.0.0~233.255.255.255|192.168.0.0~192.168.255.255|255.255.255.0
-----------------------------------------------------------------------------
IP地址与子网掩码按位相与,所得及为网络地址(Network ID),将网络地址的0段换为255后,得到广播地址,网络地址与广播地址之间,即为该网段内可用主机地址。
如172.16.2.121,网络地址172.16.2.0,广播地址172.16.2.255
端口
一般而言一台主机能够同时运行许多网络应用,端口号用于区分不同应用。已经给流行的应用指定了特定的端口号,例如,web服务器使用80,SMTP使用25。
查看本机启用的端口(windows和unix均可使用):
netstat -an
# -a: 查看所有连接和监听端口
# -n: 显示IP地址和端口号,而不显示域名和服务名
DNS(Domain Name System)作用
在互联网中,通过IP地址进行通信,但IP地址记忆困难,所以使用域名来代表IP地址。
1.hosts文件
早期使用hosts文件解析域名(在windows下存储在C:\Windows\System32\drivers\etc\hosts),hosts文件做静态IP和域名对应,优先级高于DNS解析。但随着IP与域名的对应记录的增加,hosts文件解析效能会下降,而且主机维护困难。
DNS服务有着层次性,分布式的优点,在现在被用来做域名解析。
2.DNS服务
每个电脑都会配置有本地DNS服务器的IP地址,当电脑通过域名与其他主机进行通信时:
- 客户机向本地DNS服务器发送域名查询请求
- DNS服务器告知客户机域名对应的IP地址
- 客户机根据IP地址与其他主机进行通信
即本地客户机只需知道本地DNS服务器的IP地址,就可以凭借域名,访问其他主机
3.域名访问是如何找到正确的DNS并访问主机IP的?
-
首先域名是分层的:
互联网中的域名是有结构和规划的:
- 根域(
.
表示根域,根域名的服务器只用13台) - 顶级域(com, edu, gov, org, cn, uk等等,一般为组织域和国家地区域,由域名分配组织ISO决定)
- 二级域(Microsoft, zhihu, douban,google等等,是自己申请的(需要购买))
- 三级域(www, NEWS等,三级域名是申请完二级域名后自己规定的)
三级域名.二级域名.顶级域名
组成完整域名空间,此域名全球唯一。 - 根域(
-
下面是查询过程,以”www.zhihu.com”为例:
- 当你在浏览器输入域名
http://www.zhihu.com/
之后,浏览器会向本地DNS发送域名查询请求,本地DNS如果有对应的缓存则会找到对应IP并将IP返回,如果没有则会向根DNS服务器发送查询。 - 根DNS服务器知道所有的顶级域(其中包括
com
)的DNS服务器的IP,会把域名对应的顶级域的DNS服务器IP返回,本地DNS服务器继续向顶级域的DNS服务器(本例中是com
)发送查询。 - 顶级域DNS服务器知道所有的二级域(其中包括
zhihu
)的DNS服务器的IP,会返回二级域DNS服务器IP,本地DNS服务器继续向二级域DNS服务器发送查询。 - 二级域DNS服务器知道所有的三级域(其中包括
www
)的主机对应的IP,它会返回正确的Web服务器IP给本地DNS服务器。 - 本地DNS服务器告知你Web服务器IP,之后你的电脑会通过IP与路由器找到Web服务器。
- 当你在浏览器输入域名
网关作用
- 网关在所有内网计算机访问的不是不是本网段的数据报时使用
- 网关负责将内网IP转换为公网IP,公网IP转换为内网IP(NAT: Network Address Translation)
- older
- Newer