名称 | 简述 | 典型协议 |
---|---|---|
链路层 | 包括操作系统中的驱动和网卡还有传输介质 | 以太网协议 |
网络层 | 保证将一台主机发送到另一台主机,通过 IP 地址和端口号实现,尽最大可能交付 | IP 协议为主, ICMP 和 IGMP 为辅 |
传输层 | 实现端到端的传输,使用 TCP,UDP 来保证传输 | TCP,UDP |
应用层 | 负责应用程序的具体要求 | FTP,TELNET,HTTP,SMTP... |
TCP/IP是一个协议族
网络分层
一共有两种模型:
TCP 分层
名称 | 简述 | 典型协议 |
---|---|---|
链路层 | 包括操作系统中的驱动和网卡还有传输介质 | 以太网协议 |
网络层 | 保证将一台主机发送到另一台主机,通过 IP 地址和端口号实现,尽最大可能交付 | IP 协议为主, ICMP 和 IGMP 为辅 |
传输层 | 实现端到端的传输,使用 TCP,UDP 来保证传输 | TCP,UDP |
应用层 | 负责应用程序的具体要求 | FTP,TELNET,HTTP,SMTP... |
链路层
底部的链路层对应 OSI 模型中的物理层和数据链路层
- 物理层: 主要任务是将计算机通信中的0,1转化为电缆和光缆中的电子信号
- 数据链路层: 数据被分成一个一个的"帧"进行传输,通过通信介质相互连接的设备之间,数据传输的规范
1)MAC 地址:网卡地址,局域网通过 arp请求得到 MAC 和 IP 的对应关系.
2)分组交换: 把大的数据块划分成小的,添加包头进行发送保证网络利用率. -
帧格式:以太网协议中的帧格式:
- 交换机
自学端口和 MAC 地址的匹配
网络层
- 4类 IP 地址和子网掩码: 子网掩码是为了扩充原有 IP 地址的网络标识符.作用是区分一个 IP 是在本局域网上还是在远端,还有将一个大的网络划分成多个小网络
- 路由控制: 主机和路由器都有一个路由表
- 分片和重组: 发送数据超过了以太网的MTU.只在最终的目的地重组.
- ARP: 地址解析协议,ARP 有一个缓存表保存了 IP 和 MAC 的对应关系.中间人攻击.
-
DNS:
DNS 查询分成两种,迭代和递归查询.
本地域名服务器是提供给一个网络或者几个网络来查询域名用的,离主机一般几个路由,并不维护 IP 和域名的对应关系.如果要查询的域名不在高速缓存里面,那么它就会请求域名服务器(如图1所示)
传输层
传输层的意义:
1)网络层只送达了主机,并没有指定哪一个应用程序接受
2)网络层不可靠,仅仅尽可能交付.
- TCP: 面向连接的,还有数据重传和流量控制等功能,能较好处理掉包等现象,并有效利用带宽, 但是比较复杂,所以效率不如 UDP, 不适合实时信息传输和音频传输.三次握手和四次挥手
- UDP:面向无连接,只传递 数据,不关注质量如何,适合多播,音频.
特性 | TCP | UDP |
---|---|---|
连接 | 有连接(三次握手四次挥手) | 无连接 |
可靠性 | 可靠(重传,流控制) | 不可靠 |
结构 | 复杂 | 简单,效率高 |
方式 | 点对点 | 适用于广播多播 |
模式 | 流模式(字节流,无边界) | 数据报模式(数据报,有边界) |
机制 | 有重传,拥塞控制等机制 | 没有 |
场合 | 对文件质量要求高 | 效率和实时性要求高,多播 |
- 端口: 区分一台主机中正在通信的不同程序.
知名端口号:
协议 | 端口号 |
---|---|
HTTP | 80 |
FTP数据传输 | 20 |
FTP 控制 | 21 |
DNS | 53 |
SFTP | 22 |
SSH | 23 |