TCP/IP 协议的结构与运行原理[图]
来源:互联网 发布:淘宝知名情趣内衣模特 编辑:程序博客网 时间:2024/06/17 21:15
巩固自己这方面的知识,作为深入TCP/IP协议族的基础。
本文内容:
1. TCP/IP
从字面上理解,TCP/IP协议族只有TCP、IP协议,其实不然。其真正的名字是Internet协议族 (Internet Protocol Suite) 。和大型软件一样,其分为四层:应用层、传输层、网络层、链路层。
每一层的功能和目的都是不一样的,每一层上服务的协议也不是有区别的。从上往下看:
应用层(产生
协议:FTP、HTTP、SNMP(网管)、SMTP(Email)等常用协议;
职责:利用应用层协议发送用户的应用数据,比如利用FTP发送文件,利用SMTP发送Email;由系统调用交给运输层处理。
运输层(发送
协议:TCP(有连接)、UDP(无连接);
职责:负责建立连接、将数据分割发送;释放连接、数据重组或错误处理。
网络层(分组
协议:IP、ICMP(控制报文协议)、IGMP(组管理协议);
职责:负责数据的路由,即数据往哪个路由器发送。
链路层(按位发送
协议:以太网卡设备驱动、令牌网卡驱动程序、ARP、RARP等;
职责:负责传输校验二进制用户数据。
从可靠性角度看各层区别:
网络层IP协议是不可靠的协议,为此,如果其上面的层也不做任何特殊处理,也将是不可靠的。于是,运输层的TCP协议弥补了这个空缺,提供有连接的、可校验的数据传输服务。
应用层的话可对数据进行加密之类的处理,增强的是传输数据的安全性,如https。
链路层可对数据进行校验。
从运行进程态看各层区别:
应用层运行在用户程序进程中,属性用户态;
其他层则在系统内核进程运行,属于核心态;
从通信方式上看各层区别:
传输层是端对端的通信,也就是说,处理的是进程与进程之间的通信,如两个TCP进程;
网络层是点对点的通信,也就是说,处理的是机器之间的 逻辑连接。
从传输数据单元上看区别:
传输层上形成的是TCP或UDP报文段;
网络层形成的是IP数据报;
数据链路层形成的是帧(Frame)。
从寻址方式上看各层区别:
网络层通过IP寻址;
链路层通过MAC寻址。
注解
ICMP: 供IP用于发送错误报文,也可由应用层直接调用;
IGMP: 用于多播(Multicast),比如,UDP可用多播IP地址往多个目标主机发送数据报,就是依靠它。
ARP&RARP: 用户在IP地址与MAC地址互相转换。
2. TCP/IP
IP
共分五类地址,分别如下:
A类:0. 0. 0. 0——127.255.255.255(单播)
B类:128.0.0.0——191.255.255.255(单播)
C类:192.0.0.0——223.255.255.255(单播)
D类:224.0.0.0——239.255.255.255(多播)
E类:240.0.0.0——247.255.255.255(待用)
附加类:255.255.255.255 (传输层UDP广播)
MAC
每个网卡的MAC地址世界唯一,不可变;计算机通信其实靠的是MAC地址,而不是IP地址,请看下面注解。
端口
端口在硬件里的名称为接口,跟网卡的入口一样;在软件概念里,可以理解为一些数据结构数据缓冲区。
端口可分为:
知名端口:0001——1023 (例如FTP 20,TCP 21,UDP 69)
临时端口:1024——5000
预留端口:5000——65535
假设你的应用程序需要端口,一般是从临时端口分配,只在应用程序运行时有效,故称临时端口。
传输层可将进程与端口进行绑定,当数据到来时,其知该往哪个进程缓冲区里送。
注解:
IP
但是,硬件又必须用MAC才能找到机器,为此引入ARP及RARP来做两地址的查询与转换。
3. TCP/IP
场景:左边用户利用FTP客户端与右边FTP服务器端进行连接上传文件。
数据将从上往下流,每到一层都会加上层头,数据以类堆栈形式存储,到目标机器时,底层数据先得,由底向上,符合堆栈先进后出的特性。
步骤
步骤
步骤
步骤
步骤
步骤
注解:
RFC(Request for Comment)
各种协议文档:
- TCP/IP 协议的结构与运行原理[图]
- TCP/IP 协议的结构与运行原理[图]
- TCP/IP 协议的结构与运行原理[图]
- 图文解析TCP/IP 协议的结构与运行原理
- TCP/IP 协议的结构与运行原理
- TCP/IP之协议关系与结构
- TCP/IP协议头部结构与解析
- TCP/IP协议结构
- TCP/IP协议原理
- TCP/IP协议原理
- TCP/IP协议原理
- tcp/ip协议原理
- TCP/IP协议原理
- TCP/IP协议的基本工作原理
- TCP/IP结构对应OSI与TCP、UDP协议及两者的区别
- OSI与TCP/IP各层的结构与功能,都有哪些协议
- OSI与TCP/IP各层的结构与功能,都有哪些协议?
- OSI与TCP/IP各层的结构与功能,都有哪些协议
- 世界顶级精英们的人生哲学![转]
- 初窥Windows内核——学习Windows Research Kernel手记(一)
- 布局未来收购同行-金融危机下的IDC感想
- Linux设备文件概述
- 我的编程生活
- TCP/IP 协议的结构与运行原理[图]
- the new thing in webkit3
- Windows调试工具入门2—基本的调试器配置
- 论JSP数据库连接池的必要性
- AspNetPager+GridView+Access分页示例
- 数据库连接池java实现小结
- 接触VC之一:WinSDK
- log4j和commons- logging(好文整理转载)
- 世界顶级精英们的人生哲学!