【TCP/IP 协议】 TCP/IP 基础(一)

简介: 【TCP/IP 协议】 TCP/IP 基础(一)

总结 :


通过学习 TCP/IP 基础, 并总结相关笔记 和 绘制思维导图 到博客上, 对 TCP/IP 框架有了大致了解, 之后开始详细学习数据链路层的各种细节协议, 并作出笔记;




博客地址 : http://blog.csdn.net/shulianghan/article/details/40045487






一. TCP/IP 分层





思维导图 :






TCP / IP 四层简介 :


-- 应用层 : Telnet, FTP, SMTP, SNMP, DNS, URI, HTML, HTTP 等协议;


-- 运输层 : TCP, UDP, SCTP, DCCP, UDP-Lite 协议;


-- 网络层 : IP, ICMP, IGMP, ARP 协议;


-- 链路层 : 设备驱动程序 与 网络接口 (网卡);






1. 链路层 (数据链路层 / 网络接口层)



链路层 (数据链路层 / 网络接口层) 简介 :


-- 驱动程序 : 链路层包括 网络相关的设备 的驱动程序, 驱动程序是操作系统与硬件之间进行交互的软件, 相当与桥梁;  


-- 网卡 : 一台计算机有多个网卡 例如 eth0, wlan0 等;  


-- 作用 : 该层主要处理与物理传输介质 (电缆, 光线, 无线) 相关的 物理接口细节相关问题;  


-- 链路层提供者 : 链路层功能一般由 硬件 (网络设备) 及其 驱动程序 提供;






2. 网络层 (互联网层)





(1) 网络层简介



网络层 (互联网层) 简介 :


-- 作用 : 处理分组在网络中的活动, 如包传输的相关活动 分组选路, 通过该层, 传输层及以上的层次可以抽象甚至忽略网络结构细节;


-- 包含的协议 : IP协议 (网际协议), ICMP 协议 (Internet 互联网控制报文协议), IGMP 协议 (Internet 组管理协议);


-- 网络层提供者 : 网络层 和 传输层的功能 一般由 操作系统 提供;




网络层相关设备分析 :


-- 实现网络层的设备 : 互联网 就是 实现了 网络层 功能的网络, 互联网的所有 主机 和 路由器 必须实现 IP 功能, 路由器 必须实现通过互联网层 转发分组数据包的功能;


-- 无须实现网络层设备 : 对于其它的网络设备 网桥, 中继器, 集线器 就不用实现 IP 或者  TCP 功能;






(2) IP 协议



IP 协议 : 该协议 基于 IP 地址 转发分包数据;


-- 使用 IP 地址标识 : 该协议 跨网络传送数据包, 整个互联网可以通过 IP 地址作为主机的标识, 能够发送接收数据;


-- IP 协议隐含功能 : IP 协议对上层透明, 该协议隐含 数据链路层 功能, 相互通信的主机 不管经过了 什么种类的数据链路层, 都可以进行通信;


-- 协议可靠性 : IP 协议是分组交换协议, 但是不具备重发机制, 分组数据包未打到目的主机也不会重发, 该协议属于非可靠性传输协议;






(3) ICMP 协议



ICMP 协议 : IP 协议附属协议, 用于主机 和 路由器间交换错误报文 和 其它重要信息;


-- 作用 : 当 IP 数据包在发送过程中无法到达目标主机时, 需要给发送端发一个异常通知, 就是 ICMP 数据包;


-- 使用场景 : 诊断网络的健康状况;






(4) ARP 协议 和 RARP 协议



ARP 协议 :


-- 作用 : 从分组数据包 IP 地址解析物理地址 (MAC 地址) 协议;




RARP 协议 : 逆地址解析协议;






(5) IGMP 协议



IGMP 协议 (Internet 组网管理协议) : 把一个 UDP 数据报多播到多个主机;








3. 运输层





(1) 运输层简介



运输层简介 :


-- 作用 : 为两台主机上的应用程序提供端到端的通信, 通过 端口号 识别两台主机上哪些程序在跟哪些程序进行通信;


-- 包含的协议 : TCP 协议 (传输控制协议), UDP 协议 (用户数据报协议);






(2) TCP 协议



TCP 协议 (传输控制协议) : 面向链接协议, 该协议为两台主机提供可靠的数据通信;


-- 分块传网络层 : 在 运输层 中将 应用层 传下来的数据分成数据块;


-- 确认分组 : 确认接收到数据的分组;


-- 设置超时时间 : 为数据块设置超时时间, 一旦超过超时时间就重新发送;




TCP 协议优点 和 局限性 :


-- 优点 : 保证两个主机间通信可达, 能正确处理在传输过程中丢包, 乱序等异常情况, 其能够有效利用带宽, 缓解网络拥堵;


-- 局限 : TCP 连接建立 和 断开 至少需要 7次发包 和 收包, 导致流量浪费, TCP 中定义的各种为了提高网络效率的规范 不理于视频, 音频传输;






(3) UDP 协议



UDP 协议 (用户数据报协议) : 无连接协议;


-- 作用 : 提供服务简单, 只将数据报分组发送到另一台主机, 不关心数据报能否到达;


-- 使用场景 : 分组数据较少, 多播, 广播, 多媒体领域;






(4) TCP 与 UDP 比较



TCP 和 UDP 比较 :


-- TCP : TCP 协议提供了高可靠性的数据通信, 应用层可以忽略数据传输可靠性的细节;


-- UDP : 使用该协议 必须在应用层考虑数据可靠性;






4. 应用层





(1) 应用层简介



应用层简介 :


-- 作用 : 处理应用程序中的细节;


-- 包含的协议 : Telnet 远程登录, FTP 文件传输协议, SMTP 简单邮件传输协议, SNMP 简单网络管理协议;






(2) HTTP 协议



HTTP 协议 : 该协议是 WEB 通信中的 浏览器 与 服务器 端通信所用的协议, 传输数据的格式是 HTML;


-- 协议所在层 : HTTP 属于 WWW 协议中的一种, HTTP 协议对应 OSI 七层协议中的 表示层协议, 在 TCP/IP 协议中属于 应用层协议;






(3) FTP 协议 (文件传输协议)



FTP 协议简介 :


-- 传输过程 : FTP 协议文件传输会建立两个 TCP 连接, 一个是 传输请求时需要的控制连接, 一个是传输实际文件数据用的数据连接;






(4) TELNET 和 SSH 协议 (远程登录协议)



TELNET 协议 和 SSH 协议 : 这两种协议是 TCP/IP 网络中常用的两种远程登录协议;






(5) SNMP 协议 (网络管理协议)



SNMP 协议介绍 :


-- 具体的管理过程 : 通过 网络管理终端 (SNMP 管理器) 管理 服务器, 路由器 交换机等, 管理内容有 信息通知, 故障通知, 通知设置, 操作检查, 配置变化 等;


-- 主要作用 : SNMP 协议可以对网络上的设备进行远程修改配置, 可以对大范围复杂网络进行有效管理, 检查 SNMP 代理 是否正常运行, 可以让管理员及时发现故障;




SNMP 协议组成 :


-- SNMP 代理 (Agent) : SNMP 管理的 路由器, 服务器, 交换机, PC机 等设备叫做 SNMP 代理;


-- 管理器 (Manager) : SNMP 中进行管理的那部分, 即网络管理终端;




MIB 协议 (Manager Infomation Base) : SNMP 代理端 (即 主机, 路由器, 交换机) 保存 网络接口信息, 通信数据量, 异常数据量 以及 设备温度 等信息, 访问这些数据的协议是 MIB 协议;






5. 每层之间的关系



示例 : 网页浏览, 在浏览器端浏览网页;


-- 应用层 : 使用 HTTP 协议;


-- 运输层 : 使用 TCP 协议;


-- 网络层 : 使用 IP 协议;


-- 链路层 : 网络设备驱动程序, 和网卡物理接口;




协议执行位置 :


-- 用户空间 : 应用层协议 一般是在用户进行中处理, 运行在用户空间;


-- 内核空间 : 运输层 网络层 链路层 一般运行在内核空间中;




下层协议对上层透明 : 高层的协议不关心 也不处理 低层协议 相关数据, 对下层协议一无所知;






5. 网络层 和 运输层的区别



TCP/IP 四层协议的作用 和 区别 :


-- 链路层 和 应用层 的明显作用 : 链路层处理物理介质相关的传输媒介 以及物理设备相关的细节, 应用层 处理与应用程序相关的数据;


-- 网络层 和 运输层 区别不明显 : 两层主要是网络传输相关, 这两层区分并不是很明确;




不同类型网络连接 : 以太网, 令牌环网, FDDI (光线分布式数据接口), 点对点链接, 这些网络中的主机互相都可以通信;


-- 路由器 : 路由器可以将多个不同类型的网络连接起来;


-- 路由器接口 : 路由器必须有多个网络接口,




网桥与路由器区别 :


-- 网桥 : 网桥 在链路层 连接网络;


-- 路由器 : 路由器 是在网络层连接网络;




端系统 和 中间系统 : 网络层是个中间系统, 传输层是个端系统;


-- 端系统 (End System) : 应用层 和 传输层 使用端到端 (End-to-end) 协议;


-- 中间系统 (Intermediate System) : 网络层 使用逐跳 (Hop-by-hop) 协议;




网络层 和 运输层作用 : 传输层 和 网络层负责的功能不同;


-- 网络层 : IP 协议提供不可靠服务, 将分组从源节点 送到 目的节点;


-- 传输层 : TCP 协议采用超时重传 和 端到端分组确认等机制, 保证可靠性;



目录
相关文章
|
6月前
|
机器学习/深度学习 人工智能 网络协议
TCP/IP五层(或四层)模型,IP和TCP到底在哪层?
TCP/IP五层(或四层)模型,IP和TCP到底在哪层?
111 4
|
缓存 网络协议 Linux
手把手实现tcp/ip用户态协议栈,帮你实践网络知识(网络必备,面试项目)
手把手实现tcp/ip用户态协议栈,帮你实践网络知识(网络必备,面试项目)
|
XML 存储 JSON
【面试题精讲】序列化协议对应于 TCP/IP 4 层模型的哪一层?
【面试题精讲】序列化协议对应于 TCP/IP 4 层模型的哪一层?
|
4天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
29 3
|
16天前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
44 13
|
16天前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
1月前
|
网络协议 算法 数据格式
【TCP/IP】UDP协议数据格式和报文格式
【TCP/IP】UDP协议数据格式和报文格式
121 3
|
1月前
|
XML JSON 网络协议
【TCP/IP】自定义应用层协议,常见端口号
【TCP/IP】自定义应用层协议,常见端口号
26 3
|
2月前
|
网络协议 网络架构 数据格式
TCP/IP基础:工作原理、协议栈与网络层
TCP/IP(传输控制协议/互联网协议)是互联网通信的基础协议,支持数据传输和网络连接。本文详细阐述了其工作原理、协议栈构成及网络层功能。TCP/IP采用客户端/服务器模型,通过四个层次——应用层、传输层、网络层和数据链路层,确保数据可靠传输。网络层负责IP寻址、路由选择、分片重组及数据包传输,是TCP/IP的核心部分。理解TCP/IP有助于深入掌握互联网底层机制。
427 2
|
5月前
|
网络协议 Java 程序员
TCP/IP协议栈是网络通信基础,Java的`java.net`包提供工具,使开发者能利用TCP/IP创建网络应用
【6月更文挑战第23天】 **TCP/IP协议栈是网络通信基础,它包含应用层(HTTP, FTP等)、传输层(TCP, UDP)、网络层(IP)、数据链路层(帧, MAC地址)和物理层(硬件信号)。Java的`java.net`包提供工具,使开发者能利用TCP/IP创建网络应用,如Socket和ServerSocket用于客户端和服务器通信。**
54 3