概述
目录
一、总结
二、术语定义
二、封存
1、简介
2、TCP/IP Layering(TCP/IP 分层)
1)TCP(Transmission Control Protocol)传输控制协议
2)UDP(User Datagram Protocol)用户数据报协议
3)IP(Internet Protocol)网际互连协议
4)ARP(Address Resolution Protocol)
5)Internet Address(IP地址)
3、封装与解封装
1)Encapsulation(封装)
2)Demultiplexing(解封装)
4、其它知识
1)Routers(路由器)
三、参考资料
一、总结
- TCP/IP 协议栈的强大之处:让完全不同的操作系统和设备之间,可以跨越全球正常通信
- TCP/IP协议栈分层的原因:每一层都负责通信的不同方面(Each layer responsible for a different facet of the communications)
- 网络层:路由服务(hop-by-hop service)
- 传输层:端到端服务(end-to-end service)
二、术语定义
术语 | 网络层 | 作用 |
网桥(bridge) | 链路层 | 将2个或2个以上的LAN互联为一个逻辑LAN |
路由器(router) | 网络层 | 连接不同的网络(networks,如Ethernet, token ring),将一个网络的数据包发送到另外一个网络 |
二、封存
1、简介
- TCP/IP 协议栈的作用:让完全不同的操作系统和设备之间,可以跨越全球通信
- TCP/IP 协议栈通常被认为是4层:链路层、网络层、传输层、应用层
分层 | 作用 | 协议举例 |
Application 应用层 | 处理特定的应用程序,如 FTP, Telnet, etc | Telnet, FTP, e-mail, DNS, etc. |
Transport 传输层 | 在两台主机之间建立数据流 | TCP, UDP |
Network 网络层 | 处理数据包在网络层的流动,比如路由数据包 | IP, ICMP, IGMP |
Llink 链路层 | 包括设备驱动及对应的网卡,它们一起处理通信介质细节(together they handle all the hardware details of physically interfaceing with the cable),比如 Ethernet, token ring 等
| device driver and interface card |
2、TCP/IP Layering(TCP/IP 分层)
1)TCP(Transmission Control Protocol)传输控制协议
TCP(给应用层提供复杂的服务):可靠的数据传输(在2个主机之间建立可靠地数据流)。比如对应用层的数据进行切分,应答接收的数据,设置超时时间确保对端知道数据包已经发出 等,以便应用层知晓数据发送情况
2)UDP(User Datagram Protocol)用户数据报协议
UDP(给应用层提供简单的服务):不可靠的数据传输(将一端的数据报文发送给另一端,不保证数据报文送达另一端),任何所需要的可靠性都需要在应用层添加。
3)IP(Internet Protocol)网际互连协议
IP是网络层的主要协议之一,TCP/UDP(传输层)发送数据,都需要使用IP协议。
ICMP是IP层的附属,用于交换IP层的差错信息。
4)ARP(Address Resolution Protocol)
ARP:用于将 IP地址转换为网络接口地址(interface address)
RARA:用于将网络接口地址转换为IP地址
5)Internet Address(IP地址)
IP:为每一个在网络上的物理接口分配一个地址用于通信。IPv4特点如下:
-
32位数字
-
书写时由4个小数点分隔成4部分,每部分1个字节
-
IP地址范围5类:Class A、Class B、Class C、Class D、Class E
-
IP地址的三种类型:
-
单播(unicast):目的地址是单个主机
-
多播(multicast):一系列属于多播组的地址
-
广播(broadcast):目的地址是网络上的所有主机
-
3、封装与解封装
1)Encapsulation(封装)
封装(加头部):应用程序将数据发送给下层的协议栈时,每经过一层,都需要添加头部(某些添加的是尾部,比如链路层-以太网协议),直到将这些数据转化为以太网数据帧(Ethernet frame)
- TCP segment:数据经过TCP添加头部发送给IP层后,称为 TCP报文
- UDP datagram:数据经过UDP添加头部发送给IP层后,称为 UDP报文
- IP datagram:数据经过IP层添加头部发送给网络接口(network interface)后,称为 IP报文
- Ethernet frame:数据经过链路层添加头部和尾部变成数据流(stream of bits)后,称为 以太网数据帧(46-1500 字节bytes)
a、传输层头部添加标识符(Port number),用于区分数据属于什么有应用
b、IP头部添加标识符(Protocol),用于区分属于什么协议
- 6:TCP
- 17:UDP
- 1:ICMP
- 2:IGMP
c、链路层头部添加标识符(Protocol type),用于区分是什么IP协议(IPv4, IPv6)产生的数据
2)Demultiplexing(解封装)
解封装(去头部)—:以太网接口收到数据帧之后,会将数据帧丢进协议栈,协议栈会将包头一层层去掉,同时,通过标识符判断需要将数据交给哪一个更高层的协议,直到送给 应用层。这个过程叫做解封装。
- 去掉数据包头
- 确认将数据交给哪一个高层协议
4、其它知识
1)Routers(路由器)
网络层设备:
- 诞生背景:通过路由器(routers),它可以将不同的物理网络(networks)连接到一起,如 以太网、令牌网(token ring)、点对点连接(point-to-point links)
- 路由器的作用:将数据报文从一个网络转发到另外一个网络
三、参考资料
-
书籍 W. Richard Stevens.《TCP/IP Illustrated, Volume 1: The Protocols》
-
network、internet、Internet三个概念区别
最后
以上就是高高小土豆为你收集整理的为什么TCP/IP协议栈要进行分层?一、总结二、术语定义二、封存三、参考资料的全部内容,希望文章能够帮你解决为什么TCP/IP协议栈要进行分层?一、总结二、术语定义二、封存三、参考资料所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复