TCP(Transmission Control Protocol)和IP(Internet Protocol)是互联网众多协议中最为著名的。
TCP/IP具体含义:
TCP/IP称为网际协议族。
应用层协议:HTTP,SMTP,FTP,TELNET,SNMP
传输协议:TCP、UDP
网际协议:IP、ICMP、ARP
路由控制协议:RIP、OSPF、BGP
TCP/IP规范——RFC
需要标准化的协议,被人们列入RFC(Request For Comment)。
人们采用STD(Standard)方式管理编号。
TCP/IP标准化流程
提议标准——6个月——草案标准——4个月——标准——历史性协议
TCP/IP分层模型与通信示例
1、数据包首部
Frame, 帧 数据链路层
Packet, 包 网络层
Datagram, 数据报 UDP
Segment, 段 TCP
Message, 消息 应用层
2、发送数据包
应用层处理:
表示层 UTF-8
会话层 建立通信连接何时发送数据和管理功能
TCP模块的处理:
TCP首部 源端口号和目标端口、序号
IP模块的处理:
IP将TCP首部和TCP数据合起来,添加IP首部
IP首部 接收端IP和发送端IP地址
网络接口(以太网驱动)的处理
以太网首部 接收端MAC地址、发送端MAC地址以及标志以太网类型的以太网数据的协议。
3、经过数据链路的包
4、数据包接收处理
网络接口(以太网驱动)的处理
找到以太网首部的MAC地址,如果不是发给自己的包则丢弃。
如果是发给自己的包,查找以太网首部中的类型从而确认以太协议传送过来的数据类型。
如果以太网包首部的类型域包含了一个无法识别的协议类型,则丢弃数据。
IP模块
处理IP首部,如果包内IP地址与自己的IP匹配,则处理,否则丢弃
查找上一层协议,如果是TCP,则交给TCP处理,如果是UDP交给UDP处理。
有路由器的情况下,接收端地址往往不是自己,借助路由控制表,转发数据。
TCP模块处理
首先计算校验和,判断数据是否被破坏。检查端口号,确认应用程序。
应用程序的处理
接收端应用程序会直接接收发送端发送的数据。
SNS(Social Network Service),社交网络。基于TCP/IP。